渗透测试--Nmap主机识别
通过本篇博客可以学到:Nmap的安装和使用,列举远程机器服务端口,识别目标机器上的服务,指纹,发现局域网中存活主机,端口探测技巧,NSE脚本使用,使用特定网卡进行检测,对比扫描结果ndiff,可视化Nmap的使用等。
Nmap简介
Nmap:开源、免费的网络探测、安全审计工具
nmap 安装在电脑后,电脑可以通过nmap 将数据包传递到相关的网络设备,服务器接收到数据包后会返回一些信息,Nmap可以对这些信息进行分析。(通过nmap探测服务器存活以及开放的服务,对目标进行安全审计)。
Nmap原理:首先判断nmap输入的命令行中是否包含域名,如果包含域名需要用DNS服务器进行域名解析。然后发送ICMP Echo Request 来探测主机的存活性。Nmap根据返回的数据包来探测机器信息。
Nmap scanme.namp.org
Nmap参数和意义
-sT:TCP connect扫描,类似于的Metasploit中的tcp扫描模块
-sS:TCP SYN扫描,类似于Metasploit中的syn扫描模块,这种扫描方式不等待打开一天完全的TCP链接,所以速度的会更快,而且这种方式不会被IDS(入侵检测系统)等设备记录。
-sF/-sX/-sN:这些扫描通过发送一些特殊的标志位以避开设备或软件的检测
-sP:通过发送ICMP echo请求探测主机是否存活,原理同ping
-sU:探测目标主机开发了哪些UDP端口
-sA:TCP ACK扫描,类似于metasploit中的acK扫描模块
-Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃。如果是在Internet环境,应该使用-Pn选项,不要使用ICMP ping,因为ICMP数据包通常无法穿透Internet上的网络边界
-O:启用对于TCP/IP的协议栈指纹特征扫描以获取远程主机的操作系统类型等信息
-F :快速扫描的模式
-p<端口范围>:可以用这个参数指定希望扫描的端口
例如:nmap scanme.nmap.org
nmap进行探测之前要把域名通过DNS服务器解析为IP地址,我们也可以使用指定的DNS服务器来进行解析。使用--dns-servers参数来指定
nmap --dns-servers 8.8.8.8 baidu.com
注意点:对于主机存活或者防火墙开启的机器,可以使用-Pn参数来停止探测之前的ICMP请求,以达到不触发防火墙的安全机制。
对于默认的端口范围,并不能满足日常工作需要。可以使用-p,m-n来指定探测端口范围为m-n之间的所有端口
nmap -p <端口> <IP地址/域名>
namp -p 1-1000 nuistshare.cn
可以看到不需要的端口可以不扫描,并且知道了扫描了的1-1000端口内开放的端口、状态与服务。
Nmap有多种端口状态
服务指纹
为了确保有一个成功的渗透测试或网络设备监控,必须知道目标系统中服务的指纹信息。服务指纹包括服务端口,服务名和版本等。
通过分析往Nmap发送的数据包的某些协议标记、选项和数据,我们推断发送这些数据的包的操作系统。
nmap通过向目标主机发送多个UDP与TCP数据包并分析其相应来进行操作系统识别
nmap -sV IP //地址来识别目标主机的服务信息
可以说明tcp三次握手已经完成,但是并没有和目标主机建立连接。
这表明这些服务是可以提供的,但是我们并不在访问主机的名单之中,而有大量的端口为tcpwrpped,说明服务器采用了负载均衡或者防火墙。
nmap侵略性探测
nmap -A -v -T4 IP地址
//-A :使用侵略性的策略探测
//-v :持续输出,返回解析不用按回车
//-T(1-5):扫描速度
nmap -A -v -T5 182.92.58.95 //注意此处只能是IP地址而能是域名
使用此方法,我们可以得到之前没有得到的信息
nmap -sC -SV -o
-sC表示使用Nmap脚本进行探测,sV表示探测目标机器上的服务信息,表示探测目标机器上的操作系统信息
-O表示启用对于TCP/IP的协议栈指纹特征扫描以获取远程主机的操作系统类型等信息
一个局域网中肯定连接着多个IP,可以使用ping命令去测试一下
CIDR(无类别域间路由)
nmap -sP CIDR :对该网络中所有主机经了ping扫描,以探测主机的存活行,扫描过程中使用了,TCP/SYN扫描扫描,ICMP echo Request
来探测主机存活
nmap -sn CIDR :对该网络中所有主机进行了扫描,不进行端口扫描,直接扫描存活性
nmap -Pn CIDR :对所有端口进行扫描
Nmap结果输出
nmap -p 80,445 -v baidu.com -oX test.xml
扫描结果将输入到test.xml中去
Nmap端口扫描技巧
实际场景:
在实际环境中,当系统管理员对设备进行管理时,或者渗透测试人员对设备进行检测的时候,并不是一定对所有的服务进行操作,极有可能是对某个活某个范围内的服务进行检测。
如果对所有服务进行探测,那么就会出现耗时长,费力不讨好的情况。针对这样的情况,我们很有必要了解使用Nmap来更加灵活的进行服务探测,避免全端口探测对服务器造成压力。
//针对某一个端口进行检测
namp -p 80 baidu.com
//针对某几个端口进行检测
nmap -p 80,445 baidu.com
//针对某个范围端口进行检测
nmap -p1--100 baidu.com
//针对所有端口进行检测
nmap -p baidu.com
//通过协议名来扫描端口
nmap -p smtp baidu.com
Nmap NSE脚本的使用
NSE:nmap script engine,nmap脚本引擎,内置很多可以用来扫描的,用来针对特定任务的脚本,通过nse可以不断扩展nmap的扫描策略,加强namp的功能。
Nmap中使用 --script 参数来指定调用的脚本,并且脚本存储再nmap 安装路径下的script文件夹下,对于kali linux存储在/usr/share/namp/script下
//使用Nmap 探测web服务的title信息
nmap --script http-title Ip
nmap --script http-headers IP
Nmap分类使用:
对于目标使用多个分类脚本进行检测,可以更快的找到目标的信息和弱点。
使用nmap中的漏洞分类脚本来对目标进行检测,使用命令如下:
nmap -sV --script vuln 目标
通过这个可以得到目标的漏洞
如果想要发现分版本信息分类进行探测,可以使用命令如下
nmap -sV --script="version,discovery"
使用nmap除了exploit(溢出)分类之外的其他分类进行探测,使用命令如下
namp -sV --script="not exploit" <目标>
使用http*(探测Http服务的脚本)
nmap -sV --script "(http*) and not (http-slowors and http-brute)"
NSE调试功能的使用
nmap -sV --script exploit -d 3 --script-trace 目标
-d(debug 范围0-9)
NSE 参数的使用
nmap -sV --script http-title --script-args http.useragent="Mozilla 999" <target>
NSE 更新
nmap --script-updatedb
使用特定网卡进行扫描
首先查看网卡:
nmap -e etho0 192.168.206.131
Nmap 对某个网络进去探测的时候,有可能之前有探测过的结果,现在探测过后,需要对比之前和现在的结果进行对比,来找到两次不同点。
监视网络变化,达到网络监控的目的。
在Nmap整个工程中,除了主要的nmap工具之外,还包括很多其他工具,比如ndiff
ndiff -h //查看nidff 帮助信息
ndiff File1 File2 //对比两次结果
Nmap 查看网卡列表
nmap -iflist
nmap -e 192.168.206.131
------------恢复内容结束------------
渗透测试--Nmap主机识别的更多相关文章
- 小白日记14:kali渗透测试--NMAP
NAMP 被认为是最强大的扫描器 所有参数 root@kali:~# nmap Nmap 7.01 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [O ...
- 渗透测试工具Nmap从初级到高级使用教程
本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...
- 渗透测试工具Nmap从初级到高级
Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...
- Kali Linux渗透测试实战 2.2 操作系统指纹识别
目录 2.2 操作系统指纹识别 2.2.1 Banner抓取 2.2.2 TCP 和 ICMP 常规指纹识别技术 TCP数据报格式 ICMP首部格式 TTL与TCP窗口大小 FIN探测 BOGUS f ...
- 读书笔记 ~ Nmap渗透测试指南
记录Nmap选项及脚本使用,仅供参考... 除了端口扫描,好像其它脚本都比较鸡肋,用途感觉应该没有专用的小工具好用,不过还是可以看看,选项和脚本还是相当的丰富的. Nmap 使用帮助 starnigh ...
- Nmap渗透测试使用方法
Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...
- 渗透测试工具Nmap篇
Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...
- 读书笔记——商广明《Nmap渗透测试指南》
一 Nmap基础学习 1.简介及安装 Nmap是一款由C语言编写的.开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具.软件名字Nmap是Ne ...
- Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap
Kail Linux渗透测试教程之网络扫描和嗅探工具Nmap 网络扫描和嗅探工具——Nmap Nmap也就网络映射器(Network Mapper),是一个免费开放的网络扫描和嗅探工具.该工具可以扫描 ...
随机推荐
- JMeter多个请求按照比例并发的几种方式
一.需求 在压测的过程中,为了能够压测整个链路,通常需要多个接口进行并发, 每个接口的请求比例不尽相同. 比如此时此刻,我在写博客,很多人在浏览博客,或者点赞.评论博客等等等,这些行为占比是不同的. ...
- CentOS 7 部署redis
1.下载redis: 地址:http://download.redis.io/releases/: 选择需要下载的版本,然后通过ssh工具导入到centos中,这里放到了/usr/local; 解压文 ...
- PTA 乙 1001
1001 害死人不偿命的(3n+1)猜想 题目描述 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 (3n+1) 砍掉一半.这样一直反复砍下 ...
- sqoop使用以及常见问题
1.hdfs文件的权限问题 问题分析与解决: 根据报错信息是hdfs文件的权限问题,命令进入集群执行的用户为null,而hdfs文件所有者为hdfs. 要么以用户hdfs执行命令,要么调整hdfs文件 ...
- Educational Codeforces Round 88 (Rated for Div. 2) A. Berland Poker(数学)
题目链接:https://codeforces.com/contest/1359/problem/A 题意 $n$ 张牌可以刚好被平分给 $k$ 个人,其中有 $m$ 张 joker,当一个人手中的 ...
- codeforces B. Pasha and String
Pasha got a very beautiful string s for his birthday, the string consists of lowercase Latin letters ...
- python对csv文件读写的两种方式 和 读写文件编码问题处理
''' 如果文件读取数据出错,可以考虑加一个encoding属性,取值可以是:utf-8,gbk,gb18030 或者加一个属性error,取值为ignore,例如 open(path, encodi ...
- zzuli-2266 number
题目描述 某人刚学习了数位DP,他在某天忽然思考如下问题: 给定n,问有多少数对<x, y>满足: x, y∈[1, n], x < y x, y中出现的[0, 9]的数码种类相同 ...
- zoj-3870 (二进制)
For an upcoming programming contest, Edward, the headmaster of Marjar University, is forming a two-m ...
- msfconsole web后门
一.PHP后门 在meterpreter中有一个名为PHP meterpreter的payload,利用这个可以成功反弹.步骤如下: 1. 使用msfvenom 创建一个webshell.php 2. ...