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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
OllamaHound — استطلاع جماعي، بصمة الإصدار، اختبار CVE وإطار استغلال مباشر للمثيلات المفتوحة الخاصة بـ Ollama. | Kitploit
أدوات/GitHubGitHub/7h30th3r0n3/ollamahound
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعماسحات الثغرات الأمنيةالاستغلالجمع المعلوماتأمن الويباختبار الاختراقالقيادة والسيطرةالفريق الأحمر
GitHub7h30th3r0n3/ollamahound

OllamaHound

استطلاع جماعي، بصمة الإصدار، اختبار CVE وإطار استغلال مباشر للمثيلات المفتوحة الخاصة بـ Ollama.

623منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع

أولاماهاوند (OllamaHound)

مجموعة أدوات معيارية لاكتشاف خوادم Ollama المكشوفة، وتحديد الإصدارات، والتحقق من صلاحية الوصول إلى النماذج.

Python Status License

أولاماهاوند (OllamaHound) هي مجموعة أدوات معيارية موجهة لفريق الاختراق (RedTeam) لـ اكتشاف خوادم Ollama المكشوفة للعموم، وتحديد الإصدارات، تصنيف قابلية التعرض لـ CVE، والتحقق مما إذا كان توليد النص ممكنًا، و(اختياريًا) تفعيل جلسة CLI تفاعلية لإجراء اختبارات مُحكَمة.

root@kitploit:~
@@@@@@@@@@@@@@@@@@@@@@@@@@@#*#@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@%.-+-:#@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@+--=%@@@@@@@@-.@@@+ #@@@@@@@@@@@@@@@@@
@@@@@@@@@@@= %%+.=@@@%###-.@@@@= %@@@@@@@@@@@@@@@@
@@@@@@@@@@@-.@@@@..--====-.=@@@@.-@@@@@@@@@@@@@@@@
@@@@@@@@@@@# +#+-:*%@@@@@@@@@@@@- +@@@@@@@@@@@@@@@
@@*@@@@@#*+=:::.-*%@@@@@@@@@@@@@@%::%@@@@@@@@@@@@@
@+:-@@*----=***+==-=#@@@@@@@@@@@@@@::@@@@@@@@@@@@@
@*+#@=-==+=%@@@@%#=+:*%%%@@@@#++%@@+ %@@@@@@@@@@@@
+:=@#.+-@#=#@%+++%@:* =++==*@-  *@@-.@@@@@@@@@@@@@
%=+@+--*@@*=##+++%#.+::=@#%:+@%@@@@%.=@@@@@@@@@@@@
@@@@#.+-@@%=*@@@@@+.* =-:*@-=@@@@@@@* %@@@@@@@@@@@
@@@@@+:==#*=%@@@@*-=.:--+*-=@@@@@@@@+ %@@@@@@@@@@@
@@@@@@#=----+*++=--=**++*#%@@@@@@@@% =@@@@@@@@@@@@
@@@@@@@@%*-:---.+*%@@@@@@@@@@@@@@@@+-:+@@@@@@@@@@@
@@@@@@@@@@# ==:.%@@@@@@@@@@@@@@@@@@@@%.-@@@@@@@@@@
@@@@@@@@@@#.@@:.#@@@@@@@@@@@@@@#@@@@@@% *@@@@@@@@@
@@@@@@@@@*::--::=%@@@@@@@@@@@@::@@@@@@@ =@@@@@@@@@
@@@@@@@@-.#@@@@@-.@@@@@@@@@@#.-@@@@@@@@*.-@@@@@@@@
@@@@@@@@.-@@@@@%::@@@@@@@@%=.+@@@@@@@@@@%.-@@@@@@@
@@@@@@@@#::++=::+@@@@@@@%=:=%@@@@@%%@@@@@+ @@@@@@@
@@@@@@@@@@=.:: #@@@@@@@=.+@@@@@@%=:*@@@@@= @@@@@@@
@@@@@@@@@@@@%-.%@@@@@@# *@@@@@#-:+@@@@@@% +@@@@@@@
@@@@@@@@@@@@@.=@@@@@@@@=:===---*@@@@@@@@@.=@@@@@@@
@@@@@@@@@@@@@=.%@@@@@@@@#-##%@@@@@@@@@@@@.-@@@@@@@
@@@@@@@@@@@@@@= -%@@@@@@# #@@@@@@@@@@@@@# #@@@@@@@
@@@@@@@@@@@@@@@ .:=*%%@%#..*@@@@@@@@@@@+.+@@@@@@@@
@@@@@@@@@@@@@@@.=@*==- -=*. --==+*#**=:-#@@@@@@@@@
@@@@@@@@@@@@@@@:-@@@@# #@@+ %%##*..++#%@@@@@@@@@@@
@@@@@@@@@@@@@@@::@@@@-.@@@% *@@@@-:@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@*.=++::%@@@@::%@%+ *@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@%***%@@@@@@%=---=%@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@---OllamaHound---@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@---By 7h30th3r0n3---@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

!!! تحذير !!!

⚠️ إشعار قانوني وأخلاقي

هذا المشروع مخصص لتقييمات أمنية مصرح بها (الشبكات الداخلية، العمليات المحدودة النطاق، بيئات المختبر).
استخدمه فقط على الأنظمة التي تمتلكها أو التي لديك إذن خطي صريح لاختبارها.
باستخدامك لهذا البرنامج، فإنك توافق على أنك تتحمل وحدك مسؤولية أفعالك.
يقدم المؤلف (المؤلفون) والمساهمون هذا البرنامج "كما هو" ويتنصلون من أي مسؤولية
عن أي إساءة استخدام أو ضرر أو عواقب قانونية ناتجة عن استخدامه.


جدول المحتويات

  • الوحدات (Modules)
  • التدفق النموذجي
  • الميزات الرئيسية (الماسح الضوئي)
  • المتطلبات
  • البداية السريعة
  • بطاقة أوامر سريعة
  • مخرجات الماسح الضوئي
  • المُتجوّل (مساعد ملف CSV للماسح)
  • الموصل (CLI تفاعلية)
  • الكاشطة (مساعد شودان)
  • أعلام المُنسّق (عالي المستوى)
  • ملفات المخرجات (ملخص)
  • ملاحظات حول تحليل حجم النموذج
  • السلامة والأخلاق والنطاق
  • المؤلف

الوحدات (Modules)


الميزات

  • ⚡ مسح عالي النطاق باستخدام مآخذ غير متزامنة وواجهة تقدم غنية
  • 🧠 تصنيف الإصدار + CVE للتعرض لـ RCE/DoS
  • ✅ التحقق من النماذج عبر /api/tags و /api/generate
  • 🧭 مرشحات المتجوّل لإزالة التكرار والفرز والتصدير
  • 💬 موصل تفاعلي لاختبار الاستعلامات بأمان

التدفق النموذجي

  1. كشط الأهداف (اختياري) ← results/scraper/targets.txt
  2. مسح الأهداف ← results/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
  3. التجوّل عبر النتائج وتصفيتها ← تصدير اختياري إلى JSON/CSV
  4. الاتصال بمضيف/نموذج محدد ← CLI تفاعلية

يمكنك القيام بذلك خطوة بخطوة أو تشغيل المنسّق لتسلسل المراحل الثلاث الأولى.


الميزات الرئيسية (الماسح الضوئي)

  • مسح سريع غير متزامن باستخدام asyncio + aiohttp (آلاف المآخذ في نفس الوقت)
  • واجهة تقدم (الوقت المتبقي، الإنتاجية، الإنجاز) عبر rich
  • تقرير CSV بصيغة زمنية: <prefix>_YYYYMMDD_HHMMSS.csv
  • جدول مخرجات ملون
    • RCE: أحمر
    • DoS: أصفر
    • تم التصحيح: أخضر
  • تحليل الإصدار
    • GET /api/version → احتياطي GET /version → احتياطي رأس Server
  • تصنيف CVE
    • CVE-2024-7773 (RCE): الإصدار < 0.1.47
    • CVE-2025-0317 (DoS): الإصدار <= 0.3.14
  • اكتشاف النماذج والتحقق منها
    • تعداد النماذج عبر GET /api/tags

المتطلبات

  • بايثون 3.10+
  • الحزم:
    • aiohttp
    • rich
    • packaging
    • requests
    • shodan

تثبيت التبعيات:

root@kitploit:~
python3 -m pip install -U aiohttp rich packaging requests shodan

استخدم دوكر:

root@kitploit:~
docker build -t ollamahound .
docker run -it --rm ollamahound <ollamahound scripts>

البداية السريعة

بداية سريعة بحد أدنى (2-3 أوامر)

الخيار أ (الأسرع): كشط → مسح → اتصال

root@kitploit:~
python3 ollamaScraper.py
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only
python3 ollamaConnector.py --scan-csv results/scanner/ollama_scan_*.csv

الخيار ب (بأمر واحد): خط أنابيب المنسّق

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only

المنسّق (كشط → مسح → اتصال بأمر واحد)

ollamaOrchestrator.py يقوم ببساطة بتشغيل الكاشطة ثم الماسح ثم الموصل بحيث يمكنك الانتقال من حصاد شودان إلى CLI تفاعلية بأمر واحد. تبقى الكاشطة والموصل تفاعليين، لكن المنسّق يربط مخرجاتهما معًا من أجلك.

root@kitploit:~
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only
  • تُكتب الأهداف إلى results/orchestrator/targets.txt (غيّر باستخدام --targets).
  • تصل ملفات CSV الخاصة بالماسح إلى results/scanner/ بالبادئة من --scan-output-prefix (الافتراضي orchestrator_scan).
  • مرّر --connector-row لتحديد صف تلقائيًا عند تشغيل الموصل، أو اختر صفًا تفاعليًا كالمعتاد.
  • --skip-scrape و --skip-scan و --skip-connect تسمح لك باستئناف العمل جزئيًا باستخدام مخرجات موجودة (--scan-csv مطلوب عند تخطي مرحلة المسح).

ما زال باقي هذا القسم ينطبق إذا كنت ترغب في تشغيل كل وحدة يدويًا.


بطاقة أوامر سريعة

الكاشطة:

root@kitploit:~
# كشط تفاعلي أساسي (منتقي قناطر شودان)
python3 ollamaScraper.py

# مجلد إخراج + اسم ملف مخصص
python3 ollamaScraper.py --output-dir results/my-scrape -o targets_acme.txt

الماسح الضوئي:

root@kitploit:~
# مسح targets.txt (المنفذ الافتراضي 11434، التزامن 500، مهلة 8 ثوانٍ)
python3 ollamaScanner.py results/scraper/targets.txt

# فقط المضيفات التي يُرجع فيها /api/generate الرمز 200
python3 ollamaScanner.py results/scraper/targets.txt --gen-ok-only

# مسح متعدد المنافذ (مسافة وفاصلة ممزوجة)
python3 ollamaScanner.py results/scraper/targets.txt -p 11434 8080,13871

# مسح عدواني (مهلة قصيرة + التزامن عالي)
python3 ollamaScanner.py results/scraper/targets.txt --timeout 3 -c 800

# احتفظ فقط بالمضيفات المعرضة للخطر (RCE/DoS) والإصدارات غير المعروفة
python3 ollamaScanner.py results/scraper/targets.txt --vuln-only --show-unknown

# بادئة CSV مخصصة + مجلد إخراج
python3 ollamaScanner.py results/scraper/targets.txt -o scan_acme.csv --output-dir results/scanner_acme

المُتجوّل:

root@kitploit:~
# تصفية مجلد من ملفات CSV للماسح
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce

# تصفية ملف CSV واحد، قصر على نماذج llama، الحجم >= 7B
python3 ollamaNavigator.py --scan-csv results/scanner/scan_20260107_180002.csv \
  --model llama --min-params 7

# استبعاد النماذج + كلمات البحث
python3 ollamaNavigator.py --scan-csv results/scanner --exclude-model qwen --search france

# تصدير الصفوف المصفاة
python3 ollamaNavigator.py --scan-csv results/scanner --vuln dos \
  --json-output results/navigator/dos.json --csv-output results/navigator/dos.csv

# قائمة تصفية تفاعلية
python3 ollamaNavigator.py --scan-csv results/scanner --interactive

الموصل:

root@kitploit:~
# اتصال مباشر
python3 ollamaConnector.py --host http://127.0.0.1:11434 --model llama3

# استخدام صف من ملف CSV للماسح (فهرس يبدأ من 1)
python3 ollamaConnector.py --scan-csv results/scanner/scan_20260107_180002.csv --scan-row 3

المنسّق:

root@kitploit:~
# خط أنابيب كامل
python3 ollamaOrchestrator.py

# خط أنابيب كامل + فقط gen-ok + vuln-only
python3 ollamaOrchestrator.py --scan-gen-ok-only --scan-vuln-only

# إعادة استخدام الأهداف وملف CSV موجودين، تشغيل الموصل فقط
python3 ollamaOrchestrator.py --skip-scrape --skip-scan --scan-csv results/scanner/scan_20260107_180002.csv

# تخطي الموصل (كشط + مسح فقط)
python3 ollamaOrchestrator.py --skip-connect

1) تحضير الأهداف

targets.txt قد يحتوي على واحد لكل سطر:

  • عنوان IP واحد: 192.0.2.10
  • CIDR: 10.0.0.0/24
  • FQDN: ollama.example.org

إذا قمت بإنشاء القائمة باستخدام الكاشطة، وجّه الماسح إلى results/scraper/targets.txt (أو أي مسار اخترته باستخدام --output-dir).

يمكن لـ ollamaScraper.py بناء results/scraper/targets.txt لك عن طريق الاستعلام عن شودان:

root@kitploit:~
python3 ollamaScraper.py

يقوم البرنامج النصي بتخزين مفتاح API الخاص بك مؤقتًا في .shodan_api، ويسمح لك باختيار قنطرة (عالمية أو حسب الدولة)، ويضيف كل نتيجة إلى results/scraper/targets.txt مع طباعة سياق أساسي. يمكنك اختياريًا إضافة مرشح org:"Company" لتضييق النتائج. يؤدي الضغط على Ctrl+C أو الوصول إلى الحد الأقصى لعدد عناوين IP إلى إيقاف التشغيل. استخدم --output-dir / -o لتغيير المجلد أو اسم الملف، ثم مرّر هذا المسار إلى الماسح.

2) تشغيل الماسح الضوئي

اعرض فقط المضيفات التي يُرجع فيها /api/generate الرمز HTTP 200:

root@kitploit:~
python3 ollamaScanner.py targets.txt --gen-ok-only

مسح عدواني أكثر (مهلة قصيرة + التزامن عالي):

root@kitploit:~
python3 ollamaScanner.py targets.txt --gen-ok-only --timeout 3 -c 800

مثال مسح كامل:

  • مسح المنافذ 11434 و 8080
  • مهلة 2 ثانية، 1200 مقبس متزامن
  • احتفظ فقط بـ /api/generate == 200
  • اعرض فقط المضيفات المعرضة للخطر + تضمين الإصدارات غير المعروفة
  • بادئة CSV scan.csv
root@kitploit:~
python3 ollamaScanner.py targets.txt -p 11434,8080 --timeout 2 -c 1200 \
  --gen-ok-only --vuln-only --show-unknown -o scan.csv

تصل ملفات CSV الخاصة بالماسح الآن تحت results/scanner/. استخدم --output-dir إذا كنت ترغب في توجيه الملفات إلى مكان آخر (يتم إنشاء المجلد تلقائيًا).


مخرجات الماسح الضوئي

جدول الكونسول

يطبع الماسح جدول rich يتضمن:

  • IP، المنفذ
  • الإصدار (أو ? إذا كان غير معروف)
  • تصنيف الثغرة (rce، dos، patched، unknown)
  • رموز حالة HTTP للنقاط النهائية (tags، generate، show)
  • النماذج المكتشفة (فقط عندما يتم تأكيد التوليد)

تقرير CSV

يتم كتابة ملف CSV بصيغة زمنية تلقائيًا، على سبيل المثال:

ollama_scan_20260107_180002.csv

الحقول:

  • ip, port, version, vuln, tags, generate, show, models

المُتجوّل (مساعد ملف CSV للماسح)

استخدم المتجوّل لتصفية النتائج وفرزها وتصديرها من ملف CSV واحد أو مجلد كامل من مخرجات الماسح (إزالة التكرار حسب المضيف/المنفذ، دمج النماذج).

root@kitploit:~
python3 ollamaNavigator.py --scan-csv results/scanner --require-gen-ok --vuln rce --model llama
  • --scan-csv يقبل ملف CSV واحد أو مجلد من مخرجات الماسح.
  • تشمل المرشحات: احتواء/استبعاد النموذج، حالة الثغرة، نطاق حجم المعلمات، المنافذ، وسلاسل البحث.
  • الفرز: params (افتراضي)، ip، أو version.
  • استخدم --interactive للحصول على محرر تصفية قائم على القوائم + التصدير.
  • قم بتصدير الصفوف المصفاة باستخدام --json-output أو --csv-output.

الموصل (CLI تفاعلية)

اتصل بمثيل مكتشف واستقبل الردود:

root@kitploit:~
python3 ollamaConnector.py --host http://127.0.0.1:11434 --model llama3

إذا حذفت --model، يقوم CLI بجلب /api/tags، ويسرد كل نموذج يعرضه الخادم، ويسمح لك بالاختيار برقم. يقوم كل استعلام ببث الرموز (tokens) باللون السماوي حتى ينتهي الخادم أو تضغط على Ctrl+C. اكتب exit / quit للخروج.

يمكنك أيضًا توجيه الموصل إلى صف داخل ملف CSV للماسح حتى لا تضطر إلى إعادة كتابة المضيف والنموذج:

root@kitploit:~
python3 ollamaConnector.py --scan-csv scan_20260107_141056.csv --scan-row 3

--scan-row هو فهرس يبدأ من 1 (أول سطر بعد الرأس هو 1). إذا حذفته، يقوم الموصل بتحميل ملف CSV، ويعرض لك كل مضيف (IP/port، حالة الثغرة، أول نموذج)، ويسمح لك باختيار الفهرس، ثم يسرد النماذج المكتشفة لتختار أي واحد تتحدث معه. اختيار 0 أثناء استعلام النموذج يؤدي إلى جلب جديد لـ /api/tags، لذا يظل سلوك الموصل الأصلي يعمل إذا كان ملف CSV قديمًا أو فارغًا.


الكاشطة (مساعد شودان)

ollamaScraper.py هو مساعد بسيط يحتفظ بملف رمز .shodan_api، ويطلب اسم دولة (أو عالمي)، ويسمح لك بالاختيار من عدة قناطر جاهزة لشودان (أو استعلام مخصص)، ثم يتنقل عبر صفحات شودان حتى تقاطع أو تصل إلى حد المضيف الذي حددته. يتم كتابة كل IP إلى results/scraper/targets.txt، مما يعني أن الماسح يمكنه إعادة استخدام المخرجات فورًا. قم بتوفير دليل مختلف عبر --output-dir إذا رغبت.

كما أنه يقدم مرشح شركة/منظمة اختياري يلحق org:"Company" بالقنطرة، ويطبع تحذيرًا باستهداف الأنظمة التي تمتلكها فقط أو لديك إذن صريح لاختبارها.


أعلام المُنسّق (عالي المستوى)

  • --skip-scrape, --skip-scan, --skip-connect لاستئناف أجزاء من خط الأنابيب
  • --targets لاختيار ملف الأهداف المشترك
  • --ports, --scan-concurrency, --scan-timeout لضبط خطوة الماسح
  • --scan-output-prefix, --scan-output-dir للتحكم في مخرجات CSV للماسح
  • --scan-gen-ok-only, --scan-vuln-only, --scan-show-unknown لمرشحات الماسح
  • --scan-csv لإعادة استخدام ملف CSV موجود للماسح عند تخطي المسح
  • --connector-row لتحديد صف تلقائيًا عند تشغيل الموصل

ملفات المخرجات (ملخص)


ملاحظات حول تحليل حجم النموذج

يستخرج المتجوّل أحجام المعلمات من أسماء النماذج مثل 7B, 13b, أو 500m. يتم عرض الحجم الأعلى لكل مضيف في الجدول واستخدامه للفرز/التصفية (--min-params / --max-params).


السلامة والأخلاق والنطاق

أداة أولاماهاوند مبنية لأغراض الأمان الدفاعي والاختراق المأذون به:

  • استخدمها فقط على الأنظمة التي تمتلكها أو التي لديك إذن خطي صريح لاختبارها.
  • تحقق من النطاق والقيود القانونية وقواعد الاشتباك قبل المسح.
  • تعامل مع أي بيانات/نماذج/مخرجات مكتشفة باعتبارها حساسة.

المؤلف

7h30th3r0n3

تنزيل الأداة

الماسح الضوئي (Scanner)

اكتشاف غير متزامن عالي النطاق، وتحديد الإصدارات، وتصنيف CVE، واختبار النماذج.

ollamaScanner.py

الموصل (Connector)

عميل CLI تفاعلي بواجهة غنية للتحدث مع مثيل Ollama مكتشف.

ollamaConnector.py

الكاشطة (Scraper)

حصاد الأهداف المدعوم من شودان والذي يبني targets.txt بشكل تفاعلي.

ollamaScraper.py

المُتجوّل (Navigator)

أداة بحث/تصفية لملفات CSV الخاصة بالماسح مع إمكانية التصدير وقائمة تفاعلية.

ollamaNavigator.py

المنسّق (Orchestrator)

يُسلسل الكاشطة ← الماسح ← الموصل، ويمرر كل مخرجات إلى التي تليها.

ollamaOrchestrator.py

النتائج (Results)

المخرجات موجودة تحت results/ لسهولة إعادة الاستخدام عبر الوحدات.

  • اختبار التوليد عبر POST /api/generate
  • فرز ذكي
    • المضيفات حيث يُرجع /api/generate HTTP 200 تتصدر القائمة
  • مرشحات قوية
    • --gen-ok-only يحتفظ فقط بالمضيفات التي يعمل فيها /api/generate
    • --vuln-only يحتفظ فقط بالمضيفات المصنفة RCE/DoS
    • --show-unknown يشمل المضيفات ذات الإصدارات غير المعروفة/غير القابلة للتحليل
  • قابلية الضبط
    • منافذ متعددة، مهلات، التزامن، بادئة CSV
  • الوحدةالمخرجالموقع الافتراضي
    الكاشطةقائمة الأهدافresults/scraper/targets.txt
    الماسح الضوئيCSV بصيغة زمنيةresults/scanner/<prefix>_YYYYMMDD_HHMMSS.csv
    المُتجوّلتصدير اختياري إلى JSON/CSVnavigator_results.json / navigator_results.csv
    المُنسّقالأهداف + CSV للماسحresults/orchestrator/targets.txt + results/scanner/