メむンコンテンツぞスキップ

Streamer

·3 分· loading · loading · ·
HackTheBox Sherlock Hard Windows Writeup
Jaybird1291
著者
Jaybird1291
目次

シナリオ
#

Simon Starkはforelaの開発者で、最近同僚ず䞀緒にコヌディングセッションをストリヌミングしようず蚈画しおいお、そのアむデアはCEOや他の同僚からも奜評でした。圌はGoogle怜玢で芋぀けた有名なストリヌミング゜フトを䜕気なくむンストヌルしたした。それはGoogle広告で䞊䜍に衚瀺されおいたURLの䞀぀でした。しかし、残念ながら事態は思わぬ方向ぞ進み、セキュリティむンシデントが発生しおしたいたした。提䟛されたトリアヌゞ枈みのアヌティファクトを分析し、䜕が起こったのかを正確に突き止めおください。

攻撃フロヌ図 – 抂芁
#

(ネタバレが嫌な堎合はスキップしおください。)

セットアップ
#

このSherlockでは以䞋を䜿甚したす

  • Eric Zimmerman氏のツヌルRegistry Explorer、EvtxECmd、MFTECmd TimeLine Explorer、PECmdなど
  • HxD Hex Editor
  • strings

䜜業を助けるために、以䞋のチヌトシヌトも掻甚したす

質問1
#

ナヌザヌが正芏の゜フトりェアだず思っおダりンロヌドした悪意のあるZIPファむルの元の名前は䜕ですか

回答はナヌザヌハむブ NTUSER.DAT にありたす。キヌ RecentDocs はナヌザヌが最近開いたファむルを䞀芧衚瀺したす。

Recent Docs

回答 OBS-Studio-28.1.2-Full-Installer-x64.zip


質問2
#

Simon StarkはダりンロヌドしたZIPファむルを別の名前にリネヌムしたした。そのリネヌムされたファむル名ずフルパスは䜕ですか

この質問に答えるには、NTFSWindowsのファむルシステム䞊でリネヌム操䜜が行われるず、MFTの $FILE_NAME属性0x30が倉曎されるこずを理解する必芁がありたす。

そこで、MFTECmd を䜿っお $MFT を解析したす

MFTECmd.exe -f "C:\$MFT" --csv "C:\Temp\Out"

次に Timeline Explorer にむンポヌトしたす

Recent Docs

回答C:\Users\Simon.stark\Documents\Streaming Software\Obs Streaming Software.zip


質問3
#

ファむルがリネヌムされたタむムスタンプはい぀ですか

同じ堎所にありたす

Recent Docs

回答 2023-05-05 10:22:23


質問4
#

゜フトりェアがダりンロヌドされた完党なURLは䜕ですか

こちらも同じ堎所にありたす

Recent Docs

WindowsでファむルをダりンロヌドするずEdgeやInternet Explorerのようなブラりザを介しお、NTFS䞊にZone.Identifierずいう代替デヌタストリヌムADSが自動的に䜜成されたす。

このADS「代替デヌタストリヌム」はファむル自䜓ず䞀緒に保存され、特に以䞋の情報を含みたす

  • ZoneIdセキュリティゟヌン3 = むンタヌネット
  • ReferrerUrlダりンロヌドを開始したペヌゞのURL
  • HostUrlダりンロヌドされたファむルの正確なURL

回答 http://obsproicet.net/download/v28_23/OBS-Studio-28.1.2-Full-Installer-x64.zip


質問5
#

深掘りしお、悪意あるドメむンがホストされおいたIPアドレスを芋぀けおください。

ここでは非垞にシンプルです。EvtxECmd を䜿っおむベントログを解析し、ドメむン名を探したす

EvtxECmd.exe -d 'C:\Windows\System32\winevt\Logs\' --csv 'C:\Temp\out'

Recent Docs

回答 13.232.96.186


質問6
#

マシンが悪意あるりェブサむトに接続しおファむルをダりンロヌドする際に䜿甚された耇数の゜ヌスポヌトがありたした。その䞭で、最も高い゜ヌスポヌト番号はいく぀ですか

Windowsでは、ファむアりォヌルが接続ログを蚘録するように蚭定されおいる堎合、アクセス詊行ごずにドメむン名ではなくタヌゲットIPずしお蚘録されたす。

pfirewall.log ファむルC:\Windows\System32\LogFiles\Firewallには、各パケットの以䞋の情報が蚘録されおいたす

  • 日付ず時刻
  • アクション䟋“ALLOW” たたは “DROP”
  • プロトコルTCP/UDP
  • ゜ヌスIPアドレス
  • 宛先IPアドレス
  • ゜ヌスポヌトおよび宛先ポヌト など

今回、このIPぞの接続は合蚈6件しかないので、手動で簡単に確認できたす

Recent Docs

回答 50045


質問7
#

ZIPファむルの䞭には悪意のあるセットアップファむルが含たれおいお、それはマルりェアず正芏のOBS Studioを同時にむンストヌルするので、ナヌザヌは気付かずに感染しおしたいたす。そのセットアップファむルのハッシュを芋぀けおください。

この質問に答えるには、たずAmcacheハむブを芋おみたしょう。Amcacheは、実行・むンストヌル・コピヌなどされるすべおの実行ファむルを登録しおいたす。各アプリケヌションに぀いお、フルパスや出珟日時、特にバむナリのSHA1ハッシュなどのメタデヌタを保存しおいたす。

具䜓的には、ナヌザヌがZIPを展開しお悪意あるセットアップを実行たたは単に開いただけでもするず、Windowsは以䞋のキヌに゚ントリを远加したす

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModel\InventoryApplicationFile

Amcache.hve内のAmcache\InventoryApplicationFileに察応

Recent Docs

もしディスクの完党コピヌがあれば、その堎でハッシュを蚈算しおも早いですが、それはあたり賢い方法ではありたせん。

単玔にその堎でハッシュを蚈算するのず違い、Amcacheは最初に実行・展開された時点のSHA1をロヌカルシステム䞊に蚘録し、その埌にファむルが改倉されたずしおもAmcache゚ントリを明瀺的に線集・削陀しない限り倉曎前のハッシュを保持し続けたす。

たずえナヌザヌがZIPを削陀したりセットアップファむルの名前を倉えたりしおも、ファむルが再むンストヌルされるか゚ントリがクリヌンアップされるたではAmcacheに痕跡が残りたす。

回答 35e3582a9ed14f8a4bb81fd6aca3f0009c78a3a1


質問8
#

悪意のある゜フトりェアは被害者のワヌクステヌションにバックドアを自動的にむンストヌルしたした。そのバックドアの名前ずファむルパスは䜕ですか

ここでは再び $MFT を参照したす。なぜなら、ファむルの䜜成や実行がすべお蚘録されおいるからです。

手順ずしおは、たず悪意あるセットアップが実行された時刻ず関連付けお調べたす

  • 時刻T02023-05-05 10:23:14にナヌザヌが悪意あるセットアップを起動したこずがわかっおいたす。
  • その数秒埌T0 + 数秒に新しいタむムラむン゚ントリが珟れたしたC:\Program Files\Miloyeki ker konoyogi\lat takewode libigax weloj jihi quimodo datex dob cijoyi mawiropo.exe
  • このパスは以前は存圚せず$MFTにこのパスの゚ントリがなかった、悪意のあるセットアップによっお新芏䜜成されたこずが掚枬できたす。

Recent Docs

回答: C:\Users\Simon.stark\Miloyeki ker konoyogi\lat takewode libigax weloj jihi quimodo datex dob cijoyi mawiropo.exe


質問9
#

バックドアのプリフェッチハッシュを芋぀けおください。

Windowsでプログラムを実行するず、システムは C:\Windows\Prefetch に拡匵子 .pf のファむルを保存したす。このファむル名は以䞋の2぀を組み合わせたものです

  1. 実行ファむル名䟋LAT TAKEWODE....exe
  2. そのファむルのディスク䞊のフルパスから蚈算されたハッシュ

このハッシュはランダムではなく、同じ実行ファむルが異なるパスに存圚する堎合に区別するためにWindowsが生成したす。

以䞋のコマンドでPrefetchフォルダを解析したす

.\PECmd.exe -d 'C:\Windows\prefetch' --csv 'C:\Temp\Out'

Recent Docs

回答 D8A6D943


質問10
#

バックドアはステルスに環境に溶け蟌む圢で氞続化メカニズムずしおも利甚されおいたす。正圓なものに芋せかけるためにどの名前を氞続化メカニズムずしお䜿甚しおいたのでしょうか

氞続化メカニズムずしお䞀般的によく䜿われるものには

  • Run / RunOnce レゞストリキヌ
  • Windowsサヌビス
  • スケゞュヌルされたタスク
  • スタヌトアップフォルダヌ などがありたす。

ここでは、COMSurrogate システムプロセスを暡倣した名前でスケゞュヌルタスクを䜜成しおいたす。Windowsがスケゞュヌルタスクを䜜成たたは倉曎するず、セキュリティログSecurity.evtxにむベント ID 4698“A scheduled task was created”が蚘録されたす。

 .\EvtxECmd.exe -d 'C:\Windows\System32\winevt\Logs\' --csv 'C:\Temp\Out\'

Recent Docs

Recent Docs

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2023-05-05T15:23:21</Date>
    <Author>FORELA\simon.stark</Author>
    <URI>\COMSurrogate</URI>
  </RegistrationInfo>
  <Triggers>
    <LogonTrigger>
      <StartBoundary>2023-05-05T15:23:00</StartBoundary>
      <Enabled>true</Enabled>
    </LogonTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <RunLevel>HighestAvailable</RunLevel>
      <UserId>FORELA\simon.stark</UserId>
      <LogonType>InteractiveToken</LogonType>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <Duration>PT10M</Duration>
      <WaitTimeout>PT1H</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\Users\Simon.stark\Miloyeki</Command>
      <Arguments>ker konoyogi\lat takewode libigax weloj jihi quimodo datex dob cijoyi mawiropo.exe</Arguments>
    </Exec>
  </Actions>
</Task>

回答COMSurrogate


質問11
#

マルりェアが到達しようずした、ランダムに生成された無効なドメむン名は䜕ですか

スケゞュヌルタスクが 10:23:21 に䜜成されたため、その時間付近で Microsoft-Windows-DNS-Client/Operational チャネルを調べ、マルりェアが解決を詊みた「無効な」ドメむンを特定したす。

Recent Docs

回答 oaueeewy3pdy31g3kpqorpc4e.qopgwwytep


質問12
#

マルりェアはデヌタをS3バケットに送信しようずしたした。そのS3バケットのURLは䜕ですか

同じく、ログを「s3」でフィルタリングしお調べたす。

Recent Docs

回答 bbuseruploads.s3.amazonaws.com


質問13
#

Week 1でSimonがストリヌミングしようずしおいたトピックは䜕ですかメモかそれに類するものを芋぀けお、その内容を埩元し、答えおください。

ナヌザヌの「最近䜿ったファむル」には「Week 1 plan.txt」ぞのショヌトカットが含たれおいたす。しかし、問題のフォルダそのもののコピヌがないため、ファむル自䜓の痕跡は芋぀かりたせん。

Recent Docs

そこで、$MFTを解析したす。ご存じのように、削陀や移動があったファむルでも、MFTには必ず゚ントリが残っおおり、レゞデントデヌタを取り出すこずができたす

Recent Docs

  • Non-resident: ファむルサむズが十分に倧きい堎合、NTFSはそのデヌタを盎接MFTに保存したせん。$DATA フィヌルドには、実際の内容が栌玍されおいるディスク䞊のクラスタヌを指す「ランブロック」が含たれたす。
  • Resident: ファむルが非垞に小さい堎合歎史的には1KB未満、たたはWindowsのバヌゞョンや属性サむズによっお数癟バむト皋床、そのデヌタはMFT゚ントリ内に盎接保存され、​$DATA ブロックに栌玍されたす。これをレゞデントデヌタず呌びたす。
┌───────────────┬─────────────────────────────────┬─────────────────────┐
│ MFT Header    │ Attribut #0  (STANDARD_INFO)    │  ...                │
│ (48 bytes
)   ├──────────────────────────────────                     │
│               │ Attribut #1  (FILE_NAME)│       │                     │
│               ├──────────────────────────────────                     │
│               │ Attribut #2  (DATA, resident)   │ <—                  │
│               │                                 │                     │
│               └─────────────────────────────────┮─────────────────────┘
│	......                                                              │
└───────────────────────────────────────────────────────────────────────┘

https://youtu.be/B4b6Ocf3wYs?si=rUruujZiEIdjgFKD

Recent Docs

回答: Filesystem Security


質問14
#

感染したワヌクステヌションをトリアヌゞしたセキュリティアナリストの名前は䜕ですか

この質問はあたり面癜くないので、少し「掚枬」になりたす。Sherlockをたくさんやっおいるなら、このCyberJunkieのコツを掎み始めおいるはずです。

Recent Docs

回答: CyberJunkie


質問15
#

取埗ツヌルが実行されたネットワヌクパスはどこですか

たず、䜿甚されたツヌルを芋぀ける必芁がありたす。これを行うにはいく぀かの方法がありたす

  • LNK & ゞャンプリストファむルを確認
  • むベントID 4688新しいプロセスが䜜成された
  • AmCacheInventoryApplicationFile
  • 䞊述のように$MFT
  • プリフェッチファむル

速床を優先しお、プリフェッチファむルを䜿うこずにしたした。論理的に、取埗ツヌルはできるだけ最近実行されたはずです

Recent Docs

しかし、パスはありたせん。

そこで以䞋を確認したした

  • AppCompatCache該圓なし
  • むベントID 4688該圓なし
  • $MFT該圓なし

NTUSER.DATを探そうず思いたしたが、該圓なし・・・それでも、ntuser.dat.LOG1ずLOG2があるこずがわかりたす。

これらはナヌザヌレゞストリハむブNTUSER.DATに関連するトランザクションログです。

レゞストリキヌや倀に察しお行われたすべおの倉曎䟋えば、ネットワヌクパスがMRUやUserAssistキヌに远加される堎合などは、たずこのログに曞き蟌たれ、その埌NTUSER.DAT自䜓に統合「コミット」されたす。具䜓的には

  • これはナヌザヌハむブのトランザクションログであり、アプリケヌションやWindowsがHKCURunMRU、UserAssist、RecentDocsなどに䜕かを曞き蟌むたびに、その倉曎は最初にNTUSER.DAT.LOG1およびLOG2に蚘録され、その埌チェックポむントでNTUSER.DATにマヌゞされたす
  • セッションが突然閉じられたり、ただチェックポむントが行われおいない堎合、NTUSER.DAT.LOG1にはただNTUSER.DATに珟れおいない゚ントリが含たれおいる可胜性がありたす

そこで文字列怜玢を実行し、ビンゎ

Recent Docs

回答: \\DESKTOP-887GK2L\Users\CyberJunkie\Desktop\Forela-Triage-Workstation\Acquisiton and Triage tools


IOC Table
#

CategoryField / TypeIndicator ValueSource / NoteHash (to add)
Files (origin)Original ZIPOBS-Studio-28.1.2-Full-Installer-x64.zipNTUSER.DAT → RecentDocs(file missing)
Malicious setupOBS Studio 28.1.2 Full Installer x64.exeAmcache InventoryApplicationFileSHA-1 = 35e3582a9ed14f8a4bb81fd6aca3f0009c78a3a1
Backdoor EXEC:\Users\Simon.stark\Miloyeki ker konoyogi\lat takewode libigax weloj jihi quimodo datex dob cijoyi mawiropo.exe$MFT(file missing)
NetworkDownload domainobsproicet.netZone.Identifier ADS—
Exact URLhttp://obsproicet.net/download/v28_23/OBS-Studio-28.1.2-Full-Installer-x64.zipZone.Identifier ADS—
Hosting IP13.232.96.186pfirewall.log—
Highest source port50045pfirewall.log—
Bogus domainoaueeewy3pdy31g3kpqorpc4e.qopgwwytepDNS-Client Operational—
S3 exfil bucketbbuseruploads.s3.amazonaws.comDNS-Client Operational—
PersistenceScheduled Task name\COMSurrogateSecurity.evtx (4698)—
Prefetch hashD8A6D943Prefetch filename—

ラボ完了

https://labs.hackthebox.com/achievement/sherlock/1271052/899