TravisCI Security

htARTE(HackTricks AWS Red Team Expert) を通じて、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricks をサポートする他の方法:

TravisCI とは

Travis CI は、複数の 異なるgitプラットフォーム にホストされたソフトウェアプロジェクトをビルドおよびテストするために使用される ホスト型または オンプレミス継続的インテグレーション サービスです。

pageBasic TravisCI Information

攻撃

トリガー

攻撃を開始するには、まずビルドをトリガーする方法を知る必要があります。デフォルトでは、TravisCI は プッシュやプルリクエストでビルドをトリガーします。

クーロンジョブ

Webアプリケーションにアクセスできる場合、クーロンを設定してビルドを実行することができます。これは持続性のために便利であり、ビルドをトリガーするために役立ちます。

こちらによると、.travis.yml内でクーロンを設定することはできないようです。

サードパーティのPR

TravisCI はデフォルトで、サードパーティからのPRと環境変数の共有を無効にしていますが、誰かが有効にしている可能性があり、その後、リポジトリにPRを作成してシークレットを外部に持ち出すことができます。

シークレットのダンプ

基本情報ページで説明されているように、2種類のシークレットがあります。環境変数シークレット(Webページにリストされている)と カスタム暗号化されたシークレット があり、これらは .travis.yml ファイルにbase64として格納されます(両方とも暗号化されて格納されるため、最終的なマシンでは環境変数として表示されます)。

  • 環境変数として構成されたシークレットを列挙するには、プロジェクト設定に移動してリストを確認します。ただし、ここで設定されたすべてのプロジェクト環境変数は、ビルドをトリガーするときに表示されます。

  • カスタム暗号化されたシークレットを列挙するには、.travis.ymlファイルを確認するのが最善です。

  • 暗号化されたファイルを列挙するには、リポジトリ内の .encファイル、設定ファイル内の openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d に類似した行、または 環境変数内の 暗号化されたivとキーを確認できます。

TODO:

  • Windows/Mac/Linux で実行される逆シェルを使用したビルドの例

  • ログにエンコードされた環境ベース64を漏洩させるビルドの例

TravisCI Enterprise

攻撃者が TravisCI Enterprise を使用する環境に到達した場合(これについての詳細は基本情報にあります)、彼は Workerでビルドをトリガーすることができます。これは、攻撃者がそのサーバーに横断的に移動できることを意味し、その後、次のことができる可能性があります:

  • ホストから脱出する?

  • Kubernetes を危険にさらす?

  • 同じネットワークで実行されている他のマシンを危険にさらす?

  • 新しいクラウド資格情報を危険にさらす?

参考文献

htARTE(HackTricks AWS Red Team Expert) を通じて、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricks をサポートする他の方法:

最終更新