AWS Codebuild - Token Leakage
Rudisha Vitufe vilivyowekwa kwa Github/Bitbucket
Kwanza, angalia ikiwa kuna vitufe vya chanzo vilivyowekwa ambavyo unaweza kuvuja:
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
.
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
kamangrok tcp 4444
kuweka proksi kwa mwenyeji wakoMara baada ya kuwa na picha ya Docker iliyoundwa, ipakie kwenye repo ya umma (Dockerhub, ECR...)
Wekeza mazingira
Unda mradi mpya wa Codebuild au badilisha mazingira ya moja iliyopo.
Weka mradi kutumia picha ya Docker iliyoundwa hapo awali
Wekeza proksi ya MitM kwenye mwenyeji wako
Kama ilivyoelezwa kwenye repo ya Github unaweza kutumia kitu kama:
Toleo la mitmproxy lililotumika lilikuwa 9.0.1, iliripotiwa kwamba na toleo la 10 hili huenda lisifanye kazi.
Endesha ujenzi na ukamatishe siri
Unaweza kuona token katika kichwa cha Authorization:
Hii pia inaweza kufanywa kutoka kwa aws cli na kitu kama hiki
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)
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.
Last updated