<summary><strong>AWS hacklemeyi sıfırdan kahramanla öğrenin</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Kırmızı Takım Uzmanı)</strong></a><strong>!</strong></summary>
* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**.
En önemli olan zayıflıkları bulun, böylece daha hızlı düzeltebilirsiniz. Intruder saldırı yüzeyinizi takip eder, proaktif tehdit taramaları yapar, API'lerden web uygulamalarına ve bulut sistemlerine kadar tüm teknoloji yığınınızda sorunları bulur. [**Ücretsiz deneyin**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) bugün.
**IPsec**, ağlar arasındaki iletişimi (LAN-to-LAN) ve uzaktan kullanıcıların ağ ağ geçidine (uzaktan erişim) güvence altına almak için temel teknoloji olarak geniş çapta kabul edilir ve kurumsal VPN çözümleri için omurga görevi görür.
İki nokta arasında bir **güvenlik birliği (SA)** oluşturulması, kimlik doğrulama ve anahtar değişimi için tasarlanmış bir protokol olan **IKE** tarafından yönetilir ve ISAKMP'nin bir parçası olarak çalışır. Bu süreç birkaç aşamada gerçekleşir:
- **Aşama 1:** İki uç nokta arasında güvenli bir kanal oluşturulur. Bu, bir Ön Paylaşılan Anahtar (PSK) veya sertifikalar kullanılarak gerçekleştirilir ve üç çift mesaj içeren ana mod veya **agresif mod** kullanır.
- **Aşama 1.5:** Zorunlu olmasa da, Genişletilmiş Kimlik Doğrulama Aşaması olarak bilinen bu aşama, bağlanmaya çalışan kullanıcının kimliğini doğrular ve bir kullanıcı adı ve şifre gerektirir.
- **Aşama 2:** Bu aşama, **ESP** ve **AH** ile verileri güvence altına almak için parametreleri müzakere etmeye adanmıştır. Aşama 1'deki algoritmalardan farklı algoritmaların kullanılmasına izin verir ve güvenliği artırmak için **Mükemmel İleri Gizlilik (PFS)** sağlar.
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**, şifreleme algoritması olarak DES veya 3DES gibi birkaç özelliğe sahiptir, bütünlük algoritması olarak SHA veya MD5 gibi birkaç özelliğe sahiptir, kimlik doğrulama türü olarak önceden paylaşılan bir anahtar gibi birkaç özelliğe sahiptir, anahtar dağıtım algoritması olarak Diffie-Hellman 1 veya 2 gibi birkaç özelliğe sahiptir ve ömür olarak 28800 saniye gibi birkaç özelliğe sahiptir.
Daha sonra yapmanız gereken ilk şey, sunucu sizinle iletişim kurabilsin diye **geçerli bir dönüşüm bulmaktır**. Bunun 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 öneri ile bir paket gönderir.
Görüldüğü gibi önceki yanıtta **AUTH** adında bir alan ve **PSK** değeriyle birlikte olduğunu görebilirsiniz. Bu, vpn'in bir önceden paylaşılan anahtar kullanılarak yapılandırıldığı anlamına gelir (ve bu bir pentester için gerçekten iyidir).\
* _0 el sıkışma döndürüldü; 0 bildirim döndürüldü:_ Bu, hedefin bir **IPsec ağ geçidi olmadığını** gösterir.
* _**1 el sıkışma döndürüldü; 0 bildirim döndürüldü:**_ Bu, **hedefin IPsec için yapılandırıldığını ve IKE müzakeresi yapmaya istekli olduğunu ve önerdiğiniz dönüşümlerden bir veya daha fazlasının kabul edilebilir olduğunu** gösterir (geçerli bir dönüşüm çıktıda gösterilecektir).
* _0 el sıkışma döndürüldü; 1 bildirim döndürüldü:_ VPN ağ geçitleri, **hiçbir dönüşümün kabul edilebilir olmadığında** bir bildirim mesajıyla 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 yöntemi işe yaramadıysa, belki sunucu geçerli dönüşümlere bile el sıkışma yapmadan yanıt veriyor. Bu durumda, aynı brute-force yöntemini kullanarak saldırgan modunu deneyebilirsiniz:
Cisco, DH gruplarının 1 ve 2'nin yeterince güçlü olmadığını belirtmektedir. Uzmanlar, bu zayıf grupları kullanan verilerin şifrelemesini **kırmak için** özel bir yöntem kullanarak **kaynakları bol olan ülkelerin** bunu kolayca yapabileceğine inanmaktadır. Bu yöntemi kurmak çok para harcamasına rağmen, bu güçlü ülkelerin, şifrelenmiş verileri gerçek zamanlı olarak okumasına izin verir (örneğin, 1.024-bit veya daha küçük gibi) zayıf bir grup kullanılıyorsa.
Ardından, cihazın **üreticisini keşfetmek için ike-scan** kullanabilirsiniz. Araç, bir başlangıç teklifi gönderir ve tekrar oynatmayı 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ıyla belirleyebilir. Dahası, bazı VPN sunucuları IKE ile **isteğe bağlı Vendor ID (VID) yükü** kullanacaktır.
Hash'i yakalayabilmek için Agresif modu destekleyen ve doğru Kimlik (grup adı) gerekiyor. Muhtemelen doğru grup adını bilmeyeceksiniz, bu yüzden brute-force yapmanız gerekecek.\
Eğer **hiçbir karma döndürülmezse**, o zaman muhtemelen bu brute force yöntemi işe yarayacaktır. **Eğer bir karma döndürülürse, bu, sahte bir kimlik için sahte bir karma gönderileceği anlamına gelir, bu nedenle bu yöntem kimliği brute force etmek için güvenilir olmayacaktır**. Örneğin, sahte bir karma döndürülebilir (bu modern sürümlerde olur):
Bu betik, **mümkün olan kimlikleri brute force etmeye çalışacak** ve geçerli bir el sıkışma döndürülen kimlikleri (bu geçerli bir grup adı olacak) döndürecektir.
Eğer belirli bir dönüşüm keşfettiyseniz, ike-scan komutuna ekleyin. Ve eğer birden fazla dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekte özgürsünüz (hepsini düzgün çalışana kadar hepsini denemelisiniz).
Bu işlemi brute force etmek için ikeforce'un [sözlüğünü](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) veya yaygın grup adlarının bulunduğu seclists'in [birini](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) kullanabilirsiniz:
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py), olası grup adlarını bruteforce etmek için **ike-scan** kullanır. **ike-scan** çıktısına dayanarak geçerli bir ID bulmak için kendi yöntemini izler.
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce), **ID'leri bruteforce etmek** için kullanılan bir araçtır. Bu araç, **geçerli ve geçersiz bir ID arasındaki farkı belirlemek** için kullanılabilecek **farklı güvenlik açıklarını** kullanmaya çalışacaktır (yanlış pozitif ve yanlış negatif sonuçlar olabilir, bu yüzden mümkünse ike-scan yöntemini tercih ederim).
* **İlk yöntem**, Cisco sistemlerinin **Dead Peer Detection DPD** bilgisini (bu bilgi yalnızca grup adı doğruysa sunucu tarafından yanıtlanır) arayarak grup adlarını bruteforce etmektir.
* **İkinci yöntem**, her denemeye gönderilen yanıtların sayısını kontrol eder çünkü doğru ID kullanıldığında bazen 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 etmeye çalışacak ve doğru ID gönderildiğinde sunucunun bir paketle yanıt verip vermediğini kontrol edecektir.\
Açıkçası, ID'yi bruteforce etmenin amacı, geçerli bir ID'ye sahip olduğunuzda **PSK'yi** elde etmektir. Ardından, **ID** ve **PSK** ile XAUTH'ı (etkinse) bruteforce etmeniz gerekecektir.
Belirli bir dönüşüm keşfettiyseniz, ikeforce komutuna ekleyin. Ve birden fazla dönüşüm keşfettiyseniz, hepsini denemek için yeni bir döngü eklemekte özgürsünüz (hepsini düzgün çalışana kadar denemelisiniz).
(**Network Security Assessment: Ağınızı Tanıyın** kitabından): VPN istemcisi ve sunucusu arasındaki bağlantıyı dinleyerek geçerli kullanıcı adlarını elde etmek de mümkündür, çünkü istemci kimliğini içeren ilk saldırgan mod paketi açık bir şekilde gönderilir.
Son olarak, bir **geçerli dönüşüm** ve **grup adı** bulduysanız ve **saldırgan mod izin veriliyorsa**, o zaman çözülebilir hash'i çok kolay bir şekilde yakalayabilirsiniz:
**Grup kimlik doğrulama** amaçları için genellikle **Ön Paylaşılan Anahtar (PSK)** ile birlikte **Agresif Mod IKE** kullanılır. Bu yöntem, **XAuth (Genişletilmiş Kimlik Doğrulama)** ile desteklenir ve ek bir **kullanıcı kimlik doğrulama** katmanı ekler. 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ın kimlik doğrulaması için **XAuth** yerine **EAP (Genişletilebilir Kimlik Doğrulama Protokolü)** kullanıldığı dikkat çekmektedir. 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 ARP sahtekarlığıyla `fiked`'e yönlendirmeniz gerekmektedir, [daha fazla bilgi](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked, bir VPN uç noktası gibi davranacak ve XAuth kimlik bilgilerini yakalayacaktır:
Ayrıca, IPSec kullanarak bir 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 olarak gönderilebilir.
**XAUTH**'u brute force etmek için (geçerli bir grup adı**id** ve **psk**'yi bildiğinizde) 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.
En önemli güvenlik açıklarını bulun ve daha hızlı düzeltebilin. Intruder saldırı yüzeyinizi takip eder, proaktif tehdit taramaları yapar, API'lerden web uygulamalarına ve bulut sistemlerine kadar tüm teknoloji yığınınızda sorunları bulur. [**Ücretsiz deneyin**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) bugün.
* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin**.