it-swarm-tr.com

Evde penetrasyon testi nasıl öğrenilir?

Bu yönde bir kariyere yönelmek için etik hack veya penetrasyon testlerini öğrenmekle ilgileniyorum.

Linux ve unix, temel bilgisayar teorisi ve uygulaması ve temel programlama bilgisi (diziler, yöntemler, döngüler) hakkında güçlü bir bilgim var.

Gruyere ve webgoat'a baktım, ancak bunların benim için çok gelişmiş olduğunu düşünüyorum. Bir problemi, sorunu yeterince açıklamaya gerek olmadan, neden saldırmak ve örnek vermek için kullanılabileceğini açıklamak istiyorlar.

Kendi kendime bu bilgiyi öğretebileceğim, ücretsiz olarak yapabileceğim herhangi bir ders veya interaktif program var mı?

Bir bonus, bu alanda programlama dersleri yararlı olacaktır, örneğin çerez saldırıları ve manipülasyonları göstermek için JavaScript öğretmek.

48
Cyrus

Ücretsiz seçenekler azdır, ancak belirli saldırı vektörleri veya ürünleri/araçları hakkında tonlarca video ve öğretici vardır. Sizi bir Penetrasyon Test Cihazı yapmazlar, ancak ücretsiz öğrenme kaynaklarıdır.

Sizi başlatmak için bazı iyi seçenekler:

Pratik için bir dizi kaynak var:

  • Metasploitable VM (ve diğer özel olarak savunmasız VM'ler)
  • DVWA
  • Mutillidae
  • WebGoat
  • Vulnhub
  • hack.me

Ücretsiz öğrenme kaynakları hakkında görüş bildiren diğer kişiler için bu sitede biraz arama yapın. Ancak, öğrenmenin tek yolu ellerinizi kirletmektir.

Üzerinde çalışmaya ve soru sormaya devam et!

51
schroeder

Araçlara, savunmasız uygulama uygulamalarına vb. Bağlantılara ek olarak, Sızma Testi Yürütme Standardı yaklaşımı testi konusunda kesin standart olmayı amaçlamaktadır: - http://www.pentest-standard.org/index.php/Main_Page

8
Rory Alsop

Bunları VM Player'ı kullanarak sanal bir makineye koyabilir ve oynayabilirsiniz.

Lanet Savunmasız Linux ( http://sourceforge.jp/projects/sfnet_virtualhacking/downloads/os/dvl/DVL_1.5_Infectious_Disease.iso/ )

Buz Çözme/Hackerdemia ( http://forums.heorot.net/ )

Öğrenmek için Açık Kaynaklı Güvenlik Test Metodolojisi Kılavuzu (http://isecom.securenetltd.com/osstmm.en.2.1.pdf) gibi farklı penetrasyon testi yöntemlerine bakacağım. Bunlar genellikle kontrol edilecek şeylerin bir listesini verir. Daha sonra bu kontrol listelerini alabilir ve web'de çeşitli teknolojileri nasıl yeneceğinize dair çeşitli eğiticilere bakabilirsiniz.

Son zamanlarda okuduğum daha iyi kitaplardan biri de Güvenlik Araçları ve Sömürüleri Yazmaktı ( http://www.Amazon.com/Writing-Security-Tools-Exploits-Foster/dp/159749997/ref=sr_1_1?ie = UTF-8 ve qid = 1328592753 ve r = 8-1 ). Temel Montaj, kabuk kodu oluşturma, arabellek taşmaları bulma ve yazma ipuçları, format dizeleri, yığın saldırıları ve daha fazlasını içerir. Kitap biraz tarihli ve ASLR ve NX gibi şeyleri kapsamıyor, ancak büyük açıklamalarla sayısız örnekle sağlam bir temel veriyor.

6
Dylan

Bilgi Güvenliği çok geniş bir alandır, çeşitli alt alanlardan oluşur: altyapı güvenliği, uygulama güvenliği, ağ güvenliği vb. Sorunuzdan, ilgilendiğiniz alanın Web Uygulama Güvenliği olduğuna inanıyorum - WebGoat ve Gruyeres, Web Uygulama Güvenliği'ndeki en yaygın güvenlik açıklarını öğretmek için ayrılmış iki savunmasız uygulama. Bahsettikleri ve açıkladıkları tek konu bu.

Dürüst görüşüme göre, web uygulaması güvenliğine başlamanın en iyi yolu, OWASP ilk 1 listesini ve açıklamalarını okumak ve ardından web uygulamalarını güvenlik açıklarına karşı test etmeye devam etmektir (elbette sadece kendi QA makinelerinize karşı veya yöneticilerin yazılı izni ile). Belirtildiği gibi, Fundstone (şimdi McAfee) Hacme serisi çok iyi, birçok dilde geliyor (böylece aşina olduğunuz bir dil bulabilirsiniz) ve Hacme uygulamalarının nasıl işleneceği ve kırılacağı hakkında ayrıntılı eğitimlerle birlikte gelir.

Güvenlik açığı bulunan uygulamaların ve sanal makinelerin tam listesi için Güvenlik Açığı Olan Uygulama Marketi

Öğrenmek için bir başka mükemmel yol, biraz eski olmasına rağmen, ücretsiz olan ve çok çeşitli konuları öğreten MSDN Security Labs 'i geçmektir:

  • Geliştirici Başlangıç ​​Kiti: Arabellek Taşmaları
  • Geliştirici Başlangıç ​​Kiti: Kod Analizi
  • Geliştirici Başlangıç ​​Kiti: Derleyici Savunmaları
  • Geliştirici Başlangıç ​​Kiti: Fuzz Testing
  • Geliştirici Başlangıç ​​Seti: Güvenlik Kodu İncelemesi Geliştirici Başlangıç ​​Seti: SQL Enjeksiyonu Güvenlik Açığı

İyi şanslar!

5
Boaz Tirosh

Buradaki önerilerin çoğu bazı harika kaynaklara ve fikirlere işaret ediyor. VM test ortamınız için VirtualBox kullanmanızı öneririm. Ayrıca, yedek paranız varsa, TechNet Subscription almanız için CERT veya başka bir kuruluşun Windows tabanlı bazı VM resimleri indirebileceğinize de inanıyorum, ancak bunu kimin veya nerede bulacağından emin olamıyorum) onlar.

VM'leri çalıştırmak için VirtualBox'ı tercih edip önerirken, tüm VM'leriniz aynı sanallaştırma platformunda çalışırken testin en iyi şekilde çalıştığına dikkat edilmelidir. Dolayısıyla, VMWare Player'da çalışan sistemleri hacklemek istiyorsanız, saldırı sisteminizi VMWare Player'da da bulundurmalısınız.

3
Iszi

Schroeder'ın mükemmel (+1) cevabına biraz eklemek için.

http://exploit-exercises.com ilginç; bir şekilde tırmanmak için zorluklarla bir çift sanal makine. Nebula, kusurlu ortamlarda normal bir hesaptan köke nasıl yükseltileceğini öğretir - çözümlerin çoğu standart numaralardır (çevresel değişkenlere güvenmeyin veya kullanıcı girdisinde eval çalıştırma veya yürütülebilir dosyanın çalıştırılacağı varsayımları yapma) önerildiği gibi).

Protostar/füzyon daha ileridir (örn. Tampon taşmaları).

Ayrıca WAHH (ücretsiz değil; ama ucuz) ve Linux/Unix'te Güvenli Programlama .

2
dr jimbob

Tüm cevapları okumadım, ancak penetrasyon testi hakkında bilgi edinmek ve bunu ücretsiz olarak yapmak için burada irongeek.com tarafından verilen bu eğitim setini deneyebilirsiniz: http: // www. irongeek.com/i.php?page=videos/web-application-pen-testing-tutorials-with-mutillidae

Bu, kalem testi yapmak için kullanabileceğiniz mutillidae adlı kasıtlı olarak savunmasız bir web uygulamasını indirmeye ilişkin talimatlardır. Uygulama, mutillidae, öğrenmenizi sağlayacak ipuçları vardır. Bir çeşit LAMP sunucunuz varsa, klasörü sunucunuzun www klasörüne bırakabilir ve yerel geri döngü adresiniz olan 127.0.0.1'e erişebilirsiniz. Yine de MySQL sunucusunda bazı veritabanı tabloları oluşturmanız gerekir, bu yüzden bu kalem testi aracı şu anda sizin için daha gelişmiş olabilir. Tabloları doldurmak o kadar da zor değil. Gerekli veritabanını da oluşturmuyor. : D

Kali Linux veya Ubuntu çalıştıran bir sanal makinede çalışmak harika olurdu. Özellikle, makinenizde yeterli RAM ve CPU gücü varsa).

SQL Enjeksiyon, Siteler Arası Komut Dosyası ve güvenli kodlama uygulamaları yoluyla savunabilmek için kendinizi eğitebileceğiniz diğer saldırı türleri gibi her türlü şeyi öğrenebilirsiniz.

1
user_loser

Başlangıç ​​döneminde çeşitli PHP uygulamaları yerel sunucunuzda barındırın ve ardından hangisini isterseniz 2 farklı yöntem kullanarak bu güvenlik açıklarını bulmaya çalışın

  1. OWASP test metodolojisi - https://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf 2.WATC - http://projects.webappsec.org/f/ WASC-TC-v1_0.pdf

Manuel pentesting hakkında çok fazla bilginiz yoksa, hosthost üzerinde barındırılan uygulamanıza karşı acunetix ve nessus'u çalıştırın. Bu size destek ve güven verecektir.

O zaman bu metodolojilerden herhangi birini tercih edin.

Bu metodolojide uzman olduğunuzda, kendi test kontrol listenizi oluşturmaya çalışın ve her bulduğunuzda yeni test örnekleri ekleyin.

Bir kez yaptıktan sonra hata ödül programı için gidin.

BUGCROWD çok tanınmış bir hata ödül programıdır ve burada pentest yapabileceğiniz satıcıların listesini bulabilirsiniz. https://bugcrowd.com/list-of-bug-bounty-programs

Tüm süreç böyle olmalıdır.

1
FrOgY

Temelden başlamak ister misin? 0:57

Neredeyse tüm sömürü var çünkü Von Neumann mimarisini sömürüyoruz. Verileri kod olarak ele alabileceğiniz her zaman bir saldırı vektörünüz olur. Mimarinin ne olduğu, platformun ne olduğu, teknoloji yığınının ne olduğu önemli değil ... modern web uygulamaları çoklu bağlamlar arası: HTML/Javascript tarayıcıda. (Saldırı vektörü!)

Sömürü, kodunuzu yürütmek için hedefinize ulaştığınız anlamına gelir. SQL enjeksiyonu, XSS, kabuk kodlarının arkasındaki nokta budur - her şey hakkında! Bir pentester olmayı öğrenmek istiyorsanız ... "Pentester'ın Açık Kaynak araç setini" edinin. (Yasal olarak edinilebilen ücretsiz sürümler vardır.)

Defcon dersleri ücretsiz olarak mevcuttur ve şimdiye kadar aldığım en iyi genel sınıflardan bazılarıdır. Ama her şeyden çok: ellerini kirletmelisin. Webgoattan bahsettin. Firefox'a Tamper verilerini yüklediniz mi? Wireshark yüklediniz mi? Hacking, veri toplamanın mümkün olduğu kadar çok araca sahip olmasıyla ilgilidir, böylece neler olduğunu bilirsiniz. Bu video izleme hakkında çok şey anlatıyor ... her şey ...

https://www.youtube.com/watch?v=Jwot7S6NmLE

0
avgvstvs

İki sentimi tencereye eklemek istiyorum. Tom Scott'un güvenlik videolarından bazılarını Computerphile ve kendi kanalı üzerinde incelemenin başlamanın harika bir yolu olduğunu düşünüyorum. Teknik olarak sağlam ve kavramları çok açık bir şekilde açıklıyorlar. Bunu takiben merak sizi yönlendirsin.

Amazon'un sunucuları, nmap kurmayı deneyin ve neler bulabileceğinizi görün. SQL Injection'da bir şeyler arayın. SHA-1 veya MD5 serbest başlatmaya ne dersiniz? Maliyeti ne kadardır? Bu gibi sorular sizi bilgi güvenliği alanında daha derinlemesine yönlendirebilir.

Bunu aklınızda bulundurun: Korumak veya hacklemek istediğiniz şeyleri bilmeniz gerekir; örneğin, ağları ve benzer şekilde web siteleri için kesmek için TCP) bilgisini bilmeniz gerekir.


Jeff'in cevabı, yandan da olsa bazı görüşler sunuyor. Kendi Amazon AWS sunucunuzu kurmayı ve örneğin çeşitli araçlar kullanarak DDoS'ing yapmayı deneyin.

Ayrıca, gerçek web sitelerinde bir hacker (yasal olarak) olarak yeteneklerinizi test edebilir ve güvenlik hatası ödül programlarında biraz hamur kazanabilirsiniz. Hackerone bu tür programların bir dizinini sunar.

0

Öncelikle, hangi tür veya pentesting alanına başlamak istediğinizi düşünmelisiniz. Örneğin, ağlardaki güvenlik açıklarını (OWASP, CTF'ler) aramaya başlayabilir, açık bağlantı noktalarını aramaya ve hangi hizmetlerin çalıştığını analiz etmeye başlayabilirsiniz (geçerli sürüm için açıklardan yararlanma hakkında bilgi edinme vb.).

İlkini öneririm. Birincisi, anlaşılması en kolay olanı, ikincisi en yaygın olanı, kötü kodlanmış bir ağda bir sistemden daha zayıf bir güvenlik açığı bulmaktır ve üçüncüsü, konu hakkında çok fazla malzeme ve bilginizi test edebileceğiniz ücretsiz zorluklar (CTF'ler)

0
eez0

Uzman olmasam da, Foundstone'un Hacme Bank'ıyla biraz zaman geçirdim (bunu da eklemenin güzel olacağını düşündüm).

0
Lex