黑客攻防实战:Windows系统克隆攻击与防范

2008/12/18 来源:www.arpun.com 作者:小白

随着电脑技术的发展和电脑的普及, 还有大大小小的“骇客”网站和越来越简单的工具, 使得目前攻击变得日趋频繁, 被植入木马的电脑或服务器也越来越多, 与此同时系统管理员的安全意识也在不断提高, 加上杀毒软件的发展, 网络木马的生命周期也越来越短, 所以攻击者在获取了服务器的控制权限后, 一般使用克隆用户或者安装SHIFT后门达到隐藏自己的目的, 下面就由我给大家介绍一些常见的克隆用户和检查是否存在克隆用户及清除的方法。 一、克隆账号的原理与危害1.克隆账号的原理在注册表中有两处保存了账号的SID相对标志符, 一处是注册表HKEY_LOCAL_MACHINE\SAM\AMDomains\AccountUsers 下的子键名, 另一处是该子键的子项F的值。 但微软犯了个不同步它们的错误, 登录时用的是后者, 查询时用前者。 当用Administrator的F项覆盖其他账号的F项后, 就造成了账号是管理员权限, 但查询还是原来状态的情况, 这就是所谓的克隆账号。 安全小知识:SID也就是安全标识符(Security Identifiers), 是标识用户、组和计算机账户的唯一的号码。 在第一次创建该账户时, 将给网络上的每一个账户发布一个唯一的 SID。 Windows 2000 中的内部进程将引用账户的 SID 而不是账户的用户或组名。 如果创建账户, 再删除账户, 然后使用相同的用户名创建另一个账户, 则新账户将不具有授权给前一个账户的权力或权限, 原因是该账户具有不同的 SID 号。 2. 克隆账号的危害当系统用户一旦被克隆, 配合终端服务, 就等于向攻击者开启了一扇隐蔽的后门, 让攻击者可以随时进入你的系统, 这一扇门你看不到,因为它依靠的是微软的终端服务, 并没有释放病毒文件, 所以也不会被杀毒软件所查杀。 二、克隆用户的常用方法1.手工克隆方法一在Windows 2000/xp/2003和Windows NT里, 默认管理员账号的SID是固定的500(0x1f4), 那么我们可以用机器里已经存在的一个账号将SID为500的账号进行克隆, 在这里我们选择的账号是IUSR_XODU5PTT910NHOO(XODU5PTT910NHOO为已被攻陷的服务器机器名。 为了加强隐蔽性, 我们选择了这个账号, 所有用户都可以用以下的方法, 只不过这个用户较常见罢了)我们这里要用到的一个工具是PsExec, 一个轻型的 telnet 替代工具, 它使您无需手动安装客户端软件即可执行其他系统上的进程, 并且可以获得与控制台应用程序相当的完全交互性。 PsExec 最强大的功能之一是在远程系统和远程支持工具(如 IpConfig)中启动交互式命令提示窗口, 以便显示无法通过其他方式显示的有关远程系统的信息。 执行:psexec -i -s -d cmd运行一个System的CMD Shell, 如图1所示。 图1得到一个有system权限的cmd shell, 然后在该CMD Shell里面运行“regedit /e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4”, 这样我们将SID为500(0x1f4)的管理员账号的相关信息导出, 如图2所示。 图2然后编辑admin.reg文件, 将admin.reg文件的第三行HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4中的“1F4”修改为IUSR_XODU5PTT910NHOO的SID, 将文件中的“1F4”修改为“3EB”, 如图3所示。 图3保存之后, 然后执行如下命令:“regedit /s admin.reg”, 导入该admin.reg文件, 最后执行“net user IUSR_XODU5PTT910NHOO n3tl04d”命令, 修改IUSR_XODU5PTT910NHOO的密码为n3tl04d。 这里建议最好使用14位的密码, 也就是说越像 IUSR_XODU5PTT910NHOO的密码越好, 现在, 就可以使用IUSR_XODU5PTT910NHOO密码为n3tl04d远程登录了, 和管理员一样的配置环境!如图4所示。 图4注意:大部份机器里IUSR_MACHINE用户的SID都为0x3E9(如果机器在最初安装的时候没有安装IIS, 而是自己创建了账号后再安装IIS就有可能不是这个值了), 如果不确定, 可以使用:“regedit /e sid.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\IUSR_MACHINE”命令先导出注册表, 然后编辑sid.reg文件, 就可以看到SID为“3EB”, 如图5所示。 图5 2.手工克隆方法二另外一种克隆账户的方法是:首先运行regedt32.exe, 展开注册表到HKEY_LOCAL_MACHINE\SAM\SAM, 然后点菜单栏的“编辑”→“权限”(Windows 2000是菜单栏的“安全”→“权限”), 会弹出“SAM的权限”窗口, 点击Administrators, 在该窗口中勾选允许完全控制, (Windows 2000是在该窗口中勾选“允许将来自父系的可继承权限传播给该对象”)然后点击“确定”按钮。 如图6所示。 图6再找到HKEY_LOCAL_MACHINE\SAM\SAM\DomainsAccount\Users\00001F4, 双击右边窗口中的“F”项, 如图7所示。 图7选取全部内容, 然后点击鼠标右键选“复制”, 再打开HKEY_LOCAL_MACHINE\SAM\SAM\DomainsAccount\Users\00003EB下的F项, 将刚才复制的内容粘贴进去, 这样我们就将IUSR_XODU5PTT910NHOO账号克隆成了管理员, 再将刚才SAM目录的权限给删掉, 以免被人发现。 3.使用mt克隆mt.exe是一款非常强大的网络工具, 它主要以命令行方式执行, 可以开启系统服务, 检查用户以及直接显示用户登陆密码等。 它就象一把双刃剑, 入侵者和系统管理员都要使用它, 但由于常被入侵者使用, 所以被很多杀毒软件列为病毒。 关于MT的详细测试报告可以到http://www.antian365.com/bbs/viewthread.php?tid=2786&extra=page%3D1&frombbs=1了解。 克隆用户的用法如下:mt -clone 如:mt -clone adminstrator IUSR_XODU5PTT910NHOO如图8所示。 图8就是把管理员账号administrator克隆为IUSR_XODU5PTT910NHOO账号。 最后执行“net user IUSR_XODU5PTT910NHOO n3tl04d”命令, 修改IUSR_XODU5PTT910NHOO的密码为n3tl04d。 4.使用AIO克隆AIO(All In One)是WinEggDrop写的一个把很多小工具功能集成一体的一个“工具”, 其中有克隆用户、修改服务的启动类型、删除系统账户、检查系统隐藏服务、端口扫描和端口转发等等。 使用AIO克隆很简单, 就是: Aio.exe -Clone 正常账号 要被克隆账户 密码如: Aio.exe -Clone Administrator IUSR_XODU5PTT910NHOO n3tl04d这样就可以用IUSR_XODU5PTT910NHOO\n3tl04d作为管理员登录了。 如图9所示。 图95.使用CA克隆ca.exe 小榕编写的一个远程克隆账号工具, 当然本地克隆也没问题。 用法如下:ca \\ip地址 管理员用户名 管理员密码 克隆的用户 密码 如:ca \\127.0.0.1 administrator 123456 IUSR_XODU5PTT910NHOO 123456如图10所示。 图106.建立隐藏账号需要使用的工具叫adhider, 是锦毛鼠写的一个专门建立隐藏用户的工具。 此工具有个缺点, 那就是当服务器重启后, 用户就隐藏不了, 会在用户管理中显示出来。 用法如下:adhider 用户名 密码如:adhider n3tl04d$\123456如图11所示。 图11创建成功后就可以使用n3tl04d$\123456登录, 得到和管理员权限。 7.使用clone克隆clone是28度的冰写的一个克隆工具, 只支持windows2003和windowsxp,不支持windows2000。 此工具有个缺点, 那就是当服务器重启后, 用户就隐藏不了, 会在用户管理中显示出来。 用法如下:Clone.exe 用户名 密码如:clone n3tl04d 520mm如图12所示。 图12就可以使用n3tl04d\520mm登录, 得到和管理员权限。 注意:在Windows 2003下如果使用clone克隆后, 再使用MT检查, 会提示你没有系统权限, 此时需要重启电脑或者运行一个有system权限的cmd才能使用MT检查。 三、克隆用户安全检查与防范当系统用户被克隆之后, 更改管理员也无济于事, 服务器上面的信息和数据还是被攻击者随意窃取。 所以必须把克隆的用户清除, 再做其它方面的安全检查。 在检查是否存在克隆用户前, 最好重启一下系统。 对于上面第六和第七种方法克隆的, 就会在用户管理里显示出来了, 一看就知道。 如图13所示。 图13如果发现有克隆账号, 可以用mt或AIO软件进行删除。 1.使用MT检查在cmd命令行下, 使用“mt–chkuser”命令, 检查系统克隆账号, 输入命令后, 会在屏幕中输出结果, 主要查看ExpectedSID和CheckedSID, 如果这两个值不一样则说明账号被克隆了。 如图14所示。 图14 从图中可以看出, IUSR_XODU5PTT910NHOO用户的ExpectedSID和CheckedSID不一样, 且它的CheckedSID值是和管理员administrator的CheckedSID值一样, 很明显IUSR_XODU5PTT910NHOO是一个克隆的账号。 2.使用AIO检查不需要在system权限下也可用。 用法: Aio.exe –CheckClone, 如图15所示。 图15从图可以看出, n3tl04d,n3tl04d$都是克隆的账号。 3.使用CCA检查CCA是小榕写的检查是否存在克隆的账号, 支持远程检查, 但必须有管理员账号。 用法如下:cca.exe \\ip地址 用户名 密码检查本机是否存在克隆用户, 如cca \\127.0.0.1 administrator 123456如图16所示。 图16从图可以看出, n3tl04d,n3tl04d$都是克隆的账号。 4.使用LP_Check检查如果系统存在克隆用户, 软件将会显示红色。 不过此工具检测不到使用adhider.exe克隆的用户。 如图17所示。 图17只检测到n3tl04d一个克隆的用户(显示红色),事实上还存在另一个克隆的账号n3tl04d$, 但它没有检测出来。 5.手工检查(1)对于系统默认用户, 如guest、IUSR_XODU5PTT910NHOO, 可使用“net user IUSR_XODU5PTT910NHOO”命令查看最后登录日期, 如图18所示。 图18从图可以看出, IUSR_XODU5PTT910NHOO在2008-12-4登录过系统, 此账号默认是是显示“上次登录 从不”, 因此可以判定账号已被克隆过。 (2)查看系统登录日志Windows 2003的用户登录审核是默认开启的, 如果有某个时间内发现不明的登录日志, 如图19所示。 图19在21:46左右,管理员并未登录系统, 说明有其它用户登录过系统, 点击就可以看到是哪个用户登录了, 如图20所示。 图20从图可以看出, n3tl04d$在21:46登录过系统, 说明此账号就是被克隆的账号了。 如果日志全没, 管理员又没自己删除过, 那肯定是入侵者删除的, 说明系统肯定是被入侵了。 此方法的不好之处就是要查看日志, 如果攻击者很少登录的话, 就难以被发现。 (3)查看注册表首先运行regedt32.exe, 展开注册表到HKEY_LOCAL_MACHINE\SAM\SAM, 然后点菜单栏的“编辑”→“权限”, 会弹出“SAM的权限”窗口, 点击Administrators, 在该窗口中勾选允许完全控制, 然后点击“确定”按钮。 再找到HKEY_LOCAL_MACHINE\SAM\SAM\DomainsAccount\Users\Names, 查看是否存在不明的用户, 如图21所示。 图21此方法只能对添加新用户克隆有效, 如果克隆的是系统默认账号, 如guest、IUSR_MACHINE等账号, 需要导出两个用户的键值, 然后对比F项, 如果IUSR_MACHINE的F值和管理员的F项的值相同, 说明已被克隆了。 如图22所示。 图22从图中可以看出, 3EB的F项的值和管理员1F4的值是一样, 说明SID为3EB的这个账号是克隆账号。 6.删除克隆用户(1) 如果是系统默认账号被克隆的话, 先到一台正常电脑上, 同样方法, 复制相同用户下面的F项的值, 如你发现的是IUSR_MACHINE(machine为机器名)用户被克隆, 就打开一台正常电脑的注册表, 找到HKEY_LOCAL_MACHINE\SAM\SAM\DomainsAccount\Users\000003EA, 导出注册表, 保存为3EA.reg, 同样, 回到被入侵过的电脑, 导入被克隆过的用户注册表值为3eb.reg, 接着就是把3ea.reg里面的F值复制替换3eb.reg里的F值, 再把里面的ea改为eb(改这个的原因是因为两台电脑的IUSR_MACHINE用户的SID不一样, 如果是一样, 就不需要更改), 如图23所示。 图23保存后再导入注册表, 然后在cmd下使用“net user IUSR_MACHINE n3tl04d520mm”更换密码。 如果是添加用户式的克隆可使用以下方法(2)使用MT删除克隆用户在cmd命令下输入“mt -killuser 用户名”如:mt -killuser n3tl04d, 成功后n3tl04d账号就不存在了, 如图24所示。 图24(3)使用AIO删除克隆用户在cmd命令下输入“Aio.exe -DelUser 用户名”如: Aio.exe -DelUser n3tl04d, 成功后n3tl04d用户就被删除了。 如图25所示。 图25四、总结与探讨由于条件等各方面的限制, 此次全部操作都是在Windows 2003环境下完成, 可能会有些不对的地方, 请大家多多指正。 如果发现被克隆, 有人说要重装系统, 个人认为那是不明智的选择, 特别是服务器作为虚拟主机的时候, 你把客户的网站都停掉, 造成的损失, 谁来负责?再说, 如果入侵是服务器配置不当, 或者其它网站漏洞造成的, 单单重装系统, 并没有把原来的漏洞修补上, 攻击者可以照着原路再一次把你的系统攻陷。 但仅仅删除被克隆的用户也是远远不够的, 还需要更改所有管理员密码。 除此之外, 个人认为还是应该对服务器做一次完整的安全检测和安全加固, 如果能力有限, 可以找相关的安全组织或公司帮你做。 如果有需要, 安天365团队愿意提供服务。

网友评论
评论(...
全部评论