
Um scanner de portas escrito puramente em PowerShell.
Um scanner de portas escrito puramente em PowerShell.
Esta ferramenta foi concebida apenas para fins legais; os utilizadores são responsáveis por garantir que a sua utilização desta ferramenta cumpre todas as leis aplicáveis. Ao utilizar esta ferramenta, assume total responsabilidade por qualquer ação que execute. Nem a NCC Group nem o autor aceitam qualquer responsabilidade por danos causados pela utilização desta ferramenta.
SYNTAX
ps2.ps1 [-banners] [-delay <Int32>] [-inFiles <FileInfo[]>] [-hostnames <String[]>] [-ips <String[]>]
[-serviceMap <FileInfo>] [-noColour] [-noPing] [-overwrite] [-outAll <FileInfo>] [-outJson <FileInfo>]
[-outTxt <FileInfo>] [-ports <Int32[]>] [-quick] [-randomise] [-timeout <Int32>] [-topPorts <Int32>]
[-traceroute] -udp [-v]
ps2.ps1 [-banners] [-delay <Int32>] [-inFiles <FileInfo[]>] [-hostnames <String[]>] [-ips <String[]>]
[-serviceMap <FileInfo>] [-noColour] [-noPing] [-overwrite] [-outAll <FileInfo>] [-outJson <FileInfo>]
[-outTxt <FileInfo>] [-ports <Int32[]>] [-quick] [-randomise] [-timeout <Int32>] [-topPorts <Int32>]
[-traceroute] -tcp [-v]
ps2.ps1 [-delay <Int32>] [-inFiles <FileInfo[]>] [-hostnames <String[]>] [-ips <String[]>] [-noColour]
[-overwrite] [-outAll <FileInfo>] [-outJson <FileInfo>] [-outTxt <FileInfo>] [-randomise]
[-timeout <Int32>] [-traceroute] -ping [-v]
ps2.ps1 -help
PARAMETERS
-banners [<SwitchParameter>]
(-b) Attempt to grab banners from open ports
-delay <Int32>
(-d) Delay to use between each connection in milliseconds
-inFiles <FileInfo[]>
(-f) File(s) containing targets to scan (1 per line)
-help [<SwitchParameter>]
(-h) Displays help information
-hostnames <String[]>
(-n) Hostname(s) of target(s) to scan
-ips <String[]>
(-i) IP address(es) of target(s) to scan (supports individual IPv4 addresses, IPv4 address ranges,
IPv4 CIDR notation, and individual IPv6 addresses)
-serviceMap <FileInfo>
(-m) Service map to use (overrides default of <PS2_dir>/servicemap.csv)
-noColour [<SwitchParameter>]
(-nC) Do not use colour in terminal output
-noPing [<SwitchParameter>]
(-nP) Assume all hosts are up and do not ping them prior to scanning
-overwrite [<SwitchParameter>]
(-o) Force output files to be overwritten if they exist and do not prompt for confirmation
-outAll <FileInfo>
(-oA) Save output in txt and JSON formats to files with a specified name (supersedes -oJ and -oT
options)
-outJson <FileInfo>
(-oJ) Save output in JSON format to a specified file
-outTxt <FileInfo>
(-oT) Save output in txt format to a specified file
-ports <Int32[]>
(-p) Port(s) to scan [supports PowerShell ranges e.g. use "-p (1..65535)" to scan all ports] (overrides default of top 1000 commonly used ports)
-quick [<SwitchParameter>]
(-q) Scan only the top 100 most commonly used ports
-randomise [<SwitchParameter>]
(-r) Randomise the order in which hosts and ports are scanned
-timeout <Int32>
(-t) Timeout to use for connections in milliseconds (overrides default of 1000ms)
-topPorts <Int32>
Scan the top n most commonly used ports (maximum 1000)
-traceroute [<SwitchParameter>]
Trace hop path to each host
-ping [<SwitchParameter>]
(-sP) Perform a ping scan
-tcp [<SwitchParameter>]
(-sT) Perform a TCP connect scan
-udp [<SwitchParameter>]
(-sU) Perform a UDP scan
-v [<SwitchParameter>]
(-Verbose, -vb) Show verbose output
-------------------------- EXAMPLE 1 --------------------------
PS C:\>ps2.ps1 -sT -i 192.168.1.1
Perform a TCP connect scan against the top 1000 most commonly used ports
-------------------------- EXAMPLE 2 --------------------------
PS C:\>ps2.ps1 -sT -p (1..65535) -i 192.168.1.1
Perform a TCP connect scan against all ports
-------------------------- EXAMPLE 3 --------------------------
PS C:\>ps2.ps1 -sU -i 192.168.1.1
Perform a UDP scan against the top 1000 most commonly used ports
-------------------------- EXAMPLE 4 --------------------------
PS C:\>ps2.ps1 -sP -i 192.168.1.1
Perform a ping scan
Os mapas de serviços são utilizados para definir quais os serviços conhecidos por serem executados em determinadas portas.
O PS2 funciona sem um mapa de serviços, no entanto, não será capaz de fornecer informações sobre serviços sem um.
Por predefinição, o PS2 procura servicemap.csv no mesmo diretório de ps2.ps1, no entanto, isto pode ser substituído usando os parâmetros -serviceMap ou -m.
O ficheiro de mapa de serviços incluído neste repositório foi gerado numa máquina Kali Linux usando o seguinte comando:
sed '/^#/d' /usr/share/nmap/nmap-services | sed '/^unknown\s/d' | cut -f 1,2 --output-delimiter "," | cut -d '/' -f 1,2 --output-delimiter "," | grep -P ',tcp$|,udp$' | unix2dos > servicemap.csv
O PS2 deve ser compatível com a versão 5.1 do PowerShell e superiores.
Os payloads UDP foram retirados de udp-proto-scanner.