Linux Terminal – повышение привилегий TTY

Часто во время ручных тестов вы можете получить оболочку, не имея tty, но при этом Вам очень нужно дальше взаимодействовать с системой.

Простым языком получили доступ по SSH до сервака, а оболочки нет (стандартное уплавление посредствам команд не работает), т.е. вбиваете ls -la а в ответ тишина. Вот пример:

Linux Terminal - повышение привилегий TTY

Немного википедии для полного понимания – Подсистема TTY, или TTY-абстракция, — это одна из основ UNIX-систем, в частности Linux. Данная система предназначена для использования одного терминала несколькими процессами, некоторых возможностей ввода (например, отправка сигналов специальными клавишами, удаление введёных символов).

Вот несколько команд, которые позволят вам создать tty-оболочку (неявное получение привилегий):

python -c 'import pty; pty.spawn("/bin/sh")'
echo os.system('/bin/bash')
/bin/sh -i
perl —e 'exec "/bin/sh";'
perl: exec "/bin/sh";
ruby: exec "/bin/sh"
lua: os.execute('/bin/sh')

(From within IRB)

exec "/bin/sh"

(From within vi)

:!bash

(From within vi)

:set shell=/bin/bash:shell

(From within nmap)

!sh

Как Вы уже поняли, что все сугубо зависит от обстоятельств и сервисов и по которые используются в системе.

Дисклеймер: Данная статья написана только в образовательных целях и автор не несёт ответственности за ваши действия. Ни в коем случае не призываем читателей на совершение противозаконных действий.