Exp6 信息搜集与漏洞扫描 ——20164316张子遥

一、实践目标

  掌握信息搜集的最基础技能与常用工具的使用方法。

 


 

二、实践内容

  • 各种搜索技巧的应用及DNS IP注册信息的查询
    • whois
    • dig
    • nslookup
    • traceroute
    • 搜索引擎
  • 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
    • nmap扫描
    • msf辅助模块
  • 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
    • openvas

 

三、实践具体步骤

1. 各种搜索技巧的应用及DNS IP注册信息的查询

1.1 whois

  whois(读作"Who is",非缩写)是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IP的whois信息由对应的管理机构保存。

1).利用whois查询了一下我们学校的网站,发现拒绝连接...

2).利用新网查询了学校的域名,但是很多信息(3R之类的)都查不到...

  

3).于是利用ip地址尝试查询了下,发现能看见相关信息了!但是3R信息并不完整...

P.S.进行whois查询时要去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。

4).尝试利用whois查询了博客园(cnblog.com),查看到了完整的3R信息..细一看发现并没有注册人(Registrant)。

5).尝试利用whois查询了淘宝(taobao.com),这次查看到了完整的3R信息!

1.2 dig

  dig的全称是 (domain information groper)。它是一个用来灵活探测DNS的工具。它会打印出DNS name server的回应。

1).使用dig查询学校的域名

1.3 nslookup

  nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。在已安装TCP/IP协议的电脑上面均可以使用这个命令。主要用来诊断域名系统 基础结构的信息,也是一个用于查询 Internet域名信息或诊断DNS服务器问题的工具。

1).使用nslookup查询学校的域名

2).利用所得IP在站长工具上查询,能看到IP所对应的物理地址。

 

1.4 Tracert

  Tracert是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。

1).在kali上利用Tracert路由探测一下到百度(www.baidu.com),下面都是星星星,可能是防火墙把ICMP返回信息过滤掉了。

2).于是在win10上利用Tracert路由探测一下到百度(www.baidu.com)

1.5 搜索引擎

site:url.com             //搜索这一类型的网站信息
intitle:xxx              //搜索标题关键字信息
allinurl:url              //搜索xx网站的所有相关连接
filetype:filetype     //搜索相应文件类型的文件
info:url                  //搜索指定站点的基本信息
cache:xxx             //搜索相应内容的缓存

1).在百度上搜索教育网站关于学生的doc文件 filetype:doc 学生 site:edu.cn 

2).在百度上搜索教育网站上的xls文件: filetype:xls site:edu.cn 

2. 基本的扫描技术

2.1 nmap扫描

  nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

(1)主机发现: nmap -sn 

  Nmap会发送四种不同类型的数据包来探测目标主机是否在线。(但是不扫描端口)

  • ICMP echo request
  • a TCP SYN packet to port 443(https)
  • a TCP ACK packet to port 80(http)
  • an ICMP timestamp request

  依次发送四个报文探测目标机是否开启。只要收到其中一个包的回复,那就证明目标机开启。使用四种不同类型的数据包可以避免因防火墙或丢包造成的判断错误

  下图中192.168.192.1即是我的本机(用NAT模式作为虚拟机的路由),192.168.192.139即是虚拟机win7,192.168.192.135即是虚拟机kali。

(2)端口扫描: nmap -sS  和  nmap -sU 

  1.SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高。(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)。同时这也是一种秘密的扫描方式之一,因为在SYN扫描中Client端和Server端没有形成3次握手,所以没有建立一个正常的TCP连接,因此不被防火墙和日志所记录,一般不会再目标主机上留下任何的痕迹,但是这种扫描是需要root权限的。

  下图为对本机 和win7虚拟机的TCP端口扫描,会显示TCP服务相关端口信息。

  

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

  下图为对本机 UDP端口扫描,会显示UDP服务相关端口信息。

(3)OS探测:  nmap -O 

  Nmap使用TCP/IP协议栈指纹来识别不同的操作系统和设备。在RFC规范中,有些地方对TCP/IP的实现并没有强制规定,由此不同的TCP/IP方案中可能都有自己的特定方式。Nmap主要是根据这些细节上的差异来判断操作系统的类型的。

具体实现方式如下:

  • Nmap内部包含了2600多已知系统的指纹特征(在文件nmap-os-db文件中)。将此指纹数据库作为进行指纹对比的样本库。
  • 分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。
  • 将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统。

  下图为对本机 和win7虚拟机的OS侦测,可以看出本机结果好像不太对...(本机OS为win10)

(这里OS探测本机IP采用了外网IP没有使用192.168.192.1)

     

(4)服务版本探测:   nmap -sV 

  版本侦测,用于确定目标主机开放端口上运行的具体的应用程序及版本信息。

  下图为对本机 和win7虚拟机的服务版本侦测。

2.2msf辅助模块

我们可以利用msf中的辅助模块进行具体服务的查点。

1).打开Armitage,扫描到主机

  

2).在左侧的 auxiliary模块中找到/scanner/smb/smb_version双击使用,并进行相关参数的配置

 

3).点击launch进行扫描

 

 

 

 

3. 漏洞扫描

3.1 openvas

1).终端下输入指令: openvas-check-setup ,检查安装状态,按照安装提示ERROR:fix XXX,不断输入命令直到输入 openvas-check-setup 没有提示错误,一切都OK。

2).开启: openvas-start ,浏览器会自动访问主页:https://127.0.0.1:9392/login/login.html,默认会自动进入,并输入好用户名和密码,点击登录即可。

3).新建Target,输入待扫描主机存。新建Task,使用刚才新建的Target作为目标,开始扫描。

图中192.168.43.137为我的本机(连的手机热点WiFi,所以跟上面IP地址不同)

 

4).等待扫描结束之后查看报告如下,大多都是安全威胁低级的漏洞,有一个是中级威胁。

5).点击查看这个中级威胁漏洞的具体信息。

  大约是说在远程主机上运行的分布式计算环境/远程调用(dce/rpc)或msrpc服务可以通过连接端口135和进行适当的查询来枚举。

  上网查了一下,Microsoft Windows对匿名管道的处理上存在问题,攻击者可以利用空会话的硬编码命名管道及MSRPC属性匿名枚举Windows服务。Windows的svcctl MSRPC接口用于同SCM(服务控制管理器)通讯。svcctl漏洞允许匿名用户连接到SCM,然后就可以枚举所安装的或正在运行的服务。攻击者可以利用这个漏洞匿名启动或中止Windows服务,具体取决于保护服务的安全描述符。

  解决办法:微软已经发布了相关的升级补丁以修复这个安全问题。

  除了打补丁还可以修改SCM DACL,拒绝访问ANONYMOUS LOGO SID。

6).我又扫描了我的虚拟机win7看看有没有什么漏洞。

7).查看报告发现,有一个高危漏洞、一个中危漏洞和一个低危漏洞。其中中危漏洞与刚刚在本机上扫描出来的漏洞一致。

8).点击查看这个高危漏洞和低危漏洞的具体信息。

  高危漏洞是说操作系统的版本过低...hhh..win7是有一点低了,不过这居然算是高危漏洞...

  解决办法:安装较新的操作系统的版本。

  低危漏洞是貌似是关于TCP时间戳引发的漏洞。

  上网查了一下资料,RFC 793中定义的传输控制协议(TCP)允许在报文交换网络中进行可靠的主机到主机的传输。RFC 1323引入了一些增强TCP性能的技术,其中两项技术是TCP时间戳和序列号回卷保护(PAWS)。TCP RFC 1323的PAWS技术中存在安全漏洞。如果启用了TCP时间戳的话,TCP连接的两个端点使用内部时钟用时间戳的值标记TCP首部。如果TCP PAWS配置为使用时间戳值的话,TCP PAWS实现中就会存在拒绝服务漏洞。如果攻击者向有漏洞的计算机发送了足够多的TCP PAWS报文的话会出现这个漏洞。攻击者可以将报文时间戳设为很大的值。目标机器在处理这个报文时,内部计时器就会更新到这个值,这可能导致丢掉所有之后收到的有效报文,因为这些报文被认定为太旧了或无效。这种技术可能导致目标连接拒绝服务。

  解决办法:Microsoft已经为此发布了一个安全公告(MS05-019)以及相应补丁。

  除了打补丁以外,也可以禁用PAWS和TCP时间戳。

 


四、实验问题回答

(1)哪些组织负责DNS,IP的管理。

  • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
  • 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
  • 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
  • 三级域名管理示例:CNIC(中国)-APNIC(亚太地区)-ICANN(全球)

(2)什么是3R信息。

  • 3R是指注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)

(3)评价下扫描结果的准确性。

  • 扫描结果大致准确,不过在OS探测上,nmap给出的结果是大致范围,不过也会有些偏差。

 

五、实验体会

  这次的实验相对前几次实际上比较简单,但是更需要我们去了解这些命令的用法,活学活用嘛。稍微让人头疼的就是openvas的安装和扫描...安装有可能碰到一堆错误,不过按照步骤来,实在有不懂的上网查查最后也都搞定了。我这次openvas扫描出来的漏洞还比较少,但是对于漏洞的分析,和找办法修补漏洞感觉都是很有趣的。在实践中也学到了很多,也能够用更多的办法去维护电脑的安全。

 

posted @ 2019-04-27 19:42  fearless_zzy  阅读(288)  评论(0编辑  收藏  举报
levels of contents