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的脚本可供使用。
问题回答
- 哪些组织负责DNS,IP的管理
全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理。
全球一共有5个地区性注册机构:ARIN(北美地区),RIPE(欧洲地区),APNIC(亚太地区),LACNIC(拉丁美洲美洲),AfriNIC(非洲地区) - 什么是3R信息
注册人(Registrant),注册商(Registrar)官方注册局,(Registry) - 评价下扫描结果的准确性
扫描结果总体准确,还是比较有参考意义
实验过程
搜索引擎查询技术
- 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上会遇到困难,而且有些都是网上找不到的问题,毕竟是一个软件的安装,也无法去验证具体哪一步错在哪里,只能是不断的去试可能会出错的步骤,通过这次实验,学习并尝试使用了各种信息收集、漏洞扫描的方式,还掌握了漏洞的扫描和分析的基本方法,收益匪浅。