Cobalt Strikeでよく使うコマンド（備忘録）

### はじめに
先日、運良くレッドチームの講習を受講でき、cobaltstrikeを使った内容だったので備忘録としてよく使用したコマンドを記載します。

### BOF
```
ps
# 説明: 現在実行中のプロセスのリストを表示します。プロセスIDや名前などの情報を取得できます。

tasklist
# 説明: Windowsのコマンドで、現在実行中のプロセスのリストを表示します。プロセスの詳細情報を確認するのに役立ちます。

ipconfig
# 説明: ネットワークインターフェースの設定情報を表示します。IPアドレスやサブネットマスク、デフォルトゲートウェイなどを確認できます。

netstat
# 説明: ネットワーク接続の状態を表示します。アクティブな接続やリスニングポートを確認するのに使用されます。

net.exe user /domain
# 説明: 指定したユーザーアカウントの詳細情報を表示します。ドメイン内のユーザー管理に役立ちます。

dir C:
# 説明: Cドライブのルートディレクトリの内容を表示します。ファイルやフォルダの一覧を確認できます。

dir C:\users
# 説明: Cドライブの「users」フォルダ内の内容を表示します。ユーザープロファイルの一覧を確認できます。

wmic path win32_process get Processid,Commandline
# 説明: 実行中のプロセスのIDとコマンドライン引数を表示します。プロセスの詳細を把握するのに役立ちます。

hashdump
# 説明: システムのパスワードハッシュを取得します。認証情報の取得に使用されます。

logonpassword
# 説明: 現在のユーザーのログオンパスワードを取得します。セキュリティリスクが高い操作です。

net group "" /domain
# 説明: 指定したグループのメンバーを表示します。ドメイン内のグループ管理に役立ちます。

net localgroup administrators /domain
# 説明: ドメイン内の管理者グループのメンバーを表示します。権限の確認に使用されます。

reg-set HKCU SOFTWARE\microsoft\windows\currentversion\run testvalue REG-SZ C:\beacon.exe
# 説明: レジストリに新しい値を設定し、指定したプログラムを自動起動させる設定を行います。

reg-query HKCU SOFTWARE\microsoft\windows\currentversion\run testvalue
# 説明: 指定したレジストリの値を取得します。自動起動設定の確認に使用されます。

reg-delete HKCU SOFTWARE\microsoft\windows\currentversion\run testvalue
# 説明: 指定したレジストリの値を削除します。自動起動設定を解除するのに使用されます。

download
# 説明: リモートサーバーからファイルをダウンロードします。攻撃者がマルウェアやツールをターゲットシステムに転送するのに使用されます。

upload
# 説明: ターゲットシステムからファイルをリモートサーバーにアップロードします。データの抽出やログの収集に役立ちます。

execute
# 説明: 指定したコマンドをターゲットシステム上で実行します。リモートでのコマンド実行に使用されます。

psexec
# 説明: リモートシステムでコマンドを実行するためのツールです。管理者権限での操作が可能です。

migrate
# 説明: 現在のプロセスから別のプロセスに移動します。より高い権限を持つプロセスに移行するのに使用されます。

keylogger
# 説明: キーボードの入力を記録します。ユーザーの入力情報を取得するために使用されます。

screenshot
# 説明: ターゲットシステムの画面をキャプチャします。視覚的な情報を収集するのに役立ちます。

webcam
# 説明: ターゲットシステムのウェブカメラを制御し、映像を取得します。プライバシーの侵害に繋がるため、注意が必要です。

inject
# 説明: inject コマンドは、指定したプロセスにコードを挿入して実行するための手段です。これにより、攻撃者はターゲットプロセスのコンテキストで任意のコードを実行できるようになります。主に、マルウェアの実行や権限昇格に使用されます。

steal_token
# 説明: steal_token コマンドは、特定のプロセスのトークンを取得し、そのプロセスの権限を引き継ぐために使用されます。これにより、攻撃者は他のユーザーやサービスの権限を利用して、より高い権限で操作を行うことが可能になります。

pth (Pass-the-Hash)
# 説明: pth コマンドは、パスワードハッシュを使用して認証を行う手法です。ユーザーのパスワードを知ることなく、ハッシュを使って認証を行うことができるため、攻撃者は他のシステムにアクセスする際にこの手法を利用します。特に、Windows環境での攻撃において有効です。

rev2self
# このコマンドは、現在のプロセスの権限を維持したままリバースシェルを生成するため、より高い権限での操作が可能になります。

make_token
# 説明: 指定したユーザーアカウントのトークンを作成し、そのトークンを使用して新しいプロセスを実行します。これにより、指定したユーザーの権限で操作を行うことができます。

persistence
# 説明: システムに持続的なアクセスを確保するための手段で、特定のユーザーアカウントの権限を利用して、バックドアを設置することができます。

elevate
# 現在のユーザーセッションの権限を昇格させるために使用されます。これにより、管理者権限を持つ操作を実行できるようになります。
```

runまたはshellコマンドと組み合わせて使うもの
```
net group
# 説明: 現在のドメイン内のすべてのグループを表示します。グループの管理に役立ちます。

net group "<groupname>" /domain
#説明: 指定したグループのメンバーを表示します。ドメイン内の特定のグループの詳細を確認するのに使用されます。

net localgroup administrators /domain
# 説明: ドメイン内の管理者グループのメンバーを表示します。管理者権限を持つユーザーを確認するのに役立ちます。

net view
# 説明: ネットワーク上の共有リソースを表示します。特定のコンピュータやサーバーの共有フォルダを確認するのに使用されます。

sc query vss
# 説明: VSS（Volume Shadow Copy Service）の状態を表示します。サービスが実行中かどうかを確認するのに役立ちます。

sc qc vss
# 説明: VSSサービスの構成情報を表示します。サービスの設定や依存関係を確認するのに使用されます。

sc start vss
# 説明: VSSサービスを開始します。バックアップや復元のために必要なサービスです。

sc stop vss
# 説明: VSSサービスを停止します。サービスを一時的に無効にする際に使用されます。

sc delete svcname
# 説明: 指定したサービスを削除します。サービスの管理に使用されます。

sc description svcname description
# 説明: 指定したサービスの説明を設定します。サービスの目的や機能を明示するために使用されます。

sc create svcname displayname binpath description errormode startmode
# 説明: 新しいサービスを作成します。サービス名、表示名、実行ファイルのパス、説明、エラーモード、開始モードを指定します。

dsquery.exe * -filter "(objectclass=group)" -attr * -limit 2
# 説明: Active Directory内のグループオブジェクトを検索し、最初の2つの結果を表示します。グループの情報を取得するのに役立ちます。

dsquery.exe * -filter "(objectclass=trusteddomain)" -attr flatname trustdirection -limit 0
# 説明: 信頼されたドメインオブジェクトを検索し、フラット名と信頼の方向を表示します。ドメイン間の信頼関係を確認するのに使用されます。

dsquery.exe * -filter "(objectclass=user)" -attr * -limit 2
# 説明: Active Directory内のユーザーオブジェクトを検索し、最初の2つの結果を表示します。ユーザー情報を取得するのに役立ちます。
```

### 終わりに
cobaltstrikeは非常に使いやすく強力でした。
世界中のハッカーに使われていることも納得です。