渗透测试与工具
5.4.2 使用 ettercap(容易的方法)
嗅探 SMB 认证通信数据最容易的方法之一是,由 ettercap 完成所有的工作。在口令捕 获模式中,ettercap 会自动地检测 SMB 认证通信数据,以及其他认证通信数据,如 telnet、
POP3 或 FTP。它会将监听到的内容输出到控制台/日志文件(以 L0phtcrack 2.5 格式)。在 图 5.14 中 ettercap 输出了一组捕获的凭据,以 LC 2.5 格式显示。攻击者得到捕获的凭据文
件之后,只需要将其导入 L0phtcrack 即可。前面示范过,如果要使用 LC4,则需要作一点 调整。
Windows 口令抓取攻击的第一步是找到一台机器,以使攻击者可以任意执行命令。接 下来,攻击者必须上传运行 ettercap 所必需的文件,包括 WinPcap 文件。利用压缩/加密,
将所有必要的文件合成为一个文件,并通过网络复制到被攻陷的机器,这是最好的方法。
接下来,必须将上传的文件放置到适当的系统目录下,最好编写脚本来执行 move 命令。
在所有的文件都就位之后,即可运行 ettercap。有关系统命令的更多信息,请参考 5.3.1 节。
这里是一个例子,给出了可能的设置:
首先将下列文件复制到 ettercap 所在的目录(%systemroot%\system32\就很好):
cygcrypto-0.9.7.dll cygcrypto.dll cygssl-0.9.7.dll cygssl.dll cygwin1.dll etter.ssl.crt ettercap.exe
接下来将 WinPcap 相关的 DLL 文件复制到%systemroot%\system32\:
packet.dll wpcap.dll
最后将 WinPcap Netgroup 数据包过滤器驱动(NPF.sys)复制到%systemroot%\system32\
drivers\:
npf.sys
为使用脚本完成上述过程,可创建一个 CAB 文件 et.cab,使其包含所有上述文件。
WinAce 可以完成该任务。接下来,将下面的命令放置到一个批处理文件中,并在被攻陷的 计算机中与 et.cab 相同的目录下执行批处理文件:
REM ******** Create temporary directory C:\temp123\ ********
mkdir C:\temp123\
REM ******** expand .cab file ********
expand -r -f:* et.cab C:\temp123\
REM ******** Change to temp dir ********
c:
cd C:\temp123
REM ******** Copy files to %systemroot%\system32\ ********
copy cygcrypto-0.9.7.dll %systemroot%\system32\
copy cygcrypto.dll %systemroot%\system32\
copy cygssl-0.9.7.dll %systemroot%\system32\
第 2 部分
copy cygssl.dll %systemroot%\system32\
copy cygwin1.dll %systemroot%\system32\
copy etter.ssl.crt %systemroot%\system32\
copy ettercap.exe %systemroot%\system32\
copy packet.dll %systemroot%\system32\
copy wpcap.dll %systemroot%\system32\
REM ******** Copy npf.sys driver into %systemroot%\system32\drivers\
copy npf.sys %systemroot%\system32\drivers\
REM ******** clean up ********
cd . .
Del /q C:\temp123\*.*
rmdir C:\temp123\
在 ettercap 就位后,可以在远程机器上,以简单或 daemon 模式运行。如果给出足够的 时间,该工具就能收集相当数量的用户名和口令,既包括明文,也包括密文。接下来,则 需要使用 L0phtcrack 破解加密的 SMB 口令。
攻击者也可以使用 WinDump 或 Snort 完成上述任务。需要人工干涉多一点,但也不困 难。过程的开始大体相同:将必要的文件复制到被攻陷的计算机,并放置到正确的目录下。
攻击者接下来启动嗅探器,最好是有比较多用于登录数据的时间,并将捕获的数据保 存到被攻陷计算机的硬盘上,保存为隐藏文件或名字不引人注目的文件。稍后,攻击者就 返回并将下载文件选择到本机,以便进一步分析。攻击者此时可以使用图形工具,如 Ethereal 或 Etherpeek 来解码捕获的结果,并筛选出所有的挑战/应答对或其他类型的登录数据包(再 强调一次,ettercap 是专门用于筛选口令的,可以读取任何 libpcap 捕获文件,并筛选出发 现的所有口令)。
注意:图形化嗅探器,如 Ethereal 和 Etherpeek 支持跟踪 TCP 会话流的功能。跟 踪会话,可以快速地消除没什么用处的普通网络数据造成的噪音。
幸运的情况下,除了 SMB 登录外,还可以发现网络上使用的未加密协议,甚至可能捕 获到管理员的登录。
一旦攻击者得到了挑战/应答对,那么等待 L0phtcrack 生成某个有一定管理权限的账号 的口令,只是时间问题。另外,黑客可能刚刚以嗅探器模式运行了 L0phtcrack,并且已经 发现了网络的有关资料,但这需要黑客将 L0phtcrack 安装到需要嗅探的目标网段。该任务 不那么容易完成,也容易引人注意。
参考文献
[1] C.R. Hertel, Implementing CIFS http://ubiqx.org/cifs/
[2] The NTLM Authentication Protocol http://davenport.sourceforge.net/ ntlm.html [3] How to Enable NTLM 2 Authentication http://support.microsoft.com/
default.aspx?scid=kb;it;239869
[4] How to Disable LM Authentication on Windows NT http://support.microsoft.com/
default.aspx?scid=kb;en-us;147706
[5] "Inside SP4 NTLMv2 Security Enhancements" www.winnetmag.com/Articles/
Index. cfm ?ArticleID=7072
[6] NTLM Documentation www.opengroup.org/comsource/techref2/
NCH1222X.HTM