
أداة آلية لاستكشاف النطاقات الويب وتقييم الأمان، تدمج تعداد النطاقات الفرعية، ومسح المنافذ، ومسح الثغرات، والاكتشاف المدعوم بالذكاء الاصطناعي لسير عمل اختبار الاختراق.
مقدمة • التثبيت • الاستخدام • تشغيل HaxUnit • الوظائف
HaxUnit هي أداة شاملة للاستطلاع وتقييم الأمان تستند إلى Python للنطاقات على الويب. تدمج أدوات متنوعة لتعداد النطاقات الفرعية، وفحص المنافذ، وفحص الثغرات، وغير ذلك.
تركز HaxUnit على البساطة وتهدف إلى أن تكون أفضل حل كامل لتقييمات أمان الويب.
للحصول على تثبيت موثوق، يُوصى باستخدام HaxUnit مع Docker Compose.
قد يستغرق هذا الإعداد الأولي بضع دقائق:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example إلى .env واملأ مفاتيح API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
chmod +x rebuild-compose.sh open-bash.sh
./rebuild-compose.sh
بمجرد اكتمال التثبيت بنجاح، ستكون داخل حاوية Docker، جاهزًا لتنفيذ HaxUnit:
🎉 اكتمل التثبيت! 🎉
HaxUnit جاهز الآن للانطلاق!
حان وقت العثور على تلك الثغرات وتصحيحها كالمحترفين! 🕵️♂️🔍
🚀 لبدء المسح، قم بتشغيل الأمر التالي:
haxunit -d <domain>
هذا كل شيء، أنت الآن جاهز لبدء مسح النطاقات باستخدام HaxUnit!
لفتح bash shell داخل حاوية HaxUnit، قم بتشغيل الأمر التالي:
./open-bash.sh
تأكد من تثبيت البرامج التالية على نظامك:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)استنساخ المستودع:
افتح الطرفية وقم بتشغيل الأمر التالي لاستنساخ المستودع والانتقال إلى دليل المشروع:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
تثبيت python3.11-venv (إذا لزم الأمر):
إذا لم يكن لديك وحدة venv مثبتة، فقد تحتاج إلى تثبيتها. قم بتشغيل أحد الأوامر التالية حسب إصدار Python الخاص بك:
sudo apt update
sudo apt install python3.11-venv
أو لنظام Python 3.10:
sudo apt update
sudo apt install python3.10-venv
إنشاء بيئة افتراضية:
قم بإنشاء بيئة افتراضية باسم haxunit-venv:
python3 -m venv haxunit-venv
تفعيل البيئة الافتراضية:
قم بتفعيل البيئة الافتراضية باستخدام الأمر التالي:
source haxunit-venv/bin/activate
ملاحظة: لإلغاء تنشيط البيئة الافتراضية لاحقًا، يمكنك ببساطة تشغيل deactivate.
إذا تم تثبيت كل شيء بشكل صحيح، يجب أن ترى المخرجات التالية:
[HaxUnit] [Init] All tools are successfully installed - good luck!
عملية التثبيت تستخدم الآن pdtm (ProjectDiscovery Tool Manager) لإدارة الأدوات بكفاءة وتتضمن فحوصات ذكية لتجنب إعادة تثبيت الأدوات الموجودة بالفعل.
haxunit -h
سيؤدي هذا إلى عرض المساعدة للأداة. إليك جميع المفاتيح التي تدعمها.
usage: main.py [-h] [-d DOMAIN] [-m {quick,extensive}] [-v] [-b BIN] [-is ISERVER] [-it ITOKEN] [-acu] [-y] [-u] [-i] [--wpscan-api-token WPSCAN_API_TOKEN]
[--use-notify] [--cloud-upload] [--htb] [--fuzz] [--use-gpt] [--skip-installers]
HaxUnit - Web Domain Reconnaissance Tool
optional arguments:
-h, --help show this help message and exit
-d DOMAIN, --domain DOMAIN
the website to recon: example.com
-m {quick,extensive}, --mode {quick,extensive}
set scan mode
-v, --verbose print more information
-b BIN, --bin BIN set which python bin to use
-is ISERVER, --iserver ISERVER
interactsh server URL for self-hosted instance
-it ITOKEN, --itoken ITOKEN
authentication token for self-hosted interactsh server
-acu, --use-acunetix Enable Acunetix integration
-y, --yes yes to all prompts
-u, --update update all tools
-i, --install install all tools
--wpscan-api-token WPSCAN_API_TOKEN
The WPScan API Token to display vulnerability data
--use-notify Run notify on completion
--cloud-upload Upload results to ProjectDiscovery cloud
--htb HackTheBox mode
--fuzz Enable ffuf fuzzing
--use-gpt Enable GPT suggestions
--skip-installers Skip tool installation checks
تشغيل فحص سريع على example.com:
haxunit -d example.com
تشغيل فحص سريع على example.com مع الموافقة التلقائية على إضافة النطاقات:
haxunit -d example.com -y
تشغيل فحص موسع على example.com باستخدام Acunetix ورفع النتائج إلى سحابة ProjectDiscovery:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
تخطي فحوصات التثبيت لبدء أسرع (عندما تعرف أن الأدوات مثبتة):
haxunit -d example.com --skip-installers
سيتم حفظ نتائج المسح في هيكل الدليل التالي:
scans/
└── example.com/
└── timestamp/
استبدل example.com بالنطاق المستهدف و timestamp بتاريخ ووقت إجراء المسح.
ينظم هذا الهيكل نتائج المسح زمنيًا تحت مجلد النطاق المعني داخل دليل scans.
يتضمن هذا المستودع عينة من DAG لـ Apache Airflow يعمل على أتمتة عملية المسح باستخدام HaxUnit.
dags في تثبيت Apache Airflow الخاص بك. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example إلى .env واملأ مفاتيح API.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example إلى notify-config.yaml.مثال على تكوين إشعارات Slack:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
إعداد DAG:
أعد تسمية dags.py.example إلى dags.py وقم بتكوينه وفقًا لاحتياجاتك.
لا تنس استخدام --use-notify لتفعيل الإشعارات.
بناء وتشغيل HaxUnit:
بعد تكوين إعدادات الإشعارات، قم ببناء وتشغيل HaxUnit بالأمر التالي:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
باتباع هذه الخطوات، يمكنك الآن أتمتة اختبارات الاختراق باستخدام Apache Airflow. استمتع بالعملية المبسطة!
تستخدم HaxUnit REST API الخاص بـ Acunetix لأتمتة إنشاء المجموعات وبدء عمليات المسح.
لإنشاء مفتاح API، تفضل بزيارة صفحة الملف الشخصي.
أدرج مفتاح API في ملف .env.
ACUNETIX_API_KEY=
أعد بناء docker compose لتطبيق التغييرات:
./rebuild-compose.sh
لتشغيل HaxUnit مع Acunetix، استخدم الأمر التالي:
haxunit -d example.com --use-acunetix
لتثبيت Acunetix، قم بتنفيذ الأمر التالي:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
سيؤدي هذا إلى تنزيل وتثبيت حاوية Acunetix.
بمجرد اكتمال التثبيت، يمكنك البدء في استخدام Acunetix مع HaxUnit.
يمكن الوصول إلى Acunetix على https://localhost:3443.
Username: [email protected]
Password: [email protected]
تثبيت الحزم المطلوبة:
مع تفعيل البيئة الافتراضية، قم بتثبيت الحزم الضرورية:
python3 -m pip install -r requirements.txt
تشغيل سيناريو التثبيت:
أخيرًا، قم بتشغيل السيناريو الرئيسي مع العلم --install:
python3 main.py --install
| الوظيفة | النوع | الوصف |
|---|
| dnsx_subdomains | اكتشاف النطاقات الفرعية | استخدام dnsx للعثور على النطاقات الفرعية و brute-force عليها |
| subfinder | اكتشاف النطاقات الفرعية | استخدام subfinder للعثور على النطاقات الفرعية |
| chaos | اكتشاف النطاقات الفرعية | الاستعلام عن قاعدة بيانات Chaos من ProjectDiscovery لتعداد النطاقات الفرعية السلبي |
| subwiz | اكتشاف النطاقات الفرعية | التنبؤ بالنطاقات الفرعية باستخدام الذكاء الاصطناعي عبر التعلم الآلي |
| katana | الزحف | جمع جميع عناوين URL في قائمة النطاقات الفرعية وتحليل النطاق باستخدام unfurl |
| alterx | تبديل النطاقات الفرعية | إنشاء واختبار تبديلات النطاقات الفرعية |
| dnsx_ips | جلب عناوين IP | استخدام dnsx لجلب سجلات A |
| naabu | اكتشاف فحص المنافذ | تشغيل naabu على قائمة النطاقات الفرعية باستخدام قائمة من المنافذ الشائعة لاكتشاف خدمات HTTP |
| httpx | التحقق من النطاقات الفرعية | التحقق من جميع النطاقات الفرعية التي تم العثور عليها لمعرفة ما إذا كانت نشطة |
| wpscan | ماسح الثغرات | ماسح أمان WordPress |
| acunetix | ماسح الثغرات | إنشاء مجموعة تلقائيًا للموقع وبدء مسح النطاقات الفرعية للعثور على الثغرات |
| nuclei | ماسح الثغرات | استخدام جميع النطاقات الفرعية النشطة التي تم العثور عليها للبحث عن الثغرات |