Пентестирование - это использование доступных вам инструментов для достижения цели sh.
В первом примере вы открываете обратную оболочку. Мы прослушиваем входящее соединение с netcat, но мы хотим сделать больше, чем просто прослушать - мы хотим, чтобы входящая оболочка была интерактивной. Для этого мы используем опцию -e
, чтобы передать входящее соединение в нашу локальную подсказку bash. Вы можете так же легко использовать sh или zsh или что-либо еще в этой ситуации. Следует отметить, что опция -e
отсутствует в большинстве установок netcat, так что это просто один пример обратной оболочки, и у вас должно быть много готовых к go - некоторые будут работать и некоторые не будут.
Во втором примере мы увеличиваем привилегии с помощью perl, двоичного файла, к которому мы можем получить доступ на удаленной машине без повышенных привилегий. В конечном итоге мы хотим взаимодействовать с удаленным хостом с более высокими привилегиями, чем у нас, и во многих случаях что-то вроде perl может сделать это для нас (по многим произвольным причинам тоже!). Мы можем воспользоваться этим фактом в сочетании с тем, что perl позволяет нам запускать произвольный код для запуска фрагмента кода perl:
exec "/bin/sh"
Команда exe c в perl запустит исполняемый файл, в нашем случае оболочку /bin/sh
. Эта оболочка будет работать на уровне привилегий perl, поэтому мы эффективно открыли оболочку с более высокими привилегиями, чем мы имели ранее. Опция
Perl -e
вызывает скрипт или строку из perl для запуска, и это просто совпадение, что обе команды имеют -e
. Они имеют в виду разные вещи.
Вывод: есть много причин, по которым вы будете вводить команды для выполнения различных действий. Есть тонна обратных оболочек, бесконечное количество способов повысить вашу привилегию и миллион различных методов перечисления. После того, как вы получили команды для выполнения, найдите минутку, чтобы проверить документацию для команды, чтобы выяснить, что делает каждый флаг, почему вы используете эти параметры и как он работает. Делая заметки в качестве ручного тестера, вы продвинетесь вперед быстрее, чем любая другая техника, потому что Pentesting - это игра чисел - вы хотите попробовать как можно больше вещей, чтобы увидеть, что работает.