第七天 漏洞扫描

NMAP

Nmap是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。


nmap

优势:

 功能灵活强大,支持多种目标,大量计算机的同时扫描;

 开源,相关帮助文档十分详细;

 流行,由于其具有强大的扫描机探测功能,,已被成千上万安全专家使用。

劣势:

 Nmap参数众多,难以一一记忆;

            扫描漏洞不强,不像专业系统漏洞扫描器

1、Nmap是一个免费开源网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口,也可以扫漏洞。

2、主要功能:

(1)、主机发现

 -sn: Ping Scan 只进行主机发现,不进行端口扫描。

 --traceroute: 追踪每个路由节点

如:nmap -sn 192.168.0.1-200

nmap --traceroute 14.215.177.38

(2)、端口扫描

命令如下:nmap -sS -sU -T4 -top-ports 300 1.1.1.100

参数-sS表示使用TCP SYN方式扫描TCP端口;-sU表示扫描UDP端口;-T4表示时间级别配置4级;--top-ports 300表示扫描最有可能开放的300个端口(TCP和UDP分别有300个端口)。

常用端口入侵表:https://www.php.cn/safe/436409.html

(3)、版本侦测

nmap -sV 192.168.0.105  指定让Nmap进行版本侦测

(4)、OS侦测

命令:nmap –O 10.1.1.100

(5)漏洞检测

扫描端口并且标记可以爆破的服务

nmap 目标 --script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute

判断常见的漏洞并扫描端口

nmap 目标 --script=auth,vuln

精确判断漏洞并扫描端口

nmap 目标 --script=dns-zone-transfer,ftp-anon,ftp-proftpd-backdoor,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221,http-backup-finder,http-cisco-anyconnect,http-iis-short-name-brute,http-put,http-php-version,http-shellshock,http-robots.txt,http-svn-enum,http-webdav-scan,iis-buffer-overflow,iax2-version,memcached-info,mongodb-info,msrpc-enum,ms-sql-info,mysql-info,nrpe-enum,pptp-version,redis-info,rpcinfo,samba-vuln-cve-2012-1182,smb-vuln-ms08-067,smb-vuln-ms17-010,snmp-info,sshv1,xmpp-info,tftp-enum,teamspeak2-version

主机发现原理

主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种不同的主机探测方式,比如发送ICMPECHO/TIMESTAMP/NETMASK报文、发送TCPSYN/ACK包、发送SCTP INIT/COOKIE-ECHO包,用户可以在不同的条件下灵活选用不同的方式来探测目标机。

主机发现的基本用法

-sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现。 

-sn: Ping Scan 只进行主机发现,不进行端口扫描。 

-Pn: 将所有指定的主机视作开启的,跳过主机发现的过程。 

-PS/PA/PU/PY[portlist]: 使用TCPSYN/ACK或SCTP INIT/ECHO方式进行发现。 

-PE/PP/PM: 使用ICMP echo, timestamp, and netmask 请求包发现主机。

-PO[protocollist]: 使用IP协议包探测对方主机是否开启。

 -n/-R: -n表示不进行DNS解析;-R表示总是进行DNS解析。 

--dns-servers.: 指定DNS服务器。 

--system-dns: 指定使用系统的DNS服务器 

--traceroute: 追踪每个路由节点 

端口扫描原理

端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口。Nmap通过探测将端口划分为6个状态:

open:端口是开放的。

closed:端口是关闭的。

filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。

open|filtered:端口是开放的或被屏蔽。

closed|filtered:端口是关闭的或被屏蔽。


端口扫描用法

-sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描。 

-sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况。 

-sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态。 

--scanflags : 定制TCP包的flags。 

-sI : 指定使用idle scan方式来扫描目标主机(前提需要找到合适的zombie host)

-sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况。 

-sO: 使用IP protocol 扫描确定目标机支持的协议类型。

-b : 使用FTP bounce scan扫描方式 

版本侦测原理

简要的介绍版本的侦测原理。版本侦测主要分为以下几个步骤:

首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。

如果是TCP端口,尝试建立TCP连接。尝试等待片刻(通常6秒或更多,具体时间可以查询文件nmap-services-probes中Probe TCP NULL q||对应的totalwaitms)。通常在等待时间内,会接收到目标机发送的“WelcomeBanner”信息。nmap将接收到的Banner与nmap-services-probes中NULL probe中的签名进行对比。查找对应应用程序的名字与版本信息。

如果通过“Welcome Banner”无法确定应用程序版本,那么nmap再尝试发送其他的探测包(即从nmap-services-probes中挑选合适的probe),将probe得到回复包与数据库中的签名进行对比。如果反复探测都无法得出具体应用,那么打印出应用返回报文,让用户自行进一步判定。

如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型。

如果探测到应用程序是SSL,那么调用openSSL进一步的侦查运行在SSL之上的具体的应用类型。

如果探测到应用程序是SunRPC,那么调用brute-force

RPC grinder进一步探测具体服务。

版本侦测用法

-sV: 指定让Nmap进行版本侦测 

--version-intensity : 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。 

--version-light: 指定使用轻量侦测方式 (intensity 2) 

--version-all: 尝试使用所有的probes进行侦测 (intensity

9) 

--version-trace: 显示出详细的版本侦测过程信息。


OS侦测原理

Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。具体实现方式如下:

Nmap 内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中)。将此指纹数据库作为进行指纹对比的样本库。分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。


OS侦测用法

-O: 指定Nmap进行OS侦测。 

--osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。 

--osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。


漏洞扫描

扫描端口并且标记可以爆破的服务

nmap 目标--script=ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute

判断常见的漏洞并扫描端口

nmap 目标 --script=auth,vuln

精确判断漏洞并扫描端口

nmap 目标 --script=dns-zone-transfer,ftp-anon,ftp-proftpd-backdoor,ftp-vsftpd-backdoor,ftp-vuln-cve2010-4221,http-backup-finder,http-cisco-anyconnect,http-iis-short-name-brute,http-put,http-php-version,http-shellshock,http-robots.txt,http-svn-enum,http-webdav-scan,iis-buffer-overflow,iax2-version,memcached-info,mongodb-info,msrpc-enum,ms-sql-info,mysql-info,nrpe-enum,pptp-version,redis-info,rpcinfo,samba-vuln-cve-2012-1182,smb-vuln-ms08-067,smb-vuln-ms17-010,snmp-info,sshv1,xmpp-info,tftp-enum,teamspeak2-version

burp 测试渗透神器

1、首先安装jdk 8.0版本

2、记得关闭杀软和防火墙

3、双击run.bat参考视频激活burp

4、修改burp字体

5、当burp配置忘记修改了那个地方的时候,大家可以通过用户选项进行恢复默认值

6、burp默认拦截发送包,不拦截回包,另外如果要长久打开网站,你直接在burp代理放行就可以,建议大家不使用代理的

时候一定记得关掉IE代理,不然网站打不开。

你可能感兴趣的:(第七天 漏洞扫描)