Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
phishcollector — PhishCollector هو إطار بحثي لجمع وتحليل وتتبع مواقع التصيد الاحتيالي. | Kitploit
أدوات/GitHubGitHub/olizimmermann/phishcollector
الاستخبارات مفتوحة المصدر (OSINT)أدوات التصيدالاستطلاعموجزات ومجمعات التهديداتجمع المعلوماتالتصيد الاحتياليأمن الويباستخبارات التهديداتالأوراق والأبحاثالتعلم والتعليمزاحف الويب
233منذ 5 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHub
olizimmermann/phishcollector

phishcollector

PhishCollector هو إطار بحثي لجمع وتحليل وتتبع مواقع التصيد الاحتيالي.

عرض المستودع

PhishCollector

PhishCollector هو إطار عمل بحثي لجمع وتحليل وتتبع مواقع التصيد. تم تصميمه عمدًا كنقطة بداية — قواعد الكشف، تواقيع التقنيات، قوائم الكلمات، والإضافات كلها هياكل بيانات نصية بسيطة يُتوقع من الباحثين قراءتها وتوسيعها وتكييفها مع بيئة التهديدات الخاصة بهم.

أرسل رابطًا مشبوهًا، وسيقوم PhishCollector بما يلي:

  • تحميل الصفحة في متصفح Chromium بدون واجهة رسومية (JavaScript مفعّل، وكيل مستخدم عشوائي، إجراءات مضادة للروبوتات)
  • التقاط HTML المكتمل العرض، لقطة شاشة للصفحة كاملة، وكل طلب شبكة
  • تنزيل جميع أصول JavaScript و CSS المرتبطة
  • بصمة الموقع: IP/ASN/جغرافي، شهادة TLS، WHOIS، حزمة التقنيات، تجزئة favicon (متوافقة مع Shodan mmh3)، تحليل النماذج، كشف مؤشرات التصيد
  • الزحف للروابط المكتشفة، مسارات robots.txt، وعناوين URL لخريطة الموقع (اختبار تخميني اختياري بقائمة كلمات)
  • الاستعلام عن URLhaus و/أو VirusTotal لسمعة التهديد
  • تخزين كل شيء في PostgreSQL للبحث عبر المجموعات وتحليل الاتجاهات

جميع النتائج متاحة عبر واجهة برمجة تطبيقات REST، لوحة تحكم ويب، و واجهة سطر أوامر.


لقطات الشاشة

Dashboard

Collection detail


بداية سريعة

root@kitploit:~
cp .env.example .env          # قم بالتكوين (انظر أدناه)
docker compose up --build     # يبدأ تشغيل db + app + frontend
الخدمةالرابط
GUIhttp://localhost:3000
API docshttp://localhost:8000/docs
DBlocalhost:5432

الإعدادات

جميع الإعدادات هي متغيرات بيئية ببادئة PHISH_. انسخ .env.example إلى .env وعدّل.


إعداد الوكيل

توجيه كل حركة المرور الصادرة عبر وكيل يبقي عنوان IP للمحلل مخفيًا عن خادم التصيد.

Tor (إخفاء الهوية)

root@kitploit:~
PHISH_PROXY_URL=socks5://127.0.0.1:9050
PHISH_PROXY_SSL_VERIFY=true   # Tor لا يعترض TLS

Burp Suite (فحص الحركة)

يعمل Burp كوسيط TLS ويعرض شهادة CA الخاصة به لكل اتصال HTTPS. بدون تعطيل التحقق من SSL، سيفشل كل طلب HTTPS عبر الوكيل.

root@kitploit:~
PHISH_PROXY_URL=http://127.0.0.1:8080
PHISH_PROXY_SSL_VERIFY=false  # مطلوب لـ Burp / الوكلاء المعترضين

ملاحظة: PHISH_PROXY_SSL_VERIFY=false تؤثر فقط على اتصالات HTTPS الصادرة التي يقوم بها الخلفية Python (الإضافات، أداة البصمة، الزاحف). متصفح Playwright يعمل بالفعل مع ignore_https_errors=true بغض النظر عن هذا الإعداد.

تحذير: لا تقم أبدًا بتعيين PHISH_PROXY_SSL_VERIFY=false بدون تكوين وكيل — سيعطل التحقق من الشهادة لجميع استدعاءات API الخارجية (URLhaus, VirusTotal).


واجهة برمجة التطبيقات REST

المسار الأساسي: /api/v1

التوثيق التفاعلي الكامل في /docs (Swagger UI).

إرسال مسح ضوئي

root@kitploit:~
curl -X POST http://localhost:8000/api/v1/collections \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://suspicious-site.example.com", "use_wordlist": true}'

واجهة سطر الأوامر

root@kitploit:~
# التثبيت (داخل الحاوية أو بيئة افتراضية محلية مع requirements.txt)
pip install -e .

# إرسال رابط والانتظار حتى الانتهاء
phishcollector collect https://target.example.com --wait

# مع اختبار تخميني بقائمة كلمات
phishcollector collect https://target.example.com --wordlist --wait

# عرض الوظائف الأخيرة
phishcollector list

# عرض التفاصيل الكاملة
phishcollector detail <job-id>

# تنزيل لقطة الشاشة
phishcollector screenshot <job-id> -o capture.png

# البحث حسب حزمة التقنيات / تجزئة favicon / الدولة
phishcollector search --tech WordPress --country RU
phishcollector search --favicon-hash -1234567890

إضافات استخبارات التهديدات

URLhaus (abuse.ch)

يتطلب مفتاح Auth-Key مجاني من auth.abuse.ch.

root@kitploit:~
PHISH_URLHAUS_ENABLED=true
PHISH_URLHAUS_API_KEY=<مفتاح-المصادقة-الخاص-بك>

VirusTotal

يتطلب مفتاح API مجاني أو مدفوع من virustotal.com.

root@kitploit:~
PHISH_VIRUSTOTAL_API_KEY=<مفتاحك>

عندما لا يكون الرابط قد تم تحليله بعد بواسطة VT، يقوم PhishCollector بإرساله للمسح الضوئي ويجلب النتيجة تلقائيًا كل 30 ثانية حتى يتم حلها.

إضافة إضافاتك الخاصة

كل إضافة هي ملف واحد في phishcollector/plugins/ يعرض دالة async واحدة:

root@kitploit:~
# phishcollector/plugins/myplugin.py
from . import CheckResult

async def check(url: str, proxy_url=None, ssl_verify=True) -> CheckResult:
    # استعلم عن مصدرك / API هنا
    return CheckResult(
        plugin_name="myplugin",
        status="malicious",   # malicious | suspicious | clean | unknown | error
        score=0.95,           # 0.0–1.0، أو None
        result={"raw": ...},  # مخزنة بصيغة JSONB، معروضة في الواجهة
    )

ثم سجلها في phishcollector/plugins/runner.py:

root@kitploit:~
from .myplugin import check as myplugin_check
tasks.append(myplugin_check(url, proxy_url=settings.proxy_url, ssl_verify=settings.proxy_ssl_verify))

لا حاجة لأي تغييرات أخرى — يتم تخزين النتيجة تلقائيًا، وعرضها في لوحة التحكم، وإدخالها في درجة التهديد.


تخصيص مؤشرات التصيد

محرك الكشف يُحتفظ به عمدًا كـ بيانات نصية قابلة للقراءة حتى يتمكن الباحثون من ضبطه حسب الحزم والحملات التي يتتبعونها. كل شيء موجود في ملف واحد:

root@kitploit:~
phishcollector/collector/fingerprint.py

PHISHING_PATTERNS — قواعد regex تُفحص مقابل HTML + JS المعروضين

كل إدخال هو مجموعة (regex, label_مقروء_للبشر) مجمعة في فئات. أي تطابق في أي فئة يظهر في علامة التبويب المؤشرات ويساهم في درجة التهديد.

root@kitploit:~
PHISHING_PATTERNS: dict[str, list[tuple[str, str]]] = {

    "credential_harvest": [
        (r"document\.getElementById\(['\"]password['\"]", "JS يقرأ حقل كلمة المرور بواسطة المعرف"),
        (r"btoa\s*\(.*password", "ترميز كلمة المرور بـ Base64"),
        # أضف قواعدك الخاصة هنا …
    ],

    "obfuscation": [
        (r"\beval\s*\(", "استخدام eval()"),
        (r"atob\s*\(", "فك ترميز Base64 في وقت التشغيل"),
    ],

    "exfiltration": [
        (r"api\.telegram\.org/bot", "تسريب عبر بوت Telegram"),
        (r"@(?:gmail|yahoo|hotmail|outlook)\.com", "عنوان بريد مجاني في الكود"),
    ],

    "antibot": [
        (r"navigator\.webdriver", "فحص خاصية WebDriver"),
        (r"ipqualityscore|ipqs\.com", "خدمة مكافحة البوتات IPQS"),
    ],

    "kit_indicators": [
        (r"office365|microsoft365", "موضوع تصيد Office 365"),
        (r"paypal.*limit|limit.*paypal", "موضوع حدود PayPal"),
        # حزمة جديدة لاحظتها؟ أضف قاعدة هنا:
        (r"docusign.*sign|e.?sign.*document", "طعم DocuSign"),
        (r"(?:dhl|fedex|ups).*track", "طعم توصيل الطرود"),
    ],
}

لإضافة قاعدة: أضف مجموعة إلى قائمة الفئة المعنية. لإضافة فئة: أضف مفتاحًا جديدًا — يظهر اسم الفئة كعنوان قسم في علامة التبويب مؤشرات تلقائيًا.

root@kitploit:~
# مثال: تتبع بصمة حزمة مكتشفة حديثًا
"my_campaign_2024": [
    (r"panel\.php\?cmd=send", "مسار C2 معروف"),
    (r"X-Mailer:\s*PHPMailer\s*5\.2\.1", "إصدار PHPMailer محدد تستخدمه الحزمة"),
],

TECH_SIGNATURES — كشف التقنية

التواقيع تُطابق مقابل HTML، رؤوس الاستجابة، الكوكيز، والرابط النهائي. التقنيات المكتشفة تظهر في لوحة التقنيات ويمكن البحث فيها عبر جميع المجموعات.

root@kitploit:~
TECH_SIGNATURES: dict[str, dict] = {
    "WordPress": {
        "html":    [r"wp-content", r"wp-includes"],
        "url":     [r"/wp-login\.php"],
        "cookies": ["wordpress_"],
    },
    # أضف أي شيء تريد تتبعه:
    "GoPhish": {
        "html": [r"rid=[a-zA-Z0-9]{20}"],
        "url":  [r"/track\?rid="],
    },
    "Evilginx": {
        "url":  [r"phishlets"],
        "html": [r"__utmz.*evilginx"],
    },
}

كل مفتاح توقيع (اسم التقنية) يصبح سلسلة قابلة للبحث عبر GET /search?technology=GoPhish.

قائمة الكلمات

قائمة الكلمات الافتراضية للزاحف موجودة في wordlists/phishing_paths.txt — مسار واحد لكل سطر، # للتعليقات. تحتوي على مسارات شائعة لحزم التصيد (gate.php, send.php, result.php, لوحات الإدارة، إلخ). أضف مسارات للحزم التي تواجهها بانتظام:

root@kitploit:~
# مسارات حزم جديدة لوحظت
/panel/send.php
/b374k.php
/uploads/gate.php

ملاحظات أمنية

  • عناوين URL للتصيد لا تُعرض أبدًا كروابط قابلة للنقر في الواجهة — كل رابط هو نص عادي مع زر نسخ إلى الحافظة فقط.
  • يتم تقديم HTML الملتقط مع Content-Type: text/plain و Content-Disposition: attachment — المتصفح يقوم بتنزيله بدلاً من عرضه.
  • يمكن توجيه جميع الاتصالات الصادرة إلى خوادم التصيد عبر وكيل بحيث لا يتم كشف عنوان IP الحقيقي للمحلل.
  • مقارنة مفتاح API تستخدم hmac.compare_digest لمنع هجمات التوقيت.
  • nginx يخدم سياسة أمان المحتوى (CSP)، X-Frame-Options: DENY، و Referrer-Policy: no-referrer.
  • حذف مجموعة يزيل جميع المنتجات على القرص (لقطة شاشة، HTML، أصول) بالإضافة إلى سجلات قاعدة البيانات.

تخزين البيانات

تُكتب المنتجات إلى PHISH_DATA_DIR (الافتراضي /data، مجلد مثبت عبر Docker):

root@kitploit:~
/data/
  screenshots/   <collection-id>.png
  html/          <collection-id>.html
  assets/
    <collection-id>/
      <sha256-prefix>.js
      <sha256-prefix>.css

كل شيء آخر (البصمات، سجلات HTTP، نتائج الزاحف، نتائج الإضافات، الوسوم، الملاحظات) يخزن في PostgreSQL.


هيكل المشروع

root@kitploit:~
phishcollector/
  collector/
    browser.py        # التقاط Playwright، JS الخفي، تدوير وكيل المستخدم
    fingerprint.py    # جميع فحوصات البصمة + PHISHING_PATTERNS + TECH_SIGNATURES
    spider.py         # استخراج الروابط، robots.txt، خريطة الموقع، اختبار تخميني بقائمة كلمات
    orchestrator.py   # دورة حياة المهمة: يربط جميع الوحدات معًا
  plugins/
    __init__.py       # فئة CheckResult
    urlhaus.py        # إضافة abuse.ch URLhaus
    virustotal.py     # إضافة VirusTotal v3
    runner.py         # تشغيل الإضافات المفعلة بشكل متزامن
  api/
    routes.py         # نقاط نهاية FastAPI
  main.py             # نقطة دخول التطبيق، CORS، وسيط المصادقة
  models.py           # نماذج SQLAlchemy ORM
  config.py           # إعدادات Pydantic (متغيرات البيئة)
  database.py         # محرك، مصنع الجلسات، ترحيلات المخطط
frontend/
  app.js              # تطبيق SPA بـ Vanilla JS
  style.css           # واجهة طرفية إلكترونية
  nginx.conf          # وكيل عكسي + رؤوس أمان
wordlists/
  phishing_paths.txt  # قائمة كلمات الزاحف الافتراضية

التطوير

root@kitploit:~
# تشغيل قاعدة البيانات فقط
docker compose up db -d

# تشغيل API محليًا
pip install -r requirements.txt
playwright install chromium
uvicorn phishcollector.main:app --reload

# تشغيل الاختبارات (إن وجدت)
pytest
تنزيل الأداة
المتغيرالافتراضيالوصف
PHISH_DATABASE_URLpostgres://…DSN لقاعدة بيانات PostgreSQL
PHISH_API_KEY(فارغ)إذا تم تعيينه، تتطلب جميع الطلبات X-API-Key: <قيمة>
PHISH_DATA_DIR/dataدليل التخزين للقطات الشاشة، HTML، الأصول
PHISH_BROWSER_TIMEOUT30000مهلة تحميل الصفحة بالمللي ثانية
PHISH_REQUEST_TIMEOUT15مهلة طلب HTTP الفرعي بالثواني
PHISH_MAX_SPIDER_PAGES50الحد الأقصى لعناوين URL التي يزورها الزاحف لكل مهمة
PHISH_MAX_ASSET_SIZE10485760الحد الأقصى لحجم ملف JS/CSS للتخزين (بايت)
PHISH_PROXY_URL(فارغ)وكيل خارجي — انظر أدناه
PHISH_PROXY_SSL_VERIFYtrueاضبط false للوكلاء المعترضين — انظر أدناه
PHISH_URLHAUS_ENABLEDfalseتفعيل فحص سمعة URLhaus
PHISH_VIRUSTOTAL_API_KEY(فارغ)مفتاح API لـ VirusTotal الإصدار 3 (اتركه فارغًا لتعطيله)
الطريقةالمسارالوصف
POST/collectionsإرسال رابط للتجميع
GET/collectionsعرض جميع المجموعات
GET/collections/{id}التفاصيل الكاملة + البصمة
GET/collections/{id}/screenshotلقطة شاشة بصيغة PNG للصفحة كاملة
GET/collections/{id}/htmlHTML الملتقط (يُحمّل كنص عادي)
GET/collections/{id}/requestsسجل طلبات الشبكة
GET/collections/{id}/spiderنتائج الزاحف
GET/collections/{id}/pluginsنتائج إضافات استخبارات التهديدات
POST/collections/{id}/plugins/refreshإعادة تشغيل الإضافات (مثل جلب نتيجة VT معلقة)
POST/collections/{id}/rescanإعادة جمع نفس الرابط (الأصلي محفوظ)
PATCH/collections/{id}تحديث الوسوم والملاحظات
GET/collections/{id}/export?format=json|csvتصدير بيانات المجموعة
DELETE/collections/{id}حذف مجموعة وجميع منتجاتها
GET/searchالبحث في البصمات حسب IP، تجزئة favicon، التقنية، الدولة، العنوان