![]() |
Глава 6 Предыдущая главаСледующая глава Оглавление https://forum.antichat.xyz/attachmen...30c7c82eff.png Привет колеги. Сегодня возьмем с вами ssh-test(172.16.0.1) машину https://forum.antichat.xyz/attachments/4769231/2.png Берется он довольно быстро,как только мы получили доступ к ssh машине(172.16.0.8) Взять его можно двумя способами.Сначала я попытаюсь попытаюсь рассказать о более простом Когда мы брали с вами токен отssh машины то наверняка помним что находили с помощью самаписного скрипта на питоне папки с пользователями в которых мы и нашли токен. https://forum.antichat.xyz/attachments/4769231/11.png Но если немного поискал по папкам вы должны были наткнутся на еще один ssh ключ в папки a.modlin https://forum.antichat.xyz/attachmen...c9b6d2d648.png А если вспомним письмо на почте Модлина - то мы не могли не обратить внимание на приложение которое генерирует,по принципу Google Authentificator, одноразовый порт для подключения на машину 172.16.0.1 (test-ssh) https://forum.antichat.xyz/attachments/4769231/3.png Конечно можно пойти более сложным и заковыристым путем через реверс апк приложения,изъять от туда класс который отвечает за генерацию порта и подключатся (Сложный способ мы также посмотрим после простого)... Но имхо есть вполне проще путь . Имея ключ от ssh и nmap можно вполне обойтись без реверса приложения. И так давайте просканим весь диапазон портов машины 172.16.0.1 из машины 172.16.0.8: https://forum.antichat.xyz/attachments/4769231/2.png Как видим порт меняется каждые 30 секунд. Давайте воспользуемся возможностями командной строки для вывода на экран только открытого порта: https://forum.antichat.xyz/attachments/4769231/1.png grep open -- фильтровать на вывод только те строки где встречается "open" cut -d '/' -f 1 -- обрезать выводимые данные,в качестве разделителя использовать символ "/" -f 1 выводить первый столбец grep -v 8071 -- не выводить строки где встречается слово 8071( в нашем случае на не нужен этот порт так как постоянно открыт на машине) теперь давайте попробуем передать эту команду в качестве параметра для команды ssh Код: Код:
ssh -i key a.modlin@172.16.0.1 -p $(nmap -Pn -p 1-65534 172.16.0.1 --open | grep open | cut -d '/' -f 1 | grep -v 8071)Как видим мы успешно подключились к test-ssh машине,токен находятся в домашней директории: https://forum.antichat.xyz/attachments/4769231/9.png Для того что бы не спрашивало у нас фингерпринт и не пыталось записать в known_host можно для удобства добавить к команде следующие параметры(Хотя это не критично если мы их не используем): -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no https://forum.antichat.xyz/attachments/4769231/10.png Как видите все действительно очень просто). Теперь давайте также попробуем добраться до токена через реверс apk приложения: Сперва давайте его скачаем и декомпилируем программой dex2jar: https://forum.antichat.xyz/attachments/4769231/4.png Дальше для удобного чтения кода я скачал программу JD-GUI https://forum.antichat.xyz/attachments/4769231/6.png Запустил в ней декомпилированую программу gds_authentificator Видим что для генерации одноразового порта используется класс HOTP.class: https://forum.antichat.xyz/attachments/4769231/11.png https://forum.antichat.xyz/attachments/4769231/7.png Давайте попробуем дернуть этот класс и скомпилировать его. https://forum.antichat.xyz/attachments/4769231/12.png Пробуем скомпилировать наш HOTP и видим кучу ошибок: https://forum.antichat.xyz/attachments/4769231/14.png Это из-за того что плохо объявлены переменные,давайте поправим немного код: Код: Код:
import java.security.GeneralSecurityException;https://forum.antichat.xyz/attachments/4769231/16.png Ну дальше что делать я надеюсь понятно) По этому порту просто подключаетесь на test-ssh так как как в первом способе по ssh ключу ) .За 30 секунд вы я думаю успеете) Всем спасибо за внимание) Предыдущая глава Следующая глава Оглавление |
Цитата:
|
Цитата:
|
| Время: 23:28 |