PDA

Просмотр полной версии : Лаборатория тестирования на проникновение «Test lab v.10» — за гранью хакерских возможностей (6)


<~DarkNode~>
24.12.2016, 18:36
Глава 6Предыдущая глава (https://forum.antichat.xyz/threads/558632/)
Следующая глава (https://forum.antichat.xyz/threads/558743/)
Оглавление

https://forum.antichat.xyz/attachments/4769231/img_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/threads/558612/) то наверняка помним что находили с помощью самаписного скрипта на питоне папки с пользователями в которых мы и нашли токен.

https://forum.antichat.xyz/attachments/4769231/11.png

Но если немного поискал по папкам вы должны были наткнутся на еще один ssh ключ в папки a.modlin


https://forum.antichat.xyz/attachments/4769231/img_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)


https://forum.antichat.xyz/attachments/4769231/8.png

Как видим мы успешно подключились к 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;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;

public class HOTP
{
private static String generateOTP(byte[] paramArrayOfByte, long paramLong, int paramInt)
throws NoSuchAlgorithmException, InvalidKeyException
{
byte[] arrayOfByte1 = new byte[8];
for (int i = -1 + arrayOfByte1.length; i >= 0; i--)
{
arrayOfByte1[i] = ((byte)(int)(0xFF & paramLong));
paramLong >>= 8;
}
byte[] arrayOfByte2 = hmac_sha1(paramArrayOfByte, arrayOfByte1);
int j = 0xF & arrayOfByte2[(-1 + arrayOfByte2.length)];
String str;
for (str = Integer.toString((int)(((0x7F & arrayOfByte2[j]) 65534) {
i %= 65534;
}
System.out.println(i);
System.out.println("TestLab_v10 by DarkNode For античат Forum");
}

}


Компилируем,запускаем и получаем порт:

https://forum.antichat.xyz/attachments/4769231/16.png

Ну дальше что делать я надеюсь понятно) По этому порту просто подключаетесь на test-ssh так как как в первом способе по ssh ключу ) .За 30 секунд вы я думаю успеете)
Всем спасибо за внимание)

Предыдущая глава (https://forum.antichat.xyz/threads/558632/)
Следующая глава (https://forum.antichat.xyz/threads/558743/)
Оглавление

ghostphisher
24.12.2016, 21:29
~~DarkNode~~ сказал(а):

Привет колеги. Сегодня возьмем с вами ssh-test(172.16.0.1) машину



5+ за труд! Слежу за темой и не разу не пожалел! 6 часть по истине интерсная

Chena
16.03.2017, 14:04
LiJagger сказал(а):

Я очень извиняюсь. Но отсутствие 1-ой симпатии заступорило весь труд. Не могу довести код HOTP.java. Выручайте.
Глянул видео. Это Ваша реальная скорость работы или ускоренное видео? Не удивительно, что Вы взяли призовое место)


Коллега ты не один такой )