DC - 1渗透测试

把靶机和kali的网络配置在同一个局域网中,比如我的kali在192.168.16.137/24。

初探究竟:

打开靶机后发现只有一个登录页面,没什么可操作的,所以我们的第一反应就是扫描,扫啥呢?肯定先扫ip啊,知道目标的IP之后才能做下一步打算。

nmap -sP 192.168.16.137/24 结果如下:

再用ip扫一下端口号 nmap A 192.168.16.135,发现开了80,22端口,结果如下:

既然有80,那就访问一下吧,这里就是所谓的信息收集了,可以在页面底部,或者浏览器插件看到其用的时Druple CMS 且版本号为7.x 百度一下可以知道应该是2018年发布的。接下来就是该MSF上场了。打开msf,搜索Druple:

就用18年这个吧

接下来输入use 18年对应的那个名字。然后show options后知道需要填写目标ip,完成之后就可以run了。成功进入系统后输入ls查看当前目录文件发现有flag1.txt,cat flag1.txt就可以拿到第一个flag了!

根据提示信息知道,下一步需要找配置文件,百度下drupal的配置文件名是settings.php,然后用find -name settings.php查找文件路径,在sites/default里,cd进去后用cat命令查看settings.php文件内容发现flag2.txt在里面,而且还有数据库的用户名和密码!

接着尝试登录数据库,使用mysql -udbuser -pR0ck3t,在这之前最好使用python -c "import pty; pty.spawn('/bin/bash')"进行一个反弹shell,因为数据库的登录貌似要用它本身的身份。还有就是我在kali里直接输老是报错,这种情况可以在虚拟机外面输好后复制过去。

登录数据库后就是依次show databases;use drupaldb; show tables; 到这里发现有一个叫users的表,那就select * from users;看一下,发现有账户名和密码,但是是加密的。

百度查到加密文件在scripts/password-hash.sh,可以输入password-hash.sh --help查看用法。之后随便对一个值进行加密,比如1234 ,输入password-hash.sh  1234得到对应的加密值。

把它复制下来,再进入数据库,将admin的密码设置为这个值。然后就可以在网页上登录。随便点点找到flag3

根据提示信息,用find / -perm +4000查找有suid的进程,发现其中就包括find命令。噢,在这之前还有flag4没找到,可以直接用find / flag4.txt查找,在home/flag4路径下,内容为:

根据提示知道需要提权。就用find命令提权。

find -exec /bin/sh \之后发现目前的身份是root了。

然后在root用户文件夹下找到最后一个flag:

你可能感兴趣的:(DC - 1渗透测试)