
JF⚡can - فحص سريع جدًا للمنافذ واكتشاف الخدمات باستخدام Masscan و Nmap. امسح الشبكات الكبيرة باستخدام Masscan واستخدم قدرات Nmap في السكريبتات لاكتشاف معلومات حول الخدمات. إنشاء تقرير.
[!CAUTION]
⚠️ المشروع مُهمَل
تمت إعادة كتابة هذا المشروع بلغة Go للحصول على أداء وميزات أفضل. يرجى استخدام الإصدار الجديد هنا: nullt3r/massmap
JFScan هو غلاف يستفيد من سرعة Masscan وقدرات Nmap في التعرف على البصمات. يقبل JFScan الأهداف في شكل عناوين URL أو نطاقات أو عناوين IP (بما في ذلك CIDR). يمكنك تحديد ملف بالأهداف باستخدام وسيط، أو استخدام stdin.
يتيح لك JFScan أيضًا إخراج النتائج فقط وربطها بأدوات أخرى مثل Nuclei. إخراج domain:port من JFScan ضروري لتحديد الثغرات في تطبيقات الويب، حيث يحدد المضيف الافتراضي المحتوى الذي سيتم تقديمه.
بالإضافة إلى ذلك، يمكن لـ JFScan مسح المنافذ المكتشفة باستخدام Nmap، ويتيح لك تحديد خيارات مخصصة والاستفادة من قدرات Nmap المتقدمة في كتابة السكربتات.

منطق JFScan لمعالجة الإدخال والإخراج:

usage: jfscan [-h] [--targets TARGETS] (-p PORTS | --top-ports TOP_PORTS | --yummy-ports) [--resolvers RESOLVERS] [--enable-ipv6] [--scope SCOPE] [-r MAX_RATE] [--wait WAIT] [--disable-auto-rate] [-i INTERFACE] [--source-ip SOURCE_IP]
[--router-ip ROUTER_IP] [--router-mac ROUTER_MAC] [--router-mac-ipv6 ROUTER_MAC_IPV6] [-oi] [-od] [-o OUTPUT] [-q | -v] [--nmap] [--nmap-options NMAP_OPTIONS] [--nmap-threads NMAP_THREADS] [--nmap-output NMAP_OUTPUT] [--version]
[target]
JFScan - Just Fu*king Scan
optional arguments:
-h, --help show this help message and exit
-p PORTS, --ports PORTS
ports, can be a range or port list: 0-65535 or 22,80,100-500,...
--top-ports TOP_PORTS
scan only N of the top ports, e. g., --top-ports 1000
--yummy-ports scan only for the most yummy ports
-q, --quite output only results
-v, --verbose verbose output
--nmap run nmap on discovered ports
--nmap-options NMAP_OPTIONS
nmap arguments, e. g., --nmap-options='-sV' or --nmap-options='-sV --script ssh-auth-methods'
--nmap-threads NMAP_THREADS
number of nmaps to run concurrently, default 8
--nmap-output NMAP_OUTPUT
output results from nmap to specified file in standard XML format (same as nmap option -oX)
target a target or targets separated by a comma, accepted form is: domain name, IPv4, IPv6, URL
--targets TARGETS file with targets, accepted form is: domain name, IPv4, IPv6, URL
-oi, --only-ips output only IP adresses, default: all resources
-od, --only-domains output only domains, default: all resources
-o OUTPUT, --output OUTPUT
output masscan's results to specified file
--resolvers RESOLVERS
custom resolvers separated by a comma, e. g., 8.8.8.8,1.1.1.1
--enable-ipv6 enable IPv6 support, otherwise all IPv6 addresses will be ignored in the scanning process
--scope SCOPE file path with IP adresses and CIDRs to control scope, expected format: IPv6, IPv4, IPv6 CIDR, IPv4 CIDR
-r MAX_RATE, --max-rate MAX_RATE
max kpps rate for the masscan
--wait WAIT a number of seconds to wait for packets to arrive (when scanning large networks), option for the masscan
--disable-auto-rate disable rate adjustment mechanism for masscan (more false positives/negatives)
-i INTERFACE, --interface INTERFACE
interface for masscan and nmap to use
--source-ip SOURCE_IP
IP address of your interface for the masscan
--router-ip ROUTER_IP
IP address of your router for the masscan
--router-mac ROUTER_MAC
MAC address of your router for the masscan
--router-mac-ipv6 ROUTER_MAC_IPV6
MAC address of your IPv6 router for the masscan
--version show program's version number and exit
يرجى اتباع تعليمات التثبيت قبل التشغيل. لا تقم بتشغيل JFScan كجذر، فهذا ليس ضروريًا لأننا نضع أذونات خاصة على ملف masscan الثنائي.
امسح الأهداف للمنافذ 80 و443 فقط بمعدل 10 آلاف حزمة في الثانية:
$ jfscan -p 80,443 --targets targets.txt -r 10000
امسح الأهداف لأفضل 1000 منفذ:
$ jfscan --top-ports 1000 1.1.1.1/24
يمكنك أيضًا تحديد الأهداف عبر stdin وتوجيهها إلى Nuclei:
$ cat targets.txt | jfscan --top-ports 1000 -q | httpx -silent | nuclei
أو كمعامل موضعي:
$ jfscan --top-ports 1000 1.1.1.1/24 -q | httpx -silent | nuclei
أو كل شيء مرة واحدة، JFScan لا يهتم ويمسح جميع الأهداف المحددة:
$ echo target1 | jfscan --top-ports 1000 target2 --targets targets.txt -q | httpx -silent | nuclei
استخدم Nmap لجمع مزيد من المعلومات حول الخدمات المكتشفة:
$ cat targets.txt | jfscan -p 0-65535 --nmap --nmap-options="-sV --scripts ssh-auth-methods"
يمكن أن يحتوي targets.txt على أهداف بالأشكال التالية (IPv6 بالمثل):
http://domain.com/
domain.com
1.2.3.4
1.2.3.0/24
1.1.1.1-1.1.1.30
أولاً، ثبّت libpcap-dev (لتوزيعات Debian) أو libcap-devel (لتوزيعات Centos):
sudo apt install libpcap-dev
بعد ذلك، استنسخ المستودع الرسمي وقم بالتثبيت:
sudo apt-get --assume-yes install git make gcc
git clone https://github.com/robertdavidgraham/masscan
cd masscan
make
sudo make install
sudo setcap CAP_NET_RAW+ep /usr/bin/masscan
sudo apt install python3 python3-pip
$ git clone https://github.com/nullt3r/jfscan.git
$ cd jfscan
$ pip3 install .
إذا لم تتمكن من تشغيل jfscan مباشرة من سطر الأوامر، يجب التحقق من وجود $HOME/.local/bin في مسارك.
أضف السطر التالي إلى ملف ~/.zshrc أو ~/.bashrc:
export PATH="$HOME/.local/bin:$PATH"
اقرأ ملف LICENSE.
لست مسؤولاً عن أي أضرار. أنت مسؤول عن أفعالك. مهاجمة الأهداف دون موافقة متبادلة مسبقة غير قانونية.
nmap -Pn -n -v yourTargetNetwork/26 -p- --min-parallelism 64 --min-rate 20000 --min-hostgroup 64 --randomize-hosts -sS -sV
كما هو الحال دائمًا، توقع بعض الإيجابيات/السلبيات الكاذبة.