2020-2021-2 网络对抗技术 20181321 Exp5 信息搜集与漏洞扫描
原理与实践说明
1.实践原理
信息搜集:渗透测试中首先要做的重要事项之一,搜集关于目标机器的一切信息
- 间接收集
- DNS记录扫描和枚举
- CorpWatch:
auxiliary/gather/corpwatch_lookup_name
- 搜索引擎子域名搜集器:
auxiliary/gather/searchengine_subdomains_collector
- 在线搜索工具
- GHDB
- 设备搜索:shodan,censys,zoomeye
- viewdns
- 直接收集
- 主机扫描:发现网络上的活动主机,
modules/auxiliary/scanner/discovery
- 端口扫描:发现主机上的开放端口,通过
search portscan
命令查看MSF中的端口扫描模块 - 版本探测:探测端口上的运行服务
- SMB(
auxiliary/scanner/smb/smb_
)一种在 Microsoft Windows系统中使用网络文件共享的协议,已被证明是最容易被攻击的协议之一,它允许攻击者枚举目标文件和用户,甚至远程代码执行。 - SSH(
auxiliary/scanner/ssh
)一个广泛使用的远程登录程序。 - FTP(
auxiliary/scanner/ftp
) - SMTP(
auxiliary/scanner/smtp/smtp_
) - SNMP(
auxiliary/scanner/snmp/snmp_enum
)用于管理网络设备的协议,比如监控设备的状态信息,接口信息,网络接口的数据吞吐量等,通过SNMP扫描器可以找到特定系统的大量信息。如果目标系统为Windows且配置了SNMP(通常是RO/RW团体字符串),我们可以提取系统重启时间,系统上的用户名,系统网络信息,运行的服务等各种有价值的信息。 - HTTP(
auxiliary/scanner/http/
)
- SMB(
- 漏洞探测:探测服务是否有相应漏洞
- NMAP:也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。
- 主机扫描:发现网络上的活动主机,
- 社会工程学
- 漏洞扫描与Openvas
2.实践内容概述
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
3.基础问题回答
-
哪些组织负责DNS,IP的管理。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 地址支持组织(ASO)负责IP地址系统的管理
- 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
- 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
- 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
-
什么是3R信息。
- 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)
-
评价下扫描结果的准确性。
-
我认为扫描结果大致上还是比较准确的
-
在实验过程中有详细记录。
-
实验内容
任务一:各种搜索技巧的应用
一、 搜索网址目录结构
-
原理:暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。理论上只要字典足够大就可以进行穷举。
-
使用方法
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 20
set RHOSTS www.baidu.com
exploit -
可以得到以下结果
二、使用traceroute命令进行路由侦查
-
原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。本实验以侦查百度为例。
-
方法:输入命令
tracert www.baidu.com
-
从左到右依次是生存时间、三次发送的ICMP包返回时间(共计3个)、途径路由器的IP地址。其中(*)代表返回时间超时。
任务二:DNS IP注册信息的查询
一、whois查询
-
原理:
whois
用来进行域名注册信息查询。 -
方法:在终端输入
whois baidu.com
可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。(注意:进行whois查询时要去掉www的前缀。)
二、nslookup,dig域名查询
nslookup
-
原理:
nslookup
可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。 -
方法:在终端输入
nslookup baidu.com
dig
-
原理:
dig
可以从官方DNS服务器上查询精确的结果。 -
方法:在终端输入
dig baidu.com
-
dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。+[no]identify
:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
三、 IP2Location地理位置查询
1.www.maxmind.com
-
www.maxmind.com
网站可以根据IP查询地理位置。 -
方法:利用
ping www.baidu.com
的查看网站的IP地址 -> 打开网站网页www.maxmind.com->在网站下方输入IP->点击前往查看结果。 -
本网站可以查看当前主机所在的物理位置。
2.www.ip-adress.com
-
原理:IP-ADDRESS这个网站可以查询到更详细的关于IP的信息
-
方法:网页初始界面会显示自己本机的IP地址,在左上角的框框里可以输入想要查询的IP
-
这里查看自己的IP地址
3、IP2反域名查询
-
原理:shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型.
-
方法:打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息
-
查看百度Ip
61.135.169.121
,可以看到地理位置、端口号以及提供的服务。
任务三:基本的扫描技术
一、主机发现
1.PING
-
原理:ping命令用发送ICMP报文的方法检测活跃主机
-
方法:输入命令
ping www.baidu.com
2.metasploit中的arp_sweep模块和 udp_sweep 模块
-
原理arp_sweep和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息
-
arp_sweep(192.168.231.128是我kali的主机IP)
msfconsole
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
show options //查询模块参数
set RHOSTS 192.168.231.128/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.231.128/24 //用set进行hosts主机段设置
set THREADS 50 //加快扫描速度
run //执行run进行扫描
3.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.231.0/24
二、端口扫描
1.nmap -PU
-
原理:nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同
-
方法:输入命令
nmap -PU 192.168.231.0/24
三、版本探测
1.nmap -O
-
原理:nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
-
方法:输入命令
nmap -O 192.168.231.128
2.nmap -sV
-
原理:nmap -sV查看目标主机的详细服务信息
-
方法:输入命令
nmap -sV -Pn 192.168.231.128
,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标
四、具体服务的查点
1.Telnet服务扫描
-
原理:telnet命令用于登录远程主机,对远程主机进行管理。
-
方法:
msfconsole
use auxiliary/scanner/telnet/telnet_version //进入telnet模块
set RHOSTS 192.168.248.0/24 //扫描192.168.248.0网段
set THREADS 50 //提高查询速度
run
2.2.SSH服务
-
原理:SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
-
方法:
msfconsole
use auxiliary/scanner/ssh/ssh_version //进入ssh模块
set RHOSTS 192.168.248.0/24 //扫描网段
set THREADS 50 //提高查询速度
run
3.Oracle数据库服务查点
-
方法:
msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 192.168.248.0/24
set THREADS 200
run
任务四:漏洞扫描—安装OpenVAS
一、安装
apt-get update
apt-get dist-upgradeapt-get install openvas
apt install gvm
sudo gvm-setup//这步时间非常非常非常长,找个网好的地方装,网千万别断,很容易出bug
gvm-feed-update
二、登录
-
输入生成的账户、密码
三、新建Target,开始扫描
-
在菜单栏选择"Scans"->"Tasks"
-
进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"172.20.10.2",并单击"Start Scans"确认,开始扫描。
四、查看并分析扫描结果
-
打开该扫描结果的详细信息,并点击其中的“Full and fast”:
-
点击进入Buffer overflow查看详细结果,其中标注了漏洞的危险等级:
-
点开一个危险等级较高的漏洞:
-
详细描述如下:
- Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。
- Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。
实验感想
- 本次实验难度不是很大,但是比较琐碎,就是操作比较多,但都是通过命令行来查看各种信息,通过各种工具对主机、端口、版本、网络服务等进行了扫描,实现了基本的信息收集。并在实验后期,使用Openvas实现了漏洞扫描。这些信息,为了渗透测试做了准备工作,通过这些信息分析,来找到靶机的缺点、漏洞以及弱点进行攻击。