AWS - EFS Enum

Support HackTricks

EFS

Basic Information

Amazon Elastic File System (EFS) inawasilishwa kama safu ya faili ya mtandao inayosimamiwa kikamilifu, inayoweza kupanuliwa, na elastiki na AWS. Huduma hii inarahisisha uundaji na usanidi wa safu za faili ambazo zinaweza kufikiwa kwa wakati mmoja na mifano mingi ya EC2 na huduma nyingine za AWS. Vipengele muhimu vya EFS ni pamoja na uwezo wake wa kupanuka kiotomatiki bila kuingilia kati kwa mikono, kutoa ufikiaji wa latency ya chini, kusaidia mzigo wa kazi wa kiwango cha juu, kuhakikisha kudumu kwa data, na kuunganishwa kwa urahisi na mitambo mbalimbali ya usalama ya AWS.

Kwa kawaida, folda ya EFS ya kuunganisha itakuwa / lakini inaweza kuwa na jina tofauti.

Network Access

EFS inaundwa katika VPC na itakuwa kwa kawaida inapatikana katika mitandao yote ya VPC. Hata hivyo, EFS itakuwa na Kundi la Usalama. Ili kutoa ufikiaji kwa EC2 (au huduma nyingine yoyote ya AWS) kuunganisha EFS, inahitajika kuruhusu katika kundi la usalama la EFS sheria ya NFS ya kuingia (bandari 2049) kutoka kwa Kundi la Usalama la EC2.

Bila hii, hutaweza kuwasiliana na huduma ya NFS.

Kwa maelezo zaidi kuhusu jinsi ya kufanya hivi angalia: https://stackoverflow.com/questions/38632222/aws-efs-connection-timeout-at-mount

Enumeration

# Get filesystems and access policies (if any)
aws efs describe-file-systems
aws efs describe-file-system-policy --file-system-id <id>

# Get subnetworks and IP addresses where you can find the file system
aws efs describe-mount-targets --file-system-id <id>
aws efs describe-mount-target-security-groups --mount-target-id <id>
aws ec2 describe-security-groups --group-ids <sg_id>

# Get other access points
aws efs describe-access-points

# Get replication configurations
aws efs describe-replication-configurations

# Search for NFS in EC2 networks
sudo nmap -T4 -Pn -p 2049 --open 10.10.10.0/20 # or /16 to be sure

Inaweza kuwa kwamba EFS mount point iko ndani ya VPC hiyo hiyo lakini katika subnet tofauti. Ikiwa unataka kuwa na uhakika kwamba unapata EFS points zote itakuwa bora skana /16 netmask.

Mount EFS

sudo mkdir /efs

## Mount found
sudo apt install nfs-common
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <IP>:/ /efs

## Mount with efs type
## You need to have installed the package amazon-efs-utils
sudo yum install amazon-efs-utils # If centos
sudo apt-get install amazon-efs-utils # If ubuntu
sudo mount -t efs <file-system-id/EFS DNS name>:/ /efs/

IAM Access

Kwa kawaida mtu yeyote mwenye ufikiaji wa mtandao kwa EFS ataweza kuunganisha, kusoma na kuandika hata kama mtumiaji wa root. Hata hivyo, sera za Mfumo wa Faili zinaweza kuwepo zinazoruhusu tu wakuu wenye ruhusa maalum kuweza kuzipata. Kwa mfano, sera hii ya Mfumo wa Faili haitaruhusu hata kuunganisha mfumo wa faili ikiwa huna ruhusa ya IAM:

{
"Version": "2012-10-17",
"Id": "efs-policy-wizard-2ca2ba76-5d83-40be-8557-8f6c19eaa797",
"Statement": [
{
"Sid": "efs-statement-e7f4b04c-ad75-4a7f-a316-4e5d12f0dbf5",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "",
"Resource": "arn:aws:elasticfilesystem:us-east-1:318142138553:file-system/fs-0ab66ad201b58a018",
"Condition": {
"Bool": {
"elasticfilesystem:AccessedViaMountTarget": "true"
}
}
}
]
}

Au hii itazuia ufikiaji wa siri:

Kumbuka kwamba ili kuunganisha mifumo ya faili iliyolindwa na IAM LAZIMA utumie aina "efs" katika amri ya kuunganisha:

sudo mkdir /efs
sudo mount -t efs -o tls,iam  <file-system-id/EFS DNS name>:/ /efs/
# To use a different pforile from ~/.aws/credentials
# You can use: -o tls,iam,awsprofile=namedprofile

Access Points

Access points ni vituo maalum vya programu katika mfumo wa faili wa EFS vinavyorahisisha usimamizi wa ufikiaji wa programu kwa seti za data zinazoshirikiwa.

Unapounda kituo cha ufikiaji, unaweza kueleza mmiliki na ruhusa za POSIX kwa faili na saraka zinazoundwa kupitia kituo cha ufikiaji. Pia unaweza kufafanua saraka ya mzizi ya kawaida kwa kituo cha ufikiaji, ama kwa kueleza saraka iliyopo au kwa kuunda mpya yenye ruhusa zinazohitajika. Hii inakuwezesha kudhibiti ufikiaji wa mfumo wako wa faili wa EFS kwa msingi wa programu au mtumiaji, na kufanya iwe rahisi kusimamia na kulinda data zako za faili zinazoshirikiwa.

You can mount the File System from an access point with something like:

# Use IAM if you need to use iam permissions
sudo mount -t efs -o tls,[iam],accesspoint=<access-point-id> \
<file-system-id/EFS DNS> /efs/

Kumbuka kwamba hata kujaribu kuunganisha na kituo cha ufikiaji bado unahitaji kuwa na uwezo wa kuwasiliana na huduma ya NFS kupitia mtandao, na ikiwa EFS ina sera ya mfumo wa faili, unahitaji idhini za kutosha za IAM ili kuunganisha.

Vituo vya ufikiaji vinaweza kutumika kwa madhumuni yafuatayo:

  • Rahisisha usimamizi wa ruhusa: Kwa kufafanua mtumiaji wa POSIX na kundi kwa kila kituo cha ufikiaji, unaweza kwa urahisi kusimamia ruhusa za ufikiaji kwa programu au watumiaji tofauti bila kubadilisha ruhusa za mfumo wa faili wa msingi.

  • Kuthibitisha saraka ya mzizi: Vituo vya ufikiaji vinaweza kuzuia ufikiaji wa saraka maalum ndani ya mfumo wa faili wa EFS, kuhakikisha kwamba kila programu au mtumiaji anafanya kazi ndani ya folda yake iliyotengwa. Hii husaidia kuzuia kufichuliwa au kubadilishwa kwa data kwa bahati.

  • Ufikiaji rahisi wa mfumo wa faili: Vituo vya ufikiaji vinaweza kuunganishwa na kazi ya AWS Lambda au kazi ya AWS Fargate, na hivyo kurahisisha ufikiaji wa mfumo wa faili kwa programu zisizo na seva na zilizofungwa kwenye kontena.

Privesc

Post Exploitation

Persistence

Support HackTricks

Last updated