Как украсть Ubuntu — пароли MacOS Sudo без взлома — нулевой байт

Опубликовано От dakus

С помощью простого трюка с социальной инженерией пароли sudo могут быть получены за считанные секунды без ведома цели. Затем пароли можно сохранить в файл или отправить на другой компьютер в сети.

После использования системы тестеры проникновения и хакеры часто начинают атаки повышения привилегий (privesc). Такие атаки включают использование ядра и фишинг паролей. В описываемой атаке используется подход социальной инженерии, использующий функции Bash для эмуляции функциональности Судо команда.

Как судо должен работать

Давайте использовать следующее кто я а также Я бы Команды в качестве примера. Если мы введем кто я в терминал он вернет текущее имя пользователя.

С Я бы команда, он вернет пользовательский UID (-U), уникальный идентификатор, присваиваемый каждому пользователю в системе. По умолчанию в системах Debian и Ubuntu обычному пользователю (не root) назначается uid 1000 (как показано ниже). Аналогично, в macOS обычному пользователю назначается идентификатор 501.

Когда готово, Судо повышает и выполняет предоставленную команду с привилегиями root (uid 0). Это все стандартное и нормальное поведение для Судо и Unix системы.

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

В этом случае, Судо интерпретируется как / usr / bin / sudo. Это тоже стандартное поведение. Когда кто-то выполняет Судо команда (например, Судо Ваами), по сути, они делают следующее.

Как работают функции Bash

Путь Судо (или любая другая команда) может быть изменена таким образом, чтобы это было прозрачно для пользователя. Как и псевдонимы Bash, сложные функции могут быть импортированы в оболочку. Возьмите ниже GIF в качестве примера.

Мы видим, как работает обычный apt-get update Сбой команды, потому что «sudo» больше не интерпретируется как прямая ссылка на настоящий двоичный файл sudo. Теперь это функция, которая печатает произвольный текст. Этим очень легко злоупотреблять. Функция «sudo» может вести себя точно так же, как и настоящая sudo, при записи и эксфильтрации пароля цели.

Вы уже должны иметь удаленный доступ

В этой статье предполагается, что удаленный доступ к целевой системе установлен. С целью MacOS это может быть достигнуто с помощью необнаружимой полезной нагрузки, атаки USB drop или USB Rubber Ducky. Серверы Ubuntu и Debian также можно использовать с различными уязвимостями SSH и на сервере.

Шаг 1. Создайте вредоносную функцию Bash

Смотрите так же

IPhone за 20 000 долларов и USB-кабель за 2000 дол... IPhone за 20 000 долларов и USB-кабель за 2000 долларов. все, что нужно для взлома iOS Если у вас есть навыки, то потратить несколько тысяч долларов ...
Facebook хранит сотни миллионов паролей пользовате... Обычные текстовые пароли хранятся на серверах компании и доступны для поиска сотрудникам Новый отчет от Кребс о безопасности показало, что Facebook х...
Как Разблокировать Телефон Филипс Если Забыл Парол... В этой статье мы представим пароли Philips, которые посодействуют возвратить телефон к заводским настройкам, по другому сделать заводской сброс. Парол...

Этот вид злоупотребления лучше продемонстрирован в следующей функции. Комментарии были добавлены зеленым цветом, чтобы объяснить важность каждой строки.

Давайте посмотрим, как эта функция выглядит для цели.

Как мы видим, цель все еще запрашивается с паролем при попытке установить программное обеспечение. Пристальный взгляд с тип раскрывает вредоносную функцию. Захваченный пароль сохраняется в файле /tmp/hackedPasswd.txt.

Вариант 1: целевой Debian Ubuntu Systems

В системах Debian и Ubuntu при открытии нового терминала или оболочки

/.bashrc файл выполняется. Этот файл (который может быть изменен пользователями без полномочий root) обычно определяет полезные атрибуты, такие как псевдонимы, ограничение истории и переменные цвета. Он также может использоваться для импорта вредоносных функций Bash. Это верно для серверов Debian, рабочих столов Ubuntu и систем MacOS.

Для удобства я загрузил вредоносную функцию sudo на свою страницу GitHub. Его можно загрузить в систему цели, используя приведенную ниже команду.

Это добавит (>>) функция sudo в нижней части целевого файла.bashrc. С этого момента, когда цель входит в систему на своем сервере (например, SSH) и выполняет Судо введенный пароль будет сохранен в каталоге / tmp. В качестве альтернативы, если локон не установлен в целевой системе, Wget может быть использован.

Вариант 2: целевые системы MacOS

Этот вид атаки менее эффективен против пользователей MacOS. Просто потому, что они не так часто открывают терминал и выполняют повышенные команды. Пользователям MacOS не нужны Судо Команда так часто, как VPS целей или пользователей настольных компьютеров Ubuntu. Тем не менее, я покажу, как настроить это для цели macOS, поскольку это может быть полезно для некоторых тестировщиков проникновения, исследующих каждый возможный путь, чтобы поднять свой черный ход.

/.bashrc, системы MacOS выполняют

Файл /.bashprofile при открытии терминала. В этом файле могут храниться вредоносные функции Bash. Используйте ниже Wget Команда для импорта функции в целевой профиль Bash.

Когда цель открывает Терминал и выполняет Судо команда, пароль будет храниться в каталоге / tmp. Это показано на скриншоте ниже.

Шаг 2: Exfiltrate пароль (необязательно)

Помимо сохранения пароля в каталоге / tmp, может быть желательно отправить пароль на другой компьютер или сервер. Для корректного перехвата POST-данных, содержащих пароль, может быть настроен правильный слушатель PHP.

Я решил принять немного неортодоксальный подход и предложить быстрое и грязное решение. Этот метод требует простого сервера Python3, настроенного в системе Kali злоумышленника. http.Server модуль () создаст веб-сервер, используя порт 80.

Смотрите так же

Как Поставить Пароль На Фото Айфон 6... С каждым годом в Рф становится всё больше счастливых обладателей iPhone. В связи с чем, стремясь защитить свои личные данные от сторонних глаз, юзеры ...
Что Делать Если Забыл Пароль Блокировки Iphone... Друзья, время от времени случается такая проблема, когда юзер iPhone либо планшета iPad запамятывает собственный пароль. Ну, с кем не бывает, непрост...
Как Поставить Пароль На Смс На Айфоне... С каждым годом в Рф становится всё больше счастливых обладателей iPhone. В связи с чем, стремясь защитить свои личные данные от сторонних глаз, юзеры ...

Есть команды для кодирования и эксфильтрации паролей, записанных в функцию sudo. По умолчанию он отключен, и для его включения необходимо раскомментировать.

Пароль кодируется base64 чтобы было проще отправлять в URL. Скручивание используется, чтобы молча (-s) сделать запрос GET на сервере злоумышленника, расположенном в домене «attacker.com». Этот домен должен быть изменен на локальный IP-адрес злоумышленника (192.168.1.X) или IP-адрес VPS. Ошибки и выходные данные, генерируемые локон команда вводится в / dev / null с перенаправлением 2> 1. Это предотвращает случайное сообщение curl об ошибках в терминале, если сервер злоумышленника по какой-либо причине недоступен.

Имя пользователя и пароль цели фактически отправляются в URL. Представьте себе, что вы делаете запрос на «http: //192.168.1.X/tokyoneon: sUp3R-S3cUre_P @ w0000rD !» Запрос, безусловно, потерпит неудачу, такой веб-страницы нет. Однако закодированный пароль будет сохранен в журнале ошибок злоумышленника. Ниже приведен пример такой ошибки.

Как украсть Ubuntu. пароли MacOS Sudo без взлома. нулевой байт

Просто эхо закодированный пароль в base64 декодировать (-d) Это.

Как защититься от злоупотребления функцией Bash

Вредоносные функции Bash может быть трудно обнаружить. Если в вашей системе есть злоумышленник, изменяющий

/.bash_profile файл, у вас могут возникнуть более серьезные проблемы.

Как мы узнали ранее, тип Команда является чрезвычайно полезным инструментом. Может использоваться для печати предоставленной команды интерпретации оболочки. Команды как Судо должен вызывать только соответствующий двоичный файл или иногда будет отображаться как «хешированный» в сеансе. Все остальные условия должны быть исследованы.

Это также хорошая идея, чтобы вручную проверить

/.bashrc файл. Хакер будет часто использовать этот файл для встраивания постоянных бэкдоров в системы Unix (например, пытаться установить новое соединение Netcat при каждом открытии терминала). Это может быть сделано с нано или же напор.

Последние мысли

Этот вид атаки социальной инженерии имеет много применений. Например, аналогичные функции могут быть созданы для SSH и другие протоколы удаленного администрирования. Злоумышленник может украсть учетные данные SSH и перейти к другим системам, находящимся под контролем цели. Аналогично, вредоносная функция для су команда может быть создана. Эта команда, как Судо, предназначен для повышения пользовательских привилегий и может быть легко имитирован с помощью простых функций Bash.

Если вам понравилась эта статья, следуйте за мной в Twitter @tokyoneon_ и GitHub, чтобы не отставать от моих текущих проектов. Для вопросов и проблем, оставьте комментарий ниже или напишите мне в Twitter.