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服务的请求进行拦截,判断是否符合预设要求。如果符合,就会转发给对应的服务进程;否则,会中断连接请求。 |