EXP5
# EXP 5
回答问题
(1)哪些组织负责DNS,IP的管理。
ICANN(Internet 域名与地址管理机构)负责全球的DNS、IP和域名根服务器的管理。
ICANN是为承担域名系统管理IP地址分配,协议参数配置,以及主服务器系统管理等职能而设立的非盈利机构。
(2)什么是3R信息。
注册人(Registrant)、注册商(Registrar)、官方注册局(Registry)
(3)评价下扫描结果的准确性。
扫描的系统和扫描方式的不同,扫描结果可能会有偏差。还有一些手机在不使用时会启动类似“休眠模式”,只有在用户使用时才会连接到网络,所以有时候会扫描不出来,这里就会造成在某一时间段前后扫描结果的不同
在用openvas(gvm)进行漏扫的过程中发现(网关)路由器与其他主机进行通讯的过程中存在未加密传输漏洞,我打算尝试使用wireshark抓包,看看是否能抓到用户登录路由器管理后台时输入的密码。
登录路由器管理后台:192.168.1.1
在输入密码框输入密码测试样例(for_test),并打开wireshark抓包。筛选目的地址为192.168.1.1的数据包
在HTTP传输包中,查看传输内容,可以看到我们刚刚输入的测试样例(for_test),就是我们向网关发出的数据包,数据包内容(输入的密码)是以明文传输的(password=for_test),这就验证了我们在使用gvm漏扫的结果
实验总结与体会
想要掌握牢固课程相关方面的知识点,就要不断将之前学过的各种知识点融会贯通。像本课程一些实验涉及到的nmap扫描、wireshark抓包分析都是之前信安概论实验课上讲授的内容,我在实验中一些实践操作相当于将之前的相关知识点都复现了一遍,正是因为之前打下的牢固基础,在实验中使用的时候效率才会提高,我在这里也非常感谢庞老师之前在课上对我们的严格要求与循循善诱的引导,我才将相关方面的知识点掌握得更加牢固。同时她本学期教授的恶意代码分析与此门课程也有许多共通之处,相关的各种知识点都串联在了一起,我就更能体会到实验的趣味性。
在openvas(gvm)安装过程中我也遇到了许多问题,最大的问题就是安装之后在启动扫描时无法扫描,有
Failed to find config 'daba56c8-73ec-11df-a475-002264764cea'
的报错,寻找各种方法都无法解决。最后只能拷贝其他成功安装openvas(gvm)同学的虚拟机,初步判断可能是不同用户的环境变量的问题,所以在安装时建议也要加上sudo。
实践过程与记录
1.各种搜索技巧的应用
搜索某一个网址目录结构
这里我选择利用工具查看一下xinhuanet网站的目录结构
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.xinhuanet.com
exploit
扫到的结构如图所示
这些在目录后面的200、403、502是状态码,这些数据都是什么意思呢?
类别 | 原因短语 | |
---|---|---|
1XX | Informational(信息性状态码) | 接收的请求正在处理 |
2XX | Success(成功状态码) | 请求正常处理完毕 |
3XX | Redirection(重定向) | 需要进行附加操作以完成请求 |
4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
相关方面的更多信息,可以访问这个网站噢一文牢记HTTP状态码借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。 注意:这个扫到的结果是有差别的,如果该网站的运维人员采取了相关措施,是扫不出网站的目录结构的。可以打开哪些状态码是2XX类型的,看看都有什么
我打开一个状态码是200的,看到这个目录下存储的好像是一个多年前的网页
通过搜索引擎进行信息搜索
例如,我想要从互联网中扒出某个人的信息,但是我目前已经知道了此人得到名字及学校,我还想知道此人在学校内参加过什么活动、担任什么职位、负责研究过什么项目、有什么科研成果、拿过什么奖项越详细越好,应该如何利用搜索引擎进行搜索呢?
比如此次实验我将搜索范围设置在“首都经贸大学学校官网”中,我先上搜索引擎上搜索这个学校,可以得到学校官网
https://www.cueb.edu.cn 就是学校的官网,注意:需要去掉www等前缀,还有也要把xxgk/dlwz/index.html这些后缀也要去掉
通过搜索引擎查找学校官网中上传的excel表格,可以查找到一些校内人员负责项目的一些信息,
我大概逛了一下,这个网站对相关人员信息保护的还比较好,暂时没有找到如电话号码、学号、身份证号码等信息。
我改变了一下搜索目标,发现有一个网站上传的excel表格里面有一些学生信息,还有电话号码,有心人员利用这些收集到的信息,基本上可以开始实施电信诈骗了(掌握了你的学校、学号、姓名、同学名称、手机号、老师,会引导你进行校园贷注销等操作)
咱们学校对个人信息保护得比较好,我查看了这些搜索引擎抓取到的文件,通过这种方法几乎扒不出太多有用的信息
2.DNS IP注册信息的查询 1分
whois命令查询
whois有什么用?
它是用来查询域名的ip及所有者信息的;在渗透测试中,whois得到信息一般是为社会工程学攻击做准备。在kali中可以输入whois+域名进行查询。进行whois查询时记得去掉www等前缀
对新浪网用whois命令查询,查询结构如下图
Registrant: 北京新浪互联信息服务有限公司
域名拥有者是北京新浪互联信息服务有限公司
得到的信息中有域名拥有者的联系邮箱
Sponsoring Registrar: 北京新网数码信息技术有限公司
域名注册服务商是北京新网数码信息技术有限公司
nslookup、dig域名查询
nslookup结果中有这样一条提示:Non-authoritative answer:
这是因为nslookup可以得到DNS解析服务器Cache的结果,这不一定是正确的,dig是从官方DNS服务器上查询精确的结果。从图中可以看到,查询新浪的域名,这两种方式得到的结果是一样的。
为什么查询的是sina.com.cn而不是sina.com呢?因为sina.com已经停止提供服务
如果需要查询whois信息,除了kali的whois命令以外,还可以到网站进行查询
whois(国外):https://www.whois.com/whois
IP2Location地理位置查询
可以先用ping命令获取目标域名的IP地址
IP地址所在位置查询网站:https://www.ipaddressguide.com/ip2location
这个查询有次数限制,每天能查20次
3.基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)1分
3.1主机发现
ping命令
原理:ping命令用发送ICMP报文的方法检测活跃主机
输入命令 ping [目标ip]
metasploit中arp_sweep模块与udp_sweep 模块
arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机
udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息
注意:要先将Kali设成桥接模式才能扫描同一个网段下的其他主机,也可以选择多开虚拟机,开启“仅主机”模式,扫描由虚拟机组成的局域网
msfconsole
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
set RHOSTS 主机地址 //用set进行hosts主机段设置
set THREADS 50
run //执行run进行扫描
nmap扫描
使用nmap命令
nmap -sn 192.168.1.0/24
寻找该网段下的活跃主机
windows端有nmap可视化界面应用,也可以下载nmap(for windows)进行扫描操作
3.2端口扫描
metasploit扫描端口
利用metasploit中的auxiliary/scanner/portscan
中的扫描器进行端口扫描
use auxiliary/scanner/portscan/tcp
就是通过一次完整的TCP链接来判断端口是否开放
msfconsole
use auxiliary/scanner/portscan/tcp
set RHOST 192.168.1.1
set THREADS 50
run
我这里扫描的是路由器(网关),发现一些端口是打开的
nmap扫描端口
nmap命令
-sS:TCP SYN扫描;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;
nmap -sN 192.168.1.1
nmap扫描路由器,发现打开了9个端口,扫描结果与metasploit扫描结果一致
3.3 OS及服务版本探测
nmap -o 192.168.1.0/24
扫描网段内主机的操作系统类型及设备类型
3.4 具体服务的查点
Telnet服务扫描
telnet命令用于登录远程主机,对远程主机进行管理。利用Telnet服务,黑客可以搜索远程登录Unix的服务。Telnet-23端口
msfconsole
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.1.1
set THREADS 50
run
刚刚扫描过一次,路由器的23端口没有打开,说明Telnet服务是关闭的。此次扫描结果是23端口没有打开,与上一次扫描结果相符。
若想要查看某一网段里面的主机Telnet服务的开放情况,也可以设置扫描端口为某一网段
set RHOSTS 192.168.1.0/24
SSH服务扫描
一台服务器打开了SSH服务,就能通过输入密码登录此台服务器。攻击者一般先会扫描SSH服务是否打开,若打开,则会通过密码字典等暴力破解等方式尝试登录此台服务器。SSH-22端口
msfconsole
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.1.1
set THREADS 50
run
若想要查看某一网段里面的主机Telnet服务的开放情况,也可以设置扫描端口为某一网段
set RHOSTS 192.168.1.0/24
4.漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标) 1分
在kali新版本中openvas改名成了gvm,openvas(gvm)运行报错可以参考这篇博客:
https://www.cnblogs.com/wqnmlkb/p/14660127.html
注意:这里我建议无论是否在root下,都不要落下这个sudo,否则可能后面的步骤会出现报错
更新软件包列表
sudo apt-get update
获取到最新的软件包
sudo apt-get dist-upgrade
安装
sudo apt-get install gvm
初始化
sudo gvm-setup
安装完整性检验
sudo gvm-check-setup
看到It seems like your GVM installation is ok
表示阶段性安装完毕
开启这个软件
gvm-start
开启后会自动在浏览器打开gvm界面,输入用户名与密码
扫描目标一:网关(路由器)
scan标签下选择Task,使用Task-Wizard新建扫描任务,输入扫描目标的IP地址进行漏洞扫描
查看并分析扫描结果:打开查看一下扫描的详细信息
点击“Fri, Apr 22, 2022 9:40 AM UTC”即可查看扫描详细信息
Vulnerability一列是漏洞名称
solution type(图标像拼图)的一列表示的是解决此问题的方法;workaround大意就是可以使用替换方案解决此问题,mitigation大意是可以采取方案减轻此漏洞带来的危害(个人理解)
Severity 一列是漏洞的危险级别
Host一列是漏洞存在的主机
Location一列显示的是漏洞的端口及提供的服务
The mitigation for this kind of vulnerabilities highly depends on the service/product this vulnerability is detected at so no specific mitigation hints can / will be given here.
译文:此类漏洞的缓解措施高度依赖于检测到此漏洞的服务/产品,因此这里不能/将不会给出具体的缓解提示。
此次扫描结果大意就是此IP地址提供了web服务,但是未对传输的数据进行加密,中间人可以通过窃听的方式获取传输内容
我个人感觉这个漏洞的意义不大,因为192.168.1.1是网关(路由器)的地址,你通过抓包获取人家的后台管理密码,并修改了密码,但是人家可以在路由器按一下RESET恢复出厂设置。你这个攻击也无效
扫描目标二:本人手机
然后我还有对我的手机(honor_note10)进行了扫描,发现了CVE-1999-0524漏洞,危害等级: 低危
该漏洞大致就是该主机会应答 ICMP 时间戳请求。这导致攻击者了解目标计算机上设置的日期,从而可能帮助未经认证的远程攻击者破坏基于时间进行认证的协议。
Description(漏洞描述)
ICMP information such as netmask and timestamp is allowed from arbitrary hosts.
译文:允许任意主机提供诸如netmask和timestamp等ICMP信息
解决方案:过滤掉 ICMP 时间戳请求以及出站的 ICMP 时间戳回复。
可以在终端中使用以下命令:
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-request -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type timestamp-reply -j DROP
sudo iptables -A INPUT -p ICMP --icmp-type time-exceeded -j DROP
sudo iptables -A OUTPUT -p ICMP --icmp-type time-exceeded -j DROP接下来,重启iptables服务,重启命令:service iptables restart
检查新添加的规则是否有效,检查命令:iptables -L -n
solution source 解决方案来源:ICMP timestamp请求响应漏洞