小白日记14:kali渗透测试--NMAP
NAMP
被认为是最强大的扫描器
所有参数root@kali:~# nmap Nmap 7.01 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: <strong> #目标发现</strong> Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 #例子 <strong> -iL <inputfilename>: Input from list of hosts/networks #指定IP地址列表 -iR <num hosts>: Choose random targets #随机选定目标 +<主机IP> --exclude <host1[,host2][,host3],...>: Exclude hosts/networks #过滤某些IP,不对其进行扫描 --excludefile <exclude_file>: Exclude list from file #过滤整个文件中的ip,不对其进行扫描</strong> HOST DISCOVERY: <strong>-sL: List Scan - simply list targets to scan #列出要进行扫描的的IP -sn: Ping Scan - disable port scan #不做端口扫描 -Pn: Treat all hosts as online -- skip host discovery <span style="color:#ff0000;"> #防止防火墙拒绝扫描,继续后面的端口扫描</span> -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes #PM适用于老系统 -PO[protocol list]: IP Protocol Ping -n/-R: Never do DNS resolution/Always resolve [default: sometimes] #不做DNS解析/-R做反向解析 --dns-servers <serv1[,serv2],...>: Specify custom DNS servers #调用指定服务器 --system-dns: Use OS's DNS resolver #默认DNS,加不加没区别 --traceroute: Trace hop path to each host #路由路径</strong> SCAN TECHNIQUES: #端口扫描 <strong>-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans #默认用sS(SYN),加-sT使用TCP扫描,结果准确 #-sM:ACK+FIN -sU: UDP Scan -sN/sF/sX: TCP Null, FIN, and Xmas scans #-sN:flags全为0; --scanflags <flags>: Customize TCP scan flags #自定义flags 【8个flags】 需熟悉协议操作 -sI <zombie host[:probeport]>: Idle scan #僵尸扫描 -sY/sZ: SCTP INIT/COOKIE-ECHO scans #SCTP -sO: IP protocol scan -b <FTP relay host>: FTP bounce scan #针对FTP中继</strong> PORT SPECIFICATION AND SCAN ORDER: <strong>-p <port ranges>: Only scan specified ports #指定端口 Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 --exclude-ports <port ranges>: Exclude the specified ports from scanning #指定端口范围 -F: Fast mode - Scan fewer ports than the default scan #快速扫描,即默认的部分端口 -r: Scan ports consecutively - don't randomize #端口顺序连续扫描 --top-ports <number>: Scan <number> most common ports #扫默认1000端口中的指定数量个数 --port-ratio <ratio>: Scan ports more common than <ratio> #扫描更常用端口</strong> SERVICE/VERSION DETECTION: #服务扫描 <strong>-sV: Probe open ports to determine service/version info #默认情况下,匹配结果可能不够准确 #该部分命令均加上-sV --version-intensity <level>: Set from 0 (light) to 9 (try all probes) #扫描强度(0-9) --version-light: Limit to most likely probes (intensity 2) #2级 --version-all: Try every single probe (intensity 9) #9级 --version-trace: Show detailed version scan activity (for debugging) #跟踪扫描过程</strong> SCRIPT SCAN: #脚本扫描 -sC: equivalent to --script=default --script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts --script-args-file=filename: provide NSE script args in a file --script-trace: Show all data sent and received --script-updatedb: Update the script database. <strong><span style="color:#ff0000;"> --script-help=<Lua scripts>: Show help about scripts. #查询脚本作用 <Lua scripts> is a comma-separated list of script-files or script-categories.</span></strong> OS DETECTION: #系统 -O: Enable OS detection --osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressively TIMING AND PERFORMANCE: #时间设定 Options which take <time> are in seconds, or append 'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). -T<0-5>: Set timing template (higher is faster) --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes #最少一次扫多少主机 --min-parallelism/max-parallelism <numprobes>: Probe parallelization --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies #来回访问时间 probe round trip time. --max-retries <tries>: Caps number of port scan probe retransmissions. #最大探测次数 --host-timeout <time>: Give up on target after this long --scan-delay/--max-scan-delay <time>: Adjust delay between probes <strong> #扫描延迟,将时间设大一点,避免被发现</strong> --min-rate <number>: Send packets no slower than <number> per second --max-rate <number>: Send packets no faster than <number> per second <strong>FIREWALL/IDS EVASION AND SPOOFING: </strong> #防火墙和IDS的躲避或欺骗 -f; --mtu <val>: fragment packets (optionally w/given MTU) #最大传输单元 -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys #伪造源地址,增加噪声IP -S <IP_Address>: Spoof source address #欺骗源地址,得不到回包 建议与-e一起使用 -e <iface>: Use specified interface #指定网卡 -g/--source-port <portnum>: Use given port number #指定源端口 --proxies <url1,[url2],...>: Relay connections through HTTP/SOCKS4 proxies <strong>#指定代理</strong> --data <hex string>: Append a custom payload to sent packets #在包的数据字段加上内容(16进制数) --data-string <string>: Append a custom ASCII string to sent packets #加ASCII码 --data-length <num>: Append random data to sent packets --ip-options <options>: Send packets with specified ip options #加在IP包头 --ttl <val>: Set IP time-to-live field --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address #欺骗mac地址 --badsum: Send packets with a bogus TCP/UDP/SCTP checksum #差错检验 OUTPUT: -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3, #选择输出格式 and Grepable format, respectively, to the given filename. -oA <basename>: Output in the three major formats at once -v: Increase verbosity level (use -vv or more for greater effect) -d: Increase debugging level (use -dd or more for greater effect) --reason: Display the reason a port is in a particular state --open: Only show open (or possibly open) ports --packet-trace: Show all packets sent and received --iflist: Print host interfaces and routes (for debugging) --append-output: Append to rather than clobber specified output files --resume <filename>: Resume an aborted scan --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML --webxml: Reference stylesheet from Nmap.Org for more portable XML --no-stylesheet: Prevent associating of XSL stylesheet w/XML output MISC: -6: Enable IPv6 scanning #IPv6 -A: Enable OS detection, version detection, script scanning, and traceroute #参数组合键 --datadir <dirname>: Specify custom Nmap data file location --send-eth/--send-ip: Send using raw ethernet frames or IP packets --privileged: Assume that the user is fully privileged --unprivileged: Assume the user lacks raw socket privileges -V: Print version number -h: Print this help summary page. EXAMPLES: nmap -v -A scanme.nmap.org nmap -v -sn 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -Pn -p 80 SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLESman nmap:查看操作手册Nmap脚本查询脚本数量root@kali:/usr/share/nmap/scripts# less script.db | wc -l 515exploit:漏洞利用 vuln:漏洞识别某漏洞脚本:smb-vuln-ms10-061.nse
Stuxnet蠕虫利用的4个漏洞之一;Print Spooler权限不当,打印请求可在系统目录可创建文件、执行任意代码;LANMAN API枚举共享打印机;探测远程共享打印机名称若没发现共享打印机:smb-enum-shares枚举共享身份认证参数——smbuser、smbpasswordnmap -p445 --script=smb-enum-shares.nse --script-args=smbuser=admin,smbpassword=pass 1.1.1.1 #判断目标机器是否有共享打印机
###先检测是否有共享打印机,再扫描是否存在漏洞####对象:Windows XP,Server 2003 SP2,Vista,Server 2008, win 7
小白日记,未完待续……