2019-2020-2 20175304刘朝尹 《网络对抗技术》 Exp5 信息搜集与漏洞扫描
2019-2020-2 20175304刘朝尹《网络对抗技术》Exp5 信息搜集与漏洞扫描
1 基础知识
- 信息搜集
- 外围信息搜集又叫公开渠道信息搜集。
- 搜索引擎,公共信息库,目标门户网站等等都是很好的入手点。
- metasploit有一类“辅助模块”,可以帮助你进行信息搜集的工作,并且还集成了nmap等神器。
- 主要方法有:
- 通过DNS和IP挖掘目标网站的信息
- whois域名注册信息查询
- nslookup,dig域名查询
- IP2Location 地理位置查询
- netcraft提供的信息查询服务
- IP2反域名查询等
- 通过搜索引擎进行信息搜集
- Google Hacking
- 搜索网址目录结构
- 搜索特定类型的文件
- 搜索E-Mali
- 搜索存在sql注入的页面以及后台登陆的页面
- IP路由侦查工具traceroute
- 扫描技术
- 通过DNS和IP挖掘目标网站的信息
- 活跃主机扫描
- ICMP Ping命令
- metasploit中的模块
- Nmap探测
- 端口扫描
- metasploit的端口扫描模块
- Nmap端口扫描,一般用到的参数如下:
-sT -sS -sF/-sX/-sN -sP -sU -sA -Pn -p -F
-探测详细服务信息
- 网络服务扫描
- telent服务扫描
- SSH服务扫描
- Oracle数据库服务查点
- 开放代理探测
- 网络漏洞扫描
- 漏洞扫描器会向目标发送大量数据包,甚至会导致目标系统拒绝服务,而且会有很多误报或漏报,因此需要人工分析。
OpenVAS漏洞扫描器
查找特定服务漏洞 - Nmap是针对性扫描工具之一,其拥有很多script的脚本可供使用。
2 实验步骤
- 各种搜索技巧的应用
- 通过搜索引擎进行信息搜集
必应上搜索site:edu.cn filetype:xls 手机号码
,会有很多excel表格,且这些文件中包含手机号码的相关信息。
点击某个网址,下载该文件后可以获得某些信息,下图是某竞赛的报名汇总表,里面包含了手机号码。
-
tracert
tracert可用于对经过的路由进行探测:在主机cmd中输入命令racert www.baidu.com
输出的信息分别是生存时间(跳数)、三次发送的ICMP包返回时间、途经路由器的IP地址,星号的信息表示该次ICMP包返回时间超时。
-
搜索网址目录结构
在kali终端输入如下代码,获取网站目录结构
sudo msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.baidu.com
exploit
可以找到以下目录:
- DNS IP注册信息的查询
- whois域名注册信息查询
whois用来进行域名注册信息查询。在终端输入whois baidu.com
(这个网址不加www)可查询到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的结果,但并不是一定准确的。在终端输入nslookup baidu.com
dig可以从官方DNS服务器上查询精确的结果,在终端输入dig baidu.com
dig命令还有很多查询选项,使用
+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]short:当启用该选项时,显示[或不显示]提供应答的IP地址和端口号。
+[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
执行具体的查询选择,例如:
-
maxmind查询
这个网站可以根据IP查询地理位置,使用ping www.baidu.com可以查看百度的IP地址,将百度IP:61.135.169.121输入到网站后可以看到主机的位置:
-
shodan地理位置查询
这个网站的搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型等信息,打开该网站,输入想要查询的IP地址,可以看到其地理位置,端口号和提供的服务等具体信息:
-
IP2反域名查询
在ip-address网站可以查询到更详细的关于IP的信息,在该网站输入百度的IP地址61.135.169.121后查看结果,可以看到很多关于该IP的详细信息:
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
- 主机发现
-
ping命令
ping命令用发送ICMP报文的方法检测活跃主机,cmd中输入命令ping www.baidu.com
-
metasploit中的模块
arp_sweep,ipv6_multicast_ping,ipv6_neighbor, ipv6_neighbor_router_advertisement, udp_probe和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块,arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机,udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息- arp_sweep
通过输入以下代码进行扫描
- arp_sweep
-
sudo msfconsole //启动
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep模块
set RHOSTS 192.168.0.10/24 //进行hosts设置
set THREADS 50 //用于加快扫描速度
run //进行扫描
- udp_sweep
通过输入以下代码进行扫描
sudo msfconsole //启动
use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep模块
set RHOSTS 192.168.0.10/24 //进行hosts设置
set THREADS 50 //用于加快扫描速度
run //进行扫描
-
Nmap探测
nmap -sn参数可以用来探测某网段的活跃主机,输入命令nmap -sn 192.168.0.10/24
-
metasploit中的模块
利用metasploit中的auxiliary/scanner/portscan中的扫描器进行端口扫描,主要可以扫描以下几种端口
ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
通过输入以下代码进行端口扫描
sudo msfconsole //启动
use auxiliary/scanner/portscan/tcp //进入auxiliary/scanner/portscan/tcp模块
set RHOSTS 192.168.0.10/24 //进行hosts设置
set THREADS 50 //用于加快扫描速度
run //进行扫描
-
Nmap端口扫描
使用nmap -sS -Pn 192.168.1.13(主机)进行Nmap端口扫描,-sS是TCP SYN扫描,-Pn是在扫描之前,不发送ICMP echo请求测试目标
-
具体服务的查点
- Telnet服务扫描
通过输入以下代码进行具体服务扫描
- Telnet服务扫描
sudo msfconsole //启动
use auxiliary/scanner/telnet/telnet_version //进入auxiliary/scanner/telnet/telnet_version模块
set RHOSTS 192.168.1.0/24 //进行hosts设置
set THREADS 100 //用于加快扫描速度
run //进行扫描
- SSH服务扫描
sudo msfconsole //启动
use auxiliary/scanner/ssh/ssh_version //进入auxiliary/scanner/ssh/ssh_version模块
set RHOSTS 192.168.1.0/24 //进行hosts设置
set THREADS 100 //用于加快扫描速度
run //进行扫描
- Oracle数据库服务查点
sudo msfconsole //启动
use auxiliary/scanner/oracle/tnslsnr_version //进入auxiliary/scanner/oracle/tnslsnr_version模块
set RHOSTS 192.168.1.0/24 //进行hosts设置
set THREADS 100 //用于加快扫描速度
run //进行扫描
- 使用open_proxy模块进行开放代理探测
sudo msfconsole //启动
use use auxiliary/scanner/http/open_proxy //进入use auxiliary/scanner/http/open_proxy模块
set RHOSTS 192.168.1.0/24 //进行hosts设置
set THREADS 100 //用于加快扫描速度
run //进行扫描
- OS及服务版本探测
nmap -O
选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息,使用命令nmap -O 192.168.1.13
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
-
安装OpenVAS
-
配置OpenVAS服务
-
新建任务,开始扫描
-
查看并分析扫描结果
- 3实验中遇到的问题
-
在apt-get dist-upgrade的时候网络中断,然后就一直显示有两个软件未完全安装或未完全卸载。导致后面setup安装openvas、安装检查openvas时也总有问题(正常的step应该有10个,我只有1个就停止了)
解决办法:网上搜不到完全相同的问题,重启虚拟机不行,重启本机再打开不行,最后重新装了kali的var/lib/dpkg/info文件。
- 4问题回答
- 哪些组织负责DNS,IP的管理
全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理。
全球一共有5个地区性注册机构:ARIN(北美地区),RIPE(欧洲地区),APNIC(亚太地区),LACNIC(拉丁美洲美洲),AfriNIC(非洲地区)
- 什么是3R信息
- 注册人Registrant
- 注册商Registrar
- 官方注册局Registry
- 评价下扫描结果的准确性。
可能会有一定的偏差,但在可接受范围内,总体准确。
- 实验体会
这次的实验,了解了信息收集与漏洞扫描的基本方法。总的来说不难,但花费时间有点长,主要是与自己精神注意力不集中,加上有些事耽误所致。另外加上网络信号一般,时常断网,导致虚拟机内核出错,就浪费了很多时间。