AWS - Lambda Enum
Lambda
Amazon Web Services (AWS) Lambda inafafanuliwa kama huduma ya kompyuta inayowezesha utekelezaji wa msimbo bila haja ya usambazaji au usimamizi wa seva. Inajulikana kwa uwezo wake wa kushughulikia kiotomatiki ugawaji wa rasilimali zinazohitajika kwa utekelezaji wa msimbo, kuhakikisha vipengele kama upatikanaji wa juu, kupanuka, na usalama. Kipengele muhimu cha Lambda ni mfano wake wa bei, ambapo malipo yanategemea tu muda wa kompyuta ulio tumika, kuondoa haja ya uwekezaji wa awali au wajibu wa muda mrefu.
Ili kuita lambda inawezekana kuikuta kila wakati unavyotaka (na Cloudwatch), kuweka wazi URL kiunganishi na kuikuta, kuitwa kupitia API Gateway au hata kulingana na matukio kama mabadiliko ya data katika S3 ndoo au masasisho kwa DynamoDB jedwali.
Msimbo wa lambda uhifadhiwa katika /var/task
.
Lambda Aliases Weights
Lambda inaweza kuwa na matoleo kadhaa. Na inaweza kuwa na zaidi ya 1 toleo lililo wazi kupitia aliases. Uzito wa kila moja ya matoleo yaliyo wazi ndani ya alias utaamua ni alias ipi itakayopokea mwito (inaweza kuwa 90%-10% kwa mfano). Ikiwa msimbo wa moja ya aliases ni dhaifu unaweza kutuma maombi hadi toleo dhaifu lipokee shambulio.
Resource Policies
Sera za rasilimali za Lambda zinaruhusu kutoa ufikiaji kwa huduma/accounts nyingine ili kuweza kuita lambda kwa mfano. Kwa mfano hii ni sera ya kuruhusu mtu yeyote kufikia lambda iliyo wazi kupitia URL:
Au hii kuruhusu API Gateway kuitumia:
Lambda Database Proxies
Wakati kuna mamia ya maombi ya lambda yanayoendelea, ikiwa kila moja inahitaji kuungana na kufunga muunganisho na hifadhidata, haitafanya kazi (lambdas hazina hali, haiwezi kudumisha muunganisho wazi). Basi, ikiwa Lambda functions zako zinashirikiana na RDS Proxy badala ya mfano wako wa hifadhidata. Inashughulikia usimamizi wa muunganisho unaohitajika kwa kupanua muunganisho mengi ya wakati mmoja yanayotengenezwa na kazi za Lambda zinazofanyika kwa wakati mmoja. Hii inaruhusu programu zako za Lambda kutumia muunganisho uliopo, badala ya kuunda muunganisho mpya kwa kila mwito wa kazi.
Lambda EFS Filesystems
Ili kuhifadhi na hata kushiriki data Lambdas zinaweza kufikia EFS na kuziunganisha, hivyo Lambda itakuwa na uwezo wa kusoma na kuandika kutoka kwake.
Lambda Layers
Layer ya Lambda ni archive ya .zip ambayo inaweza kuwa na msimbo wa ziada au maudhui mengine. Layer inaweza kuwa na maktaba, runtime maalum, data, au faili za usanidi.
Inawezekana kujumuisha hadi tabaka tano kwa kazi. Unapojumuisha tabaka katika kazi, maudhui yanachukuliwa kwenye saraka ya /opt
katika mazingira ya utekelezaji.
Kwa default, tabaka unazounda ni binafsi kwa akaunti yako ya AWS. Unaweza kuchagua kushiriki tabaka na akaunti nyingine au kufanya tabaka kuwa ya umma. Ikiwa kazi zako zinatumia tabaka ambayo akaunti tofauti ilichapisha, kazi zako zinaweza kuendelea kutumia toleo la tabaka baada ya kufutwa, au baada ya ruhusa yako ya kufikia tabaka kufutwa. Hata hivyo, huwezi kuunda kazi mpya au kusasisha kazi ukitumia toleo la tabaka lililofutwa.
Kazi zilizowekwa kama picha ya kontena hazitumii tabaka. Badala yake, unapakua runtime unayopendelea, maktaba, na utegemezi mwingine ndani ya picha ya kontena unapojenga picha hiyo.
Lambda Extensions
Lambda extensions huongeza kazi kwa kuungana na zana mbalimbali za uangalizi, ufuatiliaji, usalama, na utawala. Extensions hizi, zilizoongezwa kupitia .zip archives kwa kutumia tabaka za Lambda au zilizojumuishwa katika uzinduzi wa picha za kontena, zinafanya kazi katika hali mbili: ndani na nje.
Extensions za ndani huungana na mchakato wa runtime, zikibadilisha uzinduzi wake kwa kutumia mabadiliko maalum ya lugha na scripts za wrapper. Uboreshaji huu unatumika kwa aina mbalimbali za runtimes, ikiwa ni pamoja na Java Correto 8 na 11, Node.js 10 na 12, na .NET Core 3.1.
Extensions za nje zinafanya kazi kama michakato tofauti, zikidumisha ulinganifu wa operesheni na mzunguko wa kazi ya Lambda. Zinapatikana kwa runtimes mbalimbali kama Node.js 10 na 12, Python 3.7 na 3.8, Ruby 2.5 na 2.7, Java Corretto 8 na 11, .NET Core 3.1, na runtimes maalum.
Enumeration
Itisha lambda
Kawaida
Kupitia URL iliyo wazi
Call Lambda function via URL
Sasa ni wakati wa kugundua kazi za lambda zinazoweza kutekelezwa:
Kuna kazi ya lambda inayoitwa "Level6". Hebu tuone jinsi ya kuitumia:
Sasa, kwamba unajua jina na ID unaweza kupata Jina:
Na hatimaye piga simu kwa kazi kwa kufikia (angalia kwamba ID, Jina na jina la kazi yanaonekana kwenye URL): https://s33ppypa75.execute-api.us-west-2.amazonaws.com/Prod/level6
URL:
https://<rest-api-id>.execute-api.<region>.amazonaws.com/<stageName>/<funcName>
Vichocheo Vingine
Kuna vyanzo vingi vingine vinavyoweza kuchochea lambda
Privesc
Katika ukurasa ufuatao unaweza kuangalia jinsi ya kutumia ruhusa za Lambda kuongeza mamlaka:
AWS - Lambda PrivescUfikiaji Usio na Uthibitisho
AWS - Lambda Unauthenticated AccessBaada ya Kutekeleza
AWS - Lambda Post ExploitationKudumu
AWS - Lambda PersistenceMarejeo
Last updated