AWS - CodeBuild Post Exploitation

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

CodeBuild

Daha fazla bilgi için bakınız:

AWS - Codebuild Enum

Check Secrets

Eğer CodeBuild içinde Github, Gitlab veya Bitbucket’e bağlanmak için personal tokens, passwords veya OAuth token access şeklinde credentials ayarlandıysa, bu credentials secret manager içinde secrets olarak saklanacaktır.
Bu nedenle, secret manager’ı okuma erişiminiz varsa bu secrets’ları elde edip bağlı platforma pivot yapabilirsiniz.

AWS - Secrets Manager Privesc

Abuse CodeBuild Repo Access

CodeBuild’i yapılandırmak için, kullanacağı code repo’ya erişimi olması gerekir. Bu kodu barındırabilecek birkaç platform olabilir:

CodeBuild projesinin, yapılandırılmış source provider’a erişimi olması gerekir; bu ya IAM role ile ya da bir github/bitbucket token veya OAuth access ile sağlanır.

CodeBuild üzerinde yükseltilmiş izinlere sahip bir saldırgan, bu yapılandırılmış erişimi kullanarak yapılandırılmış repo’nun ve ayarlanmış creds’lerin erişimi olan diğer repo’ların kodunu leak edebilir.
Bunu yapmak için saldırganın yapması gereken tek şey, yapılandırma credential’larının erişimi olan her repo için repository URL’sini değiştirmek (aws web bunların hepsini sizin için listeleyecektir):

Ve Buildspec komutlarını her repo’yu exfiltrate edecek şekilde değiştirmek.

Warning

Ancak bu iş tekrarlı ve sıkıcıdır ve eğer bir github token’ı write permissions ile yapılandırıldıysa, saldırgan bu izinleri (ab)use edemeyecektir çünkü token’a erişimi yoktur.
Ya da var mı? Bir sonraki bölüme bakın

Leaking Access Tokens from AWS CodeBuild

CodeBuild içinde verilen erişimi Github gibi platformlara leak edebilirsiniz. Harici platformlara herhangi bir erişim verilmiş mi kontrol etmek için:

aws codebuild list-source-credentials

AWS Codebuild - Token Leakage

webhook filtre yanlış yapılandırması yoluyla güvensiz PR yürütülmesi

Webhook filtreleri zayıfsa, dış saldırganlar PR’lerinin ayrıcalıklı CodeBuild projelerinde oluşturulmasını sağlayıp CI içinde keyfi kod çalıştırabilirler.

AWS CodeBuild - Untrusted PR Webhook Bypass (CodeBreach-style)

codebuild:DeleteProject

Bir saldırgan tüm bir CodeBuild projesini silebilir; bu, proje yapılandırmasının kaybına ve projeye bağımlı uygulamaların etkilenmesine neden olur.

aws codebuild delete-project --name <value>

Potansiyel Etki: Proje yapılandırmasının kaybı ve silinen projeyi kullanan uygulamalar için hizmet kesintisi.

codebuild:TagResource , codebuild:UntagResource

Bir saldırgan, CodeBuild kaynaklarına tags ekleyebilir, değiştirebilir veya kaldırabilir; bu da kuruluşunuzun tags’e dayalı maliyet tahsisini, kaynak takibini ve erişim kontrol politikalarını bozabilir.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Olası Etki: Maliyet tahsisi, kaynak takibi ve etikete dayalı erişim denetimi politikalarının bozulması.

codebuild:DeleteSourceCredentials

Bir saldırgan, bir Git deposu için kaynak kimlik bilgilerini silebilir; bu, depoya bağımlı uygulamaların normal işleyişini etkileyebilir.

aws codebuild delete-source-credentials --arn <value>

Olası Etki: Kaynak kimlik bilgilerinin kaldırılması nedeniyle etkilenen depoya bağımlı uygulamaların normal işleyişinin bozulması.

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin