Введение
В этом лабораторном занятии (Lab) мы рассмотрим два метода и соответствующие инструменты для получения пароля суперпользователя (root) с помощью брутфорс-атак на системах Linux. Лабораторное занятие поможет вам понять основные принципы и избежать распространенных ошибок в процессе.
Использование sucrack для подбора корневого пароля с помощью команды su
На этом этапе мы узнаем, как использовать инструмент sucrack для брутфорса пароля суперпользователя (root) с помощью команды su.
Команда su используется для переключения на другого пользователя в системах Linux. За исключением суперпользователя (root), другие пользователи должны предоставить пароль целевого пользователя при использовании этой команды.
Инструмент, который мы будем использовать для брутфорса команды su, - это sucrack. sucrack - это многопоточный инструмент для Linux, разработанный для брутфорса локальных паролей пользователей с помощью команды su.
Поскольку команда su требует ввода пользователя из TTY-оболочки, простой сценарий (shell script) не может выполнить брутфорс-атаку. sucrack написан на языке C и поддерживает многопоточность, что делает процесс брутфорса очень эффективным.
Вы можете посетить официальный сайт sucrack для получения дополнительной информации.
В реальной ситуации на целевой машине может не быть доступа в Интернет, поэтому вы можете установить sucrack одним из двух следующих способов:
- Скачайте исходный код
sucrackи загрузите его на целевую машину, затем скомпилируйте и запустите. - Скачайте исходный код
sucrack, скомпилируйте его локально, а затем загрузите скомпилированный бинарник на целевую машину.
В этом лабораторном занятии (Lab) мы уже установили sucrack для вас.
Перед попыткой брутфорс-атаки мы настроим лабораторную среду:
Откройте терминал и перейдите в директорию проекта:
cd /home/labex/projectЗапустите скрипт
env_setup_1.shдля настройки лабораторной среды:./env_setup_1.shЭтот скрипт переключает нас на не привилегированного пользователя
www-data. Наша цель - получить пароль суперпользователя (root) с помощью брутфорса.У нас есть предварительно подготовленный словарь по пути
/tmp/common-wordlists.txtдля демонстрации. Вы также можете использовать собственный словарь.Синтаксис для брутфорс-атаки на команду
suс использованиемsucrackвыглядит следующим образом:sucrack -w <threads> [-u <username>] <wordlist>Параметры:
-w: Указывает количество потоков<wordlist>: Указывает файл со словарём-u: Указывает имя пользователя, для которого будет выполнен брутфорс. Если вы не укажете имя пользователя,sucrackпо умолчанию будет пытаться подобрать пароль суперпользователя (root).
Давайте попробуем выполнить брутфорс, запустив следующую команду:
sucrack -w 20 /tmp/common-wordlists.txt > ~/sucrack.log && resetВывод брутфорс-атаки перенаправляется в файл
sucrack.log.Примечание: Команда
resetиспользуется для очистки экрана терминала, так как иногда после использованияsucrackтерминал может отображаться некорректно.Эта брутфорс-атака может занять некоторое время. Через некоторое время проверьте файл
sucrack.log, чтобы подтвердить пароль:cat ~/sucrack.logОжидаемый вывод:
password is: reallyЗатем мы можем переключиться на суперпользователя (root) с помощью команды:
su - rootВведите пароль
really, чтобы переключиться на суперпользователя (root).reallyСоздайте файл с именем
success_1.txtв директории/root, чтобы подтвердить, что вы успешно переключились на суперпользователя (root):echo "Success_1" > /root/success_1.txtВы можете проверить файл
/root/success_1.txt, чтобы подтвердить, что вы успешно переключились на суперпользователя (root).
Вы научились использовать sucrack для брутфорса пароля суперпользователя (root)!
Использование Hydra для подбора корневого пароля по SSH
На этом этапе мы узнаем, как использовать инструмент hydra для брутфорса пароля суперпользователя (root) по протоколу SSH.
После предыдущего этапа мы по-прежнему должны быть суперпользователем (root), а для этого этапа нам нужно переключиться на пользователя labex. Вы можете переключиться на пользователя labex, запустив следующую команду:
su - labex
Убедитесь, что текущая директория установлена на
/home/labex/project:cd /home/labex/projectЗапустите скрипт
env_setup_2.shдля настройки лабораторной среды:./env_setup_2.shКак и на предыдущем этапе, после выполнения этого скрипта вы переключитесь на пользователя
www-data.Перед попыткой брутфорса протокола SSH нам нужно проверить, разрешает ли целевая машина вход суперпользователя (root) по протоколу SSH. Вы можете проверить это, запустив следующую команду:
cat /etc/ssh/sshd_config | grep -i permitrootloginЕсли в выводе показано, что параметр
PermitRootLoginустановлен вyes, то мы можем продолжить с брутфорс-атакой. В противном случае, нет смысла пытаться.Инструмент, который мы будем использовать для брутфорса протокола SSH, - это
hydra.hydra- это известный инструмент для брутфорса, который поддерживает различные протоколы, включая RDP, SMB, HTTP, MySQL и другие.hydraпредустановлен на Kali Linux и в нашей лабораторной среде на Ubuntu.Синтаксис для брутфорса протокола SSH с использованием
hydraвыглядит следующим образом:hydra -l root -P passwords.txt -t 4 -V < IP > sshПараметры:
-l: Указывает имя пользователя-P: Указывает файл со словарём-t: Указывает количество потоков-V: Отображает ход и детали брутфорс-атаки
Давайте попробуем подобрать пароль суперпользователя (root) с использованием словаря
/tmp/common-wordlists.txtи сохраним вывод в файлhydra.log:hydra -l root -P /tmp/common-wordlists.txt -t 64 -V 127.0.0.1 ssh > ~/hydra.logЧерез некоторое время пароль суперпользователя (root) будет успешно подобрать.
Проверьте файл
hydra.log, чтобы подтвердить пароль:cat ~/hydra.logПример вывода:
... [22][ssh] host: 127.0.0.1 login: root password: penguin 1 of 1 target successfully completed, 1 valid password found ...Теперь, когда у нас есть пароль суперпользователя (root), мы можем переключиться на него, запустив следующую команду:
su - rootВведите пароль
penguin, чтобы переключиться на суперпользователя (root).penguinТеперь вы должны быть суперпользователем (root). Вы можете подтвердить это, запустив следующую команду:
whoamiВывод должен быть
root.Создайте файл с именем
success_2.txtв директории/root, чтобы подтвердить, что вы успешно переключились на суперпользователя (root):echo "Success_2" > /root/success_2.txtВы можете проверить файл
/root/success_2.txt, чтобы подтвердить, что вы успешно переключились на суперпользователя (root).
Примечание: Если вы используете версию hydra старше v9.0, при брутфорсе протокола SSH могут появляться ложноположительные результаты. Вы можете проверить версию hydra, запустив команду hydra -v.
Резюме
В этом лабораторном занятии (Lab) мы изучили два метода для брутфорса пароля суперпользователя (root) в системах Linux: с помощью команды su с использованием инструмента sucrack и по протоколу SSH с использованием инструмента hydra. Мы рассмотрели установку, использование и пошаговые процедуры для каждого метода, помогая вам понять основные принципы и избежать распространенных ошибок. Это лабораторное занятие предоставляет ценный практический опыт в применении методов повышения привилегий, которые могут быть использованы в различных сценариях.



