7 KiB
htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @hacktricks_live'ı takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
ECB
(ECB) Elektronik Kod Kitabı - her bir açık metin bloğunu şifreli metin bloğuyla değiştiren simetrik şifreleme şemasıdır. En basit şifreleme şemasıdır. Temel fikir, açık metni N bitlik bloklara (giriş veri bloğu boyutuna, şifreleme algoritmasına bağlı olarak) bölmek ve ardından yalnızca anahtar kullanarak her bir açık metin bloğunu şifrelemek (şifresini çözmek) için kullanmaktır.
ECB kullanmanın birden fazla güvenlik etkisi vardır:
- Şifreli mesajdan bloklar çıkarılabilir
- Şifreli mesajdan bloklar yer değiştirebilir
Zafiyetin Tespiti
Bir uygulamaya birkaç kez giriş yaparsınız ve her seferinde aynı çerez alırsınız. Bu, uygulamanın çerezi <kullanıcı adı>|<parola>
şeklindedir.
Sonra, aynı uzun parolaya sahip iki yeni kullanıcı oluşturursunuz ve neredeyse aynı kullanıcı adına sahiptirler.
Her iki kullanıcının bilgilerinin aynı olduğu 8B bloklarının eşit olduğunu fark edersiniz. Bu durumda, bunun ECB kullanıldığından kaynaklanabileceğini düşünürsünüz.
Aşağıdaki örnekte olduğu gibi. İki çözülmüş çerezin birden çok kez \x23U\xE45K\xCB\x21\xC8
bloğuna sahip olduğunu gözlemleyin.
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
Bu, çerezlerin kullanıcı adı ve şifresinin birkaç kez "a" harfi içerdiği anlamına gelir (örneğin). Farklı olan bloklar, en az 1 farklı karakter içeren bloklardır (belki de ayraç "|" veya kullanıcı adında gerekli farklılık gibi).
Şimdi, saldırgan sadece formatın <kullanıcı adı><ayraç><şifre>
veya <şifre><ayraç><kullanıcı adı>
olduğunu keşfetmesi gerekiyor. Bunun için, benzer ve uzun kullanıcı adları ve şifrelerle birkaç kullanıcı adı oluşturarak formatı ve ayraçın uzunluğunu bulana kadar deneyebilir:
Kullanıcı adı uzunluğu: | Şifre uzunluğu: | Kullanıcı adı+Şifre uzunluğu: | Çerezin uzunluğu (çözümlendikten sonra): |
---|---|---|---|
2 | 2 | 4 | 8 |
3 | 3 | 6 | 8 |
3 | 4 | 7 | 8 |
4 | 4 | 8 | 16 |
7 | 7 | 14 | 16 |
Zafiyetin sömürülmesi
Çerezin formatını (<kullanıcı adı>|<şifre>
) bildiğimizde, admin
kullanıcı adını taklit etmek için aaaaaaaaadmin
adında yeni bir kullanıcı oluşturun ve çerezi alıp çözümleyin:
\x23U\xE45K\xCB\x21\xC8\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
Önceden yaratılan \x23U\xE45K\xCB\x21\xC8
desenini sadece a
içeren kullanıcı adıyla görebiliriz.
Ardından, ilk 8B bloğunu kaldırabilirsiniz ve admin
kullanıcı adı için geçerli bir çerez elde edersiniz:
\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
Blokları Taşımak
Birçok veritabanında WHERE username='admin';
veya WHERE username='admin ';
(Ekstra boşluklara dikkat edin), arama yapmak aynı anlama gelir.
Bu nedenle, admin
kullanıcısını taklit etmek için başka bir yol şu şekilde olabilir:
len(<username>) + len(<delimiter) % len(block)
şeklinde bir kullanıcı adı oluşturun.8B
blok boyutuylausername
adında bir kullanıcı adı oluşturabilirsiniz.|
ayırıcı ile<username><delimiter>
parçası 2 adet 8B blok oluşturacaktır.- Ardından, kullanıcıyı taklit etmek istediğimiz kullanıcı adını ve boşlukları içeren tam bir blok sayısı oluşturan bir şifre oluşturun, örneğin:
admin
Bu kullanıcının çerezi 3 bloktan oluşacaktır: ilk 2 blok kullanıcı adı + ayırıcı blokları ve üçüncü blok (kullanıcı adını taklit eden şifre): username |admin
Sonra, sadece ilk bloğu son blokla değiştirin ve admin
kullanıcısını taklit edeceksiniz: admin |username
Referanslar
AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Red Team Expert) ile öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı yapmak veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz olan The PEASS Family'yi keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @hacktricks_live'da takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.