2019-2020-2 网络对抗技术 20175205 Exp5 信息搜集与漏洞扫描
原理与实践说明
实践原理
1、 为什么要做信息收集
- 发现目标
- 筹备攻击行动“先发制人”
- 网络安全性评估“攻防对抗”
- 追踪攻击行为“后发制人”
- 优化防御策略 增强网络安全
2、 信息收集需要做什么
- 发现目标:对象名称和主机域名、IP地址
- 关键信息
- 网络拓扑结构
- 操作系统
- 防护机制
- 网络服务
- 安全漏洞
- 其他:地理位置、联系方式
3、 网络信息手机方式
- 网络搜索:搜索引擎、电驴、Foxy共享软件、博客以及论坛、扫描、监听
- 社会工程学
4、 网络信息收集技术
- 网络踩点(Footprinting)
- Web搜索与挖掘
- DNS和IP查询
- 网络拓扑侦查
- 网络扫描
- 主机扫描
- 端口扫描
- 系统类型探查
- 漏铜扫描
- 网络差点
- 旗标抓取
- 网络服务差点
实践内容概述
1、 各种搜索技巧的应用
2、 DNS IP注册信息的查询
3、 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
4、 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
基础问题回答
1、 哪些组织负责DNS,IP的管理。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)
2、 什么是3R信息。
- 官方注册局-注册商-注册人。
- 注册人(Registrant)->注册商(Registrar)->官方注册局(Registry)。
3、 评价下扫描结果的准确性。
- 我认为扫描结果大致上还是比较准确的。
- 实践过程中有详细回答。
实验内容
任务一:各种搜索技巧的应用
1、 搜索网址目录结构
- 原理:暴力破解一般就是穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。从理论上来说,只要字典足够庞大,枚举总是能够成功哒
- 方法
- msfconsole
- use auxiliary/scanner/http/dir_scanner
- set THREADS 20
- set RHOSTS www.baidu.com
- exploit
- 可以找到下面的目录
2、 使用traceroute命令进行路由侦查
- traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。
- TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
- 本实验以侦查百度为例,输入命令
tracert www.baidu.com
。- 第一列表示生存时间,每途经一个路由器结点自增1
- 第二、三、四列表示三次发送的ICMP包返回时间,共计3个,单位为毫秒ms,其中带有星号(*)的信息表示该次ICMP包返回时间超时。
- 第五列表示途经路由器的IP地址,如果有主机名,还会包含主机名
任务二:DNS IP注册信息的查询
1、 whois查询
- 使用
whois
用来进行域名注册信息查询。 - 在终端输入
whois gitee.com
可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。 - 注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
2、 nslookup,dig域名查询
-
nslookup
nslookup
可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。- 在终端输入
nslookup gitee.com
-
dig
dig
可以从官方DNS服务器上查询精确的结果。- 在终端输入
dig gitee.com
-
除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。+[no]identify
:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。- ......
3、 IP2Location地理位置查询
-
www.maxmind.com
网站可以根据IP查询地理位置。 -
利用
ping www.baidu.com
的查看网站的IP地址 -> 打开网站网页www.maxmind.com->在网站下方输入IP->点击前往查看结果
-
www.ip-adress.com
这个网站可以查询到更详细的关于IP的信息 -
网页在左上角的框框里可以输入想要查询的IP,那就试试自己的呗。。咦。。
4、 IP2反域名查询
- shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
- 打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息
任务三:基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
1、 主机发现
-
PING
- ping命令用发送ICMP报文的方法检测活跃主机
- 输入命令
ping www.baidu.com
-
metasploit中的arp_sweep模块和udp_sweep模块
-
arp_sweep
和udp_sweep
都是metasploit中位于modules/auxiliary/scanner/discovery
中的模块 -
arp_sweep
使用ARP请求枚举本地局域网络中的所有活跃主机;- msfconsole
- use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
- show options //查询模块参数
- set RHOSTS 192.168.62.0/24 //用set进行hosts主机段设置
- set THREADS 50 //加快扫描速度
- run //执行run进行扫描
-
udp_sweep
模块除了可以探测到存活主机之外,还可以获得主机名称信息- msfconsole
- use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
- show options //查询模块参数
- set RHOSTS 192.168.62.0/24 //用set进行hosts主机段设置
- set THREADS 50 //加快扫描速度
- run //执行run进行扫描
-
-
nmap -sn
- nmap的相关参数如下
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
nmap -sn
参数可以用来探测某网段的活跃主机- 输入命令
nmap -sn 192.168.62.0/24
2、 端口扫描
- nmap -PU
- nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
- 输入命令
nmap -PU 192.168.62.0/24
3、 版本探测
-
nmap -O
nmap -O
选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息- 输入命令
nmap -O 192.168.62.22
-
nmap -sV
nmap -sV
查看目标主机的详细服务信息- 输入命令
nmap -sV -Pn 192.168.62.1
,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标
4、 具体服务的查点
metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。
-
Telnet服务扫描
- telnet命令用于登录远程主机,对远程主机进行管理。
- msfconsole
- use auxiliary/scanner/telnet/telnet_version //进入telnet模块
- set RHOSTS 192.168.62.0/24 //扫描192.168.62.0网段
- set THREADS 50 //提高查询速度
- run
-
SSH服务
- SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
- msfconsole
- use auxiliary/scanner/ssh/ssh_version //进入ssh模块
- set RHOSTS 192.168.62.0/24 //扫描网段
- set THREADS 50 //提高查询速度
- run
- SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
-
Oracle数据库服务查点
- msfconsole
- use auxiliary/scanner/oracle/tnslsnr_version
- show options
- set RHOSTS 192.168.62.0/24
- set THREADS 200
- run
任务四:漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
1、 安装OpenVAS
apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup
2、 登陆:输入生成的账户、密码
3、 新建Target,开始扫描
- 在菜单栏选择"Scans"->"Tasks"
- 进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"10.1.1.149",并单击"Start Scans"确认,开始扫描
4、 查看并分析扫描结果
-
打开该扫描结果的详细信息,并点击其中的“Full and fast”:
-
点击进入Buffer overflow查看详细结果,其中标注了漏洞的危险等级:
-
可以点开一个危险等级较高的漏洞:
-
详细描述如下
- Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。
- Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。
实验中遇到的问题及解决方法
Q1:诶?这好像成功了呀,让我设用户名密码嘿嘿嘿
A1:美滋滋,感觉要成功了,那就设个用户名密码
Q2:看来是我想多了,我就知道没那么容易,这又是什么鬼畜问题。。。
You should start the redis-server or configure it to listen on socket: /var/run/redis-openvas/redis-server.sock
A2:找资料呀找资料呀,终于让我的火眼金睛给发现了,不就是启动不了socket嘛
- 使用命令
vim /var/run/redis-openvas/redis-server.sock
给我改文件!
port 0
unixsocket /var/run/redis-openvas/redis-server.sock
unixsocketperm 700
timeout 0
- 利用指定配置开启redis服务:
redis-server /var/run/redis-openvas/redis-server.sock
- 再次openvas-setup,这次居然成功了!!要注意设置后需要重启才能生效!
实验感想
- 本次实验实践的部分不是很难,有的方法以前其他的课也接触过,但是叭。。。这个安装也太费劲了,解决一个问题,又发现一个,这是俄罗斯套娃嘛,实践两小时,安装好几天>_>
- 通过本次实验,发现自己的信息大量的暴露在网络上,很容易被其他人窃取到,所以我们平时应该提高防范意识,注意自己的信息安全,及时修复电脑漏洞。