Orc
Описание Orc
Orc — это инструмент сбора информации и пост-эксплуатации для Linux, написан на Bash.
Домашняя страница: https://github.com/zMarch/Orc
Авторы: Darren Martyn, March, Ulrich Berntien
Лицензия: MIT
Справка по Orc
[*] getenum — получает версии ядра, glibc, и dbus [*] getinfo — создаёт файл tar.xz с собранной информацией [*] getrel — пытается посмотреть файл выпуска ОС [*] getdocker — проверяет статус сокета docker и выводит список образов [*] getluks — пытается выявить шифрование диска с lsblk или dmesg [*] getip — узнаёт внешний IP из akamai и google (HTTP и DNS) [*] getjail — проверяет, находимся ли мы в chroot или виртуальной машине [*] getsec — проверяет, присутствуют ли три популярнейшие программы MAC для обеспечения безопасности [*] gettmp — выводит типичное расположение директорий tmp [*] getusers — показывает всех пользователей с оболочкой [*] getpty — вызывает pty со скриптом [*] getidle — выводит список всех pty и их время бездействия. [*] getnet — пытается перечислить хосты в локальной сети с ping [*] getsuspect — скачивает с github инструмент suspect и запускает его [*] getspec — собирает информацию об аппаратной составляющей [*] getuservices — выводит список всех запущенных сервисов с не-пользовательскими аккаунтами в passwd [*] getescape — пытается избежать chroot через плохие привилегии [*] в the /proc/ filesystem [*] getdbus — выводит список всех служб dbus [*] getexploit — запускает и выполняет linux-exploit-suggester [*] memexec — исполняет двоичный файл в памяти с вебсервера [*] - memexec [полный URI] (только x64) [*] portscan — запускает сканирование портов в отношении популярных портов — portscan [хост] [*] prochide — запускает программу с sh, изменённую на самую длинную запись в ps [*] - prochide [программа + аргументы] [*] srm — псевдомним для безопасного удаления файлов [*] qsu - sudo без tty - qsu [пароль] [нормальные аргументы] [*] qssh - ssh без tty - qssh [пароль] [нормальные аргументы] [*] wiper — удаляет записи с wtmp - wiper [строка для поиска по регулярному выражению] [*] fpssh — вытягивает ssh отпечатки удалённого хоста - fpssh [host] [*] stomp — псевдоним для touch -r (необходимые аргументы) [*] tools — проверка на популярные инструменты [*] dropsuid — бросить крошечный suid шелл - dropsuid > [файл] [*] hangup — отключить чей-то PTS убив его SSH процесс. [*] Очень вызывающе, НЕ ИСПОЛЬЗУЙТЕ. [*] - hangup [НОМЕР PTS]
Руководство по Orc
Страница man отсутствует.
Скрипт содержит следующий набор функций:
- getenum собирает версии kernel, glibc и dbus. Обычно это именно то, что нужно для поиска эксплойтов по эскалации привилегий. Также печатает init system, поскольку её тоже не лишним будет знать.
- getexploit загружает и запускает linux exploit suggester
- getinfo собирает практически всю полезную и общую информацию и упаковывает для вас в файл tar.xz
- getdocker проверяет, существует ли сокет docker'а, если у нас есть права на запись и затем запускает docker ps
- getluks использует lsblk для поиска разделов типа crypt, свидетельствующих о шифровании диска
- getrel печатает имя ОС из файла выпуска
- getip использует HTTP и DNS для определения вашего внешнего IP. Модуль использует curl и dig, но если не получается, то задействует wget и host. Данные беруться, соответственно, с Akami и Google — специально не используются мелкие сайты
- getjail делает проверки, чтобы увидеть, находимся ли мы в chroot и затем делает несколько очень простых проверок на гипервизоры/виртуализацию.
- getsuspect загружает скрипт suspect и запускает его. Этот скрипт ищет вредоносное ПО или признаки компрометации.
- getsec проверяет на наличие SELinux, AppArmor и GrSec.
- getusers ищет всех пользователей с шеллом
- getspec печатает некоторую основную информацию об аппаратной составляющей
- gettmp выводит список типичных директорий для файлов tmp
- getpty вызывает pty используя скрипт. Этот pty должен уже иметь загруженным Orc
- getidle даёт вам точное время простоя для ptys, позволяя вам увидеть недавнюю активность других пользователей
- getnet выполняет простой поиск по сети с помощью arp и known_hosts
- getuservices получает все процессы, запущенные пользователями, у которых нет оболочки. Полезно
- portscan сканирует порты. Проверяет на наличие следующих открытых портов: 21, 22, 23, 80, 443, 8080, 8443, 129, 445, 3389, 3306
- prochide берёт самое длинное имя процесса из ps (поскольку мы не можем спрятать аргументы, но мы можем сделать их чем-то сравнительно и среди шума) и использует его как $0 для всех, что вы выполняете
- srm в целом это просто обёртка для shred
- qsu использует скрипт ASKPASS для запуска sudo без необходимости tty. Применяйте аргументы как обычно для sudo.
- qssh использует скрипт ASKPASS для запуска ssh без использования tty. Применяйте аргументы как обычно
- wiper использует utmpdump для сброса wtmp в виде простого текста и затем поиска по регулярному выражению заданных строк (указываются как аргумент). Затем он пакет модифицированный файл в /var/log/wtmp и ставит правильную метку на файл
- fpssh обёртка для ssh-keyscan
- stomp это просто псевдоним для "touch -r"
- tools ищет некоторые популярные инструменты
- dropsuid в своей основе забрасывает в любое место крошечный шелл на SUID. Вам нужно выполнить chmod a+sx в отношении этого файла
- memexec использует janky perl (смотрите https://magisterquis.github.io/2018/03/31/in-memory-only-elf-execution.html откуда позаимствованы основы) для выполнения бинарного файла в памяти. Пока никаких аргументов или чего-либо ещё, и поддерживается только x64
- getdbus выводит список всех служб dbus в поисках интересных для повышения привилегий
- getescape пытается найти способ избежать chroot обходя неправильно настроенный /proc/.
Примеры запуска Orc
Для запуска скрипта выполните:
ENV=o.rc sh -i
Далее вводите команды в интерактивном интерфейсе самого скрипта.
Проверяем, находимся ли мы в виртуальной машине:
getjail
Пример вывода:
Checking to see if we're in one giant simulation... Virtual machine! Virtual machine! Virtual machine! (Virtualbox)
Который означает, что система запущена в виртуальной машине.
Ищем подходящие для данной системы эксплойты:
getexploit
Установка Orc
Установка в Kali Linux
wget https://raw.githubusercontent.com/zMarch/Orc/master/o.rc
Установка в BlackArch
wget https://raw.githubusercontent.com/zMarch/Orc/master/o.rc
Установка в любой другой Linux
wget https://raw.githubusercontent.com/zMarch/Orc/master/o.rc
Информация об установке в другие операционные системы будет добавлена позже.
Comments are Closed