20175307 2020-4 《网络对抗技术》Exp5 信息搜集与漏洞扫描
一、实践目标
1、实践对象
- Windows 10
- Kali Linux
- Baidu
2、实践内容
- 搜索技巧的应用
- DNS,IP注册信息的查询
- 基本的扫描技术
- 漏洞扫描
二、基础知识
1、实践要求
掌握信息搜集的最基础技能与常用工具的使用方法
2、指令/参数
- 自动化工具
set RHOSTS
设置扫描路径
set THREADS
设置并发进程数量
- 搜索引擎
filetype
能对搜索结果的文件类型进行限定检索词 filetype:文件类型
-
能在检索结果中获取检索词的补集检索词 -词语
site
能限制检索结果的来源检索词 site:限制域名
inurl
能在网址中进行搜索检索词inurl:检索词
|
表示布尔逻辑中的或者(or)关系关键词1 | 关键词2
空格
表示布尔逻辑中的交集(and)关系关键词1 关键词2
- Nmap
-sS/sT/sA/sW/sM
指定TCP SYN/Connect()/ACK/Window/Maimon scans扫描目标
-sU
指定UDP扫描方式确定目标的UDP端口状况
-sN/sF/sX
指定TCP Null,FIN,Xmas scans秘密扫描方式协助探测对方的TCP端口状态
--scanflags <flags>
定制TCP包的flags
-sI <zombiehost[:probeport]>
指定idle scan方式来扫描目标主机(需要合适的zombie host)
-sY/sZ
使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
-sO
使用IP protocol扫描确定目标支持的协议类型
-b <FTP relay host>
使用FTP bounce scan扫描方式
osscan-limit
限制Nmap只对确定的主机的进行OS探测(需要至少确定该主机的一对open和closed的端口)
osscan-guess
猜测对方的主机的系统类型(准确性低但会尽可能多为用户提供潜在的操作系统)
3.预备知识
Nmap
- 拥有丰富的系统数据库,目前可以识别2600多种操作系统与设备类型,可以扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统以及用以评估网络系统安全。
搜索引擎
- 有些网站会链接通讯录订单等敏感的文件,可进行针对性的查找site:XXX.com filetype:xls。
4、实践
1.通过搜索引擎进行信息搜索
Google搜索filetype:xls Email site:edu.cn,会出现xls的文件,且针对于学校网站。
2.tracert
tracert可用于对经过的路由进行探测:在主机cmd中输入命令tracert www.sian.com
3.自动化的工具:搜索网址目录结构
利用msfdir_scanner模块,检测网站目录结构:枚举法,暴力猜解网站目录结构
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.sina.com
exploit
4.DNS IP注册信息的查询
4.1whois域名注册信息查询
whois sina.com
获取的信息
Domain Name:SINA.COM
Creation Date:1998-09-16T09:17:25Z
Updated Data:2018-12-02T04:00:00Z
Name Server:NS(1-4)SINA.COM(.CN)
注意:进行whois查询时去掉www等前缀
4.2nslookup,dig域名查询
nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果。从图中可以看到,查询百度的域名,这两种方式得到的结果是一样的。
dig
还有很多查询选项,每个查询选项由带前缀(+)的关键字标识
-
+[no]search
使用[不使用]搜索列表或resolv.conf
中域伪指令(如果有的话)定义的搜索列表(默认不使用); -
+[no]trace
切换为待查询名称从根名称服务器开始的代理路径跟踪(默认不使用),若启用跟踪dig
使用迭代查询解析待查询名称,将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答; -
+[no]identify
当启用+short
选项时,显示[不显示]提供应答的IP地址和端口号; -
+[no]stats
设定显示统计信息,查询进行时,应答的大小等,默认显示查询统计信息。
4.3IP2反域名查询
先通过ping
指令获得IP
地址
获取到www.sina.com的IP地址:123.246.197.144
接着通过IP-ADDRESS查询地理位置
5.基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
5.1主机发现
(1)msfconsole
位于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数据包探测。
-
打开
msfconsole
,依次输入: -
msf > use auxiliary/scanner/discovery/arp_sweep
//进入arp_sweep 模块
*msf auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 10.10.10.2/24
//用set进行hosts主机段设置
-
msf auxiliary(scanner/discovery/arp_sweep) > set THREADS 50
//加快扫描速度 -
msf auxiliary(scanner/discovery/arp_sweep) > show options
//查询模块参数 -
msf auxiliary(scanner/discovery/arp_sweep) > run
//执行run进行扫描
(2)Nmap
在Windows下使用nmap -sn 192.168.0.0/24
寻找该网段下的活跃主机:
5.2端口扫描
(1)metasploit
-
metasploit的端口扫描模块:利用metasploit中的
auxiliary/scanner/portscan
中的扫描器进行端口扫描,主要可以扫描以下五种端口: -
ack
:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测 -
ftpbounce
:通过FTP BOUNCE攻击的原理对TCP服务进行枚举 -
syn
:使用发送TCP SYN标志的方式探测开放的端口 -
tcp
:通过一次完整的TCP链接来判断端口是否开放 -
xmas
:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
在msfconsole中输入:use auxiliary/scanner/portscan/tcp
,设定IP地址set RHOST 192.168.0.101
后,输入run
开始扫描:
(2)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
<端口范围>:指定端口扫描范围
5.3OS及服务版本探测
- 操作系统侦测用于检测目标主机运行的操作系统类型及设备类型等信息。
- Nmap拥有丰富的系统数据库nmap-os-db,目前可以识别2600多种操作系统与设备类型。
- OS侦测用法
-O: 指定Nmap进行OS侦测。
--osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)。
--osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统。
192.168.0.108这是我弟电脑的ip,他用的是一台MAC,但是装的Windows 7系统
5.4具体服务的查点
(1)Telnet服务扫描
- msf >
use auxiliary/scanner/telnet/telnet_version
//进入telnet模块 - msf auxiliary(telnet_version) >
set RHOSTS 192.168.0.0/24
//扫描192.168.0.0网段 - msf auxiliary(telnet_version) >
set THREADS 100
//提高查询速度 - msf auxiliary(telnet_version) >
run
(2)SSH服务扫描
- msf >
use auxiliary/scanner/ssh/ssh_version
- msf auxiliary(ssh_version) >
set RHOSTS 192.168.0.0/24
- msf auxiliary(ssh_version) >
set THREADS 200
- msf auxiliary(ssh_version) >
run
6.漏洞扫描
- OpenVAS(Open Vulnerability Assessment System)是开放式漏洞评估系统,其核心部分是一个服务器。
- 该服务器包括一套网络漏洞测试程序,可以检测远程系统和应用程序中的安全问题。
- 该工具是基于C/S(客户端/服务器),B/S(浏览器/服务器)架构进行工作,用户通过浏览器或者专用客户端程序来下达扫描任务,服务器端负载授权,执行扫描操作并提供扫描结果。
6.1安装OpenVAS
输入以下口令安装OpenVAS:
sudo su
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get install openvas
openvas-setup # 可能需要重复多次,需要下载很多xml文件
openvas-check-setup
openvasmd --user=admin --new-password=[new key]
openvas-start
- 1.登陆
-
2.扫描192.168.40.130
-
3.查看扫描结果、扫描类型
- 4.选择FTP进行分析
- 5.FTP漏洞
四、问题回答
1.哪些组织负责DNS,IP的管理。
全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
2、什么是3R信息。
注册人(Registrant)
注册商(Registrar)
官方注册局(Registry)
3.评价下扫描结果的准确性
总体来说可以比较准确地,但是根据系统和扫描方式的不同,可能会有偏差。
五、实验收获和感想
本次实验中尝试了很多种搜集信息和漏洞扫描的方法。这也是在为渗透测试做准备工作,是十分重要的基础性操作。通过这些获取到的信息便可以分析出对方的缺点、弱点以及漏洞进行攻击。
在实验过程中对于如此多样的信息搜集方式,让我不禁对于自己电脑此时是否已经被某些黑客分析的彻彻底底的而感到不寒而栗。