网络安全渗透工具------Nmap
Nmap是开源的端口扫描工具,可以用来进行系统安全加固,通过对目标系统进行扫描得出目标系统开放了哪些端口,关闭不必要的端口,防止黑客入侵利用。但是,Nmap也可以被黑客用来做攻击前的准备工具,所以Nmap是把双刃剑!
目前该软件支持在三种平台上简易操作,但是目前最新版的软件还不能支持win10家庭版(因为我试过了,有BUG,我会在文章最后说明)
以目标系统为 Windows 7客户端操作系统 为例,这个系统是我用来做蜜罐的操作系统
扫描其实是通过内置的脚本对目标系统进行扫描,根据扫描类型调用对应数量的扫描脚本
1 快速扫描
这种只能查看开放了哪些端口和服务名称而已,虽然速度快,但是会漏掉一些端口,不精确
2 高强度扫描
可以看到这次扫描结果比快速扫描精确,快速扫描漏掉了几个端口,而且目标系统的加密类型,甚至端口对应服务的版本号都能扫描出来。。。这是很恐怖的一件事情,比如可以看出你正在使用的vmware workstations版本是14.0,那么对方可以上网搜索VMware workstations这个14.0版本的一些已知漏洞,然后根据这些信息成功入侵目标系统。
所以说经常更新系统软件有好处,毕竟上一个版本的漏洞会被软件开发商在下一个版本软件里修复掉(一般的软件厂商都是这样的,除了一些奇葩不负责任的厂商)
我截取一段内容
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-24 10:02 ?D1ú±ê×?ê±??
NSE: Loaded 153 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 10:02
Completed NSE at 10:02, 0.00s elapsed
Initiating NSE at 10:02
Completed NSE at 10:02, 0.00s elapsed
Initiating NSE at 10:02
Completed NSE at 10:02, 0.00s elapsed
Initiating Parallel DNS resolution of 1 host. at 10:02
Completed Parallel DNS resolution of 1 host. at 10:02, 11.00s elapsed
Initiating SYN Stealth Scan at 10:02
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 135/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Discovered open port 445/tcp on 127.0.0.1
Discovered open port 49152/tcp on 127.0.0.1
Discovered open port 49155/tcp on 127.0.0.1
Discovered open port 912/tcp on 127.0.0.1
Discovered open port 49156/tcp on 127.0.0.1
Discovered open port 902/tcp on 127.0.0.1
Discovered open port 49154/tcp on 127.0.0.1
Completed SYN Stealth Scan at 10:03, 1.22s elapsed (1000 total ports)
Initiating Service scan at 10:03
Scanning 9 services on localhost (127.0.0.1)
Service scan Timing: About 55.56% done; ETC: 10:04 (0:00:43 remaining)
Completed Service scan at 10:05, 140.10s elapsed (9 services on 1 host)
Initiating OS detection (try #1) against localhost (127.0.0.1)
Retrying OS detection (try #2) against localhost (127.0.0.1)
Retrying OS detection (try #3) against localhost (127.0.0.1)
Retrying OS detection (try #4) against localhost (127.0.0.1)
Retrying OS detection (try #5) against localhost (127.0.0.1)
NSE: Script scanning 127.0.0.1.
Initiating NSE at 10:05
Completed NSE at 10:06, 30.05s elapsed
Initiating NSE at 10:06
Completed NSE at 10:06, 0.10s elapsed
Initiating NSE at 10:06
Completed NSE at 10:06, 0.00s elapsed
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 990 closed ports
PORT STATE SERVICE VERSION
53/tcp filtered domain
135/tcp open msrpc Microsoft Windows RPC
443/tcp open ssl/https VMware Workstation SOAP API 14.0.0
| fingerprint-strings:
| FourOhFourRequest:
| HTTP/1.1 404 Not Found
| Date: Wed, 24 Feb 2021 02:03:12 GMT
| Connection: close
| Content-Type: text/plain; charset=utf-8
| X-Frame-Options: DENY
| Content-Length: 0
| GetRequest:
| HTTP/1.1 403 Forbidden
| Date: Wed, 24 Feb 2021 02:03:12 GMT
| Connection: close
| Content-Type: text/plain; charset=utf-8
| X-Frame-Options: DENY
| Content-Length: 0
| HTTPOptions:
| HTTP/1.1 501 Not Implemented
| Date: Wed, 24 Feb 2021 02:03:12 GMT
| Connection: close
| Content-Type: text/plain; charset=utf-8
| X-Frame-Options: DENY
| Content-Length: 0
| RTSPRequest:
| HTTP/1.1 400 Bad Request
| Date: Wed, 24 Feb 2021 02:03:22 GMT
| Connection: close
| Content-Type: text/html
| Content-Length: 50
|
400 Bad Request
| SIPOptions:
| HTTP/1.1 400 Bad Request
| Date: Wed, 24 Feb 2021 02:04:30 GMT
| Connection: close
| Content-Type: text/html
| Content-Length: 50
|_
400 Bad Request
| http-methods:
|_ Supported Methods: GET HEAD POST
|_http-title: Site doesn't have a title (text/plain; charset=utf-8).
| ssl-cert: Subject: commonName=VMware/countryName=US
| Issuer: commonName=VMware/countryName=US
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha256WithRSAEncryption
| Not valid before: 2020-12-21T02:14:35
| Not valid after: 2021-12-21T02:14:35
| MD5: 85f3 6afa 78c6 a939 2bde 80ad d91c 8e6c
|_SHA-1: 8537 8dc8 2d81 e79b 1cad 775a cbdd f238 7103 f2a3
|_ssl-date: TLS randomness does not represent time
| vmware-version:
| Server version: VMware Workstation 14.0.0
| Build: 6661328
| Locale version: INTL
| OS type: win32-x86
|_ Product Line ID: ws
445/tcp open microsoft-ds Windows 7 Ultimate 7601 Service Pack 1 microsoft-ds (workgroup: TSTA)
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
912/tcp open vmware-auth VMware Authentication Daemon 1.0 (Uses VNC, SOAP)
49152/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49156/tcp open msrpc Microsoft Windows RPC
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.91%E=4%D=2/24%OT=135%CT=1%CU=39079%PV=N%DS=0%DC=L%G=Y%TM=6035B4
OS:88%P=i686-pc-windows-windows)SEQ(SP=104%GCD=1%ISR=10A%TI=I%CI=I%II=I%TS=
OS:7)OPS(O1=MFFD7NW8ST11%O2=MFFD7NW8ST11%O3=MFFD7NW8NNT11%O4=MFFD7NW8ST11%O
OS:5=MFFD7NW8ST11%O6=MFFD7ST11)WIN(W1=2000%W2=2000%W3=2000%W4=2000%W5=2000%
OS:W6=2000)ECN(R=Y%DF=Y%T=40%W=2000%O=MFFD7NW8NNS%CC=N%Q=)T1(R=Y%DF=Y%T=40%
OS:S=O%A=S+%F=AS%RD=0%Q=)T2(R=Y%DF=Y%T=40%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=
OS:Y%DF=Y%T=40%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=40%W=0%S=A%A=O%F=R
OS:%O=%RD=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=
OS:40%W=0%S=A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0
OS:%Q=)U1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=Z%RUCK=G%RUD=G)IE(R
OS:=Y%DFI=N%T=40%CD=Z)
Uptime guess: 0.044 days (since Wed Feb 24 09:02:03 2021)
Network Distance: 0 hops
TCP Sequence Prediction: Difficulty=261 (Good luck!)
IP ID Sequence Generation: Incrementing by 2
Service Info: Host: CHENHQ-PC; OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:vmware:Workstation:14.0.0
Host script results:
|_clock-skew: mean: -2h39m59s, deviation: 4h37m07s, median: 0s
| smb-os-discovery:
| OS: Windows 7 Ultimate 7601 Service Pack 1 (Windows 7 Ultimate 6.1)
| OS CPE: cpe:/o:microsoft:windows_7::sp1
| Computer name: chenhq-pc
| NetBIOS computer name: CHENHQ-PC\x00
| Domain name: tsta.com.cn
| Forest name: tsta.com.cn
| FQDN: chenhq-pc.tsta.com.cn
|_ System time: 2021-02-24T10:05:31+08:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2021-02-24T02:05:31
|_ start_date: 2021-02-24T01:02:39
NSE: Script Post-scanning.
Initiating NSE at 10:06
Completed NSE at 10:06, 0.00s elapsed
Initiating NSE at 10:06
Completed NSE at 10:06, 0.00s elapsed
Initiating NSE at 10:06
Completed NSE at 10:06, 0.00s elapsed
Read data files from: C:\Program Files (x86)\Nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 207.46 seconds
Raw packets sent: 1081 (51.134KB) | Rcvd: 2403 (115.730KB)
为了让英语不好的朋友们理解,我翻译一些扫描结果内容如下
启动Nmap 7.91(https://nmap.org)2021-02-24 10:02?D1ú±ê×?ê±??
NSE:加载了153个脚本进行扫描。
NSE:脚本预扫描。
10:02启动NSE
10:02完成,0.00秒过去
10:02启动NSE
10:02完成,0.00秒过去
10:02启动NSE
10:02完成,0.00秒过去
正在启动1个主机的并行DNS解析。10点02分
已完成1个主机的并行DNS解析。10:02,11:00过去了
在10:02启动同步隐形扫描
正在扫描本地主机(127.0.0.1)[1000个端口]
在127.0.0.1上发现开放端口135/tcp
在127.0.0.1上发现开放端口443/tcp
在127.0.0.1上发现开放端口445/tcp
在127.0.0.1上发现开放端口49152/tcp
在127.0.0.1上发现开放端口49155/tcp
在127.0.0.1上发现开放端口912/tcp
在127.0.0.1上发现开放端口49156/tcp
在127.0.0.1上发现开放端口902/tcp
在127.0.0.1上发现开放端口49154/tcp
10:03完成SYN隐形扫描,耗时1.22秒(共1000个端口)
10:03启动服务扫描
正在本地主机上扫描9个服务(127.0.0.1)
服务扫描时间:完成约55.56%;ETC:10:04(剩余0:00:43)
在10:05完成服务扫描,运行140.10秒(1台主机上有9个服务)
针对本地主机(127.0.0.1)启动操作系统检测(try#1)
正在针对本地主机(127.0.0.1)重试操作系统检测(try#2)
正在针对本地主机(127.0.0.1)重试操作系统检测(try#3)
正在针对本地主机(127.0.0.1)重试操作系统检测(try#4)
正在针对本地主机(127.0.0.1)重试操作系统检测(try#5)
NSE:脚本扫描127.0.0.1。
10:05启动NSE
10:06,30:05完成
10:06启动NSE
10:06完成NSE,经过0.10秒
10:06启动NSE
10:06完成,0.00秒过去
本地主机的Nmap扫描报告(127.0.0.1)
主机启动(0.000012s延迟)。
未显示:990个封闭端口
端口状态服务版本
53/tcp过滤域
135/tcp打开msrpc Microsoft Windows RPC
443/tcp开放ssl/https VMware Workstation SOAP API 14.0.0
|指纹字符串:
|四个请求:
|找不到HTTP/1.1 404
|日期:2021年2月24日星期三02:03:12 GMT
|连接:关闭
|内容类型:文本/纯文本;字符集=utf-8
|X帧选项:拒绝
|内容长度:0
|获取请求:
|HTTP/1.1 403禁止
|日期:2021年2月24日星期三02:03:12 GMT
|连接:关闭
|内容类型:文本/纯文本;字符集=utf-8
|X帧选项:拒绝
|内容长度:0
|http选项:
|HTTP/1.1 501未实现
|日期:2021年2月24日星期三02:03:12 GMT
|连接:关闭
|内容类型:文本/纯文本;字符集=utf-8
|X帧选项:拒绝
|内容长度:0
|RTS请求:
|HTTP/1.1 400错误请求
|日期:2021年2月24日星期三02:03:22 GMT
|连接:关闭
|内容类型:text/html
|内容长度:50
|
400错误请求
|SIP选项:
|HTTP/1.1 400错误请求
|日期:2021年2月24日星期三02:04:30 GMT
|连接:关闭
|内容类型:text/html
|内容长度:50
|_
400错误请求
|http方法:
|_支持的方法:GET HEAD POST
|_http标题:站点没有标题(text/plain;charset=utf-8)。
|ssl证书:主题:commonName=VMware/countryName=US
|颁发者:commonName=VMware/countryName=US
|公钥类型:rsa
|公钥位:2048
|签名算法:SHA256WITHRSA加密
|无效日期:2020-12-21T02:14:35
|2021-12-21T02:14:35后无效
|MD5:85f3 6afa 78c6 a939 2bde 80ad d91c 8e6c
|_SHA-1:8537 8dc8 2d81 e79b 1cad 775a cbdd f238 7103 f2a3
|_ssl日期:TLS随机性不代表时间
|vmware版本:
|服务器版本:VMware Workstation 14.0.0
|制造:6661328
|区域设置版本:INTL
|操作系统类型:win32-x86
|_产品线ID:ws
445/tcp打开microsoft ds Windows 7 Ultimate 7601 Service Pack 1 microsoft ds(工作组:TSTA)
902/tcp open ssl/vmware auth vmware Authentication Daemon 1.10(使用VNC、SOAP)
912/tcp open vmware auth vmware Authentication Daemon 1.0(使用VNC、SOAP)
49152/tcp打开msrpc Microsoft Windows RPC
49154/tcp打开msrpc Microsoft Windows RPC
49155/tcp打开msrpc Microsoft Windows RPC
49156/tcp打开msrpc Microsoft Windows RPC
没有与主机完全匹配的操作系统(如果您知道主机上运行什么操作系统,请参阅https://nmap.org/submit/).
TCP/IP指纹:
OS:扫描(V=7.91%E=4%D=2/24%OT=135%CT=1%CU=39079%PV=N%DS=0%DC=L%G=Y%TM=6035B4
操作系统:88%P=i686 pc windows)顺序(SP=104%GCD=1%ISR=10A%TI=I%CI=I%II=I%TS=
操作:7)操作(O1=MFFD7NW8ST11%O2=MFFD7NW8ST11%O3=MFFD7NW8NNT11%O4=MFFD7NW8ST11%O)
OS:5=MFFD7NW8ST11%O6=MFFD7ST11)赢(W1=2000%W2=2000%W3=2000%W4=2000%W5=2000%
OS:W6=2000)ECN(R=Y%DF=Y%T=40%W=2000%O=MFFD7NW8NNS%CC=N%Q=)T1(R=Y%DF=Y%T=40%
操作系统:S=O%A=S+%F=AS%R
精确度还挺高的
3 慢综合扫描
精确度最高的是慢综合扫描,这里就不再详细展示了,因为这种扫描速度慢,但是是最精确的扫描,内容结果很长
目标系统主机名,加入的域名,Mac地址,同个vlan里的其它主机名和IP地址等等都能弄出来。。。
温馨提示:你在扫描目标系统的同时,如果目标系统所在的网络里有一些安全设备,比如下一代防火墙(比如深信服防火墙),IDS设备(入侵检查系统)和IPS设备(入侵防御系统),审计设备或者堡垒主机等等,你的扫描行为对方是能够查获的,甚至阻止。
通过域名进行扫描也行
以目标系统为 Centos 8 为例,这个也是我的蜜罐系统
没开机前
开机后,连我安装过哪一些命令行软件包都查了出来。
请注意,这是在我centos 8的防火墙和selinux都开启的情况下进行的渗透。
ngnix精确到版本号都查出来了
要是把安全措施都关闭,能查出更多可利用的信息
最后,我说的bug是在Windows 10 家庭中文版的情况下,
无论你是 快速扫描,还是慢综合扫描,都无法执行脚本
提示类型错误:强制使用Unicode ,类型应该为字符串 或者 buffer
还额外发现一个Unicode的解码错误
解决方法:升级为专业版系统