# Получение легитимного доступа

Получение легитимного доступа - доступ к системе без изменений системы, используя существующие учетные данные и способы доступа к системе.

<table border="1" id="bkmrk-%D0%9F%D0%BB%D1%8E%D1%81%D1%8B-%D0%9C%D0%B8%D0%BD%D1%83%D1%81%D1%8B-%D0%9D%D0%B0%D0%B8%D0%BC%D0%B5%D0%BD%D0%B5" style="border-collapse: collapse; width: 100%;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr><td>Плюсы</td><td>Минусы</td></tr><tr><td>- Наименее заметный, так как в систему не вносится никаких изменений.
- Может предоставлять доступ достаточно долго, если компрометация системы не обнаружена.

</td><td>- При компрометации обычно меняют пароли и ключи доступа.
- Лучше совмещать его с другими подходами, так как при обнаружении использования инвазивных методов закрепления теряется и данный способ закрепления.
- Учетные данные могут быть изменены по воле оператора системы.

</td></tr></tbody></table>

Способы получения легитимного доступа к системе:

- Извлечение паролей и ключей из доступных файлов в ОС
- Восстановление паролей из хешей
- Подбор паролей методом перебора
- Восстановление паролей и ключей из памяти процессов

**Восстановление паролей из хэшей**

**JohnTheRipper**

```
$ sudo cp /etc/shadow /tmp/shadow
$ sudo unshadow /etc/passwd /tmp/shadow > /tmp/unshadowed
$ john /tmp/unshadowed
```

**Hashcat**

Поддерживает MD5, SHA1, SHA256, bcrypt и т.д. Пример взлома MD5:

```
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
```

Параметры

<table border="1" id="bkmrk--m-0-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%85%D0%B5%D1%88%D0%B8%D1%80%D0%BE" style="border-collapse: collapse; width: 100%; height: 119.188px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">-m 0</td><td style="height: 29.7969px;">алгоритм хеширования MD5</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">-a 0</td><td style="height: 29.7969px;">атака перебора</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">hash.txt</td><td style="height: 29.7969px;">файл с хешами паролей</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">/usr/share/wordlists/rockyou.txt</td><td style="height: 29.7969px;">используемый словарь для перебора паролей</td></tr></tbody></table>

**Радужная таблица**

Специальный вариант таблиц поиска для обращения криптографических хеш-функций, использующий механизм разумного компромисса между временем поиска по таблице и занимаемой памятью. Предварительно вычисляются радужные таблицы, которые затем используются для быстрого нахождения паролей, соответствующих хэшам. Подробнее [тут](https://spy-soft.net/rainbow-tables-kali-linux-rainbowcrack/).

**Онлайн-сервисы**

[Подробнее](https://spy-soft.net/kak-rasshifrovat-xesh-bez-dolgix-vychislenij/)

**Подбор паролей методом перебора**

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

Можно использовать nmap, patator или hydra, ... Лучше в виде портативных файлов для вашей версии ОС. Пример для patator:

```
patator ssh_login host=192.168.0.1 user=admin password=FILE0 0=/путь/к/файлу_с_паролями.txt -x ignore:fgrep='Permission denied'
```

Пример для nmap:

```
nmap --script ssh-brute --script-args userdb=usernames.txt,passdb=passwords.txt <target>
```

\--script ssh-brute – указывает использование скрипта для перебора паролей ssh.  
\--script-args userdb=usernames.txt,passdb=passwords.txt – указывает на файлы, содержащие список пользователей и паролей соответственно.  
&lt;target&gt; – целевой IP-адрес или диапазон адресов.  
Прекомпилированный бинарный файл nmap [тут](https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/nmap).

**Восстановление паролей и ключей из памяти процессов**

В Linux сложнее чем в Windows.

**Mimipenguin**

Перехват паролей из памяти процессов на Linux-системе. Обычно используется для получения паролей, введенных пользователем в терминал, например, паролей от системы или приложений. После запуска Mimipenguin начнет мониторить процессы в системе и попытается извлечь пароли из памяти процессов. Пароли отображаются в терминале.

[![image.png](http://bobrobotirk.ru/uploads/images/gallery/2025-10/scaled-1680-/261image.png)](http://bobrobotirk.ru/uploads/images/gallery/2025-10/261image.png)

**truffleproc**

Инструмент для перехвата паролей из памяти любых процессов работающих в системе Linux, который ищет пароли и ключи API в процессах по регулярным выражениям выполняя выгрузку памяти процесса и анализируя ее. [Ссылка на инструмент](https://github.com/controlplaneio/truffleproc)

**Ручной способ**

Нужно найти процесс аутентификации:

```
# ps -ef | grep "authenticator"
> root 2027 2025 0 11:46 ? 00:00:00 authenticator
```

Сделать дамп процесса (например, memory-dump) и поискать учетные данные в памяти:

```
# ./dump-memory.sh 2027
# strings *.dump | grep -i
```

**Прочие подобные утилиты:**

3snake – перехват паролей ssh, sudo и su (experimental)  
SSHPry2.0 – перехват данных в терминале  
Gimmecredz – дамп паролей в памяти (на основе bash)