AWS - EC2, EBS, ELB, SSM, VPC & VPN Enum
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Bir VPC'nin ne olduğunu ve bileşenlerini öğrenin:
Amazon EC2, sanallaştırılmış sunucular başlatmak için kullanılır. Güvenlik ve ağ yapılandırmasına izin verir ve depolama yönetimini sağlar. Amazon EC2'nin esnekliği, kaynakları yukarı ve aşağı ölçeklendirme yeteneğinde belirgindir; bu, değişen gereksinim değişikliklerine veya popülaritedeki artışlara etkili bir şekilde uyum sağlamasını sağlar. Bu özellik, kesin trafik tahminleri yapma gereksinimini azaltır.
EC2'de sıralanacak ilginç şeyler:
Sanal Makineler
SSH Anahtarları
Kullanıcı Verisi
Mevcut EC2'ler/AMI'ler/Anlık Görüntüler
Ağ
Ağlar
Alt Ağlar
Genel IP'ler
Açık portlar
AWS dışındaki diğer ağlarla entegre bağlantılar
EC2 örneklerinde çalışan uygulamalara izin vermek için roller kullanmak biraz ekstra yapılandırma gerektirir. Bir EC2 örneğinde çalışan bir uygulama, sanallaştırılmış işletim sistemi tarafından AWS'den soyutlanmıştır. Bu ekstra ayrım nedeniyle, bir AWS rolünü ve ona bağlı izinleri bir EC2 örneğine atamak ve bunları uygulamalarına sunmak için ek bir adım gereklidir.
Bu ek adım, örneğe bağlı bir örnek profili oluşturmaktır. Örnek profili, rolü içerir ve örnekte çalışan bir uygulamaya rolün geçici kimlik bilgilerini sağlayabilir. Bu geçici kimlik bilgileri, uygulamanın API çağrılarında kaynaklara erişmek ve yalnızca rolün belirttiği kaynaklara erişimi sınırlamak için kullanılabilir. Bir EC2 örneğine yalnızca bir rol atanabileceğini ve örnekteki tüm uygulamaların aynı rolü ve izinleri paylaştığını unutmayın.
AWS EC2 metadata, bir Amazon Elastic Compute Cloud (EC2) örneği hakkında, örneğin çalışma zamanında mevcut olan bilgilerdir. Bu metadata, örneğin ID'si, çalıştığı kullanılabilirlik alanı, örneğe bağlı IAM rolü ve örneğin ana bilgisayar adı gibi bilgiler sağlamak için kullanılır.
Aşağıdaki sayfada EC2 izinlerini kötüye kullanarak yetki yükseltme yöntemini kontrol edebilirsiniz:
Amazon EBS (Elastic Block Store) anlık görüntüleri, temelde AWS EBS hacimlerinin statik yedekleridir. Diğer bir deyişle, belirli bir zamanda bir EC2 Örneğine bağlı olan disklerin kopyalarıdır. EBS anlık görüntüleri bölgeler ve hesaplar arasında kopyalanabilir veya hatta indirilebilir ve yerel olarak çalıştırılabilir.
Anlık görüntüler, kaynak kodu veya API anahtarları gibi hassas bilgiler içerebilir, bu nedenle, şansınız varsa, kontrol etmeniz önerilir.
Bir AMI, EC2 örneği başlatmak için kullanılırken, bir EC2 Anlık Görüntüsü, EBS hacminde depolanan verileri yedeklemek ve kurtarmak için kullanılır. Bir EC2 Anlık Görüntüsü yeni bir AMI oluşturmak için kullanılabilir, ancak bu bir AMI ile aynı şey değildir ve bir uygulamayı çalıştırmak için gereken işletim sistemi, uygulama sunucusu veya diğer yazılımlar hakkında bilgi içermez.
Aşağıdaki sayfada EBS izinlerini kötüye kullanarak yetki yükseltme yöntemini kontrol edebilirsiniz:
Amazon Simple Systems Manager (SSM), EC2 örneklerinin yönetimini uzaktan yapmayı sağlar ve yönetimlerini çok daha kolay hale getirir. Bu örneklerin her biri, SSM Agent hizmetini çalıştırıyor olmalıdır, çünkü bu hizmet AWS API'sinden gelen eylemleri alıp gerçekleştirecektir.
SSM Agent, Sistem Yöneticisi'nin bu kaynakları güncellemesini, yönetmesini ve yapılandırmasını mümkün kılar. Ajan, AWS Bulutundaki Sistem Yöneticisi hizmetinden gelen istekleri işler ve ardından isteklerde belirtildiği gibi çalıştırır.
SSM Agent, bazı AMI'lerde önceden yüklenmiş olarak gelir veya örneklerde manuel olarak yüklemeniz gerekir. Ayrıca, örnek içinde kullanılan IAM Rolü'nün, iletişim kurabilmesi için AmazonEC2RoleforSSM politikasına sahip olması gerekir.
EC2 örneğinde Systems Manager'ın çalışıp çalışmadığını kontrol etmek için sadece şunu çalıştırabilirsiniz:
Aşağıdaki sayfada SSM izinlerini kötüye kullanarak ayrıcalıkları artırma yöntemini kontrol edebilirsiniz:
Elastic Load Balancing (ELB), Amazon Web Services (AWS) dağıtımları için bir yük dengeleme hizmetidir. ELB, gelen uygulama trafiğini otomatik olarak dağıtır ve trafik taleplerini karşılamak için kaynakları ölçeklendirir.
AWS Nitro, AWS EC2 örneklerinin temel platformunu oluşturan yenilikçi teknolojiler setidir. Amazon tarafından güvenliği, performansı ve güvenilirliği artırmak amacıyla tanıtılan Nitro, özel donanım bileşenleri ve hafif bir hipervizör kullanır. Geleneksel sanallaştırma işlevlerinin çoğunu özel donanım ve yazılıma soyutlayarak, saldırı yüzeyini minimize eder ve kaynak verimliliğini artırır. Sanallaştırma işlevlerini devrederek, Nitro'nun EC2 örneklerinin neredeyse bare-metal performansı sunmasına olanak tanır, bu da kaynak yoğun uygulamalar için özellikle faydalıdır. Ayrıca, Nitro Güvenlik Çipi, donanım ve yazılım güvenliğini sağlamak için özel olarak tasarlanmıştır ve sağlam mimarisini daha da güçlendirir.
Daha fazla bilgi ve nasıl enumerate edileceğini öğrenmek için:
Bir VPN, on-premise ağınızı (site-to-site VPN) veya çalışanların dizüstü bilgisayarlarını (Client VPN) bir AWS VPC ile bağlayarak hizmetlerin internete maruz kalmadan erişilmesini sağlar.
Müşteri Geçidi:
Müşteri Geçidi, bir VPN bağlantısının sizin tarafınızı temsil etmek için AWS'de oluşturduğunuz bir kaynaktır.
Temelde, Site-to-Site VPN bağlantınızın sizin tarafınızdaki fiziksel bir cihaz veya yazılım uygulamasıdır.
AWS'ye bir Müşteri Geçidi oluşturmak için yönlendirme bilgilerini ve ağ cihazınızın (örneğin bir yönlendirici veya bir güvenlik duvarı) genel IP adresini sağlarsınız.
VPN bağlantısını kurmak için bir referans noktası olarak hizmet eder ve ek ücretler getirmez.
Sanal Özel Geçit:
Sanal Özel Geçit (VPG), Site-to-Site VPN bağlantısının Amazon tarafındaki VPN konsantratörüdür.
VPC'nize bağlıdır ve VPN bağlantınız için hedef olarak hizmet eder.
VPG, VPN bağlantısının AWS tarafı uç noktasıdır.
VPC'niz ile on-premises ağınız arasındaki güvenli iletişimi yönetir.
Site-to-Site VPN Bağlantısı:
Site-to-Site VPN bağlantısı, on-premises ağınızı güvenli bir IPsec VPN tüneli aracılığıyla bir VPC'ye bağlar.
Bu tür bir bağlantı, bir Müşteri Geçidi ve bir Sanal Özel Geçit gerektirir.
Veri merkeziniz veya ağınız ile AWS ortamınız arasında güvenli, kararlı ve tutarlı iletişim için kullanılır.
Genellikle düzenli, uzun vadeli bağlantılar için kullanılır ve bağlantı üzerinden aktarılan veri miktarına göre faturalandırılır.
Client VPN Uç Noktası:
Client VPN uç noktası, AWS'de oluşturduğunuz bir kaynaktır ve istemci VPN oturumlarını etkinleştirmek ve yönetmek için kullanılır.
Bireysel cihazların (dizüstü bilgisayarlar, akıllı telefonlar vb.) AWS kaynaklarına veya on-premises ağınıza güvenli bir şekilde bağlanmasına olanak tanır.
Site-to-Site VPN'den farklı olarak, tüm ağları bağlamak yerine bireysel istemciler için tasarlanmıştır.
Client VPN ile her istemci cihazı, güvenli bir bağlantı kurmak için bir VPN istemci yazılımı kullanır.
AWS VPN'lerin faydaları ve bileşenleri hakkında daha fazla bilgi bulabilirsiniz.
Yerel Geçici Kimlik Bilgileri
AWS VPN Client kullanılarak bir VPN'e bağlandığında, kullanıcı genellikle AWS'ye giriş yapar ve VPN'e erişim elde eder. Ardından, VPN bağlantısını kurmak için bazı AWS kimlik bilgileri oluşturulur ve yerel olarak saklanır. Bu kimlik bilgileri şu konumda saklanır: $HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt
ve bir AccessKey, bir SecretKey ve bir Token içerir.
Kimlik bilgileri arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials
kullanıcısına aittir (TODO: bu kimlik bilgilerinin izinleri hakkında daha fazla araştırma yapın).
opvn yapılandırma dosyaları
Eğer bir VPN bağlantısı kurulduysa, sistemde .opvn
yapılandırma dosyalarını aramalısınız. Ayrıca, yapılandırmaları bulabileceğiniz bir yer $HOME/.config/AWSVPNClient/OpenVpnConfigs
dizinidir.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)