Nmap是一个开源的网络连接端口扫描软件(内置于kali中)
打开Nmap:
> nmap
打开桌面化Nmap——zenmap:
> zenmap
Nmap支持多种扫描方式,用法简单,参数丰富:
案例一:扫描指定的IP所开方的的端口
> nmap -sS -p 1-65535 -v 192.168.2.129
上述命令:表示使用半开扫描,指定端口1-65535,显示扫描过程
root@kali:~# nmap -sS -p 1-65535 -v 192.168.2.129Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-22 12:34 CSTInitiating ARP Ping Scan at 12:34Scanning 192.168.2.129 [1 port]Completed ARP Ping Scan at 12:34, 0.03s elapsed (1 total hosts)Initiating Parallel DNS resolution of 1 host. at 12:34Completed Parallel DNS resolution of 1 host. at 12:34, 0.00s elapsedInitiating SYN Stealth Scan at 12:34Scanning 0XMirror.lan (192.168.2.129) [65535 ports]Discovered open port 3389/tcp on 192.168.2.129Discovered open port 445/tcp on 192.168.2.129Discovered open port 443/tcp on 192.168.2.129Discovered open port 135/tcp on 192.168.2.129Discovered open port 139/tcp on 192.168.2.129Discovered open port 49668/tcp on 192.168.2.129Discovered open port 49676/tcp on 192.168.2.129Discovered open port 49690/tcp on 192.168.2.129Discovered open port 49665/tcp on 192.168.2.129Discovered open port 49683/tcp on 192.168.2.129Discovered open port 903/tcp on 192.168.2.129Discovered open port 913/tcp on 192.168.2.129Discovered open port 49666/tcp on 192.168.2.129Discovered open port 5040/tcp on 192.168.2.129Discovered open port 5646/tcp on 192.168.2.129Discovered open port 28653/tcp on 192.168.2.129Discovered open port 49664/tcp on 192.168.2.129Discovered open port 49667/tcp on 192.168.2.129Discovered open port 49677/tcp on 192.168.2.129Completed SYN Stealth Scan at 12:34, 25.95s elapsed (65535 total ports)Nmap scan report for 0XMirror.lan (192.168.2.129)Host is up (0.00020s latency).Not shown: 65516 closed portsPORT STATE SERVICE135/tcp open msrpc139/tcp open netbios-ssn443/tcp open https445/tcp open microsoft-ds903/tcp open iss-console-mgr913/tcp open apex-edge3389/tcp open ms-wbt-server5040/tcp open unknown5646/tcp open vfmobile28653/tcp open unknown49664/tcp open unknown49665/tcp open unknown49666/tcp open unknown49667/tcp open unknown49668/tcp open unknown49676/tcp open unknown49677/tcp open unknown49683/tcp open unknown49690/tcp open unknownMAC Address: 4C:ED:FB:47:0A:D2 (Unknown)Read data files from: /usr/bin/../share/nmapNmap done: 1 IP address (1 host up) scanned in 26.15 seconds Raw packets sent: 68562 (3.017MB) | Rcvd: 65536 (2.622MB)
Nmap常用的扫描参数以及说明:
参数 | 说明 |
-sT | TCP扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息 |
-sS | 半开扫描,很少有系统能够把它记入系统日志。但需要root权限 |
-sF -sN | 秘密FIN数据包扫描、XmasTree、Null扫描模式 |
-sP | Ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描 |
-sU | UDP扫描, |
-sA | 高级扫描方法,通常用来穿过防火墙的规则集 |
-sV | 探测端口服务版本 |
-P0 | 扫描之前不用ping命令,防火墙禁止ping的时候,可以使用此选项进行扫描 |
-v | 显示扫描结果 |
-h | 帮助文档 |
-p | 指定扫描的端口范围 |
-O | 启动远程操作系统检测 |
-A | 全面系统检测、启动脚本检测、扫描等 |
-oN/-oX/-oG | 将报告写入文件,分别是正常、XML \grepable三种模式 |
-T4 | 针对TCP端口禁止动态扫描延迟超过10ms |
-iL | 读取主机列表 |
案例二:扫描www.xxser.com C段存活主机
> nmap -sP www.xxser.com/24
案例三:指定端口扫描(nmap默认扫描的只有高危端口,若想全盘扫端口,需要 -p 1-65535 或者 -p- 设置端口范围)
> nmap -p 80,23,233,34 www.xxser.com
案例四:探测主机操作系统
> nmap -O www.xxser.com
案例五:全面的系统探测
nmap -v -p- A 192.168.2.129
案例六:穿透防火墙进行全面扫描(若对方系统是禁止使用ping命令的,则需要穿过防火墙规则)
nmap -Pn -A www.2cto.com
Nmap的脚本引擎:
Nmap Script是Nmap最好的功能之一,利用Nmap Script可以快速探测服务器。在Nmap的安装目录下存在Script文件夹,“.nse”后缀结尾的文本文件即是Nmap自带的脚本引擎;当然也可以自己编写脚本,Nmap Script实现许多不同的功能,包含漏洞扫描、漏洞利用、目录扫描等实用功能。
使用Nmap脚本引擎是,只需要添加命令 “--script=脚本名称.nse";
案例一:扫描Web敏感目录
nmap -p 80 --script=http-enum.nse www.xxser.com
案例二:扫描Sqllnjection
扫描SQL注射漏洞是简单的,主要用到了sql-injection.nse脚本文件(脚本nse文件可以从nmap官网下载)
> nmap --script=sql-injection.nse www.xxser.com
案例三:使用所有脚本进行扫描(非常耗时)
> nmap --script all 127.0.0.1
案例四:使用通配符扫描
> nmap --script "http-*" 127.0.0.1
(表示使用所有以 http 开头的脚本扫描)
总结:
Nmap可以用来检测主机是否存在漏洞和密码暴力破解等;用好Nmap脚本引擎是一大助力,可以使用参数自由的使用命令对目标主机进行探测,使用起来非常灵活。
-------------------------------------------
DirBuster:
在渗透测试过程中,探测Web目录结构和隐藏铭感文件是必不可少的的一部分;可以通过目录扫描和文件敏感,发现后台管理后台、文件上传界面、有可能还会扫出网站的源代码;DirBuster则是一个功能优秀的探测工具;
DirBuster 采用Java编写,所以安装DirBuster时需要Java的运行环境JRE
1、在Target URL 输入框中输入 目标主机URL(需要协议名)
2、在Work Method中可以选择工作方式:GET请求方式或者自动选择方式
3、在Number Of Thread中选择线程
4、在Select Scanning typeh中选择扫描类型(可以使用字典进行扫描【List based brute force】)
5、Browse按钮选择字典(可以选择自带或者自己配置的字典)
6、在Select Starting Options中选择选项:Standard start point 和 Url Fuzz ;偏向于选择后者,但需要输入 “{dir}”:代表字典中的每一行。
点击 Start 开始对目标URL开始扫描
##### 类似的扫描工具多不胜数:御剑后台扫描就是一个典例 #################
针对目标的扫描,需要递归进行测试,需要对已经扫出的目录进行递归扫描;因为很有可能该目录就是另外一个Web应用程序。
——————————————————
指纹识别:
指纹由于具有终身不变性、唯一性;所以是所有特征识别的代名词。
在Nmap针对操作系统进行指纹识别
> nmap -O 192.168.2.129
通过Nmap -O命令可识别服务器操作系统的指纹,但是很多时候也是识别不了的;