Об авторе
Автор этой статьи — пентестер из команды FBK CyberSecurity. Это часть крупнейшей российской аудиторско-консалтинговой группы ФБК (Финансовые и бухгалтерские консультанты). Компания специализируется на услугах в области практической информационной безопасности.
Автор задачки — whitecr0wz, а опубликована она была 7 июля 2020 года. Машина предназначена для начинающих, поэтому и прохождение будет недлинным. Зато по пути я постараюсь разъяснить все шаги и рассказать об используемых утилитах. Мы проэксплуатируем известную уязвимость, чтобы повысить привилегии и прочитать файл в каталоге root.
Не буду описывать подключение и запуск виртуальной машины, это уже делали мои коллеги в статье «Захват Ваканды. Ломаем виртуальную машину с VulnHub». Начнем с разведки, а точнее — с запуска утилиты netdiscover.
Netdiscover — простой инструмент обнаружения (ARP-сканер), который удобно использовать для поиска «живых» хостов в сети без конфигурации IP-адреса сетевого интерфейса.
INFO
ARP (Address Resolution Protocol — протокол определения адреса) предназначен для определения MAC-адреса устройства по его IP-адресу.
По умолчанию утилиту можно запустить без параметров и получить результат в виде списка устройств. Однако для более тонкой настройки рекомендую ознакомиться с разными опциями, которые можно указать при запуске.
Целевая машина decoy находится с нами в одной подсети, поэтому просто пишем netdiscover
.
Теперь мы знаем целевой IP-адрес — это 192.168.1.123. Следующим шагом сканируем хост и ищем открытые порты и запущенные сервисы. Просканируем порты популярной утилитой Nmap.
nmap -sV -sC -O -p - 192.168.1.123
Вот что значат наши ключи:
-sV
— вывести версии обнаруженных служб;-sC
— использовать базовый набор скриптов для получения расширенной информации;-O
— определить версию ОС;-p
— сканировать весь диапазон портов от 0 до 65 535.
После полного сканирования хоста мы получим два открытых порта:
- 22 — OpenSSH Server 7.9p1;
- 80 — Apache httpd 2.4.38.
Начнем изучать целевую машину с веб-службы Apache. Индексная страница на 80-м порте выдает нам индекс каталога.
Скачиваем единственный файл save.zip и пытаемся распаковать его. В результате узнаем, что он защищен паролем.
Чтобы получить доступ к содержимому, нужно подобрать пароль. Для этого нам нужна хеш-сигнатура файла. На помощь приходит вспомогательная утилита zip2john из состава пакета John the Ripper.
К сожалению, программа выдает хеш, совместимый только с «Джоном» (формат PKZIP), использовать его в моем любимом hashcat не удастся — он любит формат WinZIP.
INFO
- John the Ripper — легендарная свободная программа, предназначенная для восстановления паролей по их хешам.
- Hashcat — это, по словам создателей, самый быстрый в мире инструмент для восстановления паролей.
Кто-то предпочтет другие утилиты, но, по моему опыту, на реальных проектах с длинными паролями hashcat выручает чаще. В данном же случае взлом пароля не вызовет трудностей, поскольку он тривиален и с легкостью поддается перебору по универсальному словарю rockyou (он входит в любой современный наступательный дистрибутив Linux вроде Kali и Parrot).
Если же рассуждать о буднях пентестера в реальных условиях, то рекомендую обратить внимание на более увесистые словари. Например, в crackstation.txt.gz содержится 15 Гбайт реальных утечек, а в hashkiller-dict.7z еще 1,5 Гбайт.
Теперь можем распаковать архив и ознакомиться с его содержимым.
Содержимое распакованной папки etc не представляет особого интереса, кроме файла shadow. В нем содержатся наименования учетных записей системы и хеши паролей. Попробуем подобрать пароль для какого-либо пользователя и подключиться к ранее обнаруженному порту 22 по SSH.
Выведем командой cat содержимое файла shadow и отфильтруем при помощи grep пользователей для перебора.
Если написать grep -v "*"
, то увидим все строки, в которых нет звездочек, то есть пользовательские, а не служебные учетные записи.
Учетная запись systemd-coredump к делу тоже не относится, поэтому остаются только пользователи root и некто с длинным буквенно-цифровым логином.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»