
JF⚡can - Superschnelles Port-Scannen und Dienst-Erkennung mit Masscan und Nmap. Scannen Sie große Netzwerke mit Masscan und nutzen Sie Nmap's Skriptfähigkeiten, um Informationen über Dienste zu entdecken. Bericht generieren.
[!CAUTION]
⚠️ Projekt veraltet
Dieses Projekt wurde aus Leistungs- und Funktionsgründen in Go neu geschrieben.
Bitte verwenden Sie die neue Version hier: nullt3r/massmap
JFScan ist ein Wrapper, der die Geschwindigkeit von Masscan und die Fingerprinting-Fähigkeiten von Nmap nutzt. JFScan akzeptiert Ziele in Form von URLs, Domains oder IPs (einschließlich CIDR). Sie können eine Datei mit Zielen als Argument angeben oder stdin verwenden.
JFScan ermöglicht es Ihnen auch, nur die Ergebnisse auszugeben und sie mit anderen Tools wie Nuclei zu verketten. Die Domain:Port-Ausgabe von JFScan ist entscheidend für die Identifizierung von Schwachstellen in Webanwendungen, da der virtuelle Host bestimmt, welche Inhalte ausgeliefert werden.
Darüber hinaus kann JFScan entdeckte Ports mit Nmap scannen und ermöglicht es Ihnen, benutzerdefinierte Optionen zu definieren und Nmaps erweiterte Skriptfähigkeiten zu nutzen.

Logik der Ein- und Ausgabeverarbeitung von 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
Bitte befolgen Sie die Installationsanweisungen, bevor Sie das Tool ausführen. Führen Sie JFScan nicht als Root aus, da dies nicht erforderlich ist, da wir dem Masscan-Binary spezielle Berechtigungen gesetzt haben.
Scannen Sie Ziele nur auf Ports 80 und 443 mit einer Rate von 10 kpps:
$ jfscan -p 80,443 --targets targets.txt -r 10000
Scannen Sie Ziele auf die Top-1000-Ports:
$ jfscan --top-ports 1000 1.1.1.1/24
Sie können Ziele auch über stdin angeben und an nuclei weiterleiten:
$ cat targets.txt | jfscan --top-ports 1000 -q | httpx -silent | nuclei
Oder als Positionsparameter:
$ jfscan --top-ports 1000 1.1.1.1/24 -q | httpx -silent | nuclei
Oder alles auf einmal, JFScan kümmert sich nicht darum und scannt alle angegebenen Ziele:
$ echo target1 | jfscan --top-ports 1000 target2 --targets targets.txt -q | httpx -silent | nuclei
Nutzen Sie nmap, um mehr Informationen über entdeckte Dienste zu sammeln:
$ cat targets.txt | jfscan -p 0-65535 --nmap --nmap-options="-sV --scripts ssh-auth-methods"
Die Datei targets.txt kann Ziele in den folgenden Formen enthalten (IPv6 ähnlich):
http://domain.com/
domain.com
1.2.3.4
1.2.3.0/24
1.1.1.1-1.1.1.30
Installieren Sie zuerst libpcap-dev (Debian-basierte Distribution) oder libcap-devel (Centos-basierte Distribution):
sudo apt install libpcap-dev
Klonen Sie als nächstes das offizielle Repository und installieren Sie es:
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 .
Wenn Sie jfscan nicht direkt von der Befehlszeile aus ausführen können, sollten Sie überprüfen, ob $HOME/.local/bin in Ihrem PATH ist.
Fügen Sie die folgende Zeile zu Ihrer ~/.zshrc oder ~/.bashrc hinzu:
export PATH="$HOME/.local/bin:$PATH"
Lesen Sie die Datei LICENSE.
Ich übernehme keine Haftung für Schäden. Sie sind für Ihre eigenen Handlungen verantwortlich. Das Angreifen von Zielen ohne vorherige gegenseitige Zustimmung ist illegal.
nmap -Pn -n -v yourTargetNetwork/26 -p- --min-parallelism 64 --min-rate 20000 --min-hostgroup 64 --randomize-hosts -sS -sV
Wie immer sind falsch positive/negative Ergebnisse zu erwarten.