第一章:黑客是怎么工作的?
1.1 渗透测试到底是什么?
如果你在新闻里看到“某公司被黑客攻击,数据泄露”,你脑海里的画面可能是这样的:一个戴帽子的神秘人,在黑色屏幕上飞速敲击键盘,绿色的代码如瀑布般流淌,然后一行“Access Granted”弹出。
这是电影。现实完全不一样。
渗透测试(Penetration Testing,简称PenTest),本质上是一件事:在获得授权的前提下,模拟真实黑客的攻击手法,去测试一个系统到底有多扛打。
把它拆开看:
- “渗透”:像水渗进沙子一样,从一个点进入,然后慢慢扩散到整个系统
- “测试”:这不是破坏,是检查。就像汽车碰撞测试,车撞坏了不是目的,目的是知道“撞成这样之后,人还能不能活”
一个更接地气的比喻:
你请了一个朋友来你家“偷东西”,提前告诉他“你来试试看能不能偷走我的钱包”。他翻窗户、撬锁、装成快递员——最后成功偷走了。
你很生气,但也很庆幸:幸好是他偷的,而不是真贼。
这就是渗透测试的价值。
1.2 白帽、灰帽、黑帽:三种“黑客”
很多人以为“黑客”就是一个群体。但实际上,区分他们的不是技术高低,而是意图和边界。
白帽黑客(White Hat)
- 做什么:获得授权,合法地测试系统安全
- 目标:找出漏洞并修复
- 交付物:一份详细的漏洞报告,而不是破坏
- 其他称呼:道德黑客、渗透测试工程师、安全研究员
白帽黑客就像疫苗——把微量的“病毒”注入体内,让身体产生免疫力。
黑帽黑客(Black Hat)
- 做什么:未经授权入侵系统
- 目标:窃取数据、勒索钱财、破坏业务
- 动机:利益、报复、名声
黑帽黑客就是真正的病毒。他们不关心你的系统好不好,只关心能从你这里拿走什么。
灰帽黑客(Grey Hat)
- 做什么:未经授权入侵系统,但目的是“通知你漏洞”
- 典型行为:找到一个漏洞,黑进去,然后给管理员发邮件:“我发现了一个漏洞,付费我就告诉你”
灰帽处于灰色地带。他们可能没有恶意,但未经授权就是未经授权。法律上,灰帽的行为一样可能被起诉。
类型 |
是否授权 |
动机 |
法律风险 |
白帽 |
✅ 是 |
安全防护 |
无 |
灰帽 |
❌ 否 |
通知漏洞 / 要赏金 |
有 |
黑帽 |
❌ 否 |
个人利益 |
高 |
1.3 法律边界:千万别“手痒”
这是本专栏最重要的一句话,我希望你记住:
没有授权,就是犯罪。
在中国,《刑法》第285条和第286条明确规定了非法侵入计算机信息系统的刑事责任。
哪怕你只是“随便试试”,哪怕你没有造成任何破坏,未经授权的访问本身就是违法的。
真实的案例:
- 一个安全爱好者扫描了某网站,发现了漏洞,好心地发邮件提醒对方——结果被对方报警,最终被处罚。
- 一个学生用SQL注入进入了学校的选课系统,只是想改自己的成绩——最后被开除。
好心不能豁免违法。
那什么情况下可以合法地做渗透测试?
- 拿到书面授权:公司给你签了合同,明确授权你测试某个范围内的系统
- 漏洞众测平台:如HackerOne、补天平台、阿里先知,平台和厂商之间有授权关系
- 自己的环境:自己搭的虚拟机、自己的网站,随便测
除此之外的一切“试一下”,在法律上都属于非法入侵。
这个专栏教你的所有知识,请你只在授权环境下使用。
1.4 攻击链:一次完整的攻击是怎么发生的?
安全领域有一个经典模型叫 “网络杀伤链”(Cyber Kill Chain),由洛克希德·马丁公司提出。它把一次攻击拆成了7个环节。
我们用人话翻译一下:
第1步:侦察(Reconnaissance)
攻击者像侦探一样搜集信息。
- 目标的域名是什么?
- 员工用什么邮箱?
- GitHub上有没有泄露的密码?
- 公司用了什么技术栈?
这个阶段,攻击者还没有碰目标系统。一切信息都来自公开渠道。
第2步:武器化(Weaponization)
攻击者把找到的“入口”变成“武器”。
- 如果目标系统有某个已知漏洞,就去下载或制作对应的攻击工具
- 如果打算发钓鱼邮件,就制作一个伪装成发票的恶意附件
第3步:投递(Delivery)
把武器“送出去”。
- 发钓鱼邮件
- 上传恶意文件到某个可上传的地方
- 诱导用户点击恶意链接
第4步:利用(Exploitation)
武器生效,触发漏洞。
- 恶意文档打开后,触发代码执行
- 访问恶意链接后,浏览器漏洞被触发
第5步:安装(Installation)
在目标系统里“扎根”。
- 下载一个远控木马
- 创建一个后门账户
- 修改系统配置,让自己可以随时回来
第6步:指挥与控制(C2,Command & Control)
建立“遥控通道”。
被入侵的机器会主动连回攻击者的服务器,等待指令。攻击者不需要直接连接目标,而是通过这个“遥控通道”下达命令。
第7步:目标达成(Actions on Objectives)
攻击者真正想做的事:
- 窃取数据库
- 加密文件勒索
- 横向移动到更多机器
- 破坏系统
1.5 一个简化的例子:钓鱼邮件攻击
用一个真实场景串起这条链:
阶段 |
做了什么 |
侦察 |
在LinkedIn上找到目标公司的财务人员小张的邮箱 |
武器化 |
制作一个伪装成“工资调整通知.docx”的恶意文件 |
投递 |
给小张发邮件:“您好,请查收本月工资调整通知” |
利用 |
小张打开文档,Macro宏代码执行,下载木马 |
安装 |
木马在后台安装,并把自身加入开机启动 |
C2 |
木马每隔60秒连接一次攻击者的服务器,等待指令 |
目标达成 |
攻击者拿到小张电脑的控制权,并以此为跳板进入公司内网 |
渗透测试做的事,就是用同样的流程,在授权范围内走一遍,然后把每一步哪里可以防住,写成报告。
1.6 渗透测试和漏洞扫描有什么不同?
这是一个常见的混淆点。
漏洞扫描 |
渗透测试 |
|
方式 |
自动化工具跑一遍 |
人工分析 + 工具辅助 |
产出 |
一堆漏洞列表,可能有误报 |
一份攻击路径报告,经过验证 |
深度 |
浅层,只检查“有没有这个漏洞” |
深层,验证“这个漏洞能不能被利用” |
误报率 |
较高 |
极低(人工验证过) |
类比 |
用体温计测发烧 |
医生做全面体检,告诉你为什么发烧、怎么治 |
漏洞扫描是自动化体检,渗透测试是医生诊断。两者互补,但不能互相替代。
1.7 这一章你该记住什么?
- 渗透测试 = 授权后的模拟攻击,目的是找出漏洞,不是破坏
- 白帽 = 合法授权,好人;黑帽 = 非法入侵,坏人;灰帽 = 中间地带,但依然违法
- 没有授权就是犯罪——记住这句,永远不要“手痒”
- 攻击链有7步:侦察 → 武器化 → 投递 → 利用 → 安装 → C2 → 目标达成
- 渗透测试 ≠ 漏洞扫描:前者是人 + 深度验证,后者是工具 + 广度检查
下一章,我们将进入真正的“动手”环节:信息收集——黑客是怎么找到你的。