Day8 主动情蒐-情蒐流程、工具与漏洞简介

针对主动情蒐

主动情蒐指主动跟目标进行互动,会透过工具枚举所需的资讯,本系列文会介绍以下几种工具。

工具名称 类型 说明
Netdiscover 针对网路服务 ARP侦查工具
Nmap 针对网路服务 扫 port 、扫已知漏洞
Onesixtyone SNMP 爆破 SNMP
SNMPwalk SNMP 可针对 MIB 查询
rpcclient Samba 用来执行 MS-RPC 的功能
enum4linux Samba enum.exe 的 Linux 版本
Nikto web 爆破目录
DIRB web 爆破目录
Dirbuster web 爆破目录
Netcat 反弹 shell 多功能,常用於反弹 shell
WPScan web 针对 Wordpress 的弱点进行检测。

情蒐流程

1. 确认目标是否存活
使用工具 netdiscover、nmap、ping

工具名称 使用协定
Netdiscover ARP
Nmap ICMP
ping ICMP

2. 确认目标开什麽 port,这个 port是什麽服务

Windows - PortScan
Linux - Netcat,Nmap

可利用自己写的脚本进行扫描

while read n;do nc -v -z target $n; done < ports

3. 确认目标服务的版本

使用 Linux 中的 nmap 可以针对目标的服务确认版本。

4. 确认目标的其他资讯
若目标是网站服务,要确认网页服务器是什麽以及他的版本。

何谓网页服务器:指能接收来自浏览器的请求(HTTP Request),并回传回应(HTTP Response)给浏览器,如 Apache、Nginx、IIS。

透过 fingerprinting 确认:传送封包给服务器後,回传的封包标头可能含有网页服务器与其版本
使用工具:浏览器、telnetopenss

5. 确认目标的服务是否存在已知的弱点
Linux - Nmap Scripting Engine (NSE)
nmap 提供多种扫描脚本,也可以自己去更新内部的内容。

其中可能有漏洞的原因:
(1) 若有已知漏洞,可能原因为版本太旧或是软件支援结束导致漏洞无法修正
(2) 设定不完善,系统本身没有安全相关设定
(3) 使用不安全的通讯协定,如未具有加密通讯功能协定(FTP、Telnet)

是否有自动化工具可以达到相同的目的:

  1. 确认目标是存活
  2. 确认目标开什麽 port,这个 port是什麽服务
  3. 确认目标服务的版本
  4. 确认目标的其他资讯
  5. 确认目标的服务是否存在已知的弱点

透过弱点扫描工具可以达到相似的目的,也许会有人好奇渗透测试服务与弱点扫描服务不是不同服务吗,那怎麽会在渗透测试中使用弱点扫描工具呢?

弱点扫描,透过专业的工具针对服务器或设备进行扫描,为了找出服务器、系统或网路有已知的弱点。在渗透测试中为了加快测试效率(可能是因为时程的关系),会透过弱点扫描工具辅助。

在弱扫工具中,厂商会有所谓的规则(rule),当扫描结果符合规则,报告就会出现有该笔弱点,但真实性与正确性还要再次验证才会知道。

何谓已知弱点,要先谈谈常在资安新闻中听到 ZeroDay Attack 零时差攻击,所谓零时差攻击指的是骇客比厂商先找到漏洞,并针对这个漏洞进行攻击,厂商还没有时间提出修补程序(patch)。

当厂商知道漏洞成因,并提出修补程序要求大家更新後,会思考说是否有地方纪录这些被发现的漏洞?而这些漏洞是否有区分等级呢?

美国 NIST 组织针对这些问题提出 Security Content Automation Protocol 安全内容自动协议,这个框架为了统一漏洞评估标准与漏洞描述方式,包含以下:

  1. CVE(Common Vulnerabilities and Exposures)
    针对产品、设备的漏洞,提供一组唯一的编号「CVE-YYYY-OOOO」其中 YYYY 为年分,OOOO为流水号。
    好处在於,谈论漏洞是不需要以关於 Windows SMB 的漏洞这样叙述,而是以「CVE-2017-0144」,让对方快速知道目前指得是哪一个漏洞。

  2. CVSS(Common Vulnerability Scoring System)
    ,CVSS 针对漏洞「严重性」进行评分,目前最新的版本为 3.1 版本,并由 FIRST(Forum of Incident Response and Security Teams)维护。



(1)Base Metrics,评估漏洞本身的特徵


(2)Temporal Metrics,评估漏洞当前的严重程度

(2)Environmental 环境影响

  1. CCE(Common Configuration Enumeration: List of common security settings)
    系统安全设定,如密码长度、有效期限、密码复杂度等。

  2. CPE (Common Platform Enumeration)
    作业系统、应用程序、设备命名

  3. XCCDF (eXtensible Configuration Checklist Description Format)
    安全检查表

  4. OVAL(Open Vulnerability and Assessment Language)
    描述测试过程的语言


<<:  用 Google App Script 实现发送认证码的 API

>>:  【把玩Azure DevOps】Day11 Azure DevOps Artifacts简介

IT 铁人赛 k8s 入门30天 -- day28 k8s Service Catalog

前言 Service Catalog 介绍参考文件 https://kubernetes.io/do...

[Day1] 简单介绍 Google Assistant 语音应用程序

大家好,我是Hank。 目前就读於台科大资工所的研究生。 很高兴有机会向大家分享我在开发Google...

[NestJS 带你飞!] DAY26 - Swagger (上)

如果你是一名前端工程师,那麽你应该会有跟後端要 API 文件的经验,如果你是一名後端工程师,那你应该...

Day3:如何使用Parrot_Security的Sherlock取得社交网站个人讯息

登入Parrot_Security开启KDE Terminal并执行git指令下载SherLock工...

每天来点 Vue.js 吧 目录&总结

tags: Vuejs 本次铁人作为进入 Vue 3 的前的粗浅回顾,简单介绍了 Vue 2 官网的...