渗透入侵检测工具nmap

== nmap介绍 ==

Nmap是一款网络扫描和主机检测的非常有用的工具。Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统

Nmap是一款非常强大的实用工具,可用于:

1、检测活在网络上的主机(主机发现)

2、检测主机上开放的端口(端口发现或枚举)

3、检测到相应的端口(服务发现)的软件和版本

4、检测操作系统,硬件地址,以及软件版本

检测脆弱性的漏洞(Nmap的脚本)

Nmap是一个非常普遍的工具,它有命令行界面和图形用户界面。本文包括以下方面的内容:

介绍Nmap简单命令

扫描中的重要参数

操作系统检测

== Nmap简单命令 ==

扫描单一的一个主机,命令如下:

nmap ckt.com

nmap 192.168.71.130

扫描整个子网,命令如下:

nmap 192.168.71.1/24

扫描多个目标,命令如下:

nmap 192.168.71.130 192.168.71.5

扫描一个范围内的目标,如下:

nmap 192.168.71.1-100  (扫描IP地址为192.168.71.1-192.168.71.100内的所有主机)

如果有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机,命令如下:

nmap -iL target.txt

如果你想看到你扫描的所有主机的列表,用以下命令:

nmap -sL 192.168.71.1/24

扫描除过某一个ip外的所有子网主机,命令:

nmap 192.168.71.1/24 -exclude 192.168.71.1

扫描除过某一个文件中的ip外的子网主机命令

nmap 192.168.71.1/24 -excludefile xxx.txt  (xxx.txt中的文件将会从扫描的主机中排除)

扫描特定主机上的80,21,23端口,命令如下

nmap -p 80,21,23 192.168.71.1

== 扫描中的重要参数 ==

Tcp SYN Scan (sS)

这是一个基本的扫描方式,它被称为半开放扫描,因为这种技术使得Nmap不需要通过完整的握手,就能获得远程主机的信息。Nmap发送SYN包到远程主机,但是它不会产生任何会话.因此不会在目标主机上产生任何日志记录,因为没有形成会话。这个就是SYN扫描的优势.如果Nmap命令中没有指出扫描类型,默认的就是Tcp SYN.但是它需要root/administrator权限.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sS 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 09:58 CST

Nmap scan report for 192.168.71.130

Host is up (0.00011s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE

22/tcp open  ssh

80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 102.93 seconds

</syntaxhighlight>

Tcp connect() scan(sT)

如果不选择SYN扫描,TCP connect()扫描就是默认的扫描模式.不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().Tcp connect()扫描技术只适用于找出TCP和UDP端口.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sT 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 09:59 CST

Nmap scan report for 192.168.71.130

Host is up (0.00036s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE

22/tcp open  ssh

80/tcp open  http

</syntaxhighlight>

Udp scan(sU)

顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sU 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 09:59 CST

Nmap scan report for 192.168.71.130

Host is up (0.00012s latency).

Not shown: 998 closed ports

PORT    STATE         SERVICE

68/udp  open|filtered dhcpc

123/udp open          ntp

Nmap done: 1 IP address (1 host up) scanned in 199.70 seconds

</syntaxhighlight>

FINscan(sF)

有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sF 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:02 CST

Nmap scan report for 192.168.71.130

Host is up (0.000070s latency).

Not shown: 998 closed ports

PORT   STATE         SERVICE

22/tcp open|filtered ssh

80/tcp open|filtered http

Nmap done: 1 IP address (1 host up) scanned in 97.46 seconds

</syntaxhighlight>

FIN扫描也不会在目标主机上创建日志(FIN扫描的优势之一).个类型的扫描都是具有差异性的,FIN扫描发送的包只包含FIN标识,NULL扫描不发送数据包上的任何字节,XMAS扫描发送FIN、PSH和URG标识的数据包.

PINGScan(sP)

PING扫描不同于其它的扫描方式,因为它只用于找出主机是否是存在在网络中的.它不是用来发现是否开放端口的.PING扫描需要ROOT权限,如果用户没有ROOT权限,PING扫描将会使用connect()调用.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sP 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:03 CST

Nmap scan report for 192.168.71.130

Host is up.

Nmap done: 1 IP address (1 host up) scanned in 13.01 seconds

</syntaxhighlight>

版本检测(sV)

版本检测是用来扫描目标主机和端口上运行的软件的版本.它不同于其它的扫描技术,它不是用来扫描目标主机上开放的端口,不过它需要从开放的端口获取信息来判断软件的版本.使用版本检测扫描之前需要先用TCPSYN扫描开放了哪些端口.<syntaxhighlight lang="bash">

[email protected]:~# nmap -sV 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:03 CST

Nmap scan report for 192.168.71.130

Host is up (0.0000050s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE VERSION

22/tcp open  ssh     (protocol 2.0)

80/tcp open  http    nginx 1.4.6 (Ubuntu)

1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :

SF-Port22-TCP:V=6.40%I=7%D=7/17%Time=596C1B0A%P=x86_64-pc-linux-gnu%r(NULL

SF:,2B,"SSH-2\.0-OpenSSH_6\.6\.1p1\x20Ubuntu-2ubuntu2\.8\r\n");

Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 20.78 seconds

</syntaxhighlight>

Idlescan(sL)

Idlescan是一种先进的扫描技术,它不是用你真实的主机Ip发送数据包,而是使用另外一个目标网络的主机发送数据包.这个地方我使用的时候总是提示0 hosts up,目前暂未搞清楚。<syntaxhighlight lang="bash">

[email protected]:~# nmap -sL 192.168.71.131 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:07 CST

Nmap scan report for 192.168.71.131

Nmap scan report for 192.168.71.130

Nmap done: 2 IP addresses (0 hosts up) scanned in 13.01 seconds

</syntaxhighlight>

Idlescan是一种理想的匿名扫描技术,通过目标网络中的192.168.71.131向主机192.168.71.130发送数据,来获取192.168.71.130开放的端口

有需要其它的扫描技术,如FTPbounce(FTP反弹),fragmentationscan(碎片扫描),IPprotocolscan(IP协议扫描),以上讨论的是几种最主要的扫描方式.

== Nmap的OS检测(O) ==

Nmap最重要的特点之一是能够远程检测操作系统和软件,Nmap的OS检测技术在渗透测试中用来了解远程主机的操作系统和软件是非常有用的,通过获取的信息你可以知道已知的漏洞。Nmap有一个名为的nmap-OS-DB数据库,该数据库包含超过2600操作系统的信息。Nmap把TCP和UDP数据包发送到目标机器上,然后检查结果和数据库对照。

Nmap的操作系统指纹识别技术:

设备类型(路由器,工作组等)

运行(运行的操作系统)

操作系统的详细信息(操作系统的名称和版本)

网络距离(目标和攻击者之间的距离跳)

如果远程主机有防火墙,IDS和IPS系统,你可以使用-PN命令来确保不ping远程主机,因为有时候防火墙会组织掉ping请求.-PN命令告诉Nmap不用ping远程主机。<syntaxhighlight lang="bash">

[email protected]:~# nmap -O -PN 192.168.71.1/24

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:09 CST

[email protected]:~# nmap -O -PN 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:12 CST

Nmap scan report for 192.168.71.130

Host is up (0.000073s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE

22/tcp open  ssh

80/tcp open  http

No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).

TCP/IP fingerprint:

OS:SCAN(V=6.40%E=4%D=7/17%OT=22%CT=1%CU=42907%PV=Y%DS=0%DC=L%G=Y%TM=596C1D1

OS:C%P=x86_64-pc-linux-gnu)SEQ(SP=107%GCD=1%ISR=10C%TI=Z%CI=I%TS=8)OPS(O1=M

OS:FFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFFD7ST1

OS:1NW7%O6=MFFD7ST11)WIN(W1=AAAA%W2=AAAA%W3=AAAA%W4=AAAA%W5=AAAA%W6=AAAA)EC

OS:N(R=Y%DF=Y%T=40%W=AAAA%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F

OS:=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5

OS:(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z

OS:%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=

OS:N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%

OS:CD=S)

Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 32.29 seconds

</syntaxhighlight>

以上命令告诉发信主机远程主机是存活在网络上的,所以没有必要发送ping请求,使用-PN参数可以绕过PING命令,但是不影响主机的系统的发现.

Nmap的操作系统检测的基础是有开放和关闭的端口,如果OSscan无法检测到至少一个开放或者关闭的端口,会返回以下错误:

Warning:OSScanresultsmaybeunreliablebecausewecouldnotfindatleast1openand1closedport

OSScan的结果是不可靠的,因为没有发现至少一个开放或者关闭的端口

这种情况是非常不理想的,应该是远程主机做了针对操作系统检测的防范。如果Nmap不能检测到远程操作系统类型,那么就没有必要使用-osscan_limit检测。

想好通过Nmap准确的检测到远程操作系统是比较困难的,需要使用到Nmap的猜测功能选项,–osscan-guess猜测认为最接近目标的匹配操作系统类型。<syntaxhighlight lang="bash">

[email protected]:~# nmap -O --osscan-guess 192.168.71.130

Starting Nmap 6.40 ( http://nmap.org ) at 2017-07-17 10:11 CST

Nmap scan report for 192.168.71.130

Host is up (0.00012s latency).

Not shown: 998 closed ports

PORT   STATE SERVICE

22/tcp open  ssh

80/tcp open  http

Aggressive OS guesses: Linux 3.7 - 3.9 (98%), Netgear DG834G WAP or Western Digital WD TV media player (95%), Linux 3.8 (95%), Linux 3.1 (93%), Linux 3.2 (93%), AXIS 210A or 211 Network Camera (Linux 2.6) (92%), Linux 3.7 (92%), Linux 3.9 (91%), Linux 2.4.26 (Slackware 10.0.0) (91%), Crestron XPanel control system (91%)

No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).

TCP/IP fingerprint:

OS:SCAN(V=6.40%E=4%D=7/17%OT=22%CT=1%CU=41376%PV=Y%DS=0%DC=L%G=Y%TM=596C1D5

OS:D%P=x86_64-pc-linux-gnu)SEQ(SP=104%GCD=1%ISR=107%TI=Z%CI=I%TS=8)OPS(O1=M

OS:FFD7ST11NW7%O2=MFFD7ST11NW7%O3=MFFD7NNT11NW7%O4=MFFD7ST11NW7%O5=MFFD7ST1

OS:1NW7%O6=MFFD7ST11)WIN(W1=AAAA%W2=AAAA%W3=AAAA%W4=AAAA%W5=AAAA%W6=AAAA)EC

OS:N(R=Y%DF=Y%T=40%W=AAAA%O=MFFD7NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F

OS:=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5

OS:(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z

OS:%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=

OS:N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%

OS:CD=S)

Network Distance: 0 hops

OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 120.15 seconds

</syntaxhighlight>

时间: 2024-08-17 14:53:00

渗透入侵检测工具nmap的相关文章

Tiger –UNIX:一款开源安全审计 入侵检测工具

Tiger 是一个完全由shell脚本编写的UNIX的免费.开源安全工具,适用于安全审计和入侵检测. Tiger的特性: 1)模块化设计,使得它扩展性比较强, 2)多用途,可用于主机审计和入侵检测. Tiger的优点: 从目前来说,在网络上有很多免费的入侵检测工具,检测方面也囊括了多个层面,目前主要的检测方面如下, 1)网络层面的入侵检测 2)Linux内核补丁入侵检测,例如像LIDS(作为内核补丁和系统管理员工具)或者是linux事件日志查看器等) 3)文件完整性检查工具(如aide,inte

linux入侵检测工具之AIDE

1.aide的概述 AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文本的完整性. AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档.AIDE数据库能够保存文档的各种属性,包括:权限 (permission).索引节点序号(inode number).所属用户(user).所属用户组(group).文档大小.最后修改时间(mtime).创建时间(ctime).最后访问时间

Windows自带强大的入侵检测工具——Netstat 命令 查询是否中木马

Netstat命令可以帮助我们了解网络的整体使用情况.根据Netstat后面参数的不同,它可以显示不同的网络连接信息.Netstat的参数如图,下面对其中一些参数进行说明.如何检测本机是否有被中木马,电脑系统后台是否已被秘密操控,是否被监听.今天跟大家讲下如何查询可疑连接,调用任务管理器Ctrl+Shift+ESC组合键,找到对应的PID数值,右击结束进程. 一.netstat命令详解 1.netstat -a -a显示所有连接和侦听端口,包括本地和远程系统连接时使用的TCP端口或者UDP端口,

Linux后门入侵检测工具,附bash漏洞解决方法[转载]

转自:http://blog.jobbole.com/77663/ 官网 ClamAV杀毒软件介绍 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数无法支持,这就要取决您所使用的平台的流行程度了.另外它主要是来防护一些WINDOWS病毒和木马程序.另外,这是一个面向服务端的软件. 下载ClamAV安装包 ClamAV的官方下载地址为http://www.clamav.net/d

linux安全---系统更新+弱口令检测工具+nmap扫描工具

1.添加yum及更新系统 a.更新设置: echo  "0 3 * * 6 yum -y  update" >>/var/spool/cron/root b.添加repo源也叫yum源 添加国内mirrors,提速: cd  /etc/yum.repos.d/ mv  ./*  /root/ wget http://mirrors.aliyun.com/repo/Centos-6.repo   ##下载阿里云yum源 yum  makecache  ##生成缓存 yum  

linux-后门入侵检测工具-chkrootkit

Rookit 简介:rootkit是Linux平台常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.Rootkt攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐蔽行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录系统.   Rootkit有两种类型:文件级别和内核级别 Rootkit后门检测工具 1)        Chkrootkit 安装 yum install

Linux后门入侵检测工具,附bash漏洞解决方法

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通

安全运维之:Linux后门入侵检测工具,附最新bash漏洞解决方法

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通

安全运维之:Linux后门入侵检测工具的使用

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通