《网络对抗技术》exp5 信息搜集与漏洞扫描
实践原理
- 为什么要做信息收集
- 发现目标
- 筹备攻击行动“先发制人”
- 网络安全性评估“攻防对抗”
- 追踪攻击行为“后发制人”
- 优化防御策略 增强网络安全
- 信息收集需要做什么
- 发现目标:对象名称和主机域名、IP地址
- 关键信息
- 网络拓扑结构
- 操作系统
- 防护机制
- 网络服务
- 安全漏洞
- 其他:地理位置、联系方式
- 网络信息手机方式
- 网络搜索:搜索引擎、电驴、Foxy共享软件、博客以及论坛、扫描、监听
- 社会工程学
- 网络信息收集技术
- 网络踩点(Footprinting)
- Web搜索与挖掘
- DNS和IP查询
- 网络拓扑侦查
- 网络扫描
- 主机扫描
- 端口扫描
- 系统类型探查
- 漏铜扫描
- 网络差点
- 旗标抓取
- 网络服务差点
实践内容概述
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
实践过程
各种搜索技巧的应用
1.各种搜索技巧的应用
(1)搜索网址目录结构
- 原理:暴力破解一般就是穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。从理论上来说,只要字典足够庞大,枚举总是能够成功哒
- 命令步骤:
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.baidu.com
exploit
- 可以找到下面的目录
(2)检测特定类型的文件
- 原理:
filetype
能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”-
能在检索结果中获取检索词的补集,格式为“检索词 -词语”site
能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”)inurl
能在网址中进行搜索,格式为“检索词inurl:检索词”|
表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2”- ``空格表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
- 高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”。
- 使用命令:
site:edu.cn filetype:xls 身份证号
- 在页面中修改
(site:edu.cn
为edu.cn
,然后点击百度一下
- 在第一个链接中选择HTML版,否则会打不开
- 即可看见某某单位的某些人的个人信息
(3)使用traceroute命令进行路由侦查
- traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。
- TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
- 本实验以侦查百度为例,输入命令
tracert www.baidu.com
- 第一列表示生存时间,每途经一个路由器结点自增1
- 第二、三、四列表示三次发送的ICMP包返回时间,共计3个,单位为毫秒ms,其中带有星号(*)的信息表示该次ICMP包返回时间超时。
- 第五列表示途经路由器的IP地址,如果有主机名,还会包含主机名
2.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
-
在首页就能就能得到我们目前的公网地址啦
-
再次使用www.maxmind.com 查看我们的ip查询地理位置,我们在中国北京~
(4) IP2反域名查询
- shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
- 打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息
3.基本的扫描技术:主机发现、端口扫描、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请求枚举本地局域网络中的所有活跃主机; -
arp_sweep步骤命令:(
192.168.43.36
是我主机ip地址,所以设置的主机段为192.168.43.0
**,注意把kali改为桥接模式,)sudo msfconsole
//sudo很重要use auxiliary/scanner/discovery/arp_sweep
//进入arp_sweep 模块show options
//查询模块参数set RHOSTS 192.168.43.0/24
//用set进行hosts主机段设置set THREADS 50
//加快扫描速度run
//执行run进行扫描
-
遇到的问题:一定要sudo msfconsole,否则会提示
Auxiliary failed: RuntimeError eth0: You don't have permission to capture on that device (socket: Operation not permitted)
的错误,一开始以为是我的主机段设错了,后来去网上搜索发现是全选的问题。
-
能发现我的主机被搜索到
-
udp_sweep
sudo msfconsole
use auxiliary/scanner/discovery/udp_sweep
//进入udp_sweep 模块show options
//查询模块参数set RHOSTS 192.168.43.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.43.0/24
(2)端口扫描
- nmap -PU
- nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
- 输入命令
nmap -PU 192.168.43.0/24
(这个需要sudo哦) - 哎呀报错了,提示我
Sorry, UDP Ping (-PU) only works if you are root (because we need to read raw responses off the wire) QUITTING!
看来需要root权限,加一个sudo吧
- 输入命令
sudo nmap -PU 192.168.43.0/24
(3)版本探测
-
nmap -O
nmap -O
选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息- 输入命令
sudo nmap -O 192.168.43.36
,查看我的主机的情况,还挺详细的,感觉我的电脑不是很安全 - 输入命令
sudo nmap -O 192.168.43.6
,查看我的kali的情况,好像有些服务关闭了
-
nmap -sV
nmap -sV
查看目标主机的详细服务信息- 输入命令
sudo nmap -sV -Pn 192.168.43.36
,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标
(4)具体服务的查点
metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]version(用以遍历主机,确定服务版本)和[service_name]login(进行口令探测攻击)命名。
- Telnet服务扫描
- telnet命令用于登录远程主机,对远程主机进行管理。
sudo msfconsole
use auxiliary/scanner/telnet/telnet_version
//进入telnet模块set RHOSTS 192.168.43.0/24
//扫描192.168.43.0网段set THREADS 50
//提高查询速度run
- telnet命令用于登录远程主机,对远程主机进行管理。
- SSH服务
- SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
sudo msfconsole
use auxiliary/scanner/ssh/ssh_version
//进入ssh模块set RHOSTS 192.168.43.0/24
//用set进行hosts主机段设置set THREADS 50
//提高查询速度run
- SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
- Oracle数据库服务查点
sudo msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
set RHOSTS 192.168.43.0/24
//用set进行hosts主机段设置set THREADS 200
//提高查询速度run
4.漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
(1)安装gvm(https://blog.csdn.net/sinat_36395423/article/details/108656817参考)
openvas在kali新版本下已被取代,执行openvas-start、openvas-feed-update命令会报错,显示没有该命令。
输入以下口令安装gvm:
更新系统:(界面可能会有所改变)
apt-get upgrade
apt-get update
apt-get dist-upgrade
由于openvas在kali新版本下已被取代(执行openvas-start等命令都会报没有该命令),所以直接安装gvm
apt-get install gvm
gvm-setup 初始化(需等待一段时间,如果不是流量,校园网可能长达一个小时,建议找个完整的时间安装) 刚开始一定要截图,用户名和密码在开头的地方,很容易被刷掉看不见了
gvm-check-setup 检验初始化是否完全完成
(2)运行gvm
-
一些奇怪的准备,因为我第一次安装没有用户名和密码(也有可能是我没记,所以我重新创建了账户)
sudo runuser -u _gvm -- gvmd --user=admin --new-password=admin
-
先打开kali上的火狐浏览器,然后在终端中输入命令
gvm-start
,即正常开启
-
输入网址或者直接点击链接
https:\127.0.0.1:9392
,此时页面就是图片中的样子了,点一下Advanced
,然后接受风险并继续
-
点击
scan->Tasks
,找到那个和魔仙棒一样的东西点击Task Wizard
-
输入主机的IP地址,点击
start scan
(3)查看信息 -
就可以查看并分析扫描结果,点击Full and fast能够查看细节,但是相比其他人的我的好像没有很多NTV,难道是手机热点的网络比较安全?再次尝试校园网,依旧很少。
-
点击SecInfo->NTVs,然后双击那个饼状图的红色部分,查看危险等级较高的漏洞
-
就能看见两个漏洞:
-
详细描述1如下:
- Summary是该漏洞的描述,远程设备42 DCIM Appliance Manager web界面容易出现默认帐户身份验证绕过漏洞。
- Impact是该漏洞可能造成的后果:远程攻击者可能会利用此问题获取访问敏感信息或修改系统配置。
- Solution是关于该漏洞的解决方案:修改密码。
-
详细描述2如下:
- Summary是该漏洞的描述,远程SMTP服务器的邮件中继保护不足。
- Impact是该漏洞可能造成的后果:这意味着垃圾邮件发送者可能可以使用您的邮件服务器把他们的邮件寄到世界。
- Solution是关于该漏洞的解决方案:改进SMTP服务器的配置,使您的SMTP服务器不能再用作继电器了
基础问题回答
(1)哪些组织负责DNS,IP的管理。
-
ICANN(互联网名称与数字地址分配机构)是一个非营利性的国际组织,负责在全球范围内对互联网唯一标识符系统及其安全稳定的运营进行协调,包括互联网协议(IP)地址的空间分配、协议标识符的指派、通用顶级域名(gTLD)以及国家和地区顶级域名(ccTLD)系统的管理、以及根服务器系统的管理。
-
地址支持组织(ASO)负责IP地址系统的管理
-
域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
-
协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
-
全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
-
全球一共有5个地区性注册机构:
- ARIN主要负责北美地区业务
- RIPE主要负责欧洲地区业务
- APNIC主要负责亚太地区业务
- LACNIC主要负责拉丁美洲美洲业务
- AfriNIC负责非洲地区业务
(2)什么是3R信息。
- 注册人(Registrant) 、注册商(Registrar) 、官方注册局(Registry)
(3)评价下扫描结果的准确性。
- 任何扫描器都有误判或者漏判的可能,但是相对来说,扫描检测的比较精准,能够发现网络等等问题,原因、不良后果以及解决方法,具体详见实验过程。
实验总结与体会
整体实验相较前几次,难度有所下降,问题最多碰到的就是安装gvm时,发现openvas命令无法使用就及时上网搜索,在CSDN上找到了经过自己两次安装确认可行的方法,但是由于第一次尝试不够仔细,没有找到用户名和冗长的密码,因而重新创建了用户名和密码进入网站,时间相对花费较长,也因为版本升级后,我的分辨率经常跳来跳去的。在帮助同学安装的过程中也看见很多稀奇古怪的问题,在应用过程中,也发现了自己电脑与众不同的地方。经过扫描发现自己的IP地址下的主机并不如我们想象中的安全,可能很多个人信息正在泄露,我们也需要搜集信息,将之整理并且理解,达到更好的效果实现攻击。