> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ru/writeups-ctf/hackthebox/linux-easy/underpass-hackthebox-writeup.md).

# Разбор Underpass на HackTheBox

{% embed url="<https://app.hackthebox.com/machines/641>" %}

{% hint style="warning" %}
**Навыки:**

* Перечисление UDP
* Учетные данные по умолчанию (DaloRADIUS)
* Взлом паролей
* Повышение привилегий через SUDO (mosh-server)
  {% endhint %}

## Разведка

**Настройка рабочей среды:**

Настройте рабочую среду, создав три папки для хранения важного содержимого, эксплойтов и результатов разведки Nmap.

<figure><img src="/files/be3bf03836627e697de0ddba183aeec89f36182f" alt="" width="563"><figcaption></figcaption></figure>

**Проверка подключения VPN**

Проверьте подключение к VPN, чтобы обеспечить стабильную связь с целевой машиной.

<figure><img src="/files/a9444aa9476a6cb4bb2b6d8c2a9a36b10c321b5e" alt="" width="563"><figcaption></figcaption></figure>

### TCP

**Обнаружение открытых портов с помощью Nmap:**

Перечислите открытые порты и экспортируйте результаты в файл "allPorts" в каталоге Nmap:

```bash
nmap -p- --open -sS -n -Pn -vvv --min-rate 5000 10.10.11.48 -oG allPorts
```

<figure><img src="/files/551afbc7c2dbc3895d1fbdbe008e872945be3645" alt=""><figcaption></figcaption></figure>

Сканирование версий портов с помощью Nmap:

Используйте Nmap для сканирования версий сервисов и сохраните вывод в файл "targeted":

```bash
nmap -sCV -p22,80 10.10.11.48 -oN targeted
```

<figure><img src="/files/f61d07beb8e5793dbb0c5571a9bf8d42f9acee76" alt=""><figcaption></figcaption></figure>

### UDP

**Сканирование наиболее используемых UDP-портов:**

Выполняем сканирование 100 самых распространённых UDP-портов:

```bash
nmap -sU --top-ports 100 --open -vvv -n 10.10.11.48 -oG allPortsUDP
```

<figure><img src="/files/e63e71dec8b3d5d001714d0117b1aa3ab9da7263" alt=""><figcaption></figcaption></figure>

* Обнаруженные порты: **161, 1812, 1813**.

<figure><img src="/files/e159af01787fa29c50ee968f227cd954ddb392d5" alt=""><figcaption></figcaption></figure>

**Сканирование версий UDP-сервисов:**/ Мы нацеливаемся на обнаруженные порты для получения дополнительной информации:

```bash
nmap -sUCV -p161,1812,1813 10.10.11.48 -oN targetedUDP
```

<figure><img src="/files/0a9fa942210f12c0ecb2107be123c8f3a748355d" alt=""><figcaption></figcaption></figure>

**Начальное наблюдение :**

* Домен **underpass.htb** обнаружен.
* CMS под названием **DaloRADIUS** обнаружен.

## CMS - **DaloRADIUS**

<figure><img src="/files/47d8e5848919527948d0b245fc80a074c6375bf0" alt="" width="563"><figcaption></figcaption></figure>

**Сканирование каталогов с Gobuster:**/ Мы исследуем каталоги сайта:

```bash
gobuster dir -u http://underpass.htb/daloradius/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 100
```

Результат: каталог с именем **`/app`** обнаружен.

<figure><img src="/files/a7a142d6ca5df25881f1949826bfc5a45cd15a4a" alt=""><figcaption></figcaption></figure>

**Список подкаталогов:**<br>

При исследовании **`/app`**, находим:

```bash
gobuster dir -u http://underpass.htb/daloradius/app/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 100
```

<figure><img src="/files/596c70fdb82be8de77839b762823076fc981bab9" alt=""><figcaption></figcaption></figure>

* Один **страница входа для пользователей**.

<figure><img src="/files/2da442cf3c63be46f61351a2776567361f66dbec" alt=""><figcaption></figcaption></figure>

* Один **страница входа для операторов**.

<figure><img src="/files/c2ee641b6c9b01f2a455e6e16ad6c2a7f07a3f7c" alt=""><figcaption></figcaption></figure>

**Доступ с учётными данными DaloRADIUS по умолчанию:**/ Проверяя учётные данные RADIUS по умолчанию:

* **Имя пользователя:** `administrator`
* **Пароль:** `radius`/ Эти учётные данные подходят для панели оператора.

<figure><img src="/files/dc934552eb70b4d728aaf94a14f6ae4af8149413" alt=""><figcaption></figcaption></figure>

### **Извлечение конфиденциальной информации:**

В **Управление** разделе мы находим **username** и **хэш пароля**:

* **Пользователь:** `svcMosh`
* **Хэш :** `412DD4759978ACFCC81DEAB01B382403`

<figure><img src="/files/9d260843fa5030fa034595085090f21f932be27b" alt=""><figcaption></figcaption></figure>

### **Взлом хэша:**<br>

Мы используем **CrackStation** для расшифровки хэша:

{% embed url="<https://crackstation.net/>" %}

**Расшифрованный пароль:** `underwaterfriends`

<figure><img src="/files/e9af07adafe907b41f52e32c9ca8096d0c97c2f9" alt=""><figcaption></figcaption></figure>

**Подключение по SSH:**/ С этими учётными данными мы получаем доступ к машине по SSH:

```bash
ssh svcMosh@underpass.htb

underwaterfriends
```

<figure><img src="/files/7d5d1d679b6b0fa4755e3d61494aa0657fb970fd" alt="" width="563"><figcaption></figcaption></figure>

## Повышение привилегий

### SUDO - Mosh-Server

Проверив разрешения с помощью `sudo -l` команды, мы обнаруживаем, что пользователь **svcMosh** может запускать **mosh-server** бинарный файл с правами администратора без ввода пароля

```bash
sudo -l
```

<figure><img src="/files/28c22b47e19f342997d75259702a874b1a615aa8" alt=""><figcaption></figcaption></figure>

> Поскольку у вас есть возможность запускать **mosh-server** от имени root, вы можете использовать это, чтобы установить соединение с **mosh** используя **sudo** чтобы запускать сервер от имени администратора.

Следующая команда запустит **mosh-server** с правами root, а затем установит соединение с **mosh** клиентом:

```bash
mosh --server="sudo /usr/bin/mosh-server" localhost
```

Это позволит **mosh** подключиться к серверу **mosh-server** который запущен от имени root на **localhost**. Используя этот метод, вы получите привилегированный доступ к машине с правами администратора.

<figure><img src="/files/7cf566a5a29498f87b79658d19b0b878ed4f0c6c" alt=""><figcaption></figcaption></figure>

### Флаг root.txt :)

<figure><img src="/files/eb430831161e9f2595e36ee04b7ac946799ba70a" alt="" width="547"><figcaption></figcaption></figure>

<figure><img src="/files/b55bef8a80d83dad23163fb27550ed1ca85178b9" alt="" width="522"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ru/writeups-ctf/hackthebox/linux-easy/underpass-hackthebox-writeup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
