7

Я пишу шелл-код для использования уязвимости переполнения буфера на сервере. Для этого у меня есть шелл-код привязки порта, который я отправляю на сервер, а затем запускаю (с терминала linux) команду telnet serverAdress 4444, где 4444 - это порт, который я открыл. Надеюсь, что я получу обратно оболочку, которую смогу использовать для выполнения команд. Тем не менее, я всегда в конечном итоге с командой

bin/sh: не может получить доступ к tty; контроль работы отключен

Я не могу изменить какой-либо код сервера, и я считаю, что шелл-код правильный, потому что я получил его с этого сайта (http://www.tsirogiannis.com/exploits-vulnerabilities-videos-papers-shellcode/linuxx86-port- binding-shellcode-xor-encoded-152-bytes/). Из моего исследования выяснилось, что это может иметь отношение к режиму, в котором работает мой терминал (что называется интерактивным режимом ... или что-то в этом роде).

Все задействованные компьютеры - машины Linux, и на компьютере, на котором я работаю, установлена последняя версия Ubuntu.

Любые идеи, что означает эта ошибка контроля работы и как я могу это исправить?

5 ответов5

6

Просто удалите /dev/console

cd /dev
rm -f console
ln -s ttyS0 console

редактировать / изменять содержимое /etc/inittab

::askfirst:/bin/sh

чтобы:

ttyS0::askfirst:/bin/sh
1

Это означает, что расширенные команды, такие как Ctrl+Z и Ctrl+C, недоступны, потому что sh пишет не в tty, а в сокет. По этой причине sh не будет поддерживать фоновые процессы (command &) и связанные команды bg/fg/disown/jobs. Но обратите внимание, что процессы разветвляются и закрывают свои входы, все еще будут работать.

Возможно, вы заметили, что если фоновые задания пытаются прочитать данные из терминала, оболочка останавливает их (как, например, SIGSTOP) и сообщает, что приостановила процесс. Если оболочка этого не делает, у вас есть условие гонки, и то, что вы пишете, может оказаться в фоновом процессе или в оболочке. Это создает интересный и приводящий в бешенство беспорядок в вашей сессии оболочки.

Либо используйте более сложный шелл-код, который создает виртуальный терминал (но это уже не шелл-код, когда это происходит), либо просто знайте, что у вашего безобразного хака есть ограничения.

0

У меня была такая же проблема в Debian Mate. Я просто запускаю fsck с живого usb на dev/sda1, где был установлен каталог /.

Надеюсь, я помог кому-то

0

Если вы можете изменить команду оболочки, попробуйте:sh +m вместо sh . Это отлично сработало для меня.

-2

Ребята, у меня была такая же проблема, но, надеюсь, я ее исправлю

Существует, как решить эту проблему. Переустановите систему Kali Linux, затем, когда она войдет в раздел диска, вы должны удалить все остальные диски, оставив только один диск, а затем нажмите «Продолжить», затем запишите все файлы на один диск, надеюсь, я помог

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .