Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BlackLotus-analysis-stage2-bootkit-rootkit-stage — Z2A-BlackLotus チャレンジ ステージ2 ブートキット/ルートキット解析 | Kitploit
ツール/GitHubGitHub/spiralbl0ck/blacklotus-analysis-stage2-bootkit-rootkit-stage
静的分析動的分析 (サンドボックス)リバースエンジニアリングデバッガマルウェア分析バイナリ解析学習と教育ファームウェア解析
GitHub
spiralbl0ck/blacklotus-analysis-stage2-bootkit-rootkit-stage

BlackLotus-analysis-stage2-bootkit-rootkit-stage

Z2A-BlackLotus チャレンジ ステージ2 ブートキット/ルートキット解析

リポジトリを見る
175193年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

BlackLotus-analysis-stage2-bootkit-rootkit-stage

BlackLotus ステージ2 ブートキット-ルートキット解析

この神がかった代物に踏み込む前に(信じてくれ、これは神の御心なしには誰にも成し得ない神がかった代物だ(少なくとも私の意見では))、ブートキットファイルのハッシュをここに示す

1

まず最初に、これが正常なシステムの見え方だ

1
2
``` C:\Windows\system32>BCDEdit

Windows Boot Manager

identifier {bootmgr} device partition=\Device\HarddiskVolume9 path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI description Windows Boot Manager locale en-US inherit {globalsettings} default {current} resumeobject {3f80ecd0-df10-11ed-bafc-80a84b2564bb} displayorder {current} toolsdisplayorder {memdiag} timeout 30

Windows Boot Loader

identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows 10 locale en-US inherit {bootloadersettings} recoverysequence {3f80ecd2-df10-11ed-bafc-80a84b2564bb} displaymessageoverride Recovery recoveryenabled Yes isolatedcontext Yes allowedinmemorysettings 0x15000075 osdevice partition=C: systemroot \Windows resumeobject {3f80ecd0-df10-11ed-bafc-80a84b2564bb} nx OptIn bootmenupolicy Standard

さて、私の分析では、自分のマシンに感染させることはできなかったので、先ほど参照したアジアの研究者のブログ記事の例を使います。これは感染したものがどのように見えるべきかの例です。```
    // Windows Boot Manager
    // --------------------
    // identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
    // description             Windows Boot Manager
    // locale                  en-US
    // inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
    // bootdebug               Yes
    // displayorder            {57e1b615-0355-11ec-abb0-005056c00008}
    // timeout                 30

    // Windows Boot Loader
    // -------------------
    // identifier              {57e1b615-0355-11ec-abb0-005056c00008}
    // device                  boot
    // path                    \system32\hvloader.efi
    // description             Hoy la disco se flota
    // locale                  en-US
    // inherit                 {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
    // truncatememory          0x10000000
    // avoidlowmemory          0x1000
    // nointegritychecks       Yes
    // testsigning             Yes
    // isolatedcontext         Yes
    // osdevice                boot
    // systemroot              \
    // ems                     Yes

=============================================================================

=============================================================================

始める前に、そもそもEFIモジュールを解析するための環境をどのようにセットアップするのでしょうか? これは @MaverickMusic__ のおかげです。彼との議論の中で、彼は私にこれを渡してくれました( https://zhuanlan-zhihu-com.translate.goog/p/343293521?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-GB )。さて、私はそこにある手順を完全には従いませんでした。ここに、環境を立ち上げるために私が実際に行ったことを正確に示します:

-最初にedk2をインストールしました(https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems)

-次に、ovmfをリリースではなくデバッグとして構成しました(これは後で役立ちます)。コマンドは次のとおりです build -a X64 -t VS2019 -b DEBUG -p OvmfPkg/OvmfPkgX64.dsc

-第三に、windbgを構成する必要がありました。これをいったいどうやってやったのか? 私はこのリンクからすべてをダウンロードしました(git clone https://github.com/microsoft/WinDbg-Samples)。それからExdiGdbSrv.slnをコンパイルしました。その後、私はこのリンク(https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/setting-up-qemu-kernel-mode-debugging-using-exdi)にあるすべての手順を、`Use regsvr32 to register the DLL in an Administrator command prompt. と書かれている箇所から、PS>.\Start-ExdiDebugger.ps1 -ExdiTarget "QEMU" -GdbPort 1234 -Architecture x64 -ExdiDropPath "C:\path\to\built\exdi\files"まで実行しました。混乱するのは分かっていますが、すべての手順を説明するビデオを必ず作るので、どうか辛抱強く待ってください! よし、これでデバッグ用の環境が整いました。では、いったいどうやってコードをデバッグするのでしょうか? そこでqemuを起動します。私の場合、次のコマンドを実行して起動しましたqemu-system-x86_64.exe -L . -bios OVMF.fd -hdd dos.img -debugcon file:debug.log -global isa-debugcon.iobase=0x402`。qemuコマンドを実行すると、すぐにqemuのviewメニューからcompat_monitor0を選択しました。そうすると、次のように表示されるはずです。

また、これを選択した後、gdbserverと入力して、gdbデバッグのリモートインスタンスを起動します。これにwindbgを使って、次のコマンドでアタッチします .\Start-ExdiDebugger.ps1 -ExdiTarget "QEMU" -GdbPort 1234 -Architecture x64。接続すると、次のように表示されます。

1
``` So how do we set up a breakpoint in order to debug the bootkit? Well that's we we compiled the ovmf image as debug rather than release. If you specifically start qemu with that command you'll have qemu run and debug messages will be logged in a file called debug.log , which looks like this ```
1

さて、この出力を解釈しましょう。私たちのケースでは、唯一関連する行は EntryPoint=0x000062C9A8C で、これはブートキットを実行する際の優先ロードアドレスのようなものです。具体的には、このブートキットでは 0x62C4A8C または 0x62C9A8C の間で変動します。これで IDA でプログラムをリベースして、通常の作業を進めることができます :) 。ブログの残りもお楽しみください!

=============================================================================

元の winload.efi と blacklotus がドロップした winload.efi を BinDiff で比較する

1
2
3
```
ツールをダウンロード