Pentester Olmak İster Misin ? (1 Viewer)

Joined
Oct 24, 2019
Credits
13
Rating - 0%
PENTESTER OLMAK İSTER MİSİN ?

Her şeyden önce bir Pentester olmak için sürekli olarak yeni şeyler öğrenmeye istekli olmalısınız ve ya çabucak evde olmalısınız. İkinci olarak, Ağ ve Web Güvenliği konusunda güçlü bir temel anlayışa ve en az bir kodlama / kodlama dilinin anlaşılmasına sahip olmanız gerekir. Üçüncüsü, becerilere ihtiyaç duyarsınız .Dördüncü olarak, bazen yapacağınız projelerin sıkıcı veya tekrarlayıcı olacağı gerçeğini kabul etmeye istekli olmalısınız. Beşinci olarak… Eğer hala burada okuyorsanız, o zaman bir Pentester olmak için gerekenlere sahip olduğunuza eminim, o zaman ayrıntılarına geçelim!

Teknik Beceriler:


Evet, teknik beceriler, bir Güvenlik Uzmanı’nın can damarı. Şimdi, bir Pentester olmak, sadece Network Pentesting veya Web Apps gibi tek bir şeye odaklanmanız anlamına gelmez. Aslında, bir teknik uzmanlık alanında başarılı olmak ve hatta bir Pentester olarak mükemmel olmak için geniş bir bilgi birikimine sahip olmanız gerekir.

Neden ki? ” Aslında, Ağ Pentest’leri, Kırmızı Takım Çalışmaları, Fiziksel Güvenlik Değerlendirmeleri ve hatta Donanım Güvenlik Değerlendirmeleri, yeni başlayanlar için çok fazla bir şey yapmıyor ve genellikle çok daha gelişmiş test kullanıcıları için planlanıyor. Ama bu, bunları yapamayacağınızı ve kendinizi kanıtladıktan sonra bunları yapmayacağınız veya daha fazlasını yapma fırsatınız olmadığı anlamına gelmez. Aynı zamanda uzmanlığınızın ne olduğuna bağlı olarak, muhtemelen bu alanda projeler yapacaksınız. Genel olarak en çok istenen değerlendirme…



Bir sonraki bölümde, bir pentester haline gelmenin (ve belirli bir düzende olmayan) en faydalı olduğuna inandığım bir dizi teknik beceri listeleyeceğim. Bu becerilerin en az 1-2’sini (Web Uygulamaları dahil) orta seviyeli olarak ve bu becerilerin en az 3 / 4’ü üst düzeyde olmak için kullanmayı bilmelisiniz.

Her bir yetenekle birlikte, neler yapabileceğinize dair kısa bir açıklama yapacağım, ardından başlamanıza ya da konu hakkında daha fazla bilgi edinmenize yardımcı olacak bir kaynak listesi vereceğim.

1. Web Uygulama Güvenliği:
Web Uygulamaları, günümüzde bir web tarayıcısı aracılığıyla kullanıcılara daha fazla yazılım uygulaması sunulduğundan günümüz organizasyonlarında hayati bir rol oynamaktadır. İnternette yapmış olabileceğiniz hemen hemen her şey bir web uygulamasının kullanımını içeriyor – bir etkinlik için kayıt yaptırmak, çevrimiçi ürün satın almak, faturalarınızı ödemek, hatta oyun oynamak olsun.

Web uygulamalarının geniş çaplı kullanımı nedeniyle, genellikle internetteki en çok saldırıya uğrayan bir varlıktır ve genellikle Panera Bread ve Equifax Breach gibi geniş çaplı bir uzlaşmaya sahiptirler .



Bu ihlallerin önlenebileceği doğru mu? Evet! Ancak sadece web uygulamaları dahili olarak veya bir danışmanlık firması tarafından iyice test edildiğinde. Yine de o zaman – bu tür güvenlik açıkları gözden kaçırılmış olabilir.

Bu neden olabilir? Dürüst olmak gerekirse, vasıfsız test ediciler, kısıtlayıcı kapsam, çok geniş bir proje süresi, çok az proje zamanı, çok fazla web uygulaması ve yeterli sayıda testçi, kaynak kodu bulunmuyor… liste uzayıp gidiyor.

Sonuçta, web uygulamalarını anlayan, nasıl oluşturulduğunu, çalıştığı, iletişim kurdukları, hangi kütüphaneleri kullandıklarını, vb., Bir web uygulamasının saldırıya açık veya ilgi çekici görünebilecek kısımlarını kolayca odaklayabilecekleri ve anlayabileceklerini anlayan yetenekli bir testçi. Test cihazı her şeyi tespit edebilecek mi? Hayır, elbette, insanüstü değiliz, ancak deneyim ve iyi bir bilgi birikimiyle, bir web uygulamasını gelecekteki saldırılardan en iyi şekilde koruyabilecek yeterli güvenlik açıklarını bulabileceksiniz.



Bir pentester olarak, WAPT’ları Banka Uygulamaları, İnternet Platformları, Barındırma Hizmetleri, Çevrimiçi Mağazalar ve daha fazlası üzerinde yapacaksınız! Dolayısıyla, XSS, SQli ve CSRF gibi temel Web Uygulama Güvenlik Açıklarından daha fazlasını anlamalısınız. XXE, XML / JSON Enjeksiyonu, LDAP Enjeksiyonu, Kör Enjeksiyon, Kod Enjeksiyonu & RCE, Alt Alan Alımı, Açık Yönlendirmeler, SSRF, LFI ve RFI gibi güvenlik açıklarını bilmeniz gerekir. Örneğin, belirli protokolleri ve bunların uygulamalarını anlamanız gerekir. OAuth ve SSO , ayrıca farklı platformların kullanımını ve Jenkins veya ElasticSearch gibi güvenlik açıklarını da anlamanız gerekir .

Buna ek olarak, bir ton WAPT’ın Kod İncelemeleri ile eşleştirilmesinden dolayı, web uygulamasının oluşturulduğu dili anlamaya da yardımcı olur. Yani Java, JavaScript, Scala, AJAX, PHP ve Ruby gibi dilleri bilmek, kara kutuda ortaya çıkamayan gizli mücevherlerin yerini bulmaya gerçekten yardımcı olacaktır .

Kaynaklar :

2. Ağ Güvenliği:
Bir Ağ Pentest’i, ağ aygıtlarında ve bunlara bağlı ana bilgisayarlarda / sistemlerde olduğu kadar, kurumsal veya endüstriyel ağlardaki güvenlik açıklarını belirlemeyi ve bunlardan yararlanmayı amaçlar. Bu tür değerlendirmeler genellikle bir bilgisayar korsanı bir şirketin iç ağına erişim sağlamak için gerçek dünyadaki bir saldırıyı simüle eder.

Şimdi, bir ağ% 100 güvenli ve güvenli olabilir mi? Tabii ki değil! Hiçbir şey% 100 güvenli değil! Örneğin, Hacking Team Breach’i ele alalım . Yeterli zaman, para ve kaynaklara sahip herhangi bir karmaşık saldırgan bir şirketi ihlal edebilir; ama bu, ağ içinde olduklarında onlar için kolay olması gerektiği anlamına gelmez!



Başka bir örnek Ukrayna’da NotPetya Malware koparma olurdu . Bu, yeterli zaman ve kaynağa sahip bilgisayar korsanlarının bir şirketten nasıl taviz verebileceğine ve diğer hedeflere karşı daha fazla saldırıya geçmek için onları nasıl kullanacaklarına dair harika bir örnektir.

Bir pentester olarak, gerçek bir ihlal riskini değerlendirmeye çalışmakla görevlendirilirsiniz. Bu, yalnızca DC’de Alan Adı Yöneticisi almayı değil , açıkta hangi türden özel verilerin korunmasız olduğunu kontrol etmekle ilgilidir .

Değerlendirme sırasında kullanıcı hesaplarının ve kimlik bilgilerinin kolay erişilebilir olup olmadığını kontrol etmelisiniz. Müşteri bilgileri ve kredi kartları kolayca erişilebilir mi? Şirketin üyeleri kimlik avı gibi güvenlik konularında ne kadar iyi eğitim görmüş? Teknolojiler ve korumalar iyi yerleştirilmiş ve uygun şekilde yapılandırılmış mı? Ve dahası!

Network Pentest’i gerçekleştirebilmek için ağların nasıl çalıştığını, TCP / IP, LDAP, SNMP, SMB, VoIP, vb. Gibi teknolojiler ve iletişim protokollerini gerçekten anlamanız gerekir. Active Directory’nin yanı sıra Güvenlik Duvarları, IDS / IPS, Sysmon, Antivirüsler, vb. Gibi korumaları anlamanızın yanı sıra, Windows ve Linux içsellerinin nasıl çalıştığını ve diğer kullanıcıları daha fazla tehlikeye atmak için nasıl kullanabileceğinizi de anlamanız gerekir.

Network Pentest’leri karmaşık ve birçok hareketli parça gerektirse de, öğrenilmesi zor değildir. Ağ çevresinde nasıl hareket edeceğine dair temel bilgileri öğrendikten sonra, geri kalan her şey deneyimle gelir – her şey gibi!

Kaynaklar :

3. Kod İnceleme:
Kod incelemesi, uygulamalardaki güvenlik açıklarını ve yanlış yapılandırmaları tanımlamak için muhtemelen en etkili tekniktir. Otomatik test araçlarının kullanımı ile birlikte kodun manuel olarak gözden geçirilmesi, mantık kusurları, yetkilendirme sorunları, şifreleme yanlış yapılandırmaları ve hatta enjeksiyon saldırıları gibi bir kara kutu pentest’i gerçekleştirilirken daha önce bulunmamış olabilecek kusurların tespit edilmesine yardımcı olabilir.

Kod Gözden Geçirmesinin tek dezavantajı, çok zaman alıcı olması ve tek bir test cihazının çok büyükse tüm uygulamayı kapsayacak kadar zamanının olmaması olabilir. Bununla mücadele etmek için, bir test genellikle dikkatini bilinen güvenlik açıklarına ve uygulamada yazılan dilde tehlikeli işlev çağrılarının kullanımına odaklamaya çalışır. Örneğin, C’de strcpy () işlevinin savunmasız olduğu bilinir. Arabellek taşması veya PHP’de, düzgün kullanılmadığında exec () işlevi, Uzaktan Kod Yürütülmesine yol açabilir.



Eğer kod incelemesi olmasaydı, o zaman Heartbleed , Shellshock , Drupalgeddon 2 gibi en üretken böceklerin bazıları bulunmazdı, bu yüzden kod incelemesinin ne kadar önemli olabileceğini görebilirsiniz!

Bir pentester olarak muhtemelen C, C ++, Java, JavaScript, Scala, Ruby, PHP, Python ve hatta Go kullanılarak yapılmış bir çok uygulamayı gözden geçireceksiniz. Uygulamayı ayrıntılı bir şekilde gözden geçirebilir ve temel dil ve iyi bir şekilde ortaya çıkabilecek sorunları iyi anlamak için gereken güvenlik açıklarını veya güvenlik sorunlarını bulabilirsiniz.

Bazı güvenlik açıklarının yalnızca belirli dillerde daha yaygın olduğunu unutmayın; örneğin, Bellek Taşmaları, C ve C ++ gibi alt düzey dillerde daha sonra Python ve Ruby’de daha yüksek düzey diller olduğundan daha fazla bulunabilir. Aynı zamanda , Python, Ruby ve Java’nın aksine C ve C ++ ‘da çok fazla desantralizasyon zafiyeti bulamayabilirsiniz .

Sonuç olarak, bir pentester olma yolunda ilerlemenize yardımcı olacak bir programlama dili öğrenmek gerçekten iyi bir fikir. Bu, kaynak kodunun yalnızca belirli güvenlik açıklarını gözden geçirmesine ve anlamasına yardımcı olmayacak, aynı zamanda angajman sırasında kullanılabilecek komut dosyaları ve istismarlar oluşturmanıza da olanak sağlayacaktır – ister bir Kavram Belgesi oluşturuyor olsun, isterse hemen bir fuzzer inşa edin.

Kaynaklar :

4. İkili Tersine Mühendislik:
Tersine Mühendislik, bir hacker’ın bazı tuhaf eski dilleri okuduğu ve bazı büyülü sebeplerden dolayı bir istismar yarattığı veya uygulamanın nasıl işlediğini anlayamayan açıklanamayan olgular….

İkili Tersine Mühendislik, bir programın nasıl kullanılacağını veya belirli güvenlik açıklarını bulabilmesi için nasıl çalıştığını görmek için ayırma işlemidir. Bu uygulama, 0 gün arandığında veya belirli endüstrilerdeki katılımlarda veya hatta kaynak kodu sağlanmadığında sık sık püf noktaları tarafından kullanılmaktadır. Tersine mühendislik sayesinde, bir testçi, uygulamanın belirli işlemleri nasıl gerçekleştirdiğini, verileri depoladığını ve hatta IDA Pro , Binary Ninja ve hatta Radare2 gibi bir disassembler kullanarak belleğe yazdığını öğrenebilir .



Tersine Mühendislik’in kötü amaçlı yazılımların işlevlerini tam olarak anlayabilmesi için WannaCry Malware gibi Kötü Amaçlı Yazılım Analizi için kullanıldığını düşünebilirsiniz , ama durum böyle değil! Kötü amaçlı yazılım sadece başka bir program / uygulama, bu yüzden sonunda bir uygulamayı tersine çeviriyorsunuz…

Örneğin, Cisco IOS için 1 günlük istismar geliştirme , Cisco Router’lardaki bir güvenlik açığından yararlanmak için tersine mühendislik ve hata ayıklama işlemlerini kullandı. Bu, basit ve kara kutu pentesting ile yapılamayacak bir şey.

Bir pentester olarak, tersine mühendislik temellerini biliyorsanız, o zaman böyle bir bilgi gerektirecek konserlere konmasını beklersiniz. Genellikle araştırma için bilgilerinizi kullanır, 0 gün ve güvenlik açıklarını arar ve özellikle donanım gömülü aygıtlarda kaynak kodun sağlanmadığında uygulamaların nasıl işlediğini anlarsınız. Ayrıca BIOS ve SMM, Sanallaştırma, Kapsayıcılar, Güvenli Önyükleme ve daha fazlasını test edebilirsiniz! Bu işi iyi yapmak için, x86 ve x64 ASM (Assembly) Mimarisi hakkında bir bilginiz olması ve Yığın / Yığın Bellek Ayırma ile birlikte nasıl çalıştığı hakkında bilgi sahibi olmanız gerekir. Aynı zamanda, işletim sistemlerinin iç işleyişi hakkında düşük düzeyde bilgi sahibi olmak çok faydalı!

Bunun için öğrenme eğrisi genellikle çok yüksektir ve bu konuda yetkin olmak biraz zaman alır – öğrendikten sonra, cephanenizde bir nükleer bomba olarak düşünülebilir… daha sonra kendinizi tam teşekküllü bir hakzor olarak adlandırabilirsiniz!

Kaynaklar :

ALINTIDIR YENİLER İÇİN PAYLAŞILMIŞTIR
 

Users who are viewing this thread

Top