20241905 2024-2025-2 《网络攻防实践》 第7次作业
1. 实验内容
(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击;
⑥查看是否正确得到远程Shell,并查看获得的权限。
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。
2. 实验过程
2.1 使用Metasploit进行Linux远程渗透攻击
本次实验所用到的攻击机和靶机的地址如下表所示
| 虚拟机 | 地址 |
|---|---|
| KALI(攻击机) | 172.20.10.4 |
| Metasploit_Ubuntu(靶机) | 172.20.10.5 |
1、通过命令msfconsole启动Metasploit软件

2、通过命令use exploit/multi/samba/usermap_script来使用Linux靶机上Samba服务的usermap_script漏洞。此时显示没有载荷配置

3、通过命令show payloads来显示usermap_script漏洞可用的载荷

4、通过命令来选择载荷set payload cmd/unix/bind_netcat,成功后会设置为cmd/unix/bind_cat

5、通过命令set rhost 172.20.10.5和set lhost 172.20.10.4来设置渗透攻击参数,通过命令show options可以查看是否设置成功。这里的记录显示已经设置成功

6、通过命令exploit进行攻击

7、输入shell加回车后进入命令行,再通过命令ipconfig来查看是否正确得到远程Shell。此时可以看到攻击机已经远程连接到靶机,显示的是靶机的ip地址

8、通过命令whoami来查看获得的权限,显示已经取得root权限,事实上进入命令行的时候也可以看出用户名是root

2.2 攻防对抗实践
攻击方:使用Metasploit,选择靶机中的vsftpd后门漏洞进行渗透攻击
1、通过命令nmap -sV来查看存在的漏洞,这里选择vsftpd安全漏洞进行攻击
在vsftpd服务器程序中,当攻击者使用特定格式的用户名(以:)微笑结尾)登录FTP服务器时,服务器会在6200端口开启一个后门,允许执行任何代码

2、通过命令search vsftpd来搜索漏洞

3、通过命令use 0来使用vsftpd后门漏洞

4、通过命令show payloads来显示可用的载荷,查看到只有一个可用载荷

5、通过命令set payload payload/cmd/unix/interact来设置这个载荷

6、通过命令set rhost 172.20.10.5和set lhost 172.20.10.4来设置攻击参数,通过命令show options可以查看是否设置成功

7、通过命令exploit启动攻击

8、通过shell、回车和ifconfig查看到已经通过漏洞远程连接到靶机

9、作为root账户,攻击者进行创建新文件夹和新文件

防守方:通过 wireshark分析攻击过程
1、防守方通过过滤端口为6200的数据包可以看到攻击者的IP为172.20.10.4,端口40057,目标IP172.20.10.5

2、打开一个FTP数据包追踪可以看到该后门漏洞的原理的操作,可以看到攻击者通过输入结尾是:)的用户名,FTP服务器开启一个后门,允许该用户进行任何操作

3、追踪TCP数据流可以看到攻击者进行的一系列操作


3. 学习中遇到的问题及解决
-
问题1:启动攻击时报错

-
问题1解决方法:攻击机和靶机没连通,重启metasploite
-
问题2:启动攻击时停住不动

-
问题2解决方法:输入shell回车后再回车即可进入命令行
-
问题3:尝试利用vsftpd漏洞攻击时出错

-
问题3解决办法:metasploit的攻击是针对特定版本的vsftpd,提供的metasploite_ubuntu虚拟机使用的是proFTPD 1.3.1 server,尽管metasplit尝试了攻击,发送了包含:)的用户名,但是无法获得会话。所以要重装使用的metasploite_ubuntu靶机


-
问题4:启动攻击时出现端口无法用作shell

-
问题4解决方法:重启metasploit_ubuntu虚拟机
4. 学习感想和体会
上次的攻防实验是针对Windows系统的,这次则是针对Linux系统。在第二个实验的时候遇到了很多问题,在网上查找了metasploit的指导文件之后重新下载了靶机,解决了问题。通过这次实验,我对Linux系统的Usermap_script漏洞和Vsftpd漏洞有了更深的理解,也对Linux系统的操作命令更加熟练。
参考资料
Metasploitable 2 Exploitability Guide | Metasploit Documentation
《网络攻防技术与实践》课本和学习通视频

浙公网安备 33010602011771号