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

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты Orc

Инструкции по Orc

Близкие программы:

  • linux-exploit-suggester (100%)
  • LinEnum (80.4%)
  • Social-Engineer Toolkit (SET) (53.5%)
  • Maltego (52.5%)
  • Sn1per (52.5%)
  • Plecost (RANDOM - 1.2%)
  • Вы уже знаете о факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!

    Рекомендуется Вам:

    Comments are Closed