1. 渗透过程
1.1 信息收集
使用arp-scan 发现靶机,并使用nmap扫描详细信息
发现开启了22、80、111端口
通过浏览器访问80端口web页面:
1.2 msf渗透
发现是drupal,使用kali的msf进行利用:
拿到shell,并发现flag1.txt文件,文件内容提示cms的配置文件。
网上搜到drupal的默认配置文件目录为: sites/default/
查看settings.php文件内容,发现数据库信息:
1.3 数据库修改
用获取到的会话返回一个shell,使用python起一个比较好用的shell: python -c "import pty;pty.spawn('/bin/bash')"
使用mysql命令登录数据库:
查看数据库信息,使用drupaldb数据库,该库有一个users表:
查询users表数据,发现admin用户的用户名和密码:
这里的密码是经过drupal加密,在scripts的文件夹中有用来算密码的脚本,这里考虑修改admin用户的密码为talent:
talent加密后的值为: $S$DkpdhQDaUR7//v51YfEQ8vKjyvAYjNyQbZuN/B.t/KBFoGQRxwvr
在数据库更新此密码:
使用更新后的密码登录web站点,登录成功后发现flag3:
1.4 find命令提权
Flag3提示使用find命令提权,又发现home目录下有个flag4目录:
我们使用find找下具有root权限的suid: find / -user root -perm -4000 -print 2>/dev/null
使用find命令提权: find / -name flag4 -exec "/bin/sh" \;
成功拿到root权限,获取thefinalflag.txt文件内容:
2 总结
2.1 suid提权
Linux提权————利用SUID提权_centos8对bash命令赋予suid权限,提权查看/etc/shadow_FLy_鹏程万里的博客-CSDN博客
SUID是Linux的一种权限机制,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。如果拥有SUID权限,那么就可以利用系统中的二进制文件和工具来进行root提权。
已知的可用来提权的linux可行性的文件列表如下:
- Nmap
- Vim
- find
- Bash
- More
- Less
- Nano
- cp
find 命令提权方式有:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;