
Аудитор безопасности сети и домена, сканирующий Windows Active Directory, системы Linux и сетевую инфраструктуру, с руководствами по усилению защиты на базе ИИ и профессиональной отчетностью.
Этичный аудитор сетевой безопасности — более 50 проверок SMB, RDP, LDAP, SSH, Kerberos и других протоколов, с анализом CVE на базе ИИ и сопоставлением с OWASP/CIS/NIST.
Быстрый старт · Документация · Docker · Возможности ИИ · Отметить на GitHub
HTML-отчёт в стиле Минотавра — значки серьёзности, раскрываемые доказательства, рекомендации ИИ |
Отчёт в JSON — сопоставление OWASP/CIS/NIST/PCI, данные CVE, машиночитаемый |
Asterion — это готовый к эксплуатации аудитор сетевой и доменной безопасности, ставящий этику во главу угла. Разработанный для пентестеров, исследователей безопасности и корпоративных команд безопасности, он объединяет традиционное сканирование уязвимостей с передовым анализом на основе ИИ, предоставляя практические рекомендации для Windows Active Directory, Linux-систем и сетевой инфраструктуры.
ast scan --target 10.0.0.0/24 --output html
- **Многометодное обнаружение**: анализ протоколов SMB, RDP, LDAP, Kerberos, SSH, FTP, DNS, SNMP
- **Многопоточность**: параллельное сканирование с 1–20 рабочими потоками
- **Умное ограничение скорости**: настраиваемое регулирование запросов (1–20 запросов/с) для избежания обнаружения
- **Сбор доказательств**: сохранение общих ресурсов SMB, запросов LDAP, вывода PowerShell
### 🤖 Анализ на базе ИИ
Выберите поставщика ИИ в соответствии с вашими потребностями:
| Поставщик | Наилучшее применение | Скорость | Стоимость | Конфиденциальность |
| -------------------- | -------------------------- | --------------- | --------------- | ------------------ |
| **OpenAI GPT-4** | Производственное качество | ⚡ Быстро (40 с) | 💰 $0.30/скан | 🔒 Стандартная |
| **Anthropic Claude** | Ориентация на конфиденциальность | ⚡ Быстро (50 с) | 💰 $0.35/скан | 🔒 Улучшенная |
| **Ollama (Локально)**| Полная конфиденциальность | 🐢 Медленно (30 мин) | 💰 Бесплатно | 🔐 100% Офлайн |
**Два режима анализа:**
- **Технический**: пошаговое исправление с командами PowerShell/GPO и фрагментами конфигураций
- **Руководящий**: краткие описания на простом языке для заинтересованных сторон и руководства
### 📊 Профессиональная отчетность
**Отчеты JSON** (машиночитаемые)```json
{
"tool": "asterion",
"version": "0.2.0",
"target": "192.168.1.10",
"riskScore": 10.0,
"summary": {
"critical": 3,
"high": 8,
"medium": 16,
"low": 5,
"info": 2
},
"findings": [
{
"id": "AST-SMB-003",
"title": "SMBv1 protocol enabled (EternalBlue vector)",
"severity": "high",
"owasp": { "id": "A06", "name": "Vulnerable and Outdated Components" },
"vulnerabilities": [
{
"cve_id": "CVE-2017-0143",
"cvss_score": 9.8,
"cwe_id": "CWE-119"
}
],
"cvss": 9.8
}
],
"attackChains": [...],
"diff": { "refScanId": 41, "new": [...], "fixed": [...], "persisting": [...] }
}
HTML-отчеты (дружественные для человека)
Asterion обеспечивает соблюдение этичного взлома с помощью технологий. Агрессивное сканирование и анализ ИИ требуют подтверждения владения:```bash
ast consent generate --domain corp.local
ast consent verify --method http --domain corp.local --token verify-abc123
ast scan --target corp.local --mode aggressive --use-ai
### 💾 Постоянство базы данных
Общая база данных SQLite с Argos Suite хранит всё:
- **История сканирования**: Дата, продолжительность, количество находок, распределение по серьёзности
- **Репозиторий находок**: Поисковая база данных уязвимостей для всех инструментов Argos
- **Проверенные домены**: Отслеживание токенов согласия с истечением срока
- **Анализ тенденций**: Сравнение сканирований с течением времени```bash
# Query recent scans (works for all Argos Suite tools)
sqlite3 ~/.argos/argos.db "SELECT * FROM scans WHERE tool='asterion' ORDER BY started_at DESC LIMIT 10"
# Find critical issues
sqlite3 ~/.argos/argos.db "SELECT * FROM v_critical_findings WHERE tool='asterion'"
Все платформы:
Опционально:
git clone https://github.com/rodhnin/asterion-network-minotaur.git cd asterion-network-minotaur
chmod +x scripts/setup.py python3 scripts/setup.py
**Скрипт будет:**
1. ✅ Проверить предварительные требования (.NET, Python)
2. ✅ Установить зависимости Python
3. ✅ Настроить общую базу данных Argos Suite
4. ✅ Собрать Asterion в режиме Release
5. ✅ Создать каталоги (~/.asterion, ~/.argos)
6. ✅ Создать скрипт-обёртку `/usr/local/bin/ast` (опционально)
#### Windows (PowerShell)```powershell
# Clone repository
git clone https://github.com/rodhnin/asterion-network-minotaur.git
cd asterion-network-minotaur
# Run setup (right-click PowerShell > Run as Administrator)
.\scripts\setup.ps1
Скрипт выполнит:
Если автоматические скрипты не работают на вашей системе, выполните следующие шаги:
git clone https://github.com/rodhnin/asterion-network-minotaur.git cd asterion-network-minotaur
#### Шаг 2: Установка зависимостей
**Linux/macOS:**```bash
pip3 install -r scripts/requirements.txt
Windows (Командная строка):```cmd pip install -r scripts\requirements.txt
#### Шаг 3: Настройка базы данных
**Linux/macOS:**```bash
python3 scripts/db_migrate.py
Windows:```cmd python scripts\db_migrate.py
#### Шаг 4: Сборка Asterion
**Все платформы:**```bash
dotnet build -c Release
Linux/macOS:```bash mkdir -p ~/.asterion/reports mkdir -p ~/.asterion/consent-proofs mkdir -p ~/.argos
**Windows (PowerShell):**```powershell
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.asterion\reports" | Out-Null
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.asterion\consent-proofs" | Out-Null
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.argos" | Out-Null
sudo nano /usr/local/bin/ast
#!/bin/bash exec dotnet "$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)/src/Asterion/bin/Release/net8.0/Asterion.dll" "$@"
sudo chmod +x /usr/local/bin/ast
#### Шаг 7: Настройка API-ключа (опционально)
Одна переменная окружения работает для всех AI-провайдеров (OpenAI, Anthropic):
**Linux/macOS:**```bash
export AI_API_KEY="sk-proj-..." # OpenAI key
# or
export AI_API_KEY="sk-ant-..." # Anthropic key
# Add to ~/.bashrc or ~/.zshrc to make permanent
Windows (PowerShell):```powershell $env:AI_API_KEY = "sk-proj-..."
[Environment]::SetEnvironmentVariable("AI_API_KEY", "sk-proj-...", [System.EnvironmentVariableTarget]::User)
#### Шаг 8: Проверка установки
**Linux/macOS (если была создана символическая ссылка):**```bash
ast version
Windows или прямой вызов:```cmd .\src\Asterion\bin\Release\net8.0\ast.exe version
dotnet .\src\Asterion\bin\Release\net8.0\Asterion.dll version
### Ваше первое сканирование
#### Автоматическое сканирование локальной сети
**Asterion может автоматически обнаруживать и сканировать вашу локальную сеть!**
**Windows (PowerShell) — После настройки (рекомендуется):**```powershell
# Test on localhost (simple)
ast scan --target localhost --output html
# Scan local subnet with AI analysis
ast scan --target 192.168.1.0/24 --output both --threads 10 --rate 5 --use-ai --ai-tone both
# Domain scan with authentication
ast scan --target corp.local --auth "CORP\admin:Password123" --use-ai
Windows (PowerShell) — Без настройки PATH:```powershell
.\src\Asterion\bin\Release\net8.0\ast.exe scan --target localhost
--output html --use-ai
--ai-tone both
.\src\Asterion\bin\Release\net8.0\ast.exe scan --target 192.168.1.0/24
--output both --threads 10
--rate 5
**Linux/macOS:**```bash
# Scan localhost
ast scan --target localhost \
--output html \
--use-ai \
--ai-tone both
# Scan local subnet (e.g., 192.168.1.0/24)
ast scan --target 192.168.1.0/24 \
--output both \
--threads 10 \
--rate 5
# Scan domain
ast scan --target corp.local \
--auth "CORP\admin:Password123" \
--output html \
--use-ai
Asterion поддерживает три формата вывода с помощью --output:
Управляйте форматированием анализа AI с помощью --ai-tone:
| Тон | Сценарий использования | Вывод |
|---|---|---|
Простое сканирование сети (без аутентификации):```bash ast scan --target 10.0.0.0/24
**С HTML-отчетом:**```bash
ast scan --target 192.168.1.0/24 --output html
Аутентифицированное сканирование (Windows domain):```bash
ast scan --target dc01.corp.local
--auth "CORP\Administrator:P@ssw0rd"
--output html
**С анализом на основе ИИ (технический + руководящий):**```bash
ast scan --target 10.0.0.0/24 \
--use-ai \
--ai-tone both \
--output html
Быстрое сканирование (10 threads, 10 req/s):```bash
ast scan --target 10.0.0.0/24
--threads 10
--rate 10
--output json
#### Расположение отчетов
**Локальная установка:**
- Reports: `~/.asterion/reports/`
- Database: `~/.argos/argos.db`
**Windows:**
- Reports: `%USERPROFILE%\.asterion\reports\`
- Database: `%USERPROFILE%\.argos\argos.db`
**Развертывание в Docker:**
- Reports: `docker/reports/`
- Database: `docker/data/argos.db`
**🎉 Успешно!** Проверьте каталог reports на наличие файлов JSON и HTML.
---
### Запуск в Docker
**Автоматическое развертывание:**```bash
cd docker
./deploy.sh # Linux/macOS
.\deploy.ps1 # Windows
Ручное развертывание Docker:```bash
docker compose up -d
docker compose exec asterion dotnet /app/ast.dll scan
--target 192.168.1.0/24
--output html
docker compose logs -f asterion
docker compose down
---
## 📘 Руководство по использованию
### Структура команды```bash
ast <command> [options]
Доступные команды:
scan — Запустить проверку безопасностиconsent — Управлять токенами согласияversion — Показать информацию о версииast scan --target 192.168.1.0/24
ast scan --target 192.168.1.0/24 --output html
ast scan --target 10.0.0.5 --output both
#### Сетевое таргетирование```bash
# CIDR notation
ast scan --target 10.0.0.0/24
# IP range
ast scan --target 192.168.1.10-50
# Domain name
ast scan --target corp.local
# Single host
ast scan --target 192.168.1.1
ast scan --target 10.0.0.0/24 --threads 3 --rate 2
ast scan --target 10.0.0.0/24 --threads 15 --rate 15
ast scan --target 10.0.0.0/24 --ports 445,3389,22,139
#### Сканирование доменов Windows```bash
# Network + LDAP/Kerberos/AD checks
ast scan --target dc01.corp.local \
--auth "CORP\Administrator:P@ssw0rd"
# WinRM: remote firewall, registry, services, privesc
ast scan --target 192.168.1.10 \
--winrm "CORP\admin:P@ssw0rd"
# Full Windows audit: auth + WinRM + AI + HTML
ast scan --target 192.168.1.10 \
--auth "CORP\admin:P@ssw0rd" \
--winrm "CORP\admin:P@ssw0rd" \
--use-ai --ai-tone technical -o both -v
# With NTLM hash (Pass-the-Hash)
ast scan --target 10.0.0.5 \
--auth-ntlm "admin:aad3b435b51404eeaad3b435b51404ee:8846f7eaee8fb117ad06bdd830b7586c"
# Diff against last scan (track security changes)
ast scan --target 192.168.1.10 --winrm "CORP\admin:P@ssw0rd" --diff last -o both
ast scan --target 10.0.0.25 --ssh "admin:password"
ast scan --target 10.0.0.25 --ssh "admin:password" --sudo-password "sudopass"
ast scan --target 10.0.0.25 --ssh-key "admin:~/.ssh/id_rsa"
ast scan --target internal.corp.local
--bastion "bastion.corp.local:jumpuser:~/.ssh/bastion_key"
--ssh "admin:password"
ast scan --target 10.0.0.25
--ssh "root:toor"
--use-ai --ai-tone technical -o both -v
#### Анализ на основе ИИ```bash
# Technical remediation (default, for security teams)
ast scan --target 10.0.0.5 \
--ssh "root:pass" \
--use-ai --ai-tone technical -o html
# Executive summary (for management)
ast scan --target 10.0.0.5 \
--use-ai --ai-tone non_technical -o html
# Both formats + streaming output
ast scan --target 10.0.0.5 --use-ai --ai-tone both --ai-stream -o both
# Agent mode (NVD CVE lookup tool enabled)
ast scan --target 10.0.0.5 --ssh "root:pass" --use-ai --ai-agent -v
# Compare two models
ast scan --target 10.0.0.5 --use-ai \
--ai-compare "openai/gpt-4o-mini-2024-07-18,anthropic/claude-3-5-haiku-20241022"
# Enforce cost budget
ast scan --target 10.0.0.5 --winrm "admin:pass" --use-ai --ai-budget 0.05
ast scan --target 10.0.0.5 -v
ast scan --target 10.0.0.5 -v --timeout 20
ast scan --target 10.0.0.5 --timeout 5
### Управление токенами согласия
#### Генерация токена согласия```bash
ast consent generate --domain corp.local
# Output: Token: verify-a3f9b2c1d8e4f5a6
HTTP Method (разместите файл на веб-сервере):```bash
ast consent verify
--method http
--domain corp.local
--token verify-a3f9b2c1d8e4f5a6
**DNS Method** (добавить TXT запись):```bash
# 1. Add DNS TXT record: corp.local = "asterion-verify=verify-a3f9b2c1d8e4f5a6"
# 2. Verify:
ast consent verify \
--method dns \
--domain corp.local \
--token verify-a3f9b2c1d8e4f5a6
SSH-метод (создать файл в системе):```bash
ast consent verify
--method ssh
--domain corp.local
--token verify-a3f9b2c1d8e4f5a6
--ssh "user:password"
#### Запуск агрессивного режима```bash
# After verifying consent token:
ast scan --target corp.local --mode aggressive
ast scan --target 192.168.1.0/24 --output html --threads 10 --rate 10
#### Сценарий 2: Полный аудит домена```bash
# Complete Windows AD assessment with AI analysis
ast scan --target corp.local \
--auth "CORP\admin:P@ssw0rd" \
--use-ai \
--ai-tone both \
--output both \
--threads 8 \
--rate 8
ast scan --target 10.0.0.0/24
--threads 2
--rate 1
--timeout 20
--output json
#### Сценарий 4: Тестирование на проникновение```bash
# Generate consent first
ast consent generate --domain internal.corp
# Place token and verify
ast consent verify --method http --domain internal.corp --token <token>
# Run aggressive assessment
ast scan --target internal.corp \
--mode aggressive \
--auth "CORP\pentest:P@ssw0rd" \
--use-ai \
--output both
Asterion использует LangChain 1.0.0 с поддержкой нескольких поставщиков ИИ через мост Python, что дает вам гибкость в зависимости от ваших требований к безопасности, конфиденциальности и бюджету.
Лучше всего для: промышленного использования
#### Anthropic Claude
**Лучше всего подходит для: Повышенная конфиденциальность**
- ⭐ Качество: Отлично (5/5)
- ⚡ Скорость: ~50–70 секунд
- 💰 Стоимость: ~$0.007–0.015 за сканирование (claude-3-5-haiku)
- 🔒 Конфиденциальность: Повышенная (подход Anthropic с приоритетом конфиденциальности)```bash
export AI_API_KEY="sk-ant-..." # Same variable, Anthropic key format
Лучше всего для: Полная конфиденциальность
ollama pull llama3.2
### Конфиденциальность и безопасность
**Автоматическая санитизация**
Перед отправкой данных поставщикам ИИ Asterion автоматически удаляет:
- ✅ Токены согласия
- ✅ Учетные данные домена (пароли, NTLM-хеши)
- ✅ Личная информация (PII)
- ✅ Внутренние IP-адреса (по запросу)
- ✅ Пути к общим ресурсам SMB с конфиденциальными данными
**Только по согласию**
- Анализ ИИ требует явного флага `--use-ai`
- Агрессивное сканирование требует подтвержденного токена согласия
- Вы контролируете, какой поставщик видит ваши данные
**Для максимальной конфиденциальности**
Используйте Ollama локально. Хотя это медленнее и менее точно, ваши данные сканирования никогда не покидают вашу машину.
### Смена поставщиков
**Текущий метод (v0.2.0):** Отредактируйте `config/defaults.yaml````yaml
ai:
langchain:
provider: "ollama" # Changed from "openai"
model: "llama3.2" # Ollama model
ollama_base_url: "http://localhost:11434"
Появится в v0.3.0: Интерактивное меню настройки (в стиле Metasploit)```bash
ast --show-options ast --set ai.provider=anthropic ast --save-profile privacy-mode
---
## 🧪 Безопасная тестовая лаборатория
**⚠️ НИКОГДА не сканируйте производственные сети без письменного разрешения!**
Используйте нашу Docker-лабораторию для безопасной практики:
### Настройка тестового окружения```bash
# Navigate to docker directory
cd docker
# Deploy vulnerable network lab
docker-compose -f compose.testing.yml up -d
# Wait for services to start (~60 seconds)
docker-compose -f compose.testing.yml logs -f
# Create vulnerable conditions
docker-compose -f compose.testing.yml exec windows-target powershell -c "Disable-NetFirewallProfile -All"
cd ..
ast scan --target 172.20.0.0/24 --output html
ast scan --target 172.20.0.2 --auth "LAB\admin:P@ssw0rd123" --output both
ast scan --target 172.20.0.0/24 --use-ai --output html
### Очистка```bash
cd docker
docker-compose -f compose.testing.yml down -v # -v removes all data
Для подробных сценариев тестирования см. docs/TESTING_GUIDE.md
Сканируйте только те сети и системы, которыми вы владеете или на тестирование которых получили явное письменное разрешение.
Asterion реализует технические средства контроля для предотвращения неправомерного использования:
Несанкционированный доступ к компьютерным системам противозаконен в большинстве юрисдикций:
Полные этические рекомендации см. в docs/ETHICS.md
Asterion предоставляет кроссплатформенные скрипты развёртывания:
Linux/macOS:```bash cd docker ./deploy.sh
**Windows (PowerShell):**```powershell
cd docker
.\deploy.ps1
Варианты развертывания:
Linux/macOS:```bash cd docker docker compose up -d
docker compose exec asterion dotnet /app/ast.dll scan --target 10.0.0.0/24
docker compose logs -f asterion
docker compose down
**Windows (PowerShell):**```powershell
cd docker
docker compose up -d
# Execute scans (note the dotnet wrapper)
docker compose exec asterion dotnet /app/ast.dll scan --target 10.0.0.0/24
# View logs
docker compose logs -f asterion
# Stop service
docker compose down
Persistent data:
./reports/ → host directory docker/reports/./data/argos.db → host directory docker/data/argos.db (shared Argos Suite DB)./logs/asterion.log → host directory docker/logs/asterion.logNote: Asterion automatically detects Docker environment via ASTERION_IN_DOCKER environment variable.
For complete Docker documentation (Linux/Windows), see: docker/README.md
Нативная установка:``` ~/.asterion/ ├── reports/ │ ├── asterion_report_10_0_0_0_24_20260419_143000.json # Machine-readable │ └── asterion_report_10_0_0_0_24_20260419_143000.html # Human-friendly (Minotaur-themed) └── consent-proofs/ └── corp_local_verify-abc123_20260419.txt
~/.argos/ ├── argos.db # Shared Argos Suite database └── logs/ └── argos.log # Shared log file
**Развертывание Docker:**```
asterion-network-minotaur/
├── docker/
│ ├── reports/
│ │ ├── asterion_report_10_0_0_0_24_20260419_143000.json
│ │ └── asterion_report_10_0_0_0_24_20260419_143000.html
│ ├── data/
│ │ └── argos.db # Shared Argos Suite database (Docker)
│ ├── logs/
│ │ └── asterion.log
│ └── workspace/
│ └── consent-proofs/
Примечание: Окружение Docker автоматически определяется через переменную окружения ASTERION_IN_DOCKER.
{ "tool": "asterion", "version": "0.2.0", "target": "10.0.0.0/24", "date": "2026-04-13T14:30:00Z", "mode": "safe", "summary": { "critical": 12, "high": 8, "medium": 15, "low": 5, "info": 20 }, "findings": [ { "id": "AST-SMB-003", "title": "SMBv1 enabled (EternalBlue vulnerability)", "severity": "critical", "confidence": "high", "description": "SMBv1 is enabled on this system. This protocol is vulnerable to EternalBlue (CVE-2017-0143), a critical remote code execution vulnerability exploited by WannaCry ransomware.", "evidence": { "type": "smb", "value": "SMBv1 negotiated successfully", "context": "Port 445/tcp open, SMB signing not required" }, "recommendation": "URGENT - Disable SMBv1 immediately:\n\nPowerShell:\nDisable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart\n\nGroup Policy:\nComputer Configuration → Administrative Templates → MS Security Guide\n→ Configure SMBv1 client driver startup = Disabled\n→ Configure SMBv1 server = Disabled\n\nVerify:\nGet-SmbServerConfiguration | Select EnableSMB1Protocol", "references": [ "https://docs.microsoft.com/en-us/windows-server/storage/file-server/troubleshoot/detect-enable-and-disable-smbv1-v2-v3", "https://nvd.nist.gov/vuln/detail/CVE-2017-0143" ], "affected_component": "SMB Server" }, { "id": "AST-LDAP-001", "title": "LDAP anonymous bind allowed", "severity": "high", "confidence": "high", "description": "LDAP server allows anonymous bind, permitting unauthenticated enumeration of domain users, groups, and configuration.", "evidence": { "type": "ldap", "value": "Anonymous bind successful to port 389/tcp", "context": "Retrieved domain base DN: DC=corp,DC=local" }, "recommendation": "Disable LDAP anonymous bind:\n\nGroup Policy:\nComputer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options\n→ Network access: Allow anonymous SID/Name translation = Disabled\n→ Network access: Do not allow anonymous enumeration of SAM accounts = Enabled\n→ Network access: Do not allow anonymous enumeration of SAM accounts and shares = Enabled\n\nRegistry:\nreg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 1 /f", "affected_component": "LDAP Server" }, { "id": "AST-RDP-001", "title": "RDP without Network Level Authentication (NLA)", "severity": "high", "confidence": "high", "description": "Remote Desktop Protocol (RDP) is configured without Network Level Authentication (NLA). This allows unauthenticated attackers to reach the login screen and attempt brute-force attacks.", "evidence": { "type": "rdp", "value": "RDP port 3389/tcp open, NLA not required", "context": "Encryption level: High" }, "recommendation": "Enable Network Level Authentication:\n\nPowerShell:\n(Get-WmiObject -class Win32_TSGeneralSetting -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").SetUserAuthenticationRequired(1)\n\nGroup Policy:\nComputer Configuration → Administrative Templates → Windows Components → Remote Desktop Services → Remote Desktop Session Host → Security\n→ Require user authentication for remote connections by using Network Level Authentication = Enabled", "affected_component": "RDP Server" } ], "notes": { "scan_duration_seconds": 67.5, "targets_scanned": 12, "rate_limit_applied": true, "scope_limitations": "Scan limited to network services. Local system checks require SSH/WinRM credentials.", "false_positive_disclaimer": "Manual verification recommended for all findings before remediation." }, "aiAnalysis": { "executiveSummary": "The network scan identified 12 critical security vulnerabilities requiring immediate attention...", "technicalRemediation": "### Critical Issues\n\n1. \n - Affected systems: 10.0.0.5, 10.0.0.10\n - Remediation: Disable SMBv1...", "generatedAt": "2026-04-19T14:35:00Z", "modelUsed": "gpt-4o-mini-2024-07-18", "provider": "openai" } }
### Функции HTML-отчета
- **📊 Исполнительная панель**: Сводные карточки с количеством критичности и брендингом Minotaur
- **🤖 Анализ ИИ**: Разворачиваемые разделы для руководящих и технических аналитических выводов
- **🔍 Детальные результаты**: Организованы по уровню критичности с командами исправления PowerShell/GPO
- **📋 Доказательства**: SMB-ресурсы, запросы LDAP, конфигурации RDP, вывод PowerShell
- **🔗 Внешние ссылки**: Ссылки на CVE, документацию Microsoft, руководства OWASP
- **📱 Адаптивность для мобильных устройств**: Работает на всех устройствах
- **🎨 Тема Minotaur**: Цветовая схема красный/оранжевый/фиолетовый
---
## 📁 Структура проекта```
asterion-network-minotaur/
│
├── src/
│ ├── Asterion/ # Main C# application
│ │ ├── Asterion.csproj # .NET project file
│ │ │
│ │ ├── Checks/ # Security check modules
│ │ │ ├── ICheck.cs # Check interface
│ │ │ ├── BaseCheck.cs # Abstract base class (350 lines)
│ │ │ ├── CheckCategory.cs # Check category enum
│ │ │ │
│ │ │ ├── CrossPlatform/ # Network service scanners (work from any OS)
│ │ │ │ ├── PortScanner.cs # TCP port scanning
│ │ │ │ ├── SmbScanner.cs # SMB/CIFS security (42KB)
│ │ │ │ ├── RdpScanner.cs # RDP configuration (24KB)
│ │ │ │ ├── LdapScanner.cs # LDAP/AD security (38KB)
│ │ │ │ ├── KerberosScanner.cs # Kerberos security (22KB)
│ │ │ │ ├── SnmpScanner.cs # SNMP vulnerabilities (21KB)
│ │ │ │ ├── DnsScanner.cs # DNS misconfigurations (14KB)
│ │ │ │ ├── FtpScanner.cs # FTP security (27KB)
│ │ │ │ ├── TlsScanner.cs # TLS/SSL certificate checks
│ │ │ │ ├── SysvolCheck.cs # SYSVOL/GPP password exposure
│ │ │ │ ├── AdAggressiveCheck.cs # AS-REP roasting, delegation, weak ACLs
│ │ │ │ └── WinRmChecks.cs # Remote Windows audit via WS-Man
│ │ │ │
│ │ │ ├── Windows/ # Local Windows system checks
│ │ │ │ ├── WinFirewallCheck.cs # Firewall configuration
│ │ │ │ ├── WinRegistryCheck.cs # Registry security
│ │ │ │ ├── AdPolicyCheck.cs # Active Directory policies
│ │ │ │ ├── WinServicesCheck.cs # Service misconfigurations
│ │ │ │ └── PrivEscCheckWin.cs # Windows privilege escalation
│ │ │ │
│ │ │ └── Linux/ # Local/remote Linux checks (via SSH)
│ │ │ ├── LinuxFirewallCheck.cs # iptables/nftables/ufw
│ │ │ ├── SshConfigCheck.cs # SSH hardening
│ │ │ ├── SambaNfsCheck.cs # Samba/NFS security
│ │ │ └── PrivEscCheckLinux.cs # SUID, sudo misconfig
│ │ │
│ │ ├── Core/ # Core infrastructure
│ │ │ ├── Orchestrator.cs # Main execution engine (1,243 lines)
│ │ │ ├── Config.cs # YAML configuration loader
│ │ │ ├── ScanOptions.cs # Scan configuration
│ │ │ ├── Database.cs # SQLite operations
│ │ │ ├── ConsentValidator.cs # Consent token verification
│ │ │ ├── SshConnectionManager.cs # SSH.NET wrapper (password/key/bastion)
│ │ │ ├── WinRmConnectionManager.cs # WS-Man HTTP/NTLM (Linux → Windows)
│ │ │ ├── AttackChainAnalyzer.cs # Multi-step attack chain correlation
│ │ │ ├── NtlmSpnego.cs # NTLM/SPNEGO auth implementation
│ │ │ ├── NtlmV2Auth.cs # NTLMv2 auth implementation
│ │ │ │
│ │ │ ├── Output/
│ │ │ │ └── ReportBuilder.cs # Report generation (risk score, labels)
│ │ │ │
│ │ │ └── Utils/
│ │ │ ├── NetworkUtils.cs # Network operations
│ │ │ ├── CidrParser.cs # CIDR/IP range parsing
│ │ │ ├── AuthenticationManager.cs # Credential handling
│ │ │ └── OsDetector.cs # Per-target OS detection (SSH/SMB/TTL)
│ │ │
│ │ ├── Models/ # Data models
│ │ │ ├── Report.cs # Main report structure
│ │ │ ├── Finding.cs # Security finding (OWASP/CVE/Compliance)
│ │ │ ├── Evidence.cs # Finding proof
│ │ │ ├── ConsentInfo.cs # Consent verification
│ │ │ └── AiAnalysis.cs # AI-generated content (cost tracking)
│ │ │
│ │ ├── Program.cs # Application entry point
│ │ └── Cli.cs # CLI argument parser (all flags)
│ │
│ └── Asterion.sln # Visual Studio solution
│
├── scripts/ # Python bridge scripts
│ ├── ai_analyzer.py # LangChain AI integration (stream/agent/compare)
│ ├── cve_lookup.py # NVD API v2 CVE enrichment
│ ├── owasp.py # OWASP Top 10 mapping (139 entries)
│ ├── compliance.py # CIS/NIST/PCI mapping (95 entries)
│ ├── db_migrate.py # Database setup
│ ├── render_html.py # HTML report generation (Jinja2)
│ ├── setup.sh # Linux/macOS installation script
│ ├── setup.ps1 # Windows PowerShell setup
│ └── requirements.txt # Python dependencies
│
├── config/ # Configuration files
│ ├── defaults.yaml # Default settings
│ └── prompts/ # AI prompt templates
│ ├── technical.txt # Technical remediation prompts
│ └── non_technical.txt # Executive summary prompts
│
├── db/
│ └── migrate.sql # Database schema (shared with Argos Suite)
│
├── docker/ # Docker deployment
│ ├── Dockerfile # Production image
│ ├── docker-compose.yml # Production deployment
│ ├── compose.testing.yml # Vulnerable lab environment
│ ├── .dockerignore
│ ├── .env.example
│ └── README.md # Docker instructions
│
├── docs/ # Documentation
│ ├── AI_INTEGRATION.md # AI setup guide
│ ├── CONSENT.md # Consent token system
│ ├── DATABASE_GUIDE.md # SQLite schema and queries
│ ├── ETHICS.md # Ethical guidelines
│ ├── NETWORK_CHECKS.md # Complete check catalog (50+ checks)
│ └── ROADMAP.md # Development roadmap
│
├── schema/
│ └── report.schema.json # Argos Suite unified schema
│
├── templates/
│ └── report.html.j2 # HTML report template (35KB, Minotaur-themed)
│
├── assets/
│ └── ascii.txt # Minotaur ASCII art banner
│
├── CHANGELOG.md # Version history
├── README_PATTERN.md # README visual branding guide
├── LICENSE # MIT License
└── README.md # This file
Статистика:
Статус: 🎉 Выпущено
--winrm)--ssh-key, --bastion, --sudo-password)--diff last / --diff <id> — отслеживание регресса безопасности--creds-file credentials.yaml--ai-budget, затраты сохраняются в БД + costs.jsonФокус: Удобство использования, масштабируемость, интерактивный ИИ
--show-options, --set)ast db scans list, ast db findings search)Фокус: Автоматическое исправление, обнаружение с помощью ML, распределённое сканирование
Подробные описания функций см. в docs/ROADMAP.md
Мы приветствуем вклад! Будь то:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)git clone https://github.com/YOUR-USERNAME/asterion-network-minotaur.git cd asterion-network-minotaur
pip install -r scripts/requirements.txt dotnet restore
dotnet build
dotnet run --project src/Asterion -- scan --target 192.168.1.1 -v
### Стиль кода
- **C# Formatting**: Следуйте соглашениям по коду C# от Microsoft
- **Python Formatting**: Мы используем [Black](https://github.com/psf/black) (длина строки: 88)
- **XML Documentation**: Требуется для всех публичных классов/методов
- **Code Comments**: Используйте `//` для однострочных комментариев, `///` для XML-документации
### Сообщение об ошибках
Нашли ошибку? Есть запрос на функцию?
**Откройте issue**: https://github.com/rodhnin/asterion-network-minotaur/issues
Пожалуйста, включите:
- Версия Asterion (`ast version`)
- Версия .NET (`dotnet --version`)
- Версия Python (`python --version`)
- Операционная система
- Шаги для воспроизведения (для ошибок)
- Ожидаемое и фактическое поведение
---
## 📚 Документация
Подробная документация доступна в каталоге `docs/`:
| Document | Description |
| ------------------------------------------- | ----------------------------------------- |
| [AI_INTEGRATION.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/AI_INTEGRATION.md) | Полное руководство по настройке ИИ (все 3 провайдера) |
| [CONSENT.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/CONSENT.md) | Технические детали системы токенов согласия |
| [DATABASE_GUIDE.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/DATABASE_GUIDE.md) | Схема SQLite, запросы, управление |
| [ETHICS.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/ETHICS.md) | Правовая база и этические руководства |
| [NETWORK_CHECKS.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/NETWORK_CHECKS.md) | Полный каталог из 50+ проверок безопасности |
| [ROADMAP.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/docs/ROADMAP.md) | Будущие функции и планы развития |
### Быстрые ссылки
- **Журнал изменений**: [CHANGELOG.md](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/CHANGELOG.md)
- **Лицензия**: [LICENSE](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/LICENSE)
- **ASCII-арт**: [assets/ascii.txt](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/assets/ascii.txt)
---
## 🤝 Часть Argos Suite
Asterion — четвёртый компонент **Argos Security Suite**:
| Tool | Language | Target | Status |
| -------------- | ----------- | ----------------------- | ----------- |
| **Argus** | Python | WordPress | ✅ Стабильный |
| **Hephaestus** | Python | Серверы (Linux/Windows) | ✅ Стабильный |
| **Pythia** | Python | SQL-инъекции | ✅ Стабильный |
| **Asterion** | C# + Python | Сети/Домены/AD | 🎉 Выпущен |
**Общая инфраструктура:**
- База данных SQLite (`~/.argos/argos.db`)
- Унифицированная схема отчётов JSON
- Система токенов согласия
- Анализ ИИ через LangChain
---
## ⚖️ Лицензия
Этот проект лицензирован под **лицензией MIT** — подробности в файле [LICENSE](https://github.com/rodhnin/asterion-network-minotaur/blob/HEAD/LICENSE).```
MIT License
Copyright (c) 2025-2026 Rodney Dhavid Jimenez Chacin
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
ВАЖНО: Этот инструмент предназначен только для авторизованного тестирования безопасности.
Используя Asterion, вы подтверждаете и соглашаетесь с тем, что:
Если вы обнаружите уязвимости с помощью Asterion:
Не сканируйте. Если вы не уверены, есть ли у вас разрешение, скорее всего, его нет.
Asterion стоит на плечах гигантов:
Особая благодарность всем исследователям безопасности, которые практикуют и продвигают этичный хакинг.
Rodney Dhavid Jimenez Chacin (rodhnin)
По вопросам, отзывам или предложениям о сотрудничестве посетите rodhnin.com
Сделано с ❤️ для специалистов по безопасности и сетевых администраторов предприятий по всему миру
⭐ Поставьте звезду этому репозиторию, если он вам полезен! ⭐
Сообщить об ошибке • Предложить улучшение • Документация
🐂 Asterion — Путешествие по сетевому лабиринту 🐂
Asterion v0.2.0 — Май 2026
Сделано с ❤️ rodhnin | Часть Argos Security Suite
| Категория проверок | Детали |
|---|
| SMB/CIFS Security | Anonymous shares, SMB signing, SMBv1 (EternalBlue), NTLMv1, writable shares |
| RDP Security | Network Level Authentication (NLA), encryption levels, exposed RDP |
| LDAP/Active Directory | Anonymous bind, LDAP signing, password policies, Kerberos pre-auth |
| Kerberos Security | AS-REP roasting, Kerberoasting, excessive ticket lifetime |
| SNMP | Default community strings, SNMPv1/v2c, write access |
| DNS/NetBIOS | Zone transfers (AXFR), LLMNR/NetBIOS poisoning, mDNS |
| Windows Systems | Firewall, Registry (UAC, LSA), services, privilege escalation |
| Linux Systems | iptables/nftables, SSH, Samba/NFS, SUID binaries, sudo misconfig |
| Формат | Команда | Вывод |
|---|
| JSON | --output json | Машиночитаемые отчёты (по умолчанию) |
| HTML | --output html | Красивые отчёты в стиле Минотавра |
| Оба | --output both | Генерация обоих форматов (JSON и HTML) |
| Команды безопасности |
| Пошаговое исправление с командами PowerShell/GPO |
| non_technical | Резюме для руководства | Описания простым языком для руководства |
| both | Полный анализ | Оба формата: технический и для руководства |
| Опция | Значения | По умолчанию | Описание |
|---|
--target, -t | IP/CIDR/домен | Обязательно | Цель(и): 192.168.1.0/24, 10.0.0.1, corp.local, список через запятую |
--mode, -m | safe, aggressive | safe | Режим сканирования (aggressive требует токен согласия) |
--output, -o | json, html, both | json | Формат вывода |
--ports, -p | список портов | Автоопределение | Порты для сканирования (например, 22,80,443 или 8000-9000) |
--threads | 1-20 | 5 | Количество одновременных потоков |
--rate | 1-20 | 5 | Лимит скорости запросов (запросов/с) |
--timeout | секунды | 10 | Тайм-аут соединения |
--verify-ssl | флаг | true | Проверять SSL/TLS сертификаты (отключить для самоподписанных сертификатов) |
--verbose, -v | флаг | false | Включить подробное логирование |
--diff | last / scan_id | - | Сравнить с предыдущим сканированием (--diff last или --diff 42) |
--creds-file | путь к YAML | - | Загрузить все учётные данные из YAML-файла |
| Опция | Значения | Описание |
|---|
--auth | DOMAIN\user:pass | Учётные данные домена для проверок LDAP/Kerberos/SMB/AD |
--auth-ntlm | user:hash | NTLM-аутентификация с передачей хэша (Pass-the-hash) |
--kerberos | user:pass@REALM | Kerberos-учётные данные |
--winrm | DOMAIN\user:pass | Удалённые проверки Windows через WinRM (межсетевой экран, реестр, службы, AD) |
--ssh | user:pass | Аутентификация по паролю SSH для удалённых проверок Linux |
--ssh-key | user:/path/key | Аутентификация по SSH-ключу |
--sudo-password | pass | Пароль для повышения привилегий sudo в привилегированных проверках Linux |
--bastion | host:user:key | Бастионный/промежуточный хост для многошагового SSH |
| Опция | Значения | По умолчанию | Описание |
|---|
--use-ai | флаг | false | Включить анализ на основе ИИ |
--ai-tone | technical, non_technical, both | technical | Формат анализа ИИ |
--ai-provider | openai, anthropic, ollama | openai | Поставщик ИИ |
--ai-model | название модели | gpt-4o-mini-2024-07-18 | Модель ИИ для использования |
--ai-budget | сумма в USD | - | Прервать ИИ, если расчётная стоимость превышает это значение |
--ai-stream | флаг | false | Потоковая передача токенов ИИ в stdout в реальном времени |
--ai-agent | флаг | false | Режим агента LangChain с инструментом поиска CVE в NVD |
--ai-compare | prov/model,prov/model | - | Мультимодельное сравнение |
| Режим | Проверки | Требуется согласие | Лимит запросов |
|---|
| Безопасный | Неинтрузивные сетевые проверки | ❌ Нет | 5 запр/с |
| Агрессивный | Глубокое тестирование AD/систем | ✅ Да | 10 запр/с |
| AI-анализ | Анализ уязвимостей | ✅ Да | Н/Д |
--ai-stream--ai-agent--ai-compare