俗话说:“工欲善其事,必先利其器”。
对于白帽子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 等输出演示文档。
……
到了这里,我的「***军火库」就算正式打造完工了。用最简单的公式表示,其实便是:
**网络安全军火库 = 工作装备(硬) + *测试(软)+ 知识管理(虚)
回到本题,这里的筛选标准和工具集未必百分百适合你,因此,更重要的建议是:
每位网络安全工程师都应该建立自己的标准,结合自己的审美和经验,为自己打造一套专属工具集。
来源:51CTO
作者:陈鑫杰
链接:https://blog.51cto.com/chenxinjie/2481113