Статья Полноценный шелл через NetCat ( Stty NetCat Magic)

Всем привет дорогие форумчане. Очень рад Вас видеть в моей новой небольшой статье об полноценном шелле через NetCat. Надеюсь гайд найдет своих читателей и будет комуто полезен)

Содержание статьи:
Апргейд обычного шелла до полноценного интерактиврного TTY-шелла.
  • Сперва краткое перечисление проблемных ситуаций при работе с обычным шеллом
  • Решение и интеграция к полноценному интерактивному шеллу

И так каждый пентестер знаком с ситуацией когда его переполняет радость от полученого реверс или бинд шелла, но и так же многим знакома ситуация , когда эта радость теряется банальным нажатием CTRL+C и шелл пропадает - что вызивает довольно много не самых приятных эмоций.

Давайте представим ситуацию , что у нас есть реверс метерпретер сессия к удаленной рабочей станции
и мы хотим поработать в интерактивном шелле на скомпрометированной Linux машине и нас встречает тут же целый ряд неудобств:
Мы не можем пользоватся историей с помощью стрелок "вверх" и "вниз" - вместо этого получаем символ ^[[A

1.png


Так же мы не можем полноценно работать в текстовых редакторах (сочетание клавиши CTRL+O ,CTRL+X так же не работают )

2.png


Так же встречаем сложности при попытке повышения привилегий (команды sudo и su -- не работают )



3.png


Подитожим проблемные моменты обычного шелла:

  • Некоторые команды такие как su и ssh требуют полноценного терминала для запуска
  • STDERR (стандартный вывод ошибок) обычно не выводится
  • Нет возможности правильно использовать текстовые редакторы , такие как vim , nano и т.д
  • Нету автозаполнения команд табуляцией
  • Нету навигации по истории вводимых команд стрелками клавиатуры
  • Нету контроля над джобами (задачами)
  • И так далее...
И так вот кратенькое описание решения этих неудобств:
Сперва давайте перейдем в оболочку bash(так как она используется на большинстве Linux машин) и споймаем очередный reverse shell:

4.png


Далее импортируем TTY средсвами Python3(на этой машине увы есть только Python3 , а так можно использовать и Python2) и зададим переменной TERM значение xterm:

5.png


Этой командой мы импортируем так называемый Псевдо-Терминал и уже сможем выполнить команды sudo и su, но при получения SIGINT(CTRL+C) мы по прежнему потеряем соединение...

Для полной интеграции терминала нам понадобится наличие утилиты stty :
7.png


Далее нам нужно приостановить наш процес с NetCat (комбинацией клавиш CTRL+Z) - процес будет приостановлен.
B нашем терминале нужно выполнить команду stty raw -echo
ВАЖНО
!:
после введения команды на экране уже не будет видно какое либо нажатие клавиш с клавиатуры!!!
вводим команду :
fg
затем жмем ENTER
появляется
строка nc -nvlp 80
жмем еще раз ENTER
и попадаем в наше соединение обратно уже в полноценном шелле с полной интеграцией )


8.png


Дальше все наши проблемы пропадают и мы можем наслождатся табуляцией команд:

9.png
10.png


Полноценной работой в текстовых редакторах

11.png
12.png


И не страшен нам CTRL+C

14.png

Видео будет , но немного позже.
Всем спасибо за внимания!) С Вами был DarkNode) До новых гайдов!)





Информация для написания статьи взята :
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!