2019-2020-2 20175305张天钰《网络对抗技术》Exp5 信息搜集与漏洞扫描

2019-2020-2 20175305张天钰《网络对抗技术》Exp5 信息搜集与漏洞扫描


一.实践目标

掌握信息搜集的最基础技能与常用工具的使用方法。

二.实践内容

*(1)各种搜索技巧的应用

*(2)DNS IP注册信息的查询

*(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)

*(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

知识小结

信息搜集:渗透测试中首先要做的重要事项之一,搜集关于目标机器的一切信息

  • 间接收集

  • 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/)

  • 漏洞探测:探测服务是否有相应漏洞

  • NMAP:也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。

  • 社会工程学

  • 漏洞扫描与Openvas

三.实践过程记录

任务一.搜索网址目录结构

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”
  • space表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
  • 高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”。
    在百度中输入site:edu.cn filetype:xls ,能够搜索到xls格式的Excel表格

打开文档可以查看到检索到的文件的具体信息:

3.使用traceroute命令进行路由侦查

原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。本实验以侦查网易为例。
方法:输入命令tracert www.baidu.com
输出的信息分别是生存时间(跳数)、三次发送的ICMP包返回时间、途经路由器的IP地址,'*'表示超时:

任务二:DNS IP注册信息的查询

1.whois查询
原理:whois用来进行域名注册信息查询。
whois用来进行域名注册信息查询,可查询到3R注册信息,包括注册人的姓名、组织和城市等信息
在终端输入whois baidu.com

2.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:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

3.IP2Location 地理位置查询
原理:www.maxmind.com网站可以根据IP查询地理位置。

输入命令ping www.baidu.com的查看网站的IP地址 :

在网站中输入IP地址可以查看到百度的IP信息:

IP-ADDRESS这个网站可以查询到更详细的关于IP的信息:

4.IP2反域名查询

原理:shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型:

任务三:基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点

1.PING
ping命令用发送ICMP报文的方法检测活跃主机
输入命令ping www.baidu.com:

2.metasploit中的arp_sweep模块和 udp_sweep 模块

arp_sweepudp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

arp_sweep使用命令:

msfconsole
use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
show options //查询模块参数
set RHOSTS 192.168.0.1/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.0.1/24//用set进行hosts主机段设置
set THREADS 50 //加快扫描速度
run //执行run进行扫描

3.nmap扫描
nmap相关参数如下:

-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;

sudo nmap -sn 参数可以用来探测某网段的活跃主机:

端口扫描

nmap -PU
sudo nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同:

版本探测

nmap -O
sudo nmap -O参数让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息:

nmap -sV
nmap -sV查看目标主机的详细服务信息
输入命令nmap -sV -Pn 参数,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标:

具体服务的查点

metasploit中有许多相关工具,大部分都在Scanner辅助模块,常以[service_name]_version(用以遍历主机,确定服务版本)和[service_name]_login(进行口令探测攻击)命名。

Telnet服务扫描
telnet命令用于登录远程主机,对远程主机进行管理。

方法:

msfconsole
use auxiliary/scanner/telnet/telnet_version 
set RHOSTS 192.168.0.131/24 
set THREADS 50 
run

SSH服务

SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。

方法:

msfconsole
use auxiliary/scanner/ssh/ssh_version 
set RHOSTS 192.168.0.131/24
set THREADS 50 
run

Oracle数据库服务查点

msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 192.168.0.131/24 
set THREADS 200 
run

漏洞扫描

1.安装OpenVAS

apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup

使用如下命令创建用户

openvasmd --create-user=20175305 --role=Admin 创建用户20175305
openvasmd --user=20175305 --new-password=zty5305

2.登录
浏览器中输入网址https://127.0.0.1:9392

3.新建Target,开始扫描
在菜单栏选择"Scans"->"Tasks"
点击"Wizard","Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"192.168.0.109",并单击"Start Scans"确认,开始扫描:

  1. 查看并分析扫描结果
    CPE(Common Platform Enumeration):以标准化方式为软件应用程序、操作系统及硬件命名的方法。
    CVE:一个条目列表,每个条目包含一个识别号、一个描述和至少一个公开的已知网络安全漏洞的公共引用。CVE条目用于世界各地的众多网络安全产品和服务,包括NVD。
    NVT:网络漏洞测试
    点击扫描完成后的结果中的IP地址,可以查看到扫描结果的详细信息:

点击进入Databases查看详细结果,其中标注了漏洞的危险等级:

点开一个危险等级较高的漏洞:

  • Summary是该漏洞的描述,意思是IBM DB2容易出现多个漏洞。
  • Vulnerability Scoring是危险评分,分数越大,漏洞越危险
  • Solution是关于该漏洞的解决方案:从引用的建议中应用适当的修复程序。

四.基础问题回答

1.哪些组织负责DNS,IP的管理。

  • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
  • 全球根域名服务器:绝大多数在欧洲和北美(全球13台,用A~M编号),中国仅拥有镜像服务器(备份)。
  • 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。

2.什么是3R信息。

  • 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)

3.评价下扫描结果的准确性。

  • 扫描结果较为准确

五。实验总结与体会

本次实验操作难度不大,跟着实验视频和同学做法就可以顺利做完。此次实验主要是信息的收集和漏洞的扫描,信息的收集方式多种多样,百度和很多网站都可以轻易收集到很多敏感的数据,所以我们在平时的生活中也要注意对自我隐私信息的保护。同时我对信息搜集及漏洞扫描工具都有了很深的学习和了解。

posted @ 2020-04-26 00:43  20175305张天钰  阅读(204)  评论(0编辑  收藏  举报