AWS - GuardDuty Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

GuardDuty

Belgelere göre, GuardDuty, AWS'deki iş yüklerini ve verileri korumaya yardımcı olmak için AWS ve önde gelen üçüncü taraf kaynaklarını kullanarak makine öğrenimi, anormallik tespiti, ağ izleme ve zararlı dosya keşfini birleştirir. GuardDuty, AWS CloudTrail olay günlükleri, Amazon Virtual Private Cloud (VPC) Akış Günlükleri, Amazon Elastic Kubernetes Service (EKS) denetim ve sistem düzeyi günlükleri ve DNS sorgu günlükleri gibi birden fazla AWS veri kaynağında on milyarlarca olayı analiz edebilir.

Amazon GuardDuty, hesaplarınızda olağandışı faaliyetleri tespit eder, faaliyetin güvenlikle ilgililiğini analiz eder ve bunun hangi bağlamda çağrıldığını belirtir. Bu, bir yanıtlayıcının daha fazla soruşturma için zaman harcayıp harcamamasını belirlemesine olanak tanır.

Uyarılar, GuardDuty konsolunda (90 gün) ve CloudWatch Olayları'nda görünür.

Bir kullanıcı GuardDuty'yi devre dışı bıraktığında, AWS ortamınızı izlemeyi bırakır ve hiçbir yeni bulgu oluşturmaz ve mevcut bulgular kaybolur. Sadece durdurursanız, mevcut bulgular kalır.

Bulgular Örneği

  • Keşif: Saldırgan tarafından keşif faaliyetini gösteren etkinlikler, olağandışı API etkinliği, şüpheli veritabanı giriş denemeleri, intra-VPC port taraması, olağandışı başarısız giriş isteği desenleri veya bilinen kötü bir IP'den engellenmemiş port taraması gibi etkinlikler.

  • Örnek ele geçirme: Örneğin, kripto para madenciliği, arka kapı komut ve kontrol (C&C) etkinliği, alan adı üretim algoritmalarını (DGA) kullanan kötü amaçlı yazılım, çıkışa yönelik hizmet dışı bırakma etkinliği, olağandışı yüksek ağ trafiği hacmi, olağandışı ağ protokolleri, bilinen kötü niyetli bir IP ile çıkış yapan örnek iletişimi, harici bir IP adresi tarafından kullanılan geçici Amazon EC2 kimlik bilgileri ve DNS kullanarak veri dışa aktarma.

  • Hesap ele geçirme: Hesap ele geçirmesini gösteren yaygın desenler, olağandışı bir coğrafi konumdan veya anonimleştirme proxy'sinden API çağrıları, AWS CloudTrail günlükleme işlemini devre dışı bırakma girişimleri, hesap parola politikasını zayıflatan değişiklikler, olağandışı örnek veya altyapı başlatmaları, olağandışı bir bölgede altyapı dağıtımları, kimlik hırsızlığı, şüpheli veritabanı giriş etkinliği ve bilinen kötü niyetli IP adreslerinden API çağrıları içerir.

  • Bucket ele geçirme: Örneğin, kimlik kötüye kullanımını gösteren şüpheli veri erişim desenleri, uzaktan bir ana bilgisayardan olağandışı Amazon S3 API etkinliği, bilinen kötü niyetli IP adreslerinden izinsiz S3 erişimi ve önceden hiçbir erişim geçmişi olmayan bir kullanıcının S3 kovalarındaki verileri almak için yapılan API çağrıları veya olağandışı bir konumdan çağrılanlar. Amazon GuardDuty, tüm Amazon S3 kovalarınızda şüpheli etkinlikleri tespit etmek için sürekli olarak AWS CloudTrail S3 veri olaylarını (GetObject, ListObjects, DeleteObject vb.) izler ve analiz eder.

Bulgu Bilgileri

Bulgu özeti:

  • Bulgu türü

  • Önem: 7-8.9 Yüksek, 4-6.9 Orta, 01-3.9 Düşük

  • Bölge

  • Hesap Kimliği

  • Kaynak Kimliği

  • Tespit zamanı

  • Hangi tehdit listesi kullanıldı

Gövde şu bilgileri içerir:

  • Etkilenen kaynak

  • Eylem

  • Eylemci: IP adresi, bağlantı noktası ve etki alanı

  • Ek Bilgiler

Tüm Bulgular

GuardDuty bulgularının listesine buradan erişebilirsiniz.

Çoklu Hesaplar

Davet Yoluyla

Farklı bir AWS GuardDuty hesabına diğer hesapları davet edebilirsiniz, böylece her hesap aynı GuardDuty tarafından izlenir. Ana hesap, üye hesapları davet etmeli ve ardından üye hesabın temsilcisi daveti kabul etmelidir.

Kuruluş Aracılığıyla

Kuruluş içindeki herhangi bir hesabı GuardDuty'ye yetkilendirilmiş yönetici olarak belirleyebilirsiniz. Yalnızca kuruluş yönetim hesabı bir yetkilendirilmiş yönetici belirleyebilir.

Yetkilendirilmiş bir yönetici olarak belirlenen bir hesap, GuardDuty yönetici hesabı olur, belirlenen AWS Bölgesinde GuardDuty otomatik olarak etkinleştirilir ve ayrıca bu yetkilendirilmiş yönetici hesabıyla ilişkilendirilen kuruluşun diğer hesaplarının GuardDuty'yi etkinleştirmesine ve yönetmesine izin verir. Kuruluş içindeki diğer hesaplar, bu yetkilendirilmiş yönetici hesabıyla ilişkilendirilen GuardDuty üye hesapları olarak görüntülenebilir ve eklenebilir.

Numaralandırma

# Get Org config
aws guardduty list-organization-admin-accounts #Get Delegated Administrator
aws guardduty describe-organization-configuration --detector-id <id>

# Check external invitations
aws guardduty list-invitations
aws guardduty get-invitations-count

# Detector Information
aws guardduty list-detectors # 1 detector per account with GuardDuty
aws guardduty get-detector --detector-id <id> # Get detector info
aws guardduty get-master-account --detector-id <id>

# Get filters
aws guardduty list-filters --detector-id <id> # Check filters
aws guardduty get-filter --detector-id <id> --filter-name <name>

# Findings
aws guardduty list-findings --detector-id <id> # List findings
aws guardduty get-findings --detector-id <id> --finding-ids <id> # Get details about the finding
aws guardduty get-findings-statistics --detector-id <id> --finding-statistic-types <types>

# Get trusted IP addresses
aws guardduty list-ip-sets --detector-id <id>
aws guardduty get-ip-set --detector-id <id>

# Member accounts of the current AWS GuardDuty master account
aws guardduty list-members --detector-id <id>
aws guardduty get-members --detector-id <id> --account-ids <id>
aws guardduty get-member-detectors --detector-id <id> --account-ids <id>

# Continuously export its findings to an Amazon S3 bucket
aws guardduty list-publishing-destinations --detector-id <id>

# Intelligence sets that you have uploaded to GuardDuty
aws guardduty list-threat-intel-sets --detector-id <id>
aws guardduty get-threat-intel-set --detector-id <id> --threat-intel-set-id <id>

GuardDuty Geçme

Genel Rehberlik

Kullanacağınız kimlik bilgilerinin davranışı hakkında mümkün olduğunca çok bilgi edinmeye çalışın:

  • Kullanıldığı zamanlar

  • Konumlar

  • Kullanıcı Aracıları / Hizmetler (awscli, web konsolu, lambda tarafından kullanılabilir)

  • Düzenli olarak kullanılan izinler

Bu bilgilerle, erişimi kullanmak için mümkün olduğunca aynı senaryoyu yeniden oluşturun:

  • Eğer bir kullanıcı veya bir kullanıcı tarafından erişilen bir rol ise, aynı saatlerde, aynı coğrafi konumdan (mümkünse aynı İSP ve IP'den) kullanmaya çalışın

  • Eğer bir hizmet tarafından kullanılan bir rol ise, aynı bölgede aynı hizmeti oluşturun ve aynı zaman aralıklarında oradan kullanın

  • Her zaman bu kimliğin kullandığı aynı izinleri kullanmaya çalışın

  • Eğer başka izinlere ihtiyacınız varsa veya bir izni kötüye kullanmanız gerekiyorsa (örneğin, 1.000.000 cloudtrail log dosyasını indirme) bunu yavaşça ve AWS ile minimum etkileşim ile yapın (awscli bazen yazma işleminden önce birkaç okuma API'si çağırır)

GuardDuty'yi Kırmak

guardduty:UpdateDetector

Bu izinle, uyarıları tetiklemekten kaçınmak için GuardDuty'yi devre dışı bırakabilirsiniz.

aws guardduty update-detector --detector-id <detector-id> --no-enable
aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=false}

guardduty:CreateFilter

Bu izne sahip saldırganlar, bulguların otomatik olarak arşivlenmesi için filtreler kullanma yeteneğine sahiptir:

aws guardduty create-filter  --detector-id <detector-id> --name <filter-name> --finding-criteria file:///tmp/criteria.json --action ARCHIVE

iam:PutRolePolicy, (guardduty:CreateIPSet|guardduty:UpdateIPSet)

Önceki yetkilere sahip saldırganlar, kendi IP adreslerini ekleyerek GuardDuty'nin Güvenilen IP listesini değiştirebilir ve uyarı oluşturmadan kaçabilirler.

aws guardduty update-ip-set --detector-id <detector-id> --activate --ip-set-id <ip-set-id> --location https://some-bucket.s3-eu-west-1.amazonaws.com/attacker.csv

guardduty:DeletePublishingDestination

Saldırganlar uyarıyı önlemek için hedefi kaldırabilirler:

aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>

Bu yayın hedefini silmek, GuardDuty konsolunda bulguların oluşturulmasını veya görünürlüğünü etkilemeyecektir. GuardDuty, AWS ortamınızda olayları analiz etmeye, şüpheli veya beklenmeyen davranışları tespit etmeye ve bulgular oluşturmaya devam edecektir.

Belirli Bulguları Atlama Örnekleri

GuardDuty bulgularının onlarca olduğunu unutmayın, ancak Kırmızı Takım olarak hepsi sizi etkilemeyecektir, ve daha da iyisi, her birinin tam belgelerine https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html adresinden bakabilirsiniz, bu yüzden yakalanmamak için herhangi bir eylem yapmadan önce bir göz atın.

İşte belirli GuardDuty bulgularını atlamanın birkaç örneği:

GuardDuty, yaygın penetrasyon testi araçlarından gelen AWS API isteklerini tespit eder ve bir PenTest Bulgusu tetikler. API isteğinde geçirilen kullanıcı ajan adı tarafından tespit edilir. Bu nedenle, saldırının GuardDuty tarafından tespit edilmesini önlemek için kullanıcı ajanını değiştirmek mümkündür.

Bunu önlemek için botocore paketindeki session.py betiğinde arama yapabilir ve kullanıcı ajanını değiştirebilirsiniz, veya AWS CLI proxy olarak Burp Suite'i ayarlayabilir ve kullanıcı ajanını MitM ile değiştirebilir veya Ubuntu, Mac veya Windows gibi bir işletim sistemi kullanarak bu uyarının tetiklenmesini önleyebilirsiniz.

UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration

EC2 kimlik bilgilerini meta veri hizmetinden çıkararak ve bunları AWS ortamının dışında kullanarak, UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS uyarısı etkinleştirilir. Bununla birlikte, bu kimlik bilgilerini EC2 örneğinizden kullanmak, UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS uyarısını tetikler. Ancak, aynı hesap içindeki başka bir etkilenmiş EC2 örneğinde bu kimlik bilgilerini kullanmak tespit edilmez, hiçbir uyarı oluşturmaz.

Bu nedenle, bulduğunuz makineden çıkarılan kimlik bilgilerini makine içinden kullanın, böylece bu uyarının tetiklenmesini önlemiş olursunuz.

Referanslar

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Last updated