作为一名白帽子Hacker,如何打造自己的网络安全军火库?

我只是一个虾纸丫 提交于 2020-03-24 05:21:49

俗话说:“工欲善其事,必先利其器”。

对于白帽子Hacker而言,装备 / 工具 / 软件等资源集合就好比我们的「军火库」,是否配备完善且得心顺手,直接决定了后续战斗中能否更快更准拿下目标。

作为一名资深工具控强迫症患者,我在这里不仅提供工具清单,还想跟你分享:

  • 如何定义一款好的工具?
  • 在不同发展阶段,应该选择怎么样的工作装备?
  • 在不同工作阶段,有哪些必备的“神兵利器”?
  • 知识管理方法论,为何能够升级我们的“军火库”?

接下来,我们将围绕下面这张图展开 =>

我想告诉大家,如何通过工作装备、安全测试、知识管理等 3 大类工具来武装自己,打造属于自己的「网络安全军火库」。

1. 工作装备类

工作装备指的是电脑、硬盘、显示屏等硬件设备,这些代表着我们计算、存储、显示等硬件资源的上限。在我看来,这套装备的好坏,直接决定了整个军火库的输出火力,其重要性不言而喻。

如果我们刚入门学习,采用一台普通电脑这样「All in One」的策略,前期完全没问题。而随着学习和工作的逐渐深入,会有以下这些情况陆续出现:

  • 电脑正在进行密码爆破等工作,CPU 指数爆满干不了其他活儿…

  • 虚拟环境用着用着,体积从原先安装的 10G 到现在 50G…

  • 对目标站点进行测试时,边测边查资料时,需要频繁切换窗口…

  • 项目资料既多又杂,跟个人和学习资料混在一起…

  • 某些口子泄露了几个 TB 的社工 ku,可惜硬盘塞不下…

    ……

上面这些情况,说简单点,就是计算、存储、显示等硬件资源陆续更不上了。例如,同样对目标做一次爆破,采用「单核 CPU + 集显 + 1G 字典 」 与 「 4 核 CPU + 独显 + 10 G 字典」的不同配置,无论***速度还是成功率,前后有着天壤之别。

既然硬件资源在某种程度上就等同于工作效率,那是不是越强越好呢?

非也。连铲子都拿不稳的时候,给你把 铁锤 又能怎样呢?

我们的目标虽是提高工作效率,但同时也提倡适时适度,即在时间、成本、效率之间要做好平衡。

那么,作为白帽子***,怎样的工作装备对我们算是一套好装备呢?

我认为,若这套装备能很好满足当下工作需求,能持续提高生产能力,有 2 ~ 3 年的弹性使用空间,那这不仅算一套好装备,而且还算得上是一笔好投资。

考虑到每个人工作年限和发展阶段不同,即便同处同一产业甚至同一岗位,大家需要的装备也会有所差异。因此,我在这里提供入门、进阶、高级 3 套工作装备供大家参考。

入门版:单机单屏

  • 概述:

    • 这个版本比较适合你从入门到入行 1 年内的阶段。
    • 通常情况下,这个阶段你正处于自我摸索和扩充眼界的时候。
    • 到处搜集资源学习、搭建虚拟环境做实验、处理公司基础项目需求等等,是你在这个阶段的主要需求。
  • 装备:
    • 此时,1 台性能中等的主力电脑设备,能满足你的大部分需求。推荐配置如下:
    • 内存资源:8GB ~ 16GB。内存大小直接决定了能同时跑多少台虚拟机开多少个应用,流畅的测试环境能大幅度提高生产效率,因此,再穷不能穷内存。
    • 硬盘资源:≥ 256GB + 1TB。建议将日常高频使用的,放在SSD固态硬盘这里;将虚拟机等体积较大的软件和工具,放在机械或移动硬盘这里。
    • 计算资源:≥ 2 核 4 线程。考虑到此阶段多任务处理还不是强需求,因此提供了目前市面上最入门级别的配置。

进阶版:单机双屏

  • 概述:

    • 这个版本比较适合你的工作已经进入正轨,例如工作 1 ~ 3 年的阶段。
    • 通常情况下,这个阶段你已经明确了发展目标,并且正朝着某个垂直领域深入研究。
    • 在入门需求上,经常处理大中型文档、边学习边工作、多个项目连轴转等等,是你在这个阶段的主要需求。
  • 装备:
    • 此时,一台性能强劲的主力电脑设备,外接 1 块显示屏,能基本满足你的大部分需求。
    • 屏幕资源:除了电脑屏,新增的显示屏,能进一步提高我们的效率。例如一屏跑项目 + 二屏做文档,或者一屏干活 + 二屏放电影……
    • 内存资源:16GB ~ 32GB。16GB 是这个阶段最入门的配备,如果能到 32GB,基本可以跑起整个***实验室。
    • 硬盘资源:≥ 512GB + 4TB。高频使用的工具和文档越来越多,建议选配 512 GB固态硬盘。除此之外,可以多采购一些外置移动硬盘,例如 2 2TB,或 2 4TB,一块放置个人资料,一块放置工作资料,实现公私分离。
    • 计算资源:≥ 4 核 8 线程。随着多任务处理开始成为工作主流,建议选配 4 核 CPU,可以胜任大部分场景。

高级版:双机三屏NAS

  • 概述:

    • 这个版本比较适合你已经工作有一些年头了,例如工作 3 年以上阶段。
    • 热爱学习且坚持不懈的你,在这个阶段可能成为了团队的主力,能独当一面,开始带队干活。
    • 在进阶需求上,解决个人和团队、处理技术和管理、平衡生活和工作等等,是你在这个阶段的主要需求。
  • 装备:
    • 此时,采用一主一备电脑设备,外接 2 块显示屏,采用 NAS 存储方案,能基本满足你的大部分需求。
    • 主备电脑的配置,可直接参考进阶和入门装备,这里重点说下「双机」的使用场景。随着工作上的逐渐成长,我们的生活状态也会陆续发生变化,例如进入结婚生子成立小家庭的崭新阶段。以往,一台主力电脑存储着工作和生活中各种各样的资料,所有事务都在这台机器上处理,没有任何边界;而现在则尽量考虑隐私问题,例如增加一台主机,面向个人和家庭,将个人学习、影音娱乐、家庭照片、重要档案等放到这来。
    • 另外,入门和进阶装备的存储方案,大体采用「不够了就采购硬盘」这样的策略,但没有考虑到「硬盘损坏」的情况。相信有一定工作年限的朋友,很多都有这种“悲痛欲绝”的经历:积累多年的项目文档没了、通宵达旦撸出来的代码库删了、珍藏多年的XXX丢了…… 虽然市面上各种云盘能解决类似问题,但毕竟干安全的,咱会把所有资料往上传?
    • 因此,既要满足容量需求,还要防止硬盘损坏,顺便解决隐私安全,那估计就剩这套方案了:基于「NAS」构建自己的云盘。 这套方案啥都好,就是有点费钱,这里先不展开……
    • 最后,外接显示屏增加到 2 块,与电脑屏实现 3 屏联动,可以适用更多复杂的工作场景。例如,一屏为任务屏,展现任务清单和日历安排;二屏为工作屏,核心操作都放这;三屏为参考屏,给二屏打辅助。

*2. 安全测试类**

如果说工作装备决定了军火库的输出火力,那么,*安全测试工具则直接决定军火库的工作效率。例如:

  • 同样扫全球互联网,有些工具要用 1 个月,有些是 1 个小时

  • 同样扫目标站点,有些工具能爆 N 个高危,有些表示“安全无忧”

  • 同一字典爆破口令,有些工具占满电脑 CPU,有些还能游刃有余

    ……

***工具之于安全工程师,犹如菜刀之于厨师,枪支之于士兵。

因此,如何在成千上万工具中,筛选出自己的必备工具集,这也是一件讲究的事儿。关于这一点,我们可以简单遵循这个原则:同等功能下,能用更短时间、更少资源、更优体验完成目标,这就是一个好工具。

基于这个原则,每个细分领域总能出现一些「神兵利器」,它们恰好能在体验效率之间取得最佳平衡,经过时间的历练,在众多工具中脱颖而出,俘获全球无数忠实铁粉 =>

  • [目标扫描] 用过 Nmap 才理解,为什么它能成为无数*Hacker题材电影中,出场率最多的工具。老大哥告诉你,什么才叫单点极致,产品文档应该怎么写,命令参数应该如何设计。

  • [漏洞利用] 用过 Metapsloit 才知道,什么才是真正的开放框架,拥有工程化思想的工具其生命力有多么旺盛。

  • [流量抓包] 用过 Wireshark 才明白,这 TM 才是图形界面,数据包原来是长这样的,互联网底层语言居然是协议字段。

    ……

在我看来,上面这些不仅是工具,更像是艺术品。我们在用它,同时也在享受它。

正是因为这个领域,出现了这样一些开创性工具,后面才会有这么多后起之秀,借鉴其设计思想,站在巨人的肩膀上,在同样或类似领域上奋起直追,形成当前百家争鸣的局面。

在此,我根据个人使用经验,整理出这份《网络安全必备安全测试工具集》v1版,包括*环境准备、信息搜集、漏洞分析、漏洞利用、后shentou、网络安全、Web安全、无线安全、软件安全、测试系统等 10 个类别。

注1:鉴于能力有限,这里仅罗列我使用过且认为不错的。若你觉得有哪些「神器」必不可少,可以私信我。

注2:由于工具类比较敏感,大部分不提供链接,请自行搜索。

接下来,我们将围绕下面这张图展开 =>

2.1 环境准备

开始进入学习或工作之前,我们需要提前搭建好虚拟环境,方便后续实验与工作测试;另外,建议采用 Chrome 和 Firefox 浏览器,并安装好相关插件。

虚拟环境

  • Vmware Workstation
  • VirtualBox
  • Docker

浏览器及插件

  • Chrome
  • Firefox
  • Wappalyzer
  • Shodan
  • Hackbar
  • Postman
  • Firebug
  • Proxy SwitchyOmega
  • Tamper data

2.2 信息搜集

所谓知己知彼,方能百战百胜,***结果成功与否,很大程度上取决于信息搜集阶段。信息搜集分为被动搜集和主动搜集两种类型,前者通过搜索引擎、安全情报、社工库等进行,不与目标直接接触;后者基于扫描器、测试工具等展开,与目标接触且能对其造成一定影响。

安全情报

  • Virustotal
  • ThreatBook
  • OSINT 方法论和开源工具
    • Omnibus
    • OSINT-SPY
    • GOSINT
    • DataSploit
  • 360 / 奇安信 / 绿盟 / 腾讯 / IBM 等厂商安全情报

搜索引擎

  • Google(GHDB)
  • Shodan
  • Zoomeye

IP地址查询

  • 站长工具
  • ipip.net
  • ip.cn
  • ipplus360.com
  • ipaddress.my
  • maxmind.com
  • ip2location.com

域名查询

  • 站长工具
  • ICP备案
  • DNSdumpster
  • Findsubdomains
  • DNSrecon

企业信息

  • 天眼查
  • 企查查

综合搜集

  • Maltego
  • theHarvester

目标扫描

  • Nmap
  • Zmap
  • Masscan

其他

  • 外网
    • Twitter/Facebook/Youtube/Telegram
  • 暗网
    • Tor
  • 社工库
    • 暂不提供

2.3 漏洞分析

利用漏洞情报平台或漏洞扫描工具,分析目标系统可能存在的漏洞与风险面。

漏洞情报平台(Vuln / Exp / PoC)

  • exploit.db
  • exploit.shodan.io
  • seebug
  • vulmon
  • 0day.today
  • cvedetails
  • cve.mitre.org
  • securityfocus
  • cnnvd / cnvd

综合漏洞扫描(主机/系统/网络/应用)

  • Nessus
  • Openvas

Web漏洞扫描

  • Burpsuite
  • AWVS
  • APPscan
  • OWASP ZAP
  • Nikto
  • w3af
  • WPscan

2.4 **

基于前期的信息搜集和漏洞分析,我们已掌握了目标存在的漏洞与风险面。接下来,我们需要选择合适的方式与配套工具进行测试,包括但不限于漏洞利用、社会工程学、密码审计等。

漏洞利用

利用已有漏洞信息,加载漏洞代码,对目标进行漏洞利用。

  • Metasploit
  • Burpsuite
  • Pocsuite

社工测试

利用社会工程学,采用钓鱼网站、虚假邮件等方式发起社工测试。

  • SET(Social Engineer Toolkit)
  • Gophish

密码审计

利用字典/密码库/彩虹表等方式,对目标账号或密码进行审计。

  • 密码哈希库
  • weakpass.com
  • hashes.org
  • freerainbowtables.com
  • 字典生成
  • crunch
  • Cewl
  • Cupp
  • 密码审计
  • cmd5
  • Hydra
  • L0phtCrack
  • Hashcat
  • Join the Ripper
  • RainbowCrack

2.5 后***

内网审计、远程控制、横向移动、权限提升、隧道建立、痕迹擦除。

  • Metasploit
  • Meterpreter
  • Cobalt Strike
  • Empire
  • Mimikatz
  • PowerSploit
  • nishang
  • Netcat
  • PuPy
  • DNScat2
  • LCX
  • NC

2.6 网络安全

针对网络协议、网络设备发起的审计和测试,涉及抓包分析、局域网安全测试、中间人安全测试、DDOS审计等工具。

抓包分析

  • Wireshark
  • Tcpdump
  • Fiddler
  • 科来

**DDOS*****

  • Hping
  • LOIC

*协议审计

  • Cain & Abel
  • SSLtrip
  • Ettercap
  • Bettercap

局域网审计

  • Yersinia

2.7 Web 安全

针对 Web 站点 和 浏览器发起的审计和测试,涉及目录遍历、指纹识别、模糊测试、SQL 注入、XSS / CSRF、Webshell 管理等工具。

安全测试 / 手工调试

  • BurpSuite

目录遍历

  • Gobuster
  • Dirbuster
  • Dirb
  • 御剑后台

指纹识别

  • Wappalyzer
  • WPscan
  • Joomscan
  • Whatweb
  • Whatcms
  • CMSmap
  • 御剑指纹识别

SQL 安全审计

  • SQLmap
  • Havij
  • Pangolin

XSS / CSRF / 浏览器

  • BeEF
  • XSStrike
  • XSSOR
  • CSRFTester

Webshell 管理

  • 中国菜刀
  • 中国蚁剑
  • Weevely
  • C刀

模糊测试 / 表单破解

  • BurpSuite
  • SecLists
  • Fuzzdb
  • PKAV

代码审计

  • RIPS

2.8 无线安全

针对 WiFi 无线热点发起的审计和测试,涉及集成框架、钓鱼WiFi、路由器审计、密码破解等工具。

集成框架 / 平台

  • Aircrack-ng
  • WIFI Hack AIO
  • CDLinux

钓鱼 WiFi

  • Fluxion
  • WiFi-Pumpkin
  • WiFiphisher

WiFi 热点扫描

  • CommonView
  • inSSIDer

密码审计

  • Minidwep-gtk
  • EWSA
  • Reaver

**路由器*****

  • Routersploit
  • WebCrack

2.9 软件安全

针对电脑手机软件发起的二进制和逆向分析。

  • IDA Pro
  • OllyDbg
  • WinDbg
  • APKtools

2.10 ***系统

专注安全测试领域的操作系统,涉及 Linux 和 Windows 不同发行版。

Linux 发行版

  • Kali Linux
  • BlackArch Linux
  • ParrotOS
  • SamuraiWTF

Windows 发行版

  • PentestBox
  • Commando-vm

3. 知识管理类

什么是知识管理?我在另外一篇文章《零基础如何成为一名合格的安全测试工程师?》已经做过普及,这里直接摘录:

知识管理,即 PKM(Personal Knowledge Management ),是研究如何科学高效管理知识的一套方法论。考虑到网络安全领域的跨学科特性,需要掌握的知识量非常繁杂,超过了大部分人的承载能力。因此,如果你要做安全工程师*,那么我推荐你采用 PKM 来构建自己的知识管理系统,持续优化输入输出路径,打造最优学习闭环。采用这个方法论,最终可以让我们得到这个结果:学习能力比别人强一点、成长速度比别人快一点。 这套方法论我已经实践了 10 年有余,2019 年我首次做了体系化的公开分享,有兴趣的朋友可自行搜索。

我认为,*作为一名安全工程师,比软件工具更重要的,其实是自己的知识管理能力。**

好的知识管理能力,会持续推动自己升级工具集(Toolset), 以此更好应对海量知识与复杂项目。

因此,当我们说工作装备和*安全测试工具决定军火库的输出火力工作效率时,则知识管理直接决定军火库的迭代速度

知识管理能力 包括了 知识管理方法论和工具集,这里暂不展开方法论谈论,直接放置我的知识管理工具集(部分):

  • 文档处理:Typora、Word、PPT

  • 流程绘图:Xmind、Mindmanager、Visio

  • 电子笔记:Onenote、Wiznote、Evernote

用这些工具做出来的文档是这样的(直接截取我的课堂讲义):

这些工具的使用场景,在我这里是这样的:

  • 当我仅需写一篇博文或记一个日志的时候,这个时候我会首选 Typora,因为它足够的轻量,不像 Word 那么重,无需关注太多的排版问题,使用 Markdown 语法简单渲染下,便可以输出一篇具备高质量排版的文档。如果这篇文章需要发布到线上媒体平台,随着越来越多平台支持 MD 格式,目前基本上电脑写完,同步发布到线上,得到的阅读体验几乎是一致的,无需做过多二次排版工作,省时省力。

  • 当我需要编写一份正式方案或标书的时候,这类文档从几十到上百页,需要有更专业的文档编排,例如需要有封面封底、目录导航、品牌标识、页眉页脚、图文编排等等,这种场景就非 Word 莫属了,毕竟 “文档处理界的王者” 可不是开玩笑的。

  • 当我处在流程规划或头脑风暴阶段,这种情况下还没有进行正式文档编写,我会用 Xmind 或 MM 梳理思路,绘制主次脉络,这样得到的导图文件,会成为我接下来编写正式文档的“地图”。

  • 当我需要有组织有体系的整理并备份文档时,我会将其同步到 Onenote 或 Wiznote,形成我的“个人图书馆”,方便在电脑和手机等随时查阅。

  • 当我需要项目演示或培训授课的时候,我会在“个人图书馆”搜索相关文档,用 Visio / Xmind / MM 等辅助制图,最终通过 PPT / Onenote / Xmind / MM 等输出演示文档。

    ……

到了这里,我的「***军火库」就算正式打造完工了。用最简单的公式表示,其实便是:

**网络安全军火库 = 工作装备(硬) + *测试(软)+ 知识管理(虚)

回到本题,这里的筛选标准和工具集未必百分百适合你,因此,更重要的建议是:

每位网络安全工程师都应该建立自己的标准,结合自己的审美和经验,为自己打造一套专属工具集。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!