20184307章森洋《网络对抗技术》Exp5 信息搜集和漏洞扫描

理论知识

信息搜集

  • 外围信息搜集又叫公开渠道信息搜集。

  • 搜索引擎,公共信息库,目标门户网站等等都是很好的入手点。

  • metasploit有一类“辅助模块”,可以帮助你进行信息搜集的工作,并且还集成了nmap等神器。

  • 主要方法有:

  • 通过DNS和IP挖掘目标网站的信息

    • whois域名注册信息查询
    • nslookup,dig域名查询
    • IP2Location 地理位置查询
    • netcraft提供的信息查询服务
    • IP2反域名查询
      ...等
  • 通过搜索引擎进行信息搜集

    • Google Hacking
    • 搜索网址目录结构
    • 搜索特定类型的文件
    • 搜索E-Mali
    • 搜索存在sql注入的页面以及后台登陆的页面
    • IP路由侦查工具traceroute

扫描技术

  • 活跃主机扫描

  • ICMP Ping命令

  • metasploit中的模块

  • Nmap探测

  • 端口扫描

  • metasploit的端口扫描模块

  • Nmap端口扫描,一般用到的参数如下:
    -sT -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F

  • 探测详细服务信息
    Nmap -sV 参数

  • 网络服务扫描

    • telent服务扫描
    • SSH服务扫描
    • Oracle数据库服务查点
    • 开放代理探测

网络漏洞扫描

  • 漏洞扫描器会向目标发送大量数据包,甚至会导致目标系统拒绝服务,而且会有很多误报或漏报,因此需要人工分析。

    • OpenVAS漏洞扫描器
    • 查找特定服务漏洞
  • Nmap是针对性扫描工具之一,其拥有很多script的脚本可供使用。

问题回答

  1. 哪些组织负责DNS,IP的管理
    全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理。
    全球一共有5个地区性注册机构:ARIN(北美地区),RIPE(欧洲地区),APNIC(亚太地区),LACNIC(拉丁美洲美洲),AfriNIC(非洲地区)
  2. 什么是3R信息
    注册人(Registrant),注册商(Registrar)官方注册局,(Registry)
  3. 评价下扫描结果的准确性
    扫描结果总体准确,还是比较有参考意义

实验过程

搜索引擎查询技术

  • site:搜索范围限定在特定站点中,如果知道某个站点中有自己需要找的东西,就可以把搜索范围限定在这个站点中,提高查询效率。
  • Filetype:搜索范围限定在指定文档格式中,查询词用Filetype语法可以限定查询词出现在指定的文档中,支持文档格式有pdf,doc,xls,ppt,rtf,all(所有上面的文档格式)。对于找文档资料相当有帮助。
  • intitle:搜索范围限定在网页标题,网页标题通常是对网页内容提纲挈领式的归纳。把查询内容范围限定在网页标题中,有时能获得良好的效果。
  • 双引号“”和书名号《》精确匹配:查询词加上双引号“”则表示查询词不能被拆分,在搜索结果中必需完整出现,可以对查询词精确匹配。如果不加双引号“”经过百度分析后可能会拆分。查询词加上书名号《》有两层特殊功能,一是书名号会出现在搜索结果中;二是被书名号扩起来的内容,不会被拆分。 书名号在某些情况下特别有效果。
    百度搜索filetype:xls 学号 site:edu.cn我们可以找到一些关于学号的xls文档,下载就可以打开


    从上图我们可以很明显看出文档中包含了学生学号

tracert

traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器
在cmd命令下输入tracert www.baidu.com

搜索网址目录结构

在kali终端输入以下代码
sudo msfconsole use auxiliary/scanner/http/dir_scanner set THREADS 50 set RHOSTS www.baidu.com exploit

DNS IP注册信息的查询

whois域名注册信息查询

whois是用来进行域名注册信息查询,在kali中输入whois baidu.com可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。

从扫描出来的结果我们可以得到以下信息:

  • Domain Name网站名称:baidu.com
  • Registry Domain ID注册机构ID:11181110_DOMAIN_COM-VRSN
  • Registrar WHOIS Server注册服务器:whois.markmonitor.com
  • Domain Status是指域名状态:clientUpdateProhibited 表示客户端禁止转移 该状态由注册商设置,域名可以更新(域名信息修改)、续费、删除,最少需要填写一个DNS才能正常解析。

nslookup,dig域名查询

nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果。


除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:

  • +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
  • +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
  • +[no]short:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
  • +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

IP—ADDRESS反域名查询

网站首页输入你想查询的ip地址,我在这里输入的在nklookup里面查询到的谷歌的地址

我们可以看到图中显示地址是在美国

ip2location查询

这里我们使用youtube的ip地址做试验,我们发现查询结果是在美国

基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点

主机发现

  • ICMP Ping命令
    在kali终端输入ping www.baidu.com

    这里我忘记用Ctrl+c停止了,所以就只截图了后半部分

  • metasploit中的模块
    位于modules/auxiliary/scanner/discovery 主要有 arp_sweep, ipv6_multicast_ping,ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe,udp_sweep。
    arp_sweep 使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器 udp_sweep 使用UDP数据包探测。
    kali中输入以下代码:
    sudo msfconsole //启动msf use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep模块 set RHOSTS 192.168.1.0/24 //进行hosts设置 set THREADS 50 //用于加快扫描速度 run //运行

  • nmap探测
    在linux里面用nmap指令来寻找同一网段中活跃的主机nmap -sn 192.168.1.0/24

端口扫描

  • metasploit的端口扫描模块:利用metasploit中的auxiliary/scanner/portscan中的扫描器进行端口扫描,主要可以扫描以下五种端口:
  • ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
  • ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
  • syn:使用发送TCP SYN标志的方式探测开放的端口
  • tcp:通过一次完整的TCP链接来判断端口是否开放
  • xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
    在kali中输入以下代码
    sudo msfconsole //启动msf use auxiliary/scanner/portscan/tcp //进入auxiliary/scanner/portscan/tcp模块 set RHOSTS 192.168.1.104 //进行hosts设置 set THREADS 50 //用于加快扫描速度 run //运行
    在这里我们只针对ip为192.168.1.104的主机进行扫描,查看它有哪些端口是开放的

Nmap端口扫描,一般用到的参数如下:

-sT -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F

  • 扫描类型:

  • -sT:TCP connect扫描

  • -sS:TCP syn扫描

  • -sF/-sX/-sN:通过发送一些标志位以避开设备或软件的检测

  • -sP:ICMP扫描

  • -sU:探测目标主机开放了哪些UDP端口

  • -sA:TCP ACk扫描

  • 扫描选项:

  • -Pn:在扫描之前,不发送ICMP echo请求测试目标是否活跃

  • -O:辨识操作系统等信息

  • -F:快速扫描模式

  • -p<端口范围>:指定端口扫描范围
    在Linux下使用nmap -sS -Pn 192.168.1.102命令

  • 探测详细服务信息
    在Linux下使用nmap -sV -Pn 192.168.1.102命令

具体服务的查点

  • Telnet服务扫描
    use auxiliary/scanner/telnet/telnet_version //进入telnet模块 set RHOSTS 192.168.1.0/24 //扫描192.168.1.0网段 set THREADS 100 //提高查询速度 run

  • SSH服务扫描
    在kali的msf下,输入代码
    use auxiliary/scanner/ssh/ssh_version set RHOSTS 192.168.1.0/24 set THREADS 200 run

  • Oracle数据库服务查点
    use auxiliary/scanner/oracle/tnslsnr_version set RHOSTS 192.168.3.0/24 set THREADS 200 run

  • 开放代理探测:open_proxy模块
    use auxiliary/scanner/http/open_proxy set RHOSTS 192.168.3.0/24 set THREADS 200 run

OS及服务版本探测

nmap -O 192.168.1.102

漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

安装GVM,安装成功

输入sudo gvm-start启动,然后在浏览器打开https://127.0.0.1:9392这个网页


下图是用户名和密码

输入要扫描的ip

扫描完成后我们可以看到如下报告

没有CVE

实验心得体会

这次实验在过程上总体不算太难,根据之前学长的博客一步一步做就可以完成,主要是在装GVM上会遇到困难,而且有些都是网上找不到的问题,毕竟是一个软件的安装,也无法去验证具体哪一步错在哪里,只能是不断的去试可能会出错的步骤,通过这次实验,学习并尝试使用了各种信息收集、漏洞扫描的方式,还掌握了漏洞的扫描和分析的基本方法,收益匪浅。

posted @ 2021-04-25 12:08  章森洋  阅读(73)  评论(0编辑  收藏  举报