From 43d248d5e77fe0ea06d36f282d9eeec0fd6f6a4b Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 23 Feb 2026 23:58:37 +0000 Subject: [PATCH] Translated ['', 'src/pentesting-cloud/aws-security/aws-services/aws-ec2- --- ...ws-vpc-and-networking-basic-information.md | 202 +++++++++--------- .../aws-s3-athena-and-glacier-enum.md | 132 ++++++------ 2 files changed, 162 insertions(+), 172 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/aws-vpc-and-networking-basic-information.md b/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/aws-vpc-and-networking-basic-information.md index 3b468caef..388fa5204 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/aws-vpc-and-networking-basic-information.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/aws-vpc-and-networking-basic-information.md @@ -4,192 +4,182 @@ ## AWS Networking in a Nutshell -**VPC** zawiera **CIDR sieci** jak 10.0.0.0/16 (z jego **tablicą routingu** i **ACL sieci**). +A **VPC** contains a **network CIDR** like 10.0.0.0/16 (with its **routing table** and **network ACL**). -Ta sieć VPC jest podzielona na **podsieci**, więc **podsieć** jest bezpośrednio **związana** z **VPC**, **tablicą routingu** i **ACL sieci**. +This VPC network is divided in **subnetworks**, so a **subnetwork** is directly **related** with the **VPC**, **routing** **table** and **network ACL**. -Następnie, **Interfejsy sieciowe** podłączone do usług (jak instancje EC2) są **połączone** z **podsieciami** za pomocą **grup zabezpieczeń**. +Then, **Network Interface**s attached to services (like EC2 instances) are **connected** to the **subnetworks** with **security group(s)**. -Dlatego **grupa zabezpieczeń** ograniczy wystawione porty interfejsów sieciowych, które jej używają, **niezależnie od podsieci**. A **ACL sieci** będzie **ograniczać** wystawione porty do **całej sieci**. +Therefore, a **security group** will limit the exposed ports of the network **interfaces using it**, **independently of the subnetwork**. And a **network ACL** will **limit** the exposed ports to to the **whole network**. -Ponadto, aby **uzyskać dostęp do Internetu**, istnieją interesujące konfiguracje do sprawdzenia: +Moreover, in order to **access Internet**, there are some interesting configurations to check: -- **Podsieć** może **automatycznie przypisywać publiczne adresy IPv4** -- **Instancja** utworzona w sieci, która **automatycznie przypisuje adresy IPv4, może go uzyskać** -- **Brama internetowa** musi być **podłączona** do **VPC** -- Możesz również użyć **bram internetowych tylko do wyjścia** -- Możesz również mieć **bramę NAT** w **prywatnej podsieci**, aby możliwe było **połączenie z zewnętrznymi usługami** z tej prywatnej podsieci, ale **nie jest możliwe, aby dotrzeć do nich z zewnątrz**. -- Brama NAT może być **publiczna** (dostęp do internetu) lub **prywatna** (dostęp do innych VPC) +- A **subnetwork** can **auto-assign public IPv4 addresses** +- An **instance** created in the network that **auto-assign IPv4 addresses can get one** +- An **Internet gateway** need to be **attached** to the **VPC** +- You could also use **Egress-only internet gateways** +- You could also have a **NAT gateway** in a **private subnet** so it's possible to **connect to external services** from that private subnet, but it's **not possible to reach them from the outside**. +- The NAT gateway can be **public** (access to the internet) or **private** (access to other VPCs) ![](<../../../../images/image (274).png>) ## VPC -Amazon **Virtual Private Cloud** (Amazon VPC) umożliwia uruchamianie zasobów AWS w wirtualnej sieci, którą zdefiniowałeś. Ta wirtualna sieć będzie miała kilka podsieci, bramy internetowe do uzyskania dostępu do Internetu, ACL, grupy zabezpieczeń, IP... +Amazon **Virtual Private Cloud** (Amazon VPC) enables you to **launch AWS resources into a virtual network** that you've defined. This virtual network will have several subnets, Internet Gateways to access Internet, ACLs, Security groups, IPs... ### Subnets -Podsieci pomagają w egzekwowaniu wyższego poziomu bezpieczeństwa. **Logiczne grupowanie podobnych zasobów** również pomaga w utrzymaniu **łatwości zarządzania** w całej infrastrukturze. +Subnets helps to enforce a greater level of security. **Logical grouping of similar resources** also helps you to maintain an **ease of management** across your infrastructure. -- Ważne CIDR są od maski /16 do maski /28. -- Podsiec nie może znajdować się w różnych strefach dostępności w tym samym czasie. -- **AWS rezerwuje pierwsze trzy adresy IP hostów** każdej podsieci **do** **wewnętrznego użytku AWS**: pierwszy adres hosta jest używany dla routera VPC. Drugi adres jest zarezerwowany dla DNS AWS, a trzeci adres jest zarezerwowany do przyszłego użytku. -- Nazywa się **publicznymi podsieciami** te, które mają **bezpośredni dostęp do Internetu, podczas gdy prywatne podsieci nie mają.** - -
- -
+- Valid CIDR are from a /16 netmask to a /28 netmask. +- A subnet cannot be in different availability zones at the same time. +- **AWS reserves the first three host IP addresses** of each subnet **for** **internal AWS usage**: the first host address used is for the VPC router. The second address is reserved for AWS DNS and the third address is reserved for future use. +- It's called **public subnets** to those that have **direct access to the Internet, whereas private subnets do not.** ### Route Tables -Tablice routingu określają trasowanie ruchu dla podsieci w VPC. Określają, który ruch sieciowy jest przesyłany do internetu lub do połączenia VPN. Zwykle znajdziesz dostęp do: +Route tables determine the traffic routing for a subnet within a VPC. They determine which network traffic is forwarded to the internet or to a VPN connection. You will usually find access to the: -- Lokalnego VPC +- Local VPC - NAT -- Bram internetowych / Bram internetowych tylko do wyjścia (potrzebnych do zapewnienia VPC dostępu do Internetu). -- Aby uczynić podsieć publiczną, musisz **utworzyć** i **podłączyć** **bramę internetową** do swojego VPC. -- Punkty końcowe VPC (do uzyskania dostępu do S3 z prywatnych sieci) - -Na poniższych obrazach możesz sprawdzić różnice w domyślnej publicznej sieci i prywatnej: - -
- -
+- Internet Gateways / Egress-only Internet gateways (needed to give a VPC access to the Internet). +- In order to make a subnet public you need to **create** and **attach** an **Internet gateway** to your VPC. +- VPC endpoints (to access S3 from private networks) ### ACLs -**Listy Kontroli Dostępu do Sieci (ACLs)**: ACL sieci to zasady zapory, które kontrolują przychodzący i wychodzący ruch sieciowy do podsieci. Mogą być używane do zezwalania lub odmawiania ruchu do określonych adresów IP lub zakresów. +**Network Access Control Lists (ACLs)**: Network ACLs are firewall rules that control incoming and outgoing network traffic to a subnet. They can be used to allow or deny traffic to specific IP addresses or ranges. -- Najczęściej zezwala się/odmawia dostępu za pomocą grup zabezpieczeń, ale to jedyny sposób na całkowite przerwanie ustanowionych odwrotnych powłok. Zmodyfikowana zasada w grupach zabezpieczeń nie zatrzymuje już ustanowionych połączeń. -- Jednak to dotyczy całej podsieci, bądź ostrożny przy zabranianiu rzeczy, ponieważ potrzebna funkcjonalność może być zakłócona. +- It’s most frequent to allow/deny access using security groups, but this is only way to completely cut established reverse shells. A modified rule in a security groups doesn’t stop already established connections +- However, this apply to the whole subnetwork be careful when forbidding stuff because needed functionality might be disturbed ### Security Groups -Grupy zabezpieczeń to wirtualna **zapora**, która kontroluje przychodzący i wychodzący ruch sieciowy **do instancji** w VPC. Relacja 1 SG do M instancji (zwykle 1 do 1).\ -Zwykle używa się tego do otwierania niebezpiecznych portów w instancjach, takich jak port 22 na przykład: +Security groups are a virtual **firewall** that control inbound and outbound network **traffic to instances** in a VPC. Relation 1 SG to M instances (usually 1 to 1).\ +Usually this is used to open dangerous ports in instances, such as port 22 for example:
### Elastic IP Addresses -_Adres IP Elastic_ to **statyczny adres IPv4** zaprojektowany do dynamicznego przetwarzania w chmurze. Adres IP Elastic jest przypisany do twojego konta AWS i jest twój, dopóki go nie zwolnisz. Używając adresu IP Elastic, możesz zamaskować awarię instancji lub oprogramowania, szybko przemapowując adres na inną instancję w swoim koncie. +An _Elastic IP address_ is a **static IPv4 address** designed for dynamic cloud computing. An Elastic IP address is allocated to your AWS account, and is yours until you release it. By using an Elastic IP address, you can mask the failure of an instance or software by rapidly remapping the address to another instance in your account. ### Connection between subnets -Domyślnie wszystkie podsieci mają **automatyczne przypisanie publicznych adresów IP wyłączone**, ale można je włączyć. +By default, all subnets have the **automatic assigned of public IP addresses turned off** but it can be turned on. -**Lokalna trasa w tablicy routingu umożliwia komunikację między podsieciami VPC.** +**A local route within a route table enables communication between VPC subnets.** -Jeśli **łączysz podsieć z inną podsiecią, nie możesz uzyskać dostępu do podsieci połączonej** z inną podsiecią, musisz stworzyć połączenie z nimi bezpośrednio. **To również dotyczy bram internetowych**. Nie możesz przejść przez połączenie podsieci, aby uzyskać dostęp do internetu, musisz przypisać bramę internetową do swojej podsieci. +If you are **connection a subnet with a different subnet you cannot access the subnets connected** with the other subnet, you need to create connection with them directly. **This also applies to internet gateways**. You cannot go through a subnet connection to access internet, you need to assign the internet gateway to your subnet. ### VPC Peering -VPC peering pozwala na **połączenie dwóch lub więcej VPC**, używając IPV4 lub IPV6, tak jakby były częścią tej samej sieci. +VPC peering allows you to **connect two or more VPCs together**, using IPV4 or IPV6, as if they were a part of the same network. -Gdy połączenie peer jest ustanowione, **zasoby w jednym VPC mogą uzyskiwać dostęp do zasobów w drugim**. Połączenie między VPC jest realizowane przez istniejącą infrastrukturę sieciową AWS, więc jest wysoce dostępne bez wąskich gardeł w przepustowości. Ponieważ **połączenia peer działają tak, jakby były częścią tej samej sieci**, istnieją ograniczenia dotyczące zakresów bloków CIDR, które mogą być używane.\ -Jeśli masz **nakładające się lub duplikujące się zakresy CIDR** dla swojego VPC, to **nie będziesz mógł połączyć VPC** razem.\ -Każde VPC AWS **będzie komunikować się tylko ze swoim peerem**. Na przykład, jeśli masz połączenie peeringowe między VPC 1 a VPC 2, oraz inne połączenie między VPC 2 a VPC 3, jak pokazano, to VPC 1 i 2 mogą komunikować się ze sobą bezpośrednio, tak jak VPC 2 i VPC 3, jednak VPC 1 i VPC 3 nie mogą. **Nie możesz routować przez jedno VPC, aby dotrzeć do drugiego.** +Once the peer connectivity is established, **resources in one VPC can access resources in the other**. The connectivity between the VPCs is implemented through the existing AWS network infrastructure, and so it is highly available with no bandwidth bottleneck. As **peered connections operate as if they were part of the same network**, there are restrictions when it comes to your CIDR block ranges that can be used.\ +If you have **overlapping or duplicate CIDR** ranges for your VPC, then **you'll not be able to peer the VPCs** together.\ +Each AWS VPC will **only communicate with its peer**. As an example, if you have a peering connection between VPC 1 and VPC 2, and another connection between VPC 2 and VPC 3 as shown, then VPC 1 and 2 could communicate with each other directly, as can VPC 2 and VPC 3, however, VPC 1 and VPC 3 could not. **You can't route through one VPC to get to another.** ### **VPC Flow Logs** -W ramach swojego VPC możesz mieć potencjalnie setki lub nawet tysiące zasobów, które komunikują się między różnymi podsieciami, zarówno publicznymi, jak i prywatnymi, a także między różnymi VPC za pośrednictwem połączeń peeringowych VPC. **VPC Flow Logs pozwalają na uchwycenie informacji o ruchu IP, który przepływa między interfejsami sieciowymi twoich zasobów w ramach twojego VPC**. +Within your VPC, you could potentially have hundreds or even thousands of resources all communicating between different subnets both public and private and also between different VPCs through VPC peering connections. **VPC Flow Logs allow you to capture IP traffic information that flows between your network interfaces of your resources within your VPC**. -W przeciwieństwie do logów dostępu S3 i logów dostępu CloudFront, **dane logów generowane przez VPC Flow Logs nie są przechowywane w S3. Zamiast tego, dane logów są wysyłane do logów CloudWatch**. +Unlike S3 access logs and CloudFront access logs, the **log data generated by VPC Flow Logs is not stored in S3. Instead, the log data captured is sent to CloudWatch logs**. -Ograniczenia: +Limitations: -- Jeśli uruchamiasz połączenie peeringowe VPC, to będziesz mógł zobaczyć tylko logi przepływu peeringowych VPC, które są w tym samym koncie. -- Jeśli nadal uruchamiasz zasoby w środowisku EC2-Classic, to niestety nie możesz uzyskać informacji z ich interfejsów. -- Gdy log przepływu VPC został utworzony, nie można go zmienić. Aby zmienić konfigurację logu przepływu VPC, musisz go usunąć, a następnie utworzyć nowy. -- Następujący ruch nie jest monitorowany i rejestrowany przez logi. Ruch DHCP w ramach VPC, ruch z instancji skierowany do serwera DNS Amazon. -- Wszelki ruch skierowany do adresu IP domyślnego routera VPC oraz ruch do i z następujących adresów, 169.254.169.254, który jest używany do zbierania metadanych instancji, oraz 169.254.169.123, który jest używany do usługi synchronizacji czasu Amazon. -- Ruch związany z licencją aktywacyjną systemu Windows Amazon z instancji Windows. -- Ruch między interfejsem równoważenia obciążenia sieciowego a interfejsem sieciowym punktu końcowego. +- If you are running a VPC peered connection, then you'll only be able to see flow logs of peered VPCs that are within the same account. +- If you are still running resources within the EC2-Classic environment, then unfortunately you are not able to retrieve information from their interfaces +- Once a VPC Flow Log has been created, it cannot be changed. To alter the VPC Flow Log configuration, you need to delete it and then recreate a new one. +- The following traffic is not monitored and captured by the logs. DHCP traffic within the VPC, traffic from instances destined for the Amazon DNS Server. +- Any traffic destined to the IP address for the VPC default router and traffic to and from the following addresses, 169.254.169.254 which is used for gathering instance metadata, and 169.254.169.123 which is used for the Amazon Time Sync Service. +- Traffic relating to an Amazon Windows activation license from a Windows instance +- Traffic between a network load balancer interface and an endpoint network interface -Dla każdego interfejsu sieciowego, który publikuje dane do grupy logów CloudWatch, będzie używany inny strumień logów. A w ramach każdego z tych strumieni będą dane zdarzeń logów przepływu, które pokazują zawartość wpisów logów. Każdy z tych **logów rejestruje dane w oknie czasowym wynoszącym około 10 do 15 minut**. +For every network interface that publishes data to the CloudWatch log group, it will use a different log stream. And within each of these streams, there will be the flow log event data that shows the content of the log entries. Each of these **logs captures data during a window of approximately 10 to 15 minutes**. ## VPN ### Basic AWS VPN Components 1. **Customer Gateway**: -- Customer Gateway to zasób, który tworzysz w AWS, aby reprezentować swoją stronę połączenia VPN. -- Jest to zasadniczo fizyczne urządzenie lub aplikacja programowa po twojej stronie połączenia VPN Site-to-Site. -- Podajesz informacje o routingu i publiczny adres IP swojego urządzenia sieciowego (takiego jak router lub zapora) do AWS, aby utworzyć Customer Gateway. -- Służy jako punkt odniesienia do skonfigurowania połączenia VPN i nie generuje dodatkowych opłat. +- A Customer Gateway is a resource that you create in AWS to represent your side of a VPN connection. +- It is essentially a physical device or software application on your side of the Site-to-Site VPN connection. +- You provide routing information and the public IP address of your network device (such as a router or a firewall) to AWS to create a Customer Gateway. +- It serves as a reference point for setting up the VPN connection and doesn't incur additional charges. 2. **Virtual Private Gateway**: -- Wirtualna brama prywatna (VPG) to koncentrator VPN po stronie Amazon w połączeniu VPN Site-to-Site. -- Jest podłączona do twojego VPC i służy jako cel dla twojego połączenia VPN. -- VPG jest punktem końcowym po stronie AWS dla połączenia VPN. -- Obsługuje bezpieczną komunikację między twoim VPC a twoją siecią lokalną. +- A Virtual Private Gateway (VPG) is the VPN concentrator on the Amazon side of the Site-to-Site VPN connection. +- It is attached to your VPC and serves as the target for your VPN connection. +- VPG is the AWS side endpoint for the VPN connection. +- It handles the secure communication between your VPC and your on-premises network. 3. **Site-to-Site VPN Connection**: -- Połączenie VPN Site-to-Site łączy twoją lokalną sieć z VPC przez bezpieczny tunel VPN IPsec. -- Ten typ połączenia wymaga Customer Gateway i Wirtualnej Bramy Prywatnej. -- Jest używany do bezpiecznej, stabilnej i spójnej komunikacji między twoim centrum danych lub siecią a twoim środowiskiem AWS. -- Zwykle używany do regularnych, długoterminowych połączeń i jest rozliczany na podstawie ilości danych przesyłanych przez połączenie. +- A Site-to-Site VPN connection connects your on-premises network to a VPC through a secure, IPsec VPN tunnel. +- This type of connection requires a Customer Gateway and a Virtual Private Gateway. +- It's used for secure, stable, and consistent communication between your data center or network and your AWS environment. +- Typically used for regular, long-term connections and is billed based on the amount of data transferred over the connection. 4. **Client VPN Endpoint**: -- Punkt końcowy Client VPN to zasób, który tworzysz w AWS, aby umożliwić i zarządzać sesjami VPN klientów. -- Jest używany do umożliwienia indywidualnym urządzeniom (takim jak laptopy, smartfony itp.) bezpiecznego połączenia z zasobami AWS lub twoją lokalną siecią. -- Różni się od VPN Site-to-Site tym, że jest zaprojektowany dla indywidualnych klientów, a nie do łączenia całych sieci. -- Z Client VPN każde urządzenie klienckie używa oprogramowania klienta VPN do nawiązania bezpiecznego połączenia. +- A Client VPN endpoint is a resource that you create in AWS to enable and manage client VPN sessions. +- It is used for allowing individual devices (like laptops, smartphones, etc.) to securely connect to AWS resources or your on-premises network. +- It differs from Site-to-Site VPN in that it is designed for individual clients rather than connecting entire networks. +- With Client VPN, each client device uses a VPN client software to establish a secure connection. ### Site-to-Site VPN -**Połącz swoją lokalną sieć z twoim VPC.** +**Connect your on premisses network with your VPC.** -- **Połączenie VPN**: Bezpieczne połączenie między twoim sprzętem lokalnym a twoimi VPC. -- **Tunel VPN**: Szyfrowane połączenie, przez które dane mogą przechodzić z sieci klienta do AWS lub odwrotnie. +- **VPN connection**: A secure connection between your on-premises equipment and your VPCs. +- **VPN tunnel**: An encrypted link where data can pass from the customer network to or from AWS. -Każde połączenie VPN zawiera dwa tunele VPN, które możesz jednocześnie używać dla wysokiej dostępności. +Each VPN connection includes two VPN tunnels which you can simultaneously use for high availability. -- **Customer gateway**: Zasób AWS, który dostarcza informacje do AWS o twoim urządzeniu bramy klienta. -- **Customer gateway device**: Fizyczne urządzenie lub aplikacja programowa po twojej stronie połączenia VPN Site-to-Site. -- **Virtual private gateway**: Koncentrator VPN po stronie Amazon w połączeniu VPN Site-to-Site. Używasz wirtualnej bramy prywatnej lub bramy tranzytowej jako bramy po stronie Amazon w połączeniu VPN Site-to-Site. -- **Transit gateway**: Hub tranzytowy, który może być używany do łączenia twoich VPC i lokalnych sieci. Używasz bramy tranzytowej lub wirtualnej bramy prywatnej jako bramy po stronie Amazon w połączeniu VPN Site-to-Site. +- **Customer gateway**: An AWS resource which provides information to AWS about your customer gateway device. +- **Customer gateway device**: A physical device or software application on your side of the Site-to-Site VPN connection. +- **Virtual private gateway**: The VPN concentrator on the Amazon side of the Site-to-Site VPN connection. You use a virtual private gateway or a transit gateway as the gateway for the Amazon side of the Site-to-Site VPN connection. +- **Transit gateway**: A transit hub that can be used to interconnect your VPCs and on-premises networks. You use a transit gateway or virtual private gateway as the gateway for the Amazon side of the Site-to-Site VPN connection. #### Limitations -- Ruch IPv6 nie jest obsługiwany dla połączeń VPN na wirtualnej bramie prywatnej. -- Połączenie VPN AWS nie obsługuje odkrywania MTU ścieżki. +- IPv6 traffic is not supported for VPN connections on a virtual private gateway. +- An AWS VPN connection does not support Path MTU Discovery. -Dodatkowo, weź pod uwagę następujące kwestie, gdy używasz VPN Site-to-Site. +In addition, take the following into consideration when you use Site-to-Site VPN. -- Podczas łączenia swoich VPC z wspólną lokalną siecią, zalecamy użycie niepokrywających się bloków CIDR dla twoich sieci. +- When connecting your VPCs to a common on-premises network, we recommend that you use non-overlapping CIDR blocks for your networks. ### Client VPN -**Połącz się z twojego urządzenia z twoim VPC** +**Connect from your machine to your VPC** #### Concepts -- **Client VPN endpoint:** Zasób, który tworzysz i konfigurujesz, aby umożliwić i zarządzać sesjami VPN klientów. To zasób, w którym kończą się wszystkie sesje VPN klientów. -- **Target network:** Sieć docelowa to sieć, którą kojarzysz z punktem końcowym Client VPN. **Podsieć z VPC jest siecią docelową**. Powiązanie podsieci z punktem końcowym Client VPN umożliwia nawiązanie sesji VPN. Możesz powiązać wiele podsieci z punktem końcowym Client VPN dla wysokiej dostępności. Wszystkie podsieci muszą pochodzić z tego samego VPC. Każda podsieć musi należeć do innej strefy dostępności. -- **Route**: Każdy punkt końcowy Client VPN ma tablicę routingu, która opisuje dostępne trasy sieciowe. Każda trasa w tablicy routingu określa ścieżkę dla ruchu do określonych zasobów lub sieci. -- **Authorization rules:** Zasada autoryzacji **ogranicza użytkowników, którzy mogą uzyskać dostęp do sieci**. Dla określonej sieci konfigurujesz grupę Active Directory lub dostawcy tożsamości (IdP), która ma dostęp. Tylko użytkownicy należący do tej grupy mogą uzyskać dostęp do określonej sieci. **Domyślnie nie ma zasad autoryzacji** i musisz skonfigurować zasady autoryzacji, aby umożliwić użytkownikom dostęp do zasobów i sieci. -- **Client:** Użytkownik końcowy łączący się z punktem końcowym Client VPN, aby nawiązać sesję VPN. Użytkownicy końcowi muszą pobrać klienta OpenVPN i użyć pliku konfiguracyjnego Client VPN, który utworzyłeś, aby nawiązać sesję VPN. -- **Client CIDR range:** Zakres adresów IP, z którego przypisujesz adresy IP klientom. Każde połączenie z punktem końcowym Client VPN otrzymuje unikalny adres IP z zakresu CIDR klienta. Wybierasz zakres CIDR klienta, na przykład `10.2.0.0/16`. -- **Client VPN ports:** AWS Client VPN obsługuje porty 443 i 1194 zarówno dla TCP, jak i UDP. Domyślnie jest to port 443. -- **Client VPN network interfaces:** Gdy powiążesz podsieć z punktem końcowym Client VPN, tworzymy interfejsy sieciowe Client VPN w tej podsieci. **Ruch, który jest wysyłany do VPC z punktu końcowego Client VPN, jest wysyłany przez interfejs sieciowy Client VPN**. Następnie stosuje się translację adresu źródłowego (SNAT), gdzie adres IP źródłowego z zakresu CIDR klienta jest tłumaczony na adres IP interfejsu sieciowego Client VPN. -- **Connection logging:** Możesz włączyć rejestrowanie połączeń dla swojego punktu końcowego Client VPN, aby rejestrować zdarzenia połączeń. Możesz użyć tych informacji do przeprowadzania analiz, analizowania, jak twój punkt końcowy Client VPN jest używany, lub debugowania problemów z połączeniem. -- **Self-service portal:** Możesz włączyć portal samoobsługowy dla swojego punktu końcowego Client VPN. Klienci mogą zalogować się do portalu internetowego, używając swoich danych uwierzytelniających, i pobrać najnowszą wersję pliku konfiguracyjnego punktu końcowego Client VPN lub najnowszą wersję klienta dostarczonego przez AWS. +- **Client VPN endpoint:** The resource that you create and configure to enable and manage client VPN sessions. It is the resource where all client VPN sessions are terminated. +- **Target network:** A target network is the network that you associate with a Client VPN endpoint. **A subnet from a VPC is a target network**. Associating a subnet with a Client VPN endpoint enables you to establish VPN sessions. You can associate multiple subnets with a Client VPN endpoint for high availability. All subnets must be from the same VPC. Each subnet must belong to a different Availability Zone. +- **Route**: Each Client VPN endpoint has a route table that describes the available destination network routes. Each route in the route table specifies the path for traffic to specific resources or networks. +- **Authorization rules:** An authorization rule **restricts the users who can access a network**. For a specified network, you configure the Active Directory or identity provider (IdP) group that is allowed access. Only users belonging to this group can access the specified network. **By default, there are no authorization rules** and you must configure authorization rules to enable users to access resources and networks. +- **Client:** The end user connecting to the Client VPN endpoint to establish a VPN session. End users need to download an OpenVPN client and use the Client VPN configuration file that you created to establish a VPN session. +- **Client CIDR range:** An IP address range from which to assign client IP addresses. Each connection to the Client VPN endpoint is assigned a unique IP address from the client CIDR range. You choose the client CIDR range, for example, `10.2.0.0/16`. +- **Client VPN ports:** AWS Client VPN supports ports 443 and 1194 for both TCP and UDP. The default is port 443. +- **Client VPN network interfaces:** When you associate a subnet with your Client VPN endpoint, we create Client VPN network interfaces in that subnet. **Traffic that's sent to the VPC from the Client VPN endpoint is sent through a Client VPN network interface**. Source network address translation (SNAT) is then applied, where the source IP address from the client CIDR range is translated to the Client VPN network interface IP address. +- **Connection logging:** You can enable connection logging for your Client VPN endpoint to log connection events. You can use this information to run forensics, analyze how your Client VPN endpoint is being used, or debug connection issues. +- **Self-service portal:** You can enable a self-service portal for your Client VPN endpoint. Clients can log into the web-based portal using their credentials and download the latest version of the Client VPN endpoint configuration file, or the latest version of the AWS provided client. #### Limitations -- **Zakresy CIDR klienta nie mogą pokrywać się z lokalnym CIDR** VPC, w którym znajduje się powiązana podsieć, ani z żadnymi trasami ręcznie dodanymi do tablicy routingu punktu końcowego Client VPN. -- Zakresy CIDR klienta muszą mieć rozmiar bloku **co najmniej /22** i **nie mogą być większe niż /12.** -- **Część adresów** w zakresie CIDR klienta jest używana do **wsparcia modelu dostępności** punktu końcowego Client VPN i nie może być przypisana do klientów. Dlatego zalecamy, abyś **przypisał blok CIDR, który zawiera dwukrotność liczby adresów IP, które są wymagane** do umożliwienia maksymalnej liczby jednoczesnych połączeń, które planujesz obsługiwać na punkcie końcowym Client VPN. -- **Zakres CIDR klienta nie może być zmieniony** po utworzeniu punktu końcowego Client VPN. -- **Podsieci** powiązane z punktem końcowym Client VPN **muszą znajdować się w tym samym VPC**. -- **Nie możesz powiązać wielu podsieci z tej samej strefy dostępności z punktem końcowym Client VPN**. -- Punkt końcowy Client VPN **nie obsługuje powiązań podsieci w VPC z dedykowanym najmem**. -- Client VPN obsługuje **tylko** ruch IPv4. -- Client VPN **nie jest** zgodny z Federal Information Processing Standards (**FIPS**). -- Jeśli uwierzytelnianie wieloskładnikowe (MFA) jest wyłączone dla twojej Active Directory, hasło użytkownika nie może być w następującym formacie. +- **Client CIDR ranges cannot overlap with the local CIDR** of the VPC in which the associated subnet is located, or any routes manually added to the Client VPN endpoint's route table. +- Client CIDR ranges must have a block size of at **least /22** and must **not be greater than /12.** +- A **portion of the addresses** in the client CIDR range are used to **support the availability** model of the Client VPN endpoint, and cannot be assigned to clients. Therefore, we recommend that you **assign a CIDR block that contains twice the number of IP addresses that are required** to enable the maximum number of concurrent connections that you plan to support on the Client VPN endpoint. +- The **client CIDR range cannot be changed** after you create the Client VPN endpoint. +- The **subnets** associated with a Client VPN endpoint **must be in the same VPC**. +- You **cannot associate multiple subnets from the same Availability Zone with a Client VPN endpoint**. +- A Client VPN endpoint **does not support subnet associations in a dedicated tenancy VPC**. +- Client VPN supports **IPv4** traffic only. +- Client VPN is **not** Federal Information Processing Standards (**FIPS**) **compliant**. +- If multi-factor authentication (MFA) is disabled for your Active Directory, a user password cannot be in the following format. ``` SCRV1:: ``` -- Portal samoobsługowy **nie jest dostępny dla klientów, którzy uwierzytelniają się za pomocą uwierzytelniania wzajemnego**. +- The self-service portal is **not available for clients that authenticate using mutual authentication**. {{#include ../../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-s3-athena-and-glacier-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-s3-athena-and-glacier-enum.md index 049594887..612789abb 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-s3-athena-and-glacier-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-s3-athena-and-glacier-enum.md @@ -4,36 +4,36 @@ ## S3 -Amazon S3 to usługa, która pozwala na **przechowywanie dużych ilości danych**. +Amazon S3 to usługa, która pozwala **przechowywać duże ilości danych**. -Amazon S3 oferuje wiele opcji zapewnienia **ochrony** danych w spoczynku. Opcje obejmują **Permission** (Policy), **Encryption** (Client and Server Side), **Bucket Versioning** oraz **MFA** **based delete**. **Użytkownik może włączyć** dowolną z tych opcji, aby zapewnić ochronę danych. **Replikacja danych** jest wewnętrzną funkcją AWS, gdzie **S3 automatycznie replikuje każdy obiekt we wszystkich Availability Zones** i organizacja nie musi jej w tym przypadku włączać. +Amazon S3 oferuje kilka opcji zapewnienia **ochrony** danych w spoczynku. Opcje obejmują **Permission** (Policy), **Encryption** (Client and Server Side), **Bucket Versioning** oraz **MFA** **based delete**. **użytkownik może włączyć** dowolną z tych opcji, aby osiągnąć ochronę danych. **Replikacja danych** jest wewnętrzną funkcją AWS, gdzie **S3 automatycznie replikuje każdy obiekt pomiędzy wszystkimi Availability Zones** i organizacja nie musi jej włączać w tym przypadku. -With resource-based permissions, you can define permissions for sub-directories of your bucket separately. +Dzięki uprawnieniom opartym na zasobach możesz zdefiniować uprawnienia dla podkatalogów swojego bucketu osobno. ### Bucket Versioning and MFA based delete -When bucket versioning is enabled, any action that tries to alter a file inside a file will generate a new version of the file, keeping also the previous content of the same. Therefore, it won't overwrite its content. +Kiedy bucket versioning jest włączony, każda akcja próbująca zmodyfikować plik spowoduje utworzenie nowej wersji pliku, zachowując też poprzednią zawartość. W związku z tym zawartość nie zostanie nadpisana. -Moreover, MFA based delete will prevent versions of file in the S3 bucket from being deleted and also Bucket Versioning from being disabled, so an attacker won't be able to alter these files. +Dodatkowo, MFA based delete uniemożliwi usunięcie wersji plików w S3 bucket oraz wyłączenie Bucket Versioning, więc atakujący nie będzie mógł zmodyfikować tych plików. ### S3 Access logs -It's possible to **enable S3 access login** (which by default is disabled) to some bucket and save the logs in a different bucket to know who is accessing the bucket (both buckets must be in the same region). +Możliwe jest **włączenie S3 access login** (które domyślnie jest wyłączone) dla danego bucketu i zapisanie logów w innym bucketu, aby wiedzieć, kto uzyskuje dostęp do bucketu (oba buckety muszą być w tym samym regionie). ### S3 Presigned URLs -It's possible to generate a presigned URL that can usually be used to **access the specified file** in the bucket. A **presigned URL looks like this**: +Możliwe jest wygenerowanie presigned URL, który zazwyczaj można użyć do **dostępu do określonego pliku** w bucket. **Presigned URL wygląda tak**: ``` https://.s3.us-east-1.amazonaws.com/asd.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUUE8GZC4S5L3TY3P%2F20230227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230227T142551Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjELf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIBhQpdETJO3HKKDk2hjNIrPWwBE8gZaQccZFV3kCpPCWAiEAid3ueDtFFU%2FOQfUpvxYTGO%2BHoS4SWDMUrQAE0pIaB40qggMIYBAAGgwzMTgxNDIxMzg1NTMiDJLI5t7gr2EGxG1Y5CrfAioW0foHIQ074y4gvk0c%2B%2Fmqc7cNWb1njQslQkeePHkseJ3owzc%2FCwkgE0EuZTd4mw0aJciA2XIbJRCLPWTb%2FCBKPnIMJ5aBzIiA2ltsiUNQTTUxYmEgXZoJ6rFYgcodnmWW0Et4Xw59UlHnCDB2bLImxPprriyCzDDCD6nLyp3J8pFF1S8h3ZTJE7XguA8joMs4%2B2B1%2FeOZfuxXKyXPYSKQOOSbQiHUQc%2BFnOfwxleRL16prWk1t7TamvHR%2Bt3UgMn5QWzB3p8FgWwpJ6GjHLkYMJZ379tkimL1tJ7o%2BIod%2FMYrS7LDCifP9d%2FuYOhKWGhaakPuJKJh9fl%2B0vGl7kmApXigROxEWon6ms75laXebltsWwKcKuYca%2BUWu4jVJx%2BWUfI4ofoaGiCSaKALTqwu4QNBRT%2BMoK6h%2BQa7gN7JFGg322lkxRY53x27WMbUE4unn5EmI54T4dWt1%2Bg8ljDS%2BvKfBjqmAWRwuqyfwXa5YC3xxttOr3YVvR6%2BaXpzWtvNJQNnb6v0uI3%2BTtTexZkJpLQYqFcgZLQSxsXWSnf988qvASCIUhAzp2UnS1uqy7QjtD5T73zksYN2aesll7rvB80qIuujG6NOdHnRJ2M5%2FKXXNo1Yd15MtzPuSjRoSB9RSMon5jFu31OrQnA9eCUoawxbB0nHqwK8a43CKBZHhA8RoUAJW%2B48EuFsp3U%3D&X-Amz-Signature=3436e4139e84dbcf5e2e6086c0ebc92f4e1e9332b6fda24697bc339acbf2cdfa ``` -Presigned URL można **utworzyć z poziomu cli przy użyciu credentials principala mającego dostęp do object** (jeśli konto, którego używasz, nie ma dostępu, zostanie utworzony krótszy presigned URL, ale będzie bezużyteczny) +Presigned URL może być **utworzony z poziomu cli przy użyciu poświadczeń principala mającego dostęp do obiektu** (jeśli konto, którego używasz, nie ma dostępu, zostanie utworzony krótszy presigned URL, ale będzie bezużyteczny) ```bash aws s3 presign --region 's3:///' ``` > [!NOTE] -> Jedynym wymaganym uprawnieniem do wygenerowania presigned URL jest uprawnienie, które jest nadawane, więc dla poprzedniego polecenia jedynym uprawnieniem potrzebnym przez principal jest `s3:GetObject` +> Jedynym wymaganym uprawnieniem do wygenerowania presigned URL jest uprawnienie, które jest przydzielane, więc dla poprzedniego polecenia jedynym uprawnieniem potrzebnym principalowi jest `s3:GetObject` -It's also possible to create presigned URLs with **other permissions**: +Możliwe jest również tworzenie presigned URLs z **innymi uprawnieniami**: ```python import boto3 url = boto3.client('s3').generate_presigned_url( @@ -42,24 +42,24 @@ Params={'Bucket': 'BUCKET_NAME', 'Key': 'OBJECT_KEY'}, ExpiresIn=3600 ) ``` -### S3 Encryption Mechanisms +### Mechanizmy szyfrowania S3 -**DEK oznacza Data Encryption Key** i jest to klucz, który jest zawsze generowany i używany do szyfrowania danych. +**DEK oznacza Data Encryption Key (klucz szyfrowania danych)** i jest kluczem, który zawsze jest generowany i używany do szyfrowania danych.
Server-side encryption with S3 managed keys, SSE-S3 -Ta opcja wymaga minimalnej konfiguracji, a całym zarządzaniem kluczami szyfrowania zajmuje się AWS. Wszystko, co musisz zrobić, to **wgrać swoje dane, a S3 zajmie się resztą**. Każdy bucket w koncie S3 otrzymuje bucket key. +Ta opcja wymaga minimalnej konfiguracji — całym zarządzaniem kluczami szyfrującymi zajmuje się AWS. Wystarczy, że **wgrasz swoje dane, a S3 zajmie się resztą**. Każdy bucket w koncie S3 ma przypisany bucket key. -- Encryption: -- Object Data + created plaintext DEK --> Encrypted data (stored inside S3) -- Created plaintext DEK + S3 Master Key --> Encrypted DEK (stored inside S3) and plain text is deleted from memory -- Decryption: -- Encrypted DEK + S3 Master Key --> Plaintext DEK -- Plaintext DEK + Encrypted data --> Object Data +- Szyfrowanie: +- Object Data + utworzony jawny DEK --> Zaszyfrowane dane (przechowywane w S3) +- Utworzony jawny DEK + S3 Master Key --> Zaszyfrowany DEK (przechowywany w S3) i tekst jawny jest usuwany z pamięci +- Odszyfrowanie: +- Zaszyfrowany DEK + S3 Master Key --> Jawny DEK +- Jawny DEK + zaszyfrowane dane --> Object Data -Proszę zauważyć, że w tym przypadku **klucz jest zarządzany przez AWS** (rotacja tylko co 3 lata). Jeśli użyjesz własnego klucza, będziesz mógł rotować, wyłączać i stosować kontrolę dostępu. +Należy pamiętać, że w tym przypadku **klucz jest zarządzany przez AWS** (rotacja tylko co 3 lata). Jeśli użyjesz własnego klucza, będziesz mógł go rotować, wyłączyć i zastosować kontrolę dostępu.
@@ -67,16 +67,16 @@ Proszę zauważyć, że w tym przypadku **klucz jest zarządzany przez AWS** (ro Server-side encryption with KMS managed keys, SSE-KMS -Ta metoda pozwala S3 korzystać z KMS do generowania data encryption keys. KMS daje znacznie większą elastyczność w zarządzaniu kluczami. Na przykład możesz wyłączać, rotować i stosować kontrolę dostępu do CMK oraz audytować ich użycie za pomocą AWS Cloud Trail. +Ta metoda pozwala S3 korzystać z Key Management Service do generowania Data Encryption Keys. KMS daje znacznie większą elastyczność w zarządzaniu kluczami. Na przykład możesz wyłączyć, rotować i stosować kontrolę dostępu do CMK oraz audytować ich użycie za pomocą AWS Cloud Trail. -- Encryption: -- S3 request data keys from KMS CMK -- KMS uses a CMK to generate the pair DEK plaintext and DEK encrypted and send them to S£ -- S3 uses the paintext key to encrypt the data, store the encrypted data and the encrypted key and deletes from memory the plain text key -- Decryption: -- S3 ask to KMS to decrypt the encrypted data key of the object -- KMS decrypt the data key with the CMK and send it back to S3 -- S3 decrypts the object data +- Szyfrowanie: +- S3 żąda data key od KMS CMK +- KMS używa CMK do wygenerowania pary: jawny DEK i zaszyfrowany DEK, i wysyła je do S£ +- S3 używa jawnego klucza do zaszyfrowania danych, zapisuje zaszyfrowane dane i zaszyfrowany klucz oraz usuwa jawny klucz z pamięci +- Odszyfrowanie: +- S3 prosi KMS o odszyfrowanie zaszyfrowanego data key obiektu +- KMS odszyfrowuje data key za pomocą CMK i odsyła go z powrotem do S3 +- S3 odszyfrowuje dane obiektu @@ -84,17 +84,17 @@ Ta metoda pozwala S3 korzystać z KMS do generowania data encryption keys. KMS d Server-side encryption with customer provided keys, SSE-C -Ta opcja daje możliwość dostarczenia własnego master key, którego możesz już używać poza AWS. Twój customer-provided key jest wysyłany wraz z danymi do S3, gdzie S3 wykonuje szyfrowanie za Ciebie. +Ta opcja daje możliwość dostarczenia własnego klucza głównego, którego możesz używać poza AWS. Twój klucz dostarczony przez klienta jest wysyłany wraz z danymi do S3, gdzie S3 wykonuje szyfrowanie. -- Encryption: -- The user sends the object data + Customer key to S3 -- The customer key is used to encrypt the data and the encrypted data is stored -- a salted HMAC value of the customer key is stored also for future key validation -- the customer key is deleted from memory -- Decryption: -- The user send the customer key -- The key is validated against the HMAC value stored -- The customer provided key is then used to decrypt the data +- Szyfrowanie: +- Użytkownik wysyła Object Data + klucz klienta do S3 +- Klucz klienta jest używany do zaszyfrowania danych i zaszyfrowane dane są przechowywane +- Zasoltowana (zasolona) wartość HMAC klucza klienta jest również przechowywana do przyszłej weryfikacji klucza +- Klucz klienta jest usuwany z pamięci +- Odszyfrowanie: +- Użytkownik wysyła klucz klienta +- Klucz jest weryfikowany względem przechowywanej wartości HMAC +- Dostarczony przez klienta klucz jest następnie używany do odszyfrowania danych @@ -102,17 +102,17 @@ Ta opcja daje możliwość dostarczenia własnego master key, którego możesz j Client-side encryption with KMS, CSE-KMS -Podobnie jak w SSE-KMS, tutaj także używany jest KMS do generowania data encryption keys. Tym razem jednak KMS jest wywoływany przez klienta, a nie S3. Szyfrowanie odbywa się po stronie klienta, a zaszyfrowane dane są następnie wysyłane do S3 w celu przechowania. +Podobnie jak w SSE-KMS, tutaj również używany jest Key Management Service do generowania data encryption keys. Jednak tym razem KMS jest wywoływany przez klienta, nie przez S3. Szyfrowanie odbywa się po stronie klienta, a zaszyfrowane dane są wysyłane do S3 w celu przechowania. -- Encryption: -- Client request for a data key to KMS -- KMS returns the plaintext DEK and the encrypted DEK with the CMK -- Both keys are sent back -- The client then encrypts the data with the plaintext DEK and send to S3 the encrypted data + the encrypted DEK (which is saved as metadata of the encrypted data inside S3) -- Decryption: -- The encrypted data with the encrypted DEK is sent to the client -- The client asks KMS to decrypt the encrypted key using the CMK and KMS sends back the plaintext DEK -- The client can now decrypt the encrypted data +- Szyfrowanie: +- Klient żąda data key od KMS +- KMS zwraca jawny DEK i zaszyfrowany DEK z CMK +- Oba klucze są zwracane +- Klient szyfruje dane jawym DEK i wysyła do S3 zaszyfrowane dane + zaszyfrowany DEK (który jest zapisywany jako metadata zaszyfrowanych danych w S3) +- Odszyfrowanie: +- Zaszyfrowane dane wraz z zaszyfrowanym DEK są wysyłane do klienta +- Klient prosi KMS o odszyfrowanie zaszyfrowanego klucza za pomocą CMK i KMS zwraca jawny DEK +- Klient może teraz odszyfrować zaszyfrowane dane @@ -120,21 +120,21 @@ Podobnie jak w SSE-KMS, tutaj także używany jest KMS do generowania data encry Client-side encryption with customer provided keys, CSE-C -Korzystając z tego mechanizmu, możesz użyć własnych kluczy i klienta AWS-SDK, aby zaszyfrować dane przed wysłaniem ich do S3. +Korzystając z tego mechanizmu możesz użyć dostarczonych przez siebie kluczy i użyć AWS-SDK po stronie klienta, aby zaszyfrować dane przed wysłaniem ich do S3. -- Encryption: -- The client generates a DEK and encrypts the plaintext data -- Then, using it's own custom CMK it encrypts the DEK -- submit the encrypted data + encrypted DEK to S3 where it's stored -- Decryption: -- S3 sends the encrypted data and DEK -- As the client already has the CMK used to encrypt the DEK, it decrypts the DEK and then uses the plaintext DEK to decrypt the data +- Szyfrowanie: +- Klient generuje DEK i szyfruje dane jawne +- Następnie, używając własnego CMK, szyfruje DEK +- Przesyła zaszyfrowane dane + zaszyfrowany DEK do S3, gdzie jest przechowywane +- Odszyfrowanie: +- S3 wysyła zaszyfrowane dane i DEK +- Ponieważ klient posiada CMK użyty do zaszyfrowania DEK, odszyfrowuje DEK, a następnie używa jawnego DEK do odszyfrowania danych ### **Enumeration** -One of the traditional main ways of compromising AWS orgs start by compromising buckets publicly accesible. **You can find** [**public buckets enumerators in this page**](../aws-unauthenticated-enum-access/index.html#s3-buckets)**.** +Jednym z tradycyjnych głównych sposobów kompromitowania organizacji AWS jest rozpoczęcie od przejęcia publicznie dostępnych bucketów. **Możesz znaleźć** [**public buckets enumerators in this page**](../aws-unauthenticated-enum-access/index.html#s3-buckets)**.** ```bash # Get buckets ACLs aws s3api get-bucket-acl --bucket @@ -150,7 +150,7 @@ aws s3api list-buckets # list content of bucket (no creds) aws s3 ls s3://bucket-name --no-sign-request -aws s3 ls s3://bucket-name --recursive +aws s3 ls s3://bucket-name --recursive --no-sign-request # list content of bucket (with creds) aws s3 ls s3://bucket-name @@ -229,7 +229,7 @@ aws s3api put-object-acl --bucket --key flag --access-control-poli ``` ### dual-stack -Możesz uzyskać dostęp do bucketu S3 przez endpoint dual-stack, używając nazwy w stylu virtual hosted-style lub path-style. Są one przydatne do dostępu do S3 przez IPv6. +Możesz uzyskać dostęp do bucketu S3 przez endpoint dual-stack, używając nazwy endpointa w stylu virtual hosted-style lub path-style. Są one przydatne do dostępu do S3 przez IPv6. Dual-stack endpoints używają następującej składni: @@ -266,19 +266,19 @@ Na poniższej stronie możesz sprawdzić, jak **abuse S3 permissions to escalate ### S3 HTTP Cache Poisoning Issue -[**According to this research**](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies#heading-s3-http-desync-cache-poisoning-issue) można było buforować odpowiedź dowolnego bucketu, tak jakby należała do innego. Mogło to być wykorzystane do zmiany, na przykład, odpowiedzi plików javascript i skompromitowania dowolnych stron używających S3 do przechowywania statycznego kodu. +[**According to this research**](https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies#heading-s3-http-desync-cache-poisoning-issue) możliwe było zbuforowanie odpowiedzi dowolnego bucketu tak, jakby należała do innego. Mogło to zostać wykorzystane do zmiany na przykład odpowiedzi plików JavaScript i skompromitowania dowolnych stron używających S3 do przechowywania statycznego kodu. ## Amazon Athena -Amazon Athena to interaktywna usługa zapytań, która ułatwia **analizowanie danych** bezpośrednio w Amazon Simple Storage Service (Amazon **S3**) **przy użyciu** standardowego **SQL**. +Amazon Athena to interaktywny serwis zapytań, który ułatwia **analizować dane** bezpośrednio w Amazon Simple Storage Service (Amazon **S3**) **używając** standardowego **SQL**. -Musisz **przygotować relacyjną tabelę DB** ze strukturą danych odpowiadającą zawartości, która pojawi się w monitorowanych bucketach S3. Następnie Amazon Athena będzie w stanie zapełnić DB danymi z logów, abyś mógł je zapytać. +Musisz **przygotować relacyjną tabelę DB** z formatem zawartości, która będzie pojawiać się w monitorowanych bucketach S3. Następnie Amazon Athena będzie w stanie wypełnić DB z logów, abyś mógł wykonywać zapytania. -Amazon Athena obsługuje możliwość **zapytania danych S3, które są już zaszyfrowane**, a jeśli jest tak skonfigurowana, **Athena może także zaszyfrować wyniki zapytania, które następnie można przechowywać w S3**. +Amazon Athena obsługuje **możliwość wykonywania zapytań na danych S3, które są już zaszyfrowane**, a jeśli jest tak skonfigurowana, **Athena może również szyfrować wyniki zapytania, które następnie mogą być przechowywane w S3**. -**To szyfrowanie wyników jest niezależne od zaszyfrowania samych danych S3**, co oznacza, że nawet jeśli dane S3 nie są zaszyfrowane, wyniki zapytań mogą być zaszyfrowane. Kilka rzeczy, które warto wiedzieć: Amazon Athena obsługuje tylko dane zaszyfrowane za pomocą następujących metod szyfrowania S3: **SSE-S3, SSE-KMS, and CSE-KMS**. +**To szyfrowanie wyników jest niezależne od zaszyfrowanych danych S3, na które kierowane jest zapytanie**, co oznacza, że nawet jeśli dane S3 nie są zaszyfrowane, wyniki zapytania mogą być zaszyfrowane. Kilka kwestii, o których warto pamiętać, to fakt, że Amazon Athena obsługuje tylko dane zaszyfrowane przy użyciu **następujących metod szyfrowania S3**, **SSE-S3, SSE-KMS, and CSE-KMS**. -SSE-C i CSE-C nie są obsługiwane. Dodatkowo ważne jest zrozumienie, że Amazon Athena uruchomi zapytania tylko przeciwko **zaszyfrowanym obiektom, które znajdują się w tym samym regionie co samo zapytanie**. Jeśli potrzebujesz zapytać dane S3 zaszyfrowane przy użyciu KMS, to użytkownik Athena będzie wymagał określonych uprawnień, aby móc wykonać zapytanie. +SSE-C i CSE-C nie są obsługiwane. Dodatkowo ważne jest zrozumienie, że Amazon Athena będzie wykonywać zapytania tylko wobec **zaszyfrowanych obiektów, które znajdują się w tym samym regionie co samo zapytanie**. Jeśli musisz wykonać zapytanie na danych S3 zaszyfrowanych przy użyciu KMS, wymagane są specyficzne uprawnienia dla użytkownika Athena, aby umożliwić mu przeprowadzenie zapytania. ### Enumeration ```bash