信息搜集与漏洞扫描
# 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漏扫的结果
实验总结与体会
实践过程与记录
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
安装(在root用户下)
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请求响应漏洞