
PhantomRecon هي أداة أتمتة للفريق الأحمر تعتمد على سطر الأوامر، معيارية، ومحركة بالوكلاء، مصممة لإظهار سير عمل هجومية مستقلة مدعومة بالذكاء الاصطناعي (Gemini من Google عبر Agent Development Kit - ADK).
PhantomRecon هي أداة أتمتة معيارية للفريق الأحمر تعمل عبر واجهة سطر الأوامر (CLI) وتعتمد على وكيل (Agent) ذكي، صُممت لعرض سير عمل هجومية أمنية ذاتية مدعومة بالذكاء الاصطناعي (Gemini من Google عبر حزمة تطوير الوكلاء - ADK).
python -m phantomrecon
python -m phantomrecon --target example.com --auto \
--nmap-timeout 30 --nmap-top-ports 100 --nmap-args "-sV -Pn"
--target <domain|ip>: الهدف المراد تقييمه--auto: تشغيل الاستطلاع → التخطيط → التوجيه → التقرير--nmap-timeout <seconds>: يتجاوز NMAP_TIMEOUT--nmap-top-ports <N>: يتجاوز NMAP_TOP_PORTS--nmap-args "...": يُلحق وسائط إضافية بوسائط Nmap (NMAP_ARGS)--nmap-disable: تعطيل Nmap (يضبط NMAP_DISABLE=1)متغيرات البيئة مدعومة أيضًا مباشرةً: NMAP_TIMEOUT, NMAP_TOP_PORTS, NMAP_ARGS, NMAP_DISABLE.
.gitignore المجلد reports/* باستثناء reports/sample_report.md.reports/.صُممت الأداة كإثبات مفهوم (proof-of-concept) تحاكي تحديد الهدف، وتنفيذ استطلاع واسع (Nmap, DNS, Web Search)، وتخطيط استراتيجية هجوم باستخدام نموذج لغوي كبير (LLM)، وتنفيذ استغلالات محاكاة بشكل شرطي، ثم توليد تقرير.
phantomrecon/
├── phantomrecon/ # Main package (exported orchestrator agent)
│ ├── __init__.py
│ ├── __main__.py # CLI entrypoint (interactive and non-interactive)
│ └── agent/ # Agent graph and tools
├── agents/ # Python modules containing agent/tool logic
│ ├── recon_logic.py # Nmap, DNS (dig), seeded web analysis; ADK search enabled
│ ├── routing_logic.py # Logic for the Exploit Router agent
│ ├── exploit_web_logic.py # Functions for web exploits (currently simulated)
│ ├── exploit_sql_logic.py # Functions for SQL exploits (currently simulated)
│ └── report_logic.py # Functions for report generation using session state
├── configs/
│ └── targets.json # (Optional) Target configuration
├── data/
│ └── dummy_scan_output.json # Example Nmap data if no target specified
├── demos/
│ └── walkthrough.md # Demo steps
├── prompts/ # Prompt templates for LLM agents
├── reports/
│ └── sample_report.md # Example output report
├── requirements.txt # Python dependencies (includes google-adk)
├── .gitignore # Files excluded from version control
└── LICENSE # MIT License
recon_workflow - وكيل متوازي):
nmap_tool)dns_tool)web_search_tool)aggregation_tool):
aggregated_recon_data إلى حالة الجلسة.planning_agent - LlmAgent):
attack_planner_prompt.txt لتوليد خطة هجوم بصيغة JSON.attack_plan إلى حالة الجلسة.exploit_router - RouterAgent):
attack_plan من الحالة.python3, pip, nmap, dig, whois, sqlmap, wapiti, wpscan, searchsploit.python3 -m venv venv
source venv/bin/activate # On Windows use `venv\Scripts\activate`
pip install -r requirements.txt
.env.example إلى .env (إذا كان المثال موجودًا) أو عدّل .هذه الأداة مخصصة لاختبار الاختراق المصرح به والأغراض التعليمية فقط. لا تستخدمها ضد أنظمة دون إذن صريح.
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للتفاصيل.
sudo apt install nmap أو brew install nmap)sudo apt install dnsutils أو brew install bind)sudo apt install whois أو brew install whois)sudo apt install sqlmap أو brew install sqlmap)sudo apt install wapiti أو brew install wapiti)sudo apt install ruby-full ثم gem install wpscan أو brew install wpscan)adk web لسؤال المستخدم عن عنوان IP/النطاق الهدف.dig, nslookup, dig +trace, محاولة AXFR, whois)sqlmap مع خيارات محسّنة)، فحص Wapiti (نتائج محلّلة)، WPScan (نتائج محلّلة، شرطي)، XSS منعكسة أساسية، حقن أوامر أساسي - (فحوصات فعلية)searchsploit مع استعلام محسّن)، تعداد ما بعد المصادقة (عبر اتصال مباشر بـ sqlmap) - (فحوصات فعلية)يستخدم PhantomRecon بنية متعددة الوكلاء ذاتية بالكامل مدعومة بحزمة تطوير الوكلاء من Google (ADK).
وكيل التنسيق الرئيسي (Senior Orchestrator Agent) (gemini-1.5-pro-latest)
وكلاء الأمن المتخصصون
يعمل وكيل التنسيق مثل مختبِر اختراق خبير:
المزايا الرئيسية:
context.session.state (جلسات ADK)executor_fix.py)شغّل عبر CLI (موصى به):
python -m phantomrecon --target <domain|ip> --auto
وحدة التحكم التفاعلية:
python -m phantomrecon
مشغّل ADK الاختياري:
adk run phantomrecon -- --target <domain|ip> --auto
web_exploit_tool, sql_exploit_tool) بشكل شرطي بناءً على الخطة.exploit_results في حالة الجلسة.report_tool):
.envGOOGLE_API_KEY.GOOGLE_GENAI_USE_VERTEXAI على True أو False وهيئ المتغيرات ذات الصلة (GOOGLE_CLOUD_PROJECT, GOOGLE_CLOUD_LOCATION) إذا كنت تستخدم Vertex AI.python -m phantomreconpython -m phantomrecon --target <target> --autoadk run phantomreconsudo apt install exploitdb أو brew install exploitdb)requirements.txt (ثبّتها عبر pip install -r requirements.txt)searchsploitssh-auditToolContext من ADK لتمرير البيانات بين الوكلاء والأدوات.