在ubuntu上用qemu虚拟机,复现dir815漏洞,参考的看雪的博主的文章,流程很详细,前面的配置运行都成功了,但到最后一步监听反弹shell怎么都弹不出来,求解答。
16条回答 默认 最新
- 专家-司宇[在线] 2024-07-27 20:13关注
获得0.15元问题酬金 引自免费微信小程序:皆我百晓生
从你提供的信息来看,你在尝试利用DIR-815路由器的漏洞进行远程调试,并尝试通过nc(netcat)工具监听特定端口以接收反弹shell,但是没有成功。这里有几个可能的问题点和解决步骤:
1. 确认目标端口是否正确
确保你nc监听的端口与GDBserver配置的端口一致。从你的描述中,GDBserver似乎是在6666端口监听,而你在nc命令中同时监听了9999和6666端口。如果目标是接收来自GDBserver的连接,那么你应该仅需监听6666端口。
正确的nc监听命令
nc -lvnp 6666
2. 检查网络连通性
确认虚拟机(debian-mipsel)与宿主机(ubuntu20)之间的网络配置是否允许通信。你需要确保虚拟机能访问到宿主机监听的IP地址(默认情况下应该是宿主机的IP地址,除非你有特殊设置)。可以使用
ping
命令测试连通性。3. GDBserver配置
确保GDBserver正确配置为监听并接受远程连接。通常,你需要指定
--multi
选项来允许多个客户端连接,并且可能需要设置--once
来让GDBserver在处理完一个连接后退出,以便于下一次连接。修改GDBserver启动脚本示例
如果你有权限修改GDBserver的启动脚本(gdbser_inmq.sh),确保它类似这样启动GDBserver:
/path/to/gdbserver --multi --once :6666 /htdocs/cgi-bin
4. 检查防火墙规则
确保宿主机和虚拟机上的防火墙没有阻止6666端口的进出流量。在Ubuntu上,可以使用
sudo ufw allow 6666/tcp
来开放端口。5. 查看错误日志
查看GDBserver和nc的输出,以及系统日志,寻找任何可能的错误信息或警告,这可能是导致连接失败的关键线索。
6. 确认漏洞利用条件
再次检查漏洞利用条件是否完全满足,包括但不限于路由器固件版本、漏洞触发的具体HTTP请求、以及任何必要的环境配置等。
总结步骤
- 修正nc监听端口:仅监听GDBserver配置的端口(例如6666)。
- 验证网络连通性:通过ping命令确保两台机器间能互相通信。
- 调整GDBserver参数:确保GDBserver配置正确以接受远程调试连接。
- 检查防火墙设置:开放必要的端口。
- 详查日志:查找任何可能导致连接失败的日志信息。
- 复核漏洞利用条件:确认所有利用条件均被准确满足。
尝试上述步骤后,如果仍然无法成功获取shell,请提供更多详细日志或描述进一步的问题现象,以便提供更精确的帮助。
解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 微软硬件驱动认证账号申请
- ¥15 有人知道怎么在R语言里下载Git上的miceco这个包吗
- ¥15 GPT写作提示指令词
- ¥20 如何在cst中建立这种螺旋扇叶结构
- ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等
- ¥20 关于DAC输出1.000V对分辨率和精度的要求
- ¥15 华为超融合部署环境下RedHat虚拟机分区扩容问题
- ¥15 哪位能做百度地图导航触点播报?
- ¥15 请问GPT语言模型怎么训练?
- ¥15 已知平面坐标系(非直角坐标系)内三个点的坐标,反求两坐标轴的夹角