安全测试工具--NMAP端口扫描工具使用
拍摄于某工位
NMAP端口扫描工具使用
NMAP可以扫描主机的端口及对应的服务,操作系统版本等,以下对NMAP扫描端口和服务做简单介绍。
工具/原料
电脑
nmap
方法/步骤
在安装包中双击nmap-7.40-setup.exe进行安装,依次点击下一步即可。
安装完成后桌面会显示nmap图标。
打开Zenmap,假设我们要扫描一个网段,那么在命令框输入:nmap -p 1-65535 -T4 -A -v IP网段(如 xx.xx.xx.0/24是一个c段),然后点击扫描。
如果要扫描一台主机,则输入nmap -p 1-65535 -T4 -A -v 单个IP。
下图是单台主机扫描
扫描结束的标志。停止跳动后说明扫描结束了。
然后,可以点击端口/主机查看扫描结果。
这里用的是windows界面的扫描方法。你也可以进入dos界面,用命令行的方式,这种方式有很多种命令供你选择。我最长用的是扫描一个段,采用全端口扫描的方式,显示扫描详细情况,并将扫描结果存在本地成xml文件,等扫描完了,我自己再打开xml文件看。
具体的命令如下所示。
- -sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批的链接请求以及错误信息。
- -sP ping扫描,加上这个参数会使用ping扫描,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping,却实际存在。
- -sS 半开扫描,一般不会记入日志,不过需要root权限。
- -sU udp扫描,但是一般不可靠。
- -sA 用来穿过防火墙的规则集,速度慢。
- -sV 端口服务及版本
- -A 包含了-sV,-O,全面系统检测,启动脚本检测,扫描等。
- -P0 扫描之前不使用ping,适用于防火墙禁止ping,比较有用。
- -v 显示扫描进程
- -O 探测目标系统的漏洞,容易误报
- -oN/-oX/-oG 将报告写入文件,格式分别为正常(自定义.txt),XML,grepable.
- -iL 扫描主机列表
- -sC –script=default 默认的脚本扫描,主要是搜集各种应用服务的信息
常用端口解析
文件共享服务端口:
21/22/69 Ftp/Tftp文件传输协议 允许匿名的上传、下载 、爆破和嗅探操作
2049 Nfs服务 配置不当
139 samba服务 爆破、未授权访问、远程代码执行
389 Ldap目录访问协议 注入、允许匿名访问、弱口令
远程连接服务端口:
22 SSH远程连接 爆破、SSH隧道及内网代理转发、文件传输
23 Telnet远程连接 爆破、嗅探、弱口令
3389 Rdp远程桌面连接 shift后门(需win2003以下系统)、爆破
5900 VNC 弱口令爆破
5632 PyAnywhere服务 抓密码、代码执行
Web应用服务端口:
80/443/8080 常见web服务端口 web攻击、爆破、对应服务器版本漏洞
7001/7002 weblogic控制台 java反序列化、弱口令
8080/8089 Jboss/resin/jetty/Jenkins 反序列化、控制台弱密码
9090 webSphere控制台 java反序列化、弱口令
4848 GlassFish控制台 弱口令
1352 Lotus domino邮件服务 弱口令、信息泄露、爆破
10000 webmin-web控制面板 弱口令
数据库服务端口:
3306 mysql 注入、提权、爆破
1433 mssql 注入、提权、SA弱口令、爆破
1521 oracle TNS爆破、注入、反弹shell
5432 PostgreSQL 爆破、注入、弱口令
27017/27018 MongoDB 爆破、未授权访问
6379 Redis 可尝试未授权访问、弱口令爆破
5000 SysBase/DB2 爆破、注入
邮件服务端口:
25 SMTP邮件服务 邮件伪造
110 POP3协议 爆破、嗅探
143 IMAP协议 爆破
网络常见协议端口:
53 DNS域名系统 允许区域传送、DNS劫持、缓存投毒、欺骗
67/68 DHCP服务 劫持、欺骗
161 SNMP协议 爆破、收集目标内网信息
特殊服务端口:
2181 Zookeeper服务 未授权访问
8069 Zabbix服务 远程执行、sql注入
9200/9300 Elasticsearch服务 远程执行
11211 Memcache服务 未授权访问
512/513/514 Linux Rexec服务 爆破、Rlogin登录
873 Rsync服务 匿名访问、文件上传
3690 Svn服务 svn泄露、未授权访问
50000 SAP Management Console 远程执行
项目中实际遇到端口分析举例
实际开放端口 |
服务 |
product |
描述 |
135 |
msrpc |
Microsoft Windows RPC |
系统自带端口 |
139 |
netbios-ssn |
Microsoft Windows netbios-ssn |
|
443 |
https |
|
|
445 |
microsoft-ds |
|
|
3389 |
ms-wbt-server |
Microsoft Terminal Services |
windows远程连接端口 |
5357 |
http |
Microsoft HTTPAPI httpd |
对应着Function Discovery Resource Publication服务,它的含义是发布该计算机以及连接到该计算机的资源,以便能够在网络上发现这些资源。该端口的开启可能会造成计算机内部信息的泄露,因此需要关闭。 控制面板----->管理工具----->服务----->FDRP服务双击(或右键属性)----->设置启动类型为禁用----->停止服务运行----->保存退出 |
5985 |
http |
Microsoft HTTPAPI httpd |
PowerShell远程管理使用5985(http)和5986(https)端口 |
6379 |
redis |
Redis key-value store |
|
8009 |
ajp13 |
Apache Jserv |
httpd等反向代理tomcat时就可以使用使用ajp协议反向代理到该端口。虽然我们经常都是使用http反向代理到8080端口,但由于ajp建立tcp连接后一般长时间保持,从而减少了http反复进行tcp连接和断开的开销,所以反向代理中ajp是比http高效的。 |
8080 |
http |
Apache Tomcat |
|
9995 |
http |
Jetty |
9995/tcp palace Palace |
9998 |
http |
Jetty |
9998/tcp distinct32 Distinct32 |
47001 |
http |
Microsoft HTTPAPI httpd |
系统/Windows 远程管理服务,此服务支持 Windows 远程管理 |
49664 |
msrpc |
Microsoft Windows RPC |
系统RPC服务开放端口 |
49665 |
msrpc |
Microsoft Windows RPC |
|
49666 |
msrpc |
Microsoft Windows RPC |
|
49667 |
msrpc |
Microsoft Windows RPC |
|
49668 |
msrpc |
Microsoft Windows RPC |
|
49669 |
msrpc |
Microsoft Windows RPC |
|
49670 |
msrpc |
Microsoft Windows RPC |
|
49675 |
msrpc |
Microsoft Windows RPC |
|
65530 |
tcpwrapped |
|
扫描工具NMAP执行结果中,端口状态后经常标记tcpwrapped。tcpwrapped表示服务器运行TCP_Wrappers服务。TCP_Wrappers是一种应用级防火墙。它可以根据预设,对SSH、Telnet、FTP服务的请求进行拦截,判断是否符合预设要求。如果符合,就会转发给对应的服务进程;否则,会中断连接请求。 |