端口扫描工具nmap_namp端口扫描

hacker|
214

网络安全:Nmap端口扫描

nmap -sS minimum ip/范围

TCP SYN scans: 

nmap -sS target ip

nmap使用在连接层的Address Resolution Protocol询问target ip的MAC地址,并获得回应,但是没有TCP包。

nmap显示所有端口都被过滤了,猜想是防火墙过滤了TCP SYN的包。后来发现是虚拟机网络的混杂模式设为了拒绝,调成允许所有之后:

nmap发出了1000个TCPSYN,等待目标主机TCP ACK回应,打开的端口在ACK中包含Source port=自己的端口号,关闭的端口Source port=54247。

1000个端口中有四个端口打开了。

UDP scans:

nmap -sU target ip --host-timeout 100

设置timeout以免等待时间过长。

nmap发出了UDP包,等待目标主机ICMP 70/110 Destination unreachable回应。

扩大搜索范围以纳入更高端口。

nmap --top-ports 10000 target ip 

nmap -p 10000-30000 target ip 

nmap -sV -p 13337 target ip 

这是一个Apache HTTP服务器。

使用Nmap进行端口扫描

    在未经授权的情况下夺取计算机系统控制权的行为是 违法行为, 此篇文章仅作为学习交流和探讨,若要测试成果,请在自己虚拟机上测试,或者被允许渗透的计算机系统上演练, 请勿做出违法之骚操作,操作者做出的一切违法操作均与本人和此文无关

    本文使用Nmap进行扫描,其他扫描手段本文不进行探讨

    Nmap是端口扫描方面的业内标准,网上的资料让人眼花缭乱,时至今日,各式各样的防火墙已经普遍采用了入侵检测和入侵防御技术,他们能够有效地拦截常见的端口扫描,所以,即使使用Nmap程序扫描结果一无所获也不是什么意外的事。换句话说, 如果你在公网上对指定网段进行主机扫描时没检测出一台在线主机,那么就应当认为扫描行动多半是被防火墙系统拦截下来了,反之则是另一种极端情况:每台主机都在线,每个端口都处于开放状态

SYN扫描

    所谓的SYN扫苗实际上是一种模拟TCP握手的端口扫描技术。TCP握手分为3个阶段:SYN、SYN-ACK、ACK。在进行SYN扫描时,Nmap程序向远程主机发送SYN数据包并等待对方的SYN-ACK数据。 如果在最初发送SYN数据包之后没有收到SYN-ACK响应,那么既定端口就不会是开放端口,在此情况下,既定端口不是关闭就是被过滤了

    在使用Nmap扫描之前,可以先使用maltego之类的信息搜集工具分析出有用的信息。我使用一个非法网站的IP来作为演示

需要注意的是,某个端口是开放端口不代表这个端口背后的程序存在安全缺陷,我们仅能够通过开放端口初步了解计算机运行的应用程序,进而判断这个程序是否存在安全缺陷

    版本扫描

    虽然SYN扫描具有某种隐蔽性,但它不能告诉我们打开这些端口的程序到底是什么版本,如果说我们想要知道这台主机的某个端口在运行着什么程序以及它运行的版本,这在我们后期威胁建模阶段有极大的用处, 使用-sT或者-sV 即可查看

    运气很好,看来这个网站运行的程序有安全漏洞,这个名为OpenSSH 5.3的软件存在着一个CVE-2016-10009漏洞,攻击者可以通过远程攻击openssh来获得服务器权限。我们在这里不做攻击操作,毕竟这是别人的网站,虽然是个违法网站。如果有机会后期笔者将会根据情况写一些关于漏洞利用的文章

UPD扫描

    Nmap的SYN扫描和完整的TCP扫描都不能扫描UDP,因为UDP的程序采用无连接的方式传输。在进行UDP扫描时,Nmap将向既定端口发送UPD数据包,不过UDP协议的应用程序有着各自不同的数据传输协议,因此在远程主机正常回复该数据的情况下,能够确定既定端口处于开放状态。 如果既定端口处于关闭状态,那么Nmap程序应当收到ICMP协议的端口不可达信息。 如果没有从远程主机收到任何数据那么情况就比较复杂了,比如说:端口可能处于发放状态,但是响应的应用程序没有回复Nmap发送的查询数据,或者远程主机的回复信息被过滤了,由此可见 在开放端口和被防火墙过滤的端口方面,Nmap存在相应的短板

扫描指定端口

    指定端口的扫描可能造成服务器崩溃,最好还是踏踏实实的彻底扫描全部端口 。就不拿别人的服务器来测试了,毕竟我也怕被报复,在这里我把渗透目标设置为我自己的xp靶机,步骤跟前面一样,扫描出端口查看是否有可利用程序,然后对想扫描的端口进行扫描

    

在渗透测试中,我们都不希望致使任何服务器崩溃,但是我们的确可能会遇到那些无法正确受理非预期输入的应用程序,在这种情况下,Nmap的扫描数据就可能引发程序崩溃

nmap扫描端口命令

nmap扫描端口的命令是:nmap -PS ip地址。

使用该命令可以扫描目标地址所开放的端口地址,nmap 扫描器主要基本功能有三个,一是探测一组主机是否在线,其次是扫描主机端口,嗅探所提供的网络服务,还可以推断主机所用的操作系统。也可以深入探测 UDP 或者 TCP 端口,直至主机所使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

以下是一些 nmap 常用的命令:

查看当前开放的端口:nmap localhost。

查看主机端口(1024-65535)中开放的端口:nmap -p 1024-65535 localhost。

探测目标主机开放的端口:nmap -PS ip 地址。

探测所列出的目标主机端口:nmap -p22,80,3306 ip 地址。

探测目标主机操作系统类型、端口服务名称、版本信息:nmap -sV -O localhost。

0条大神的评论

发表评论