浅析渗透测试中对Banner探测的几种途径

admin 2021年1月27日19:18:55评论1,186 views字数 3253阅读10分50秒阅读模式
摘要

帮好友的新手培训写的文章,发上来滥竽充数,平常不怎么写东西  在我们实际的授权渗透测试过程中,经常性的第一步就是对目标网站或者主机进行信息收集,其中包括了WAF版本、CMS类型、WEB框架、WEB容器、指纹、第三方库、开发语言、IP地址段、子域名、SSL证书、DNS信息、缓存服务器信息、操作系统、开放的端口等等信息。

  Banner是指从目标主机或者目标网站接收到的回溯文本,通常包含有关主机或者网站的服务、版本号、开放端口、操作系统等等内容,我们需要获得这些信息从而进一步利用。


帮好友的新手培训写的文章,发上来滥竽充数,平常不怎么写东西

简介

  在我们实际的授权渗透测试过程中,经常性的第一步就是对目标网站或者主机进行信息收集,其中包括了WAF版本、CMS类型、WEB框架、WEB容器、指纹、第三方库、开发语言、IP地址段、子域名、SSL证书、DNS信息、缓存服务器信息、操作系统、开放的端口等等信息。

  Banner是指从目标主机或者目标网站接收到的回溯文本,通常包含有关主机或者网站的服务、版本号、开放端口、操作系统等等内容,我们需要获得这些信息从而进一步利用。

  当你试图鉴别漏洞或者服务的类型和版本的时候,Banner信息是非常有用的。但是,并不是所有的服务都会发送banner。此文仅仅抛转引玉,介绍一些常见的途径和方法,希望可以对初学安全的人员有所帮助。


Nmap

  Nmap通过连接到开放的TCP端口,可以在几秒钟内打印出目标主机侦听服务的所有信息。其中Banner信息将被缩短到一行以内来适应输出,不过我们可以增加详细程度通过命令,每增加一次,都会输出其他的行信息。

  输入以下命令,获取目标主机每一个开放端口的banner:

# nmap -sV --script=banner remote-pc-ip 

      从图中我们可以看到利用Nmap的script脚本来获取目标主机开放端口的服务和版本banner 

浅析渗透测试中对Banner探测的几种途径

浅析渗透测试中对Banner探测的几种途径

      如果我们要获取特定端口或者服务的banner信息,可以输入以下命令,来具体化: 

# nmap -sV --script=banner remote-pc-ip -Pn -p 80  -Pn: Treat all hosts as online -- skip host discovery  (Pn参数是用来进行深层次扫描,不进行主机发现) 

浅析渗透测试中对Banner探测的几种途径

  我们可以看到,探测的目标网站使用的http服务是apache httpd,BWS/1.1
  BWS 就是 Baidu Web Server ,人自己开发的服务器,之前是1.0,现在1.1版本了

浅析渗透测试中对Banner探测的几种途径


Curl

  Curl是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行。它支持文件上传和下载,是综合性传输工具。

  先简单介绍一下curl命令的一些基本的参数:

-I : 获取请求页面或接口的请求头信息 -d : 使用-d发送带参数的请求(默认是post方式提交) -H : 自定义Header头信息 -L : 跟踪链接url重定向,有些页面或接口被重定向,直接使用curl url会返回 -O : 下载指定资源文件到当前目录中 -X : 指定 GET/POST/PUT/DELETE 等操作方式 -x : 指定 proxy 代理方式访问 -s : 不输出统计信息 

  一般的我们用 -I 参数来获得响应文本的头部信息,这样看起来比较直观,用 -s 来屏蔽统计信息,只获得我们想要的:

# curl -I -s remote-pc-ip | grep Server 

  如图,可以非常直观的看到目标主机的Server信息和版本:

浅析渗透测试中对Banner探测的几种途径


Telnet

  Telnet通常用在远程登录应用中,方便对本地或远端运行的网络设备进行管理、配置、监听和维护,提高了用户的灵活操作性。Telnet协议是TCP/IP协议族中应用层协议之一。Telnet的工作方式为“服务器/客户端”方式,它提供了从一台设备(Telnet客户端)远程登录到另一台设备(Telnet服务器)的方法。

  无论是Window还是Linux,都具备Telnet命令,跨平台跨设备等使用起来都非常方便。

# telnet remote-pc-ip port 

  如图我们可以看到,获取目标主机22端口的banner信息:

浅析渗透测试中对Banner探测的几种途径


Netcat

  netcat是网络工具中的瑞士军刀,它能通过TCP和UDP在网络中读写数据。通过与其他工具结合和重定向,可以在脚本中以多种方式使用它。netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。

  输入以下命令:

# nc -z -v -n remote-pc-ip [ports:porte]  -g<网关> 设置路由器跃程通信网关,最多可设置8个。 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP地址,而不通过域名服务器。 -o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。 -p<通信端口> 设置本地主机使用的通信端口。 -r 乱数指定本地与远端主机的通信端口。 -s<来源位址> 设置本地主机送出数据包的IP地址。 -u 使用UDP传输协议。 -v 显示指令执行过程。 -w<超时秒数> 设置等待连线的时间。 -z 使用0输入/输出模式,只在扫描通信端口时使用。 

浅析渗透测试中对Banner探测的几种途径

  如图我们可以针对扫描出的端口进一步探测banner信息:

# nc -v remote-pc-ip port # netcat remote-pc-ip port 

浅析渗透测试中对Banner探测的几种途径

  直观清晰的获得了我们想要得到的目标主机运行的banner服务


Dmitry

  Dmitry(Deepmagic Information Gathering Tool)是用C编码的UNIX /(GNU)Linux命令行应用程序,是一个一体化的信息收集工具,它可以用来收集以下信息:

  • 根据IP(或域名)来查询目标主机的Whois信息
  • 在Netcraft.com的网站上挖掘主机信息
  • 查找目标域中用的子域
  • 查找目标域的电子邮件地址
  • 探测目标主机上打开的端口、被屏蔽的端口和关闭的端口
root@kali:~# dmitry -h Deepmagic Information Gathering Tool "There be some deep magic going on"  dmitry: invalid option -- 'h' Usage: dmitry [-winsepfb] [-t 0-9] [-o %host.txt] host   -o     Save output to %host.txt or to file specified by -o file  //将输出保存到%host.txt或由-o文件指定的文件   -i     Perform a whois lookup on the IP address of a host  //对主机的IP地址执行whois查找   -w     Perform a whois lookup on the domain name of a host  //对主机的域名执行whois查找   -n     Retrieve Netcraft.com information on a host  //在主机上检索Netcraft.com信息   -s     Perform a search for possible subdomains  //执行搜索可能的子域   -e     Perform a search for possible email addresses  //执行搜索可能的电子邮件地址   -p     Perform a TCP port scan on a host  //在主机上执行TCP端口扫描 * -f     Perform a TCP port scan on a host showing output reporting filtered ports  //在显示输出报告过滤端口的主机上执行TCP端口扫描 * -b     Read in the banner received from the scanned port  //读取从扫描端口接收的banner * -t 0-9 Set the TTL in seconds when scanning a TCP port ( Default 2 )  //0-9扫描TCP端口时设置TTL(默认为2) *Requires the -p flagged to be passed  //需要-p标记才能传递

浅析渗透测试中对Banner探测的几种途径

  我们输入如下命令来探测目标主机:

# dmitry -p -f remote-pc-ip -b 

浅析渗透测试中对Banner探测的几种途径

  如图,将会对目标开放端口的banner进行探测报告。

  本文仅仅介绍一些常见的不同平台的探测banner的途径和方法,希望可以对初学安全的人员有所帮助。

来源:明天 จุ๊บ https://ruo.me/

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年1月27日19:18:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅析渗透测试中对Banner探测的几种途径http://cn-sec.com/archives/255457.html

发表评论

匿名网友 填写信息