<summary><strong>AWS hacklemeyi sıfırdan ileri seviyeye öğrenin</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong> ile!</strong></summary>
* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
**IPsec**, ağlar arasındaki iletişimi (LAN'dan LAN'a) güvence altına almak için başlıca teknoloji olarak kabul edilir ve uzaktan kullanıcılardan ağ geçidine (uzaktan erişim) hizmet vererek kurumsal VPN çözümleri için omurga görevi görür.
İki nokta arasında bir **güvenlik birliği (SA)** oluşturulması, **IKE** tarafından yönetilir ve kimlik doğrulama ve anahtar değişimi için tasarlanmış bir protokol olan ISAKMP'nin çatısı altında çalışır. Bu süreç birkaç aşamada gerçekleşir:
* **Faz 1:** İki uç nokta arasında güvenli bir kanal oluşturulur. Bu, bir Ön Paylaşılan Anahtar (PSK) veya sertifikalar kullanılarak, üç çift mesaj içeren ana mod veya **agresif mod** kullanılarak başarılır.
* **Faz 1.5:** Zorunlu olmasa da, Bu aşama, Kullanıcı kimliğini doğrulayan Genişletilmiş Kimlik Doğrulama Aşaması olarak bilinir ve bağlanmaya çalışan kullanıcının kimliğini kullanıcı adı ve şifre gerektirerek doğrular.
* **Faz 2:** Bu aşama, **ESP** ve **AH** ile verileri güvence altına almak için parametreleri müzakere etmeye adanmıştır. Güvenliği artırmak için **Mükemmel İleri Gizlilik (PFS)** sağlamak için Faz 1'dekilerden farklı algoritmaların kullanılmasına izin verir.
IPSec yapılandırması yalnızca bir veya birkaç dönüşümü kabul etmek üzere hazırlanabilir. Bir dönüşüm, değerlerin bir kombinasyonudur. **Her dönüşüm**, DES veya 3DES gibi **şifreleme algoritması**, SHA veya MD5 gibi **bütünlük algoritması**, önceden paylaşılan bir anahtar gibi **kimlik doğrulama türü**, Diffie-Hellman 1 veya 2 gibi anahtar **dağıtım algoritması** ve 28800 saniye gibi **ömür** içeren bir dizi özelliğe sahiptir.
Dolayısıyla yapmanız gereken ilk şey, sunucunun sizinle iletişim kurmasını sağlayacak **geçerli bir dönüşüm bulmaktır**. Bunu yapmak için **ike-scan** aracını kullanabilirsiniz. Varsayılan olarak, Ike-scan ana modda çalışır ve bir ISAKMP başlığı ve içinde **sekiz dönüşüm bulunan tek bir teklifle** bir paket gönderir.
Görüldüğü gibi önceki yanıtta **AUTH** adında bir alan ve değer olarak **PSK** bulunmaktadır. Bu, vpn'in bir önceden paylaşılan anahtar kullanılarak yapılandırıldığı anlamına gelir (ve bu gerçekten bir pentester için iyidir).\
* _**1 dönüş el sıkışması; 0 dönüş bildirimi:**_ Bu, **hedefin IPsec için yapılandırıldığını ve IKE müzakeresi yapmaya istekli olduğunu, ve önerdiğiniz dönüşlerden bir veya daha fazlasının kabul edilebilir olduğunu** gösterir (geçerli bir dönüş çıktıda gösterilecektir).
* _0 dönüş el sıkışması; 1 dönüş bildirimi:_ VPN ağ geçitleri, **önerdiğiniz dönüşlerin hiçbirinin kabul edilebilir olmadığında bir bildirim mesajı ile yanıt verir** (ancak bazı ağ geçitleri bunu yapmaz, bu durumda daha fazla analiz ve revize edilmiş bir öneri denemelisiniz).
Eğer brute-force çalışmadıysa, belki sunucu geçerli dönüşümlere bile el sıkışmalar olmadan yanıt veriyor. O zaman aynı brute-force'u dene ancak agresif modu kullanarak:
Cisco, DH grupları 1 ve 2'nin yeterince güçlü olmadığını belirtir. Uzmanlar, **kaynakları bol olan ülkelerin**, bu zayıf grupları kullanan verilerin şifresini kolayca çözebileceğine inanmaktadır. Bu, onları kodları hızlıca kırmak için hazırlayan özel bir yöntem kullanılarak yapılır. Bu yöntemi kurmak oldukça pahalı olmasına rağmen, bu güçlü ülkelerin, şifresi çözülemeyen verileri gerçek zamanlı olarak okumalarına olanak tanır (örneğin 1,024-bit veya daha küçük bir grup kullanılıyorsa).
Daha sonra, cihazın **üreticisini keşfetmek** için ike-tarama kullanabilirsiniz. Aracı, bir başlangıç teklifi gönderir ve yeniden çalmayı durdurur. Ardından, sunucudan alınan mesajlar ile eşleşen yanıt deseni arasındaki **zaman farkını analiz ederek**, pentester VPN ağ geçidinin üreticisini başarılı bir şekilde belirleyebilir. Ayrıca, bazı VPN sunucuları IKE ile **isteğe bağlı Vendor ID (VID) yükü** kullanacaktır.
Hash'i yakalamanıza izin verilmesi için Agresif modu destekleyen geçerli bir dönüşüm ve doğru Kimlik (grup adı) gereklidir. Muhtemelen geçerli grup adını bilmeyeceksiniz, bu yüzden bunu kaba kuvvetle denemeniz gerekecek.\
Eğer **hiçbir hash döndürülmezse**, o zaman muhtemelen bu kaba kuvvet saldırısı yöntemi işe yarayacaktır. **Eğer bir hash döndürülürse, bu, sahte bir kimlik için sahte bir hash'in geri gönderileceği anlamına gelir, bu nedenle bu yöntem kimliği kaba kuvvetle çözmek için güvenilir olmayacaktır**. Örneğin, sahte bir hash döndürülebilir (bu modern sürümlerde meydana gelir):
Bu betik **mümkün olası kimlikleri kaba kuvvetle deneyecek** ve geçerli bir el sıkışma döndürülen kimlikleri (bu geçerli bir grup adı olacaktır) geri döndürecektir.
Belirli bir dönüşüm keşfettiyseniz, bunu ike-scan komutuna ekleyin. Ve birden fazla dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekte özgürsünüz (bir tanesi düzgün çalışana kadar hepsini denemelisiniz).
İkeforce'un [grup adları sözlüğünü](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) veya [seclists'teki](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) yaygın grup adları listesini kaba kuvvetle denemek için kullanabilirsiniz:
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) ayrıca **ike-scan** kullanarak olası grup adlarını bruteforce etmek için kendi yöntemini izler. **ike-scan çıktısına dayanarak geçerli bir ID bulmak için kendi yöntemini kullanır**.
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) aynı zamanda **ID'leri bruteforce etmek için kullanılabilecek bir araçtır**. Bu araç, **farklı zayıflıkları sömürmeye çalışacaktır** ve **geçerli ve geçersiz ID'leri ayırt etmek için kullanılabilecek farklı yöntemler deneyecektir** (yanlış pozitif ve yanlış negatif sonuçlar olabilir, bu yüzden mümkünse ike-scan yöntemini tercih ederim).
Varsayılan olarak **ikeforce**, başlangıçta sunucunun davranışını kontrol etmek ve kullanılacak taktiği belirlemek için bazı rastgele ID'ler gönderecektir.
* **İlk yöntem**, Cisco sistemlerinin **Dead Peer Detection DPD** bilgisini arayarak grup adlarını bruteforce etmektir (bu bilgi, grup adı doğru olduğunda sunucu tarafından yalnızca yanıtlanır).
* Mevcut olan **ikinci yöntem**, her denemeye gönderilen yanıtların sayısını kontrol etmektir, çünkü bazen doğru ID kullanıldığında daha fazla paket gönderilir.
* **Üçüncü yöntem**, yanlış ID'ye yanıt olarak "INVALID-ID-INFORMATION" aramaktır.
* Son olarak, sunucu kontrollerine hiçbir yanıt vermezse, **ikeforce** sunucuyu bruteforce edecek ve doğru ID gönderildiğinde sunucunun bir paketle yanıt verip vermediğini kontrol edecektir.\
Açıkça, ID'yi bruteforce etme amacı, geçerli bir ID'ye sahip olduğunuzda **PSK'yi** elde etmektir. Ardından, **ID** ve **PSK** ile XAUTH'ı bruteforce etmeniz gerekecektir (eğer etkinse).
Eğer belirli bir dönüşüm keşfettiyseniz, bunu ikeforce komutuna ekleyin. Ve birden fazla dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekte özgürsünüz (doğru çalışana kadar hepsini denemelisiniz).
(Kitap **Ağ Güvenliği Değerlendirmesi: Ağınızı Tanıyın**'dan): Ayrıca, VPN istemcisi ve sunucusu arasındaki bağlantıyı dinleyerek geçerli kullanıcı adlarını elde etmek mümkündür, çünkü istemci kimliğini içeren ilk saldırgan mod paketi açık bir şekilde gönderilir
Son olarak, Eğer bir **geçerli dönüşüm** ve **grup adı** bulduysanız ve **saldırgan mod izin veriliyorsa**, o zaman kırılabilir hash'i çok kolayca yakalayabilirsiniz:
**Agresif mod IKE** genellikle **grup kimlik doğrulama** amaçları için **Ön Paylaşılan Anahtar (PSK)** ile birleştirilir. Bu yöntem, genellikle **Kullanıcı Kimlik Doğrulaması** için ek bir katman ekleyen **XAuth (Genişletilmiş Kimlik Doğrulama)** ile desteklenir. Bu tür kimlik doğrulama genellikle **Microsoft Active Directory**, **RADIUS** veya benzeri sistemler gibi hizmetlerden yararlanır.
**IKEv2'ye** geçişte, kullanıcıları doğrulamak amacıyla **XAuth** yerine **EAP (Genişletilebilir Kimlik Doğrulama Protokolü)** kullanıldığında dikkate değer bir değişiklik görülür. Bu değişiklik, güvenli iletişim protokollerinde kimlik doğrulama uygulamalarında bir evrimi vurgular.
Böylece _fiked_ kullanarak giriş verilerini yakalayabilir ve herhangi bir varsayılan kullanıcı adı olup olmadığını görebilirsiniz (IKE trafiğini dinlemek için `fiked`'e yönlendirmeniz gerekecektir, bu da ARP zehirlemesi ile yapılabilir, [daha fazla bilgi](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked, bir VPN uç noktası olarak hareket edecek ve XAuth kimlik bilgilerini yakalayacaktır:
### IPSec kullanarak MitM saldırısı yapmaya çalışın ve tüm trafiği 500 numaralı porta engelleyin, eğer IPSec tüneli kurulamazsa trafiğin açık bir şekilde gönderilebileceğini düşünebilirsiniz.
**ikeforce** ile XAUTH kullanıcı adı ve şifresini kaba kuvvet saldırısıyla deneyin
**XAUTH**'u (geçerli bir grup adı**id** ve **psk**'yi bildiğinizde) kaba kuvvet saldırısı yapmak için bir kullanıcı adı veya kullanıcı adı listesi ve bir şifre listesi kullanabilirsiniz:
Kali'de, IPsec tünelleri kurmak için **VPNC** kullanılır. **Profiller**`/etc/vpnc/` dizininde bulunmalıdır. Bu profilleri _**vpnc**_ komutunu kullanarak başlatabilirsiniz.
<summary><strong>Sıfırdan kahraman olacak şekilde AWS hackleme öğrenin</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**