Siber Güvenliğe Giriş Kılavuzu // 'Taipan

MeRXaS47

Yeni üye
29 Şub 2020
30
0
Ellerin Dert Görmesin İnan Faydası 1 Kişiye Bile Olsa Dokunacaktir
-----------------------------------------------------------------
HIÇ BIR ŞEY BOŞUNA DEĞILDİR
 

noktalivirgul.

Yeni üye
25 Haz 2020
1
0
konu için teşekkürler. 2006 yılında çocukken lamerlık yapmıştım yine bu forumdan öğrendiğim birkaç şeyle ama şöyle dizimi kırıp adam gibi öğrenmedim bu işleri. sonrasında web programlama ile uğraştım ama yine şurada burada çalış derken yine adam gibi durmadım bu konuların üstünde şimdi yaş oldu 28 pişmanım ama yapacak bir şey yok zararın neresinden dönsen kardır hesabı tekrar döndüm bu dünyalara, fakat öğrendiklerimi birilerinin üzerinde uygulamaktan çok kendi güvenlik önlemlerimi ve zamanında ezberleyip anlamını bilmediğim şeyleri kavramak istiyorum sadece.
 

A Sosyal Asker

Katılımcı Üye
1 Eki 2017
263
0
Bursa
İyi günler hocam.Bir soru sormak istiyorum.Konunuzu gayet kaliteli buldum fakat kendim için yardım isticektim.4 yıldır web geliştiriyorum.Html,css, JavaScript + frameworkleri ve python bilgim var.Bende siber güvenliğe adım atmak istiyorum.2 Haftadır uğraşıyorum. Back end kodlama yaparken 'Açık olmaması için şu şekilde kodluyoruz' diyordum yani açıkların nasıl kapandığına ve nasıl çalıştığına dair bilgim var.1 haftadır python ile kendi toollarımı kodlamayla uğraşıyorum burdan başlayabilirim diye düşündüm.Sizce doğru mu yaptım ve ilerideki adımlarım nasıl olmalı?
 
23 Eyl 2016
106
0
bulunamadı
Güzel bir yazı emeğine sağlık. Ama ben python yerine c,c# ve c++ öneririm böylece nesne tabanlı programlamaya da kod tabanlı programlamaya da hakim olursunuz.
 

halil68102

Yeni üye
19 Tem 2019
24
18
20
TÜRKİYE
Merhabalar arkadaşlar bu konumda siber güvenlik alanına giriş yapacaksak nasıl bir yol izlemeliyiz, nelere dikkat etmeliyiz ve kendimizi geliştirmek için neler yapabiliriz bunları anlatmaya, kaynaklar (konunun sonunda) ve örnekler vermeye çalışacağım. Öncelikle belirtmek istediğim birkaç şey var bunlardan bir tanesi şuan konu açtığım kategorideki Beyaz Şapkalı Hacker Olmak İçin Yapmanız Gerekenler adlı Kenzaii hocamızın açtığı konudan haberim var. Şimdi böyle bir konu forumda var neden bir tane daha açıyorsun diyecek olan arkadaşlarımız çıkabilir. Kesinlikle söyleyebilirim ki bu konu tamamen doğru bir konu lakin şahsıma göre eksik bir konu. Bu yüzden daha geniş çaplı bir konu olması için bu konuyu hazırladım. Belirtmek istediğim bir başka şey ise konuda belirteceğim her şey bazı kesimler veya kişiler tarafından doğru bulunmayabilir ki elbette ben de söylediğim her şey doğru diyemem lakin yanlış gördüğünüz şeyleri ETİK kuralları çerçevesince medeni bir şekilde konuyu baltalamadan konu altında tartışıp fikir alışverişi yapabiliriz. Bunları belirttikten sonra daha fazla uzatmadan konumuza giriş yapalım.



Siber güvenlik denilince aklımıza birçok alan gelebilir. Aslında siber güvenlik şahsıma göre tek bir alan değil bir alanlar topluluğudur. Ben bu konuda ise kendi bilgimin olduğu kadarıyla Web Güvenliği ve Ağ Güvenliği alanlarında ki dikkate alınması gereken şeylerden bahsedeceğim. Bu iki alan kanımca aslında tamamen keskin sınırlarla birbirinden ayrılamazlar yani ben ağ güvenliğine yöneleceğim diyip webe hiç bakmamak yada sıfır bilgim var demek mümkün olamaz. İki alan birbiriyle ilişki içinde bulunan, kesişim kümelerinin olduğu alanlardır. Bu yüzden konudaki başlıkları tek tek Web ve Ağ olarak ayırmadım. Bu hususu da belirttikten sonra izleyeceğimiz yoldaki köşe taşlarımıza geçelim.





1)Mantık-Sorgulama:



Bu konunun en önemli ve üzerinde en çok durulması gereken maddesi olarak Mantık ve Sorgulamayı görüyorum. Bu madde siber güvenlikte hangi alanla ilgilenirseniz ilgilenin hepsi için birinci madde niteliğindedir. Zaten bu maddeden sonra bahsedeceğimiz maddeler aslında bir nevi bu maddenin alt dallarıdır yani mantığı kavramak için yapılması ve bilinmesi gereken şeylerdir.



Yaptığınız veya yapacağınız işin çalışma mantığını ve nedenini bilmezseniz asla tam olarak belli bir konuma gelemezsiniz. Hazır bilgi üzerinden belli bir yere kadar gidebilirsiniz lakin devamında tıkanırsınız. Bu olay siber güvenlikte de geçerlidir. Kullandığınız sistemin çalışma mantığını bilmezseniz, ben bu butona bastım ama bastıktan sonra arkada nasıl olaylar döndü, arkada gerçekleşen olaylar neden bu şekilde gerçekleşti diye sorgulamazsanız 3-0 geride başlarsınız.



Hayatta her zaman sorgulamak insana bir şeyler kazandırır ama kaybettirmez. Eğer işin mantığını bilirseniz ve mantığını bilmek için sorgularsanız üstüne katacağınız bilgileri temelin üstüne oturtmak daha kolay olur. Bunun içinde kullanacağımız üç adet sorumuz var bunlar: Ne, neden ve nasıl. Çok sevdiğim bir hocam olan Engür Pişiricinin bir eğitimde bize en çok yönelttiği ve kafamıza vura vura sordurduğu sorulardır bunlar. Engür hocamın çok sevdiğim de bir sözü vardır onu da burada belirtmeden geçmeyeyim: Eğer bir şeyin güvenliğini öğrenecekseniz öncelikle o şeyi bilmeniz gerekir. Bla bla güvenliğini öğreneceksen o bla blayı bileceksin. Ağ güvenliği öğreneceksen önce ağ bileceksin. der bizi de ayak üstü fırçalar bu üç soruya yöneltirdi. Bu üç soruyu yönelterek sorgumuzu yapar ve işin mantığını kafamıza oturturuz. Bunu bir örnek ile size açıklamaya çalışayım.




DNSi ele alalım. DNSe dair yönelteceğimiz sorularımızı yukarıda belirttik. DNS ne? DNS neden var, ne işe yarar? DNS nasıl çalışır? Sorularımızı bu sırayla yöneltirsek temelimizi oluşturmamız daha kolay olur. Öncelikle DNSin ne olduğunu sonrasında DNSin tanımını bilerek ne işe yaradığını ve neden kullanıldığını en sonunda ise bunların ışığında DNSin çalışma mantığını öğrenerek bu kavramı tamamen kafamızda oturturuz. Peki biz bu yolları izleyerek nasıl bir kazanım elde etmiş oluruz? İşin mantığını bildiğiniz için kendinizi saldırganın yerini koyarak DNSin çalışma adımlarındaki güvenlik açıklarını, zaafiyetleri fark eder ona göre önleminizi alırsınız. Ya da bir sisteme sizden pentest yapmanız istenirse de bu bildiğiniz eksiklikleri kullanırız. Mesela DNSin ve internetin çalışma mantığını eğer anlayamazsınız Ortadaki Adam Saldırısını tam olarak kavrayamaz, kavrasanız bile tek yönlü olarak bilip çeşitli varyasyonlar üretemezsiniz.







5GE7nR.jpg










2)Ağ(Network):




Yukarıda da belirttiğim gibi eğer kollayı sıvayıp ağ güvenliğine dalmak istiyorsak önce ağ öğrenmemiz, ağ temellerini atmamız gerekir. Yani eğer sektörde Ya ben ağ güvenliğiyle uğraşıyorum ama ağ bilgim yok derseniz size karşınızdakiler bir yerleriyle gülerler. Protokolleri, protokollerin çalışma mantığını, birbirleri ile ilişkilerini, ağ mantığını bilmeden yapamayız. Mesela bir önceki konumda bkz: Derinlemesine NMAP ve Gizlenme // 'Taipan NMAPi anlattım ve mantığı üzerinde durdum. Eğer siz konuda verdiğim ağ temellerine vakıf olmadan konuyu okursanız NMAPin çalışma mantığını anlamanız da o kadar zor olur.







yzJ5Y0.jpg








Mesela ağ ve bir sonraki madde olan web için kendi bölümümden bir örnek vereyim. Eğer siz insan(makina,sistem) fizyolojisini(normal işleyiş) bilmezseniz patolojisini(aksaklıklar, hasar, açıklar, zaafiyetler) anlayamazsınız. Yani mesela bir sistemin yönetimini gerçekleştiriyorsunuz ve çalışan işlemlerde birkaç şey var, bunların sistemin normal işleyişinde var olması gereken olaylar mı olduğunu yoksa sistemdeki bir zaafiyetten mi kaynaklandığını anlamanız için öncelikle sistemin normal işleyişinin nasıl olduğunu bilmeniz gerekir. Aynı şekilde bir sisteme pentest yapacaksanız da ağın temelindeki açıkları ve sömürülebilir noktaları bilip ona göre bildiğiniz zaafiyetlere yönlenirsiniz. Misal TCP syn attack yapacaksanız yada IP sahteciliği yapacaksanız(teorikte evet de pratik de çok zor) TCPyi bilmelisiniz.




TCPyi bilmelisiniz derken demek istediğim Açılımı Transmission Control Protocoldür, TCP/IP protokol takımının aktarım katmanı protokollerinden birisidir. Gelişmiş bilgisayar ağlarında paket anahtarlamalı bilgisayar iletişiminde kayıpsız veri gönderimi sağlayabilmek için TCP protokolü yazılmıştır. şeklinde bana TCPyi anlatmanız değildir. TCP bilmek derken çalışma mantığını, neden ihtiyaç olduğunu, ne olduğunu anlatmanızdır.



Ağ hakkındaki bilgilerinizi pekiştirmek için Cisconun bir simülasyonu var bunu kullanabilir. Kendi ağınızı kurup üstünde denemeler yapabilir, işleyişi takip edebilirsiniz. Bunu da belirtmiş olayım.





3)Web:



Evet gelelim en sevdiğim maddelerden birine. Bu maddeyi çok seviyorum çünkü bu madde forumda çoğunluğunun temel olarak ne kastedildiğini şahsıma göre anlamadığı ve çok iyi bildiğini iddia ettiği bir maddedir. Öncelikle gelelim şimdiliye kadar anlatılmış olan şahsıma göre de yanlış olan Web temeline. Bu temel şu şekilde: Önce CMS Bruteforce, sonrasında Havij ile Sql İnjection bunun bir tık üstü olarak Sqlmap ile (temel düzeyde) sql injection, shell atma, config çekme.... ilerleyip gidiyor. Hatta hatırı sayılır kişiler tarafında en basitinden (SQL,İSS,RFI,LFI,XSS) şeklinde açıkların bilinmesi önerilmiştir. Şimdi adım adım bu temeli bir ele alalım.







ZOjM8Z.jpg








a)CMS Bruteforce:




Allah affetsin zamanında ben de yaptım. Lakin sonrasında doğru yolu buldum. Şimdi burayı okuyanların aklına şu gelmesin. CMS bruteforce yapanları aşağılıyor, hor görüyor.. Birincisi bunu yapmam kendi ilkelerime aykırı gelir ikincisi bunu yapmak haddime değildir. Ben burada bunun yanlış kullanımını anlatacağım.



Şimdi ilk gelenlere CMS bruteforce ile başla denir. Karşıdaki de okeyler başlar CMS Bruteforcea. Öncelikle burada ki yanlış yeni gelen ve temel olarak nerden başlamalıyım diyen kişiye temel diye CMS Bruteforceu vermek. Şimdi gelelim ikinci yanlışa. Ben kimseye sakın CMS Bruteforce kullanma demem. Kullanacaksan kullan lakin orda 2 tane butona basıp çıkan siteyi burda allayıp pullayıp pazarlarsan ve başka insanlara bununla hava atarsan işte o zaman laf ederim. Arkadaşlar CMS Bruteforceu kullanacaksanız kullanın ama lütfen çalışma mantığını bilerek kullanın. Hani diyorsanki kardeş ben günde illa bir defa CMS bruteforce açmadan yapamıyorum. Açın açmayın diyen yok lakin o program arkada neler yapıyor? Neden ben bu butona basıyorum. Bu butona bastığımda arkada noluyor? Bunları düşünerek araştırarak yapın.







jQrBzg.jpg








Burda dikkatinizi çekmek istediğim bir nokta var. Bakın en baştan beri Bruteforce yapmayın demiyorum CMS bruteforce yapmayın, illa yapacaksanız da çalışma mantığını bilerek zevk için yapın diyorum çünkü bruteforce yapma dersek yanlış yapmış oluruz. Bruteforce doğru şekilde ve bilinçli kullanımlarında çok etkili ve bazen kullanılması şart olan bir yöntemdir. Bunun da altını çizelim.






b)SQL Injection:



Şimdi de buradaki yanlışlara değinelim. Kişiye öncelikle birkaç tane video atıp(sql açığı sorgulama, havij kullanımı, sqlmap kullanımı) sql injection yarım yamalak anlatılır. Bu birinci yanlışımız. İkinci yanlışımız ise en basitinden (SQL,İSS,RFI,LFI,XSS) tırnak içinde belirtildiği gibi bu açıkları basit olarak görmek. Madem bu kadar basit açıklar ve bu kadar kolay öğrenilebiliyor ise neden bu beyanlarda bulunan kişileri HackerOne tarzı sitelerde çok yüksek miktarlı ödemeler yapan şirketlerden ödül almış şekilde göremiyoruz?







GyW31v.png








Şimdi gelelim Webin şahsıma göre doğru olan temeli nedir ve nasıl atılmalıdır o bölüme. Eğer kişiye web temeli verilecekse bunlar zaafiyetler değil webin kendisi olmalıdır. Php, js, css, html, veritabanı yönetimi gibi şeyler verilmelidir ki kişi zaafiyetleri anlayabilsin. Buna 3 tane örnek vereceğim ilk örneğimiz SQL injection üstünden olacak. En basitinden mesela elinizde bir site var ve sitede sql var mı diye kontrol edeceksiniz. Nasıl yapılması anlatıldı? Sonuna tırnak işareti koyarak. Bizim yapmamız gereken şey neden tırnak işareti koyuyoruz? Ya da tırnak işareti yerine ünlem işareti koysak olmaz mı , olmazsa neden olur, olmazsa neden olmaz? Bu soruları yöneltmek ve atıyorum SQLMAP kullanıyorsunuz diyelim yada manuel olarak yapıyorsunuz. Select, where, get gibi girdileri neden veriyoruz? Bunlar neden bize bu çıktıları veriyor? Şeklinde sorular yönetip SQL sisteminin çalışma mantığını ve nasıl işlediğini bilmeliyiz ki bu soruların cevaplarını alabilelim.




İkinci örneğimiz ise XSS zaafiyeti üzerinden olacak. Mesela XSS zaafiyeti var mı diye kontrol ediyorsunuz, atıyorum bunu alert verdirerek yapmaya çalışıyorsunuz ama biz bu alerti nasıl verdiriyoruz, bu alert neden çıkıyor? Diye sorular yöneltmeliyiz. Alerti verdirirken js kodu çalıştırıyorsunuz. Bu yüzden JavaScript bilmeliyiz. Eğer javascript bilmeden ben xss açığı kullanıyorum falan derseniz sadece kendinizi kandırmış olursunuz.







bLZygY.png








Üçüncü örneğimiz ise yine çok kullanılan yöntemlerden biri olan Login Bypass yönetimiyle ilgili olacak. Siz admin panelini karşınıza aldınız gittiniz admin ve pass bölümüne ''Or'='Or'' veya 1'or'1'='1 yazdınız panele girdiniz. Peki biz bu kodları kullanarak sisteme giriş nasıl yaptık? Neden bu kodları kullandık? Mesela ben Taipan=Taipan yazsaydım sisteme girmez miydi? Girmezse neden girmezdi veya girseydi neden girerdi? Şeklinde soruları yöneltip bunların mantığını kavramaya temelini öğrenmeye çalışmalıyız. Web konusunda diyebileceklerim bunlar.






4)Temel Linux Bilgisi:



Arkadaşlar size gidip kali linux kurun veya ubuntu kurun falan demeyeceğim lakin sanal makinede de olsa bir linux dağıtımına sahip olmanızı öneririm. Linux bilgisi sektörde vazgeçilmeyen şeylerden biridir. Temel komutları, dizinleri, server yönetimini, önemli dosya ve klasörleri bilmeniz gerekmektedir. Bash script yazamayan insan kendine şahsıma göre güvenlikçi dememelidir. Mesela çoğumuzun yaptığı bir şeyden örnek vereyim. Forumda birçok konuda anlatılan bir şeyden bahsedeceğim Shell Atma. Gittik bir siteye shelli bastık shell ekranı karşımızda konularda hep public_html sekmesine ulaşmamız istenir. Peki neden bu sekme? Bu sekme aslında neye karşılık geliyor? Ya da shell üzerinde linux komutları çalıştırılabilir mi? Bu soruların cevaplarını alabilmemiz için linux temellerini bilmemiz gerekir. Tersten bakacak olursak mesela siz bir linux servera sızdınız yada o serverın üzerindeki siteler ve server size emanet. Siz nereye bakmalısınız? Hangi dizine dikkat etmelisiniz? Hangi dosyalardan bilgi toplayabilir yada toplanmasını engelleyebilirsiniz? Bu soruların yanıtları için de temel düzeyde linux bilgisi gereklidir. He tabi kimseye linux bilgini temelde tut, windows bilme falan demiyoruz yanlış anlaşılmasın. Windows bilgisinin de olması gerekmektedir tabi ki. Genel olarak işletim sistemleri hakkında bilgi diyebiliriz.







Qp8vXg.jpg








5)Python




Şimdi burda python dedim diye diğer dilleri es geçin demiyorum sakın yanlış anlaşılmasın. Daha yaygın ve basit kullanımından ötürü python diyorum. Python bilmek cidden hayat kurtarıyor. Python temellerinizi sağlam atıp Python 4 Hackers kısmına geçmenizi öneririm. Konunun en sonunda vereceğim CTF linkindeki soruları inceleyip neden bu kadar önemli olduğunu anlayabilirsiniz.







pGMXy0.jpg










6)İngilizce




İngilizce olmadan belli bir yere kadar ilerleyebiliyorsunuz lakin kaynak konusunda çok sıkıntı çekiyorsunuz. Genelde düzgün ve faydalı kaynakların çoğunun ingilizce olması, Uluslararası iletişim dili olması, sektörde kullanımının yaygın olması nedeniyle ingilizce çok önemli bir köşe taşı.





7)Eğitimler ve Konferanslar




Türkiyede ücretsiz birçok eğitim bulunmakta. Genelde eğitimler konferanslarla beraber olurlar lakin sadece konferanslar da olabiliyor. Kendinizi geliştirmeniz açısından eğitimler ve konferanslar çok önemli çünkü kısa sürede işin ehli kişilerden bilgi alımı yapıp genelde bunu test etme imkanı da buluyorsunuz. Mesela Türkiyede aklıma gelen birkaç tane ücretsiz eğitim veren(sınavla veya sınavsız),konferans düzenleyen etkinlik yazayım: Hacktrick, Linux Yaz Kampı, BGA, Cezeri SGA, CSCon, Akademik Bilişim Günleri, Lostar Yaz Kampı, Özgür Web Günleri şimdilik aklıma gelenler bunlar lakin konunun sonunda birçok şirket, topluluk ve şahıs linki vereceğim oradan takip edebilirsiniz. Ek olarak ücretli eğitimler de var ancak onları paylaşmak istemedim araştırıp bulabilirsiniz.



Bir de DD co-adminimizin oluşturduğu bir liste var onu da ekleyeyim





Kod:
https://twitter.com/DDenekk/status/936258887598198784





PO2nv8.jpg








8)CTFler




Abi büyük küçük demeyin gördüğünüz CTFe katılabiliyorsanız katılın. CTFler edinilen bilgilerin pekiştirilmesinde ve yeni bilgiler edinilmesinde çok etkili bir yöntem. E tabi birde işin ucunda ödül de oluyor. CTFlerin başka güzel bir yanı ise soruları çözmek için uğraşırken araştırma yapıyorsunuz ve bu zaman diliminde araştırma yapıp öğrendiğiniz bilgiler başarıyla birleşince akılda daha çok kalıcı oluyorlar. Yukarıda belirttiğim şirket, topluluk veyahut etkinliklerde eğitime girişler genelde ctf ile oluyor yada eğitim sonunda CTF düzenleniyor. Bunlara ek olarak kendiniz istediğiniz zaman uğraşabileceğiniz CTFler için konu sonunda birkaç tane link vereceğim ordan girip uğraşabilirsiniz. Ayrıyetten üst düzey CTFler hariç çevremdeki arkadaşlarla mizah olarak belirlediğimiz ve girdiğimiz CTFlerde karşımıza birçok kez çıkan CTFin 5 Farzı dediğimiz unsurlar var onları da şöyle dizeyim:



-Linux Bilgisi

-Python Bilgisi

-Wireshark

-Kriptoloji(Ciddi matematik ister)

-Think Simple



Hele sonuncusu yani basit düşünme bazen soruların cevaplarını görünce o kadar içinizi acıtıyor ki Lan ben neler yaptım bu muymuş falan diyorsunuz. Bunları da belirtmiş olup yukarıdaki maddelerin önemini kavrayabilmeniz için son zamanlar bir CTF olan STMCTFin sorularının ve çözümlerinin olduğu bir linki paylaşıp bir sonraki ve son maddemize geçelim. STMCTFin sorularını incelemenizi kesinlikle öneririm. Şahsen hem ufkumu açtı hem de ne kadar düşük bir seviyede olduğumu fark edip çalışma azmi verdi.






Kod:
https://github.com/stmctf/stmctf17







7yW795.jpg








9)Sektördeki Abilerimiz, Topluluklar ile Günceli Takip Etmek:




Başlık biraz uzun ama maddeyi tamamen açıklar şekilde oldu. Türkçe kaynak sıkıntısı çekmemek için sektörde yer sahibi olan kişileri, toplulukları ve sayfaları takip ederek blog yazılarından, makalelerinde ve incelemelerinden faydalanmak size çok şey katar. Bunlara ek olarak da günceli takip ederek yenilikleri öğrenir ve kendi bilgilerimizle pekiştirip anlamaya çalışarak fransız kalmamış oluruz. Bu madde ile ilgili olan linkleri de konunun sonunda sizlerle paylaşacağım.





Sektördeki Abilerimiz:








Kod:
https://twitter.com/MertSARICA[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://twitter.com/dimakoci_

https://twitter.com/mertcangokgoz

https://twitter.com/erdem_kayar

https://twitter.com/0x94

https://twitter.com/GurayYildirim

https://twitter.com/m3karadag

https://twitter.com/KoAkinci

https://twitter.com/cihanmehmets

https://twitter.com/AltnokBesim

https://twitter.com/mdisec

https://twitter.com/Barknkilic

https://twitter.com/hlldz










Bloglar ve Kaynaklar:





Kod:
http://python4hackers.com/[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://github.com/fatihacet/turkcekaynaklar-com

https://www.mertsarica.com/

https://mertcangokgoz.com

http://ahmetkotan.com.tr/

https://twitter.com/utkusen

http://www.halitince.net/

https://www.wonderhowto.com/

https://www.teakolik.com

https://www.invictuseurope.com

https://tryhackme.com/dashboard

https://cbolat.blogspot.com

https://pwnlab.me

https://ttmo.re/kutuphane/

https://www.gurayyildirim.com.tr/

http://www.gokhanyuceler.com/

https://furkankayar.net/

https://www.mehmetince.net/

https://github.com/Hack-with-Github/Awesome-Hacking

http://alperbasaran.com/

https://www.netsparker.com/blog/

phrack.org






Evet arkadaşlar konunun sonuna gelmiş bulunmaktayız. Konudan önce beni uyaran birkaç kişi oldu kardeşim uğraşıyorsun açacaksın ama millet bildiğinden pek şaşmaz diye benim amacım bir kişi de olsa insanların biraz daha bilinçlenmesidir. Bir de la bu kadar şey yazdın da sanki kendin yapıyor musun diyebilirsiniz. Barış Mançonun sevdiğim bir sözü vardır Barış söyler de kendi bir ders alır mı? diye bende de o hesap :) Herkese iyi akşamlar dilerim.
teşekkür ederim
 
30 Kas 2021
122
56
root@wortex
Merhabalar arkadaşlar bu konumda siber güvenlik alanına giriş yapacaksak nasıl bir yol izlemeliyiz, nelere dikkat etmeliyiz ve kendimizi geliştirmek için neler yapabiliriz bunları anlatmaya, kaynaklar (konunun sonunda) ve örnekler vermeye çalışacağım. Öncelikle belirtmek istediğim birkaç şey var bunlardan bir tanesi şuan konu açtığım kategorideki http://www.turkhackteam.org/siber-g...li-hacker-olmak-icin-yapmaniz-gerekenler.html adlı Kenzaii hocamızın açtığı konudan haberim var. Şimdi böyle bir konu forumda var neden bir tane daha açıyorsun diyecek olan arkadaşlarımız çıkabilir. Kesinlikle söyleyebilirim ki bu konu tamamen doğru bir konu lakin şahsıma göre eksik bir konu. Bu yüzden daha geniş çaplı bir konu olması için bu konuyu hazırladım. Belirtmek istediğim bir başka şey ise konuda belirteceğim her şey bazı kesimler veya kişiler tarafından doğru bulunmayabilir ki elbette ben de söylediğim her şey doğru diyemem lakin yanlış gördüğünüz şeyleri ETİK kuralları çerçevesince medeni bir şekilde konuyu baltalamadan konu altında tartışıp fikir alışverişi yapabiliriz. Bunları belirttikten sonra daha fazla uzatmadan konumuza giriş yapalım.



Siber güvenlik denilince aklımıza birçok alan gelebilir. Aslında siber güvenlik şahsıma göre tek bir alan değil bir alanlar topluluğudur. Ben bu konuda ise kendi bilgimin olduğu kadarıyla Web Güvenliği ve Ağ Güvenliği alanlarında ki dikkate alınması gereken şeylerden bahsedeceğim. Bu iki alan kanımca aslında tamamen keskin sınırlarla birbirinden ayrılamazlar yani ben ağ güvenliğine yöneleceğim diyip webe hiç bakmamak yada sıfır bilgim var demek mümkün olamaz. İki alan birbiriyle ilişki içinde bulunan, kesişim kümelerinin olduğu alanlardır. Bu yüzden konudaki başlıkları tek tek Web ve Ağ olarak ayırmadım. Bu hususu da belirttikten sonra izleyeceğimiz yoldaki köşe taşlarımıza geçelim.





1)Mantık-Sorgulama:



Bu konunun en önemli ve üzerinde en çok durulması gereken maddesi olarak Mantık ve Sorgulamayı görüyorum. Bu madde siber güvenlikte hangi alanla ilgilenirseniz ilgilenin hepsi için birinci madde niteliğindedir. Zaten bu maddeden sonra bahsedeceğimiz maddeler aslında bir nevi bu maddenin alt dallarıdır yani mantığı kavramak için yapılması ve bilinmesi gereken şeylerdir.



Yaptığınız veya yapacağınız işin çalışma mantığını ve nedenini bilmezseniz asla tam olarak belli bir konuma gelemezsiniz. Hazır bilgi üzerinden belli bir yere kadar gidebilirsiniz lakin devamında tıkanırsınız. Bu olay siber güvenlikte de geçerlidir. Kullandığınız sistemin çalışma mantığını bilmezseniz, ben bu butona bastım ama bastıktan sonra arkada nasıl olaylar döndü, arkada gerçekleşen olaylar neden bu şekilde gerçekleşti diye sorgulamazsanız 3-0 geride başlarsınız.



Hayatta her zaman sorgulamak insana bir şeyler kazandırır ama kaybettirmez. Eğer işin mantığını bilirseniz ve mantığını bilmek için sorgularsanız üstüne katacağınız bilgileri temelin üstüne oturtmak daha kolay olur. Bunun içinde kullanacağımız üç adet sorumuz var bunlar: Ne, neden ve nasıl. Çok sevdiğim bir hocam olan Engür Pişiricinin bir eğitimde bize en çok yönelttiği ve kafamıza vura vura sordurduğu sorulardır bunlar. Engür hocamın çok sevdiğim de bir sözü vardır onu da burada belirtmeden geçmeyeyim: Eğer bir şeyin güvenliğini öğrenecekseniz öncelikle o şeyi bilmeniz gerekir. Bla bla güvenliğini öğreneceksen o bla blayı bileceksin. Ağ güvenliği öğreneceksen önce ağ bileceksin. der bizi de ayak üstü fırçalar bu üç soruya yöneltirdi. Bu üç soruyu yönelterek sorgumuzu yapar ve işin mantığını kafamıza oturturuz. Bunu bir örnek ile size açıklamaya çalışayım.




DNSi ele alalım. DNSe dair yönelteceğimiz sorularımızı yukarıda belirttik. DNS ne? DNS neden var, ne işe yarar? DNS nasıl çalışır? Sorularımızı bu sırayla yöneltirsek temelimizi oluşturmamız daha kolay olur. Öncelikle DNSin ne olduğunu sonrasında DNSin tanımını bilerek ne işe yaradığını ve neden kullanıldığını en sonunda ise bunların ışığında DNSin çalışma mantığını öğrenerek bu kavramı tamamen kafamızda oturturuz. Peki biz bu yolları izleyerek nasıl bir kazanım elde etmiş oluruz? İşin mantığını bildiğiniz için kendinizi saldırganın yerini koyarak DNSin çalışma adımlarındaki güvenlik açıklarını, zaafiyetleri fark eder ona göre önleminizi alırsınız. Ya da bir sisteme sizden pentest yapmanız istenirse de bu bildiğiniz eksiklikleri kullanırız. Mesela DNSin ve internetin çalışma mantığını eğer anlayamazsınız Ortadaki Adam Saldırısını tam olarak kavrayamaz, kavrasanız bile tek yönlü olarak bilip çeşitli varyasyonlar üretemezsiniz.







5GE7nR.jpg










2)Ağ(Network):




Yukarıda da belirttiğim gibi eğer kollayı sıvayıp ağ güvenliğine dalmak istiyorsak önce ağ öğrenmemiz, ağ temellerini atmamız gerekir. Yani eğer sektörde Ya ben ağ güvenliğiyle uğraşıyorum ama ağ bilgim yok derseniz size karşınızdakiler bir yerleriyle gülerler. Protokolleri, protokollerin çalışma mantığını, birbirleri ile ilişkilerini, ağ mantığını bilmeden yapamayız. Mesela bir önceki konumda bkz: http://www.turkhackteam.org/siber-guvenlik/1560975-derinlemesine-nmap-ve-gizlenme-taipan.html NMAPi anlattım ve mantığı üzerinde durdum. Eğer siz konuda verdiğim ağ temellerine vakıf olmadan konuyu okursanız NMAPin çalışma mantığını anlamanız da o kadar zor olur.







yzJ5Y0.jpg








Mesela ağ ve bir sonraki madde olan web için kendi bölümümden bir örnek vereyim. Eğer siz insan(makina,sistem) fizyolojisini(normal işleyiş) bilmezseniz patolojisini(aksaklıklar, hasar, açıklar, zaafiyetler) anlayamazsınız. Yani mesela bir sistemin yönetimini gerçekleştiriyorsunuz ve çalışan işlemlerde birkaç şey var, bunların sistemin normal işleyişinde var olması gereken olaylar mı olduğunu yoksa sistemdeki bir zaafiyetten mi kaynaklandığını anlamanız için öncelikle sistemin normal işleyişinin nasıl olduğunu bilmeniz gerekir. Aynı şekilde bir sisteme pentest yapacaksanız da ağın temelindeki açıkları ve sömürülebilir noktaları bilip ona göre bildiğiniz zaafiyetlere yönlenirsiniz. Misal TCP syn attack yapacaksanız yada IP sahteciliği yapacaksanız(teorikte evet de pratik de çok zor) TCPyi bilmelisiniz.




TCPyi bilmelisiniz derken demek istediğim Açılımı Transmission Control Protocoldür, TCP/IP protokol takımının aktarım katmanı protokollerinden birisidir. Gelişmiş bilgisayar ağlarında paket anahtarlamalı bilgisayar iletişiminde kayıpsız veri gönderimi sağlayabilmek için TCP protokolü yazılmıştır. şeklinde bana TCPyi anlatmanız değildir. TCP bilmek derken çalışma mantığını, neden ihtiyaç olduğunu, ne olduğunu anlatmanızdır.



Ağ hakkındaki bilgilerinizi pekiştirmek için Cisconun bir simülasyonu var bunu kullanabilir. Kendi ağınızı kurup üstünde denemeler yapabilir, işleyişi takip edebilirsiniz. Bunu da belirtmiş olayım.





3)Web:



Evet gelelim en sevdiğim maddelerden birine. Bu maddeyi çok seviyorum çünkü bu madde forumda çoğunluğunun temel olarak ne kastedildiğini şahsıma göre anlamadığı ve çok iyi bildiğini iddia ettiği bir maddedir. Öncelikle gelelim şimdiliye kadar anlatılmış olan şahsıma göre de yanlış olan Web temeline. Bu temel şu şekilde: Önce CMS Bruteforce, sonrasında Havij ile Sql İnjection bunun bir tık üstü olarak Sqlmap ile (temel düzeyde) sql injection, shell atma, config çekme.... ilerleyip gidiyor. Hatta hatırı sayılır kişiler tarafında en basitinden (SQL,İSS,RFI,LFI,XSS) şeklinde açıkların bilinmesi önerilmiştir. Şimdi adım adım bu temeli bir ele alalım.







ZOjM8Z.jpg








a)CMS Bruteforce:




Allah affetsin zamanında ben de yaptım. Lakin sonrasında doğru yolu buldum. Şimdi burayı okuyanların aklına şu gelmesin. CMS bruteforce yapanları aşağılıyor, hor görüyor.. Birincisi bunu yapmam kendi ilkelerime aykırı gelir ikincisi bunu yapmak haddime değildir. Ben burada bunun yanlış kullanımını anlatacağım.



Şimdi ilk gelenlere CMS bruteforce ile başla denir. Karşıdaki de okeyler başlar CMS Bruteforcea. Öncelikle burada ki yanlış yeni gelen ve temel olarak nerden başlamalıyım diyen kişiye temel diye CMS Bruteforceu vermek. Şimdi gelelim ikinci yanlışa. Ben kimseye sakın CMS Bruteforce kullanma demem. Kullanacaksan kullan lakin orda 2 tane butona basıp çıkan siteyi burda allayıp pullayıp pazarlarsan ve başka insanlara bununla hava atarsan işte o zaman laf ederim. Arkadaşlar CMS Bruteforceu kullanacaksanız kullanın ama lütfen çalışma mantığını bilerek kullanın. Hani diyorsanki kardeş ben günde illa bir defa CMS bruteforce açmadan yapamıyorum. Açın açmayın diyen yok lakin o program arkada neler yapıyor? Neden ben bu butona basıyorum. Bu butona bastığımda arkada noluyor? Bunları düşünerek araştırarak yapın.







jQrBzg.jpg








Burda dikkatinizi çekmek istediğim bir nokta var. Bakın en baştan beri Bruteforce yapmayın demiyorum CMS bruteforce yapmayın, illa yapacaksanız da çalışma mantığını bilerek zevk için yapın diyorum çünkü bruteforce yapma dersek yanlış yapmış oluruz. Bruteforce doğru şekilde ve bilinçli kullanımlarında çok etkili ve bazen kullanılması şart olan bir yöntemdir. Bunun da altını çizelim.






b)SQL Injection:



Şimdi de buradaki yanlışlara değinelim. Kişiye öncelikle birkaç tane video atıp(sql açığı sorgulama, havij kullanımı, sqlmap kullanımı) sql injection yarım yamalak anlatılır. Bu birinci yanlışımız. İkinci yanlışımız ise en basitinden (SQL,İSS,RFI,LFI,XSS) tırnak içinde belirtildiği gibi bu açıkları basit olarak görmek. Madem bu kadar basit açıklar ve bu kadar kolay öğrenilebiliyor ise neden bu beyanlarda bulunan kişileri HackerOne tarzı sitelerde çok yüksek miktarlı ödemeler yapan şirketlerden ödül almış şekilde göremiyoruz?







GyW31v.png








Şimdi gelelim Webin şahsıma göre doğru olan temeli nedir ve nasıl atılmalıdır o bölüme. Eğer kişiye web temeli verilecekse bunlar zaafiyetler değil webin kendisi olmalıdır. Php, js, css, html, veritabanı yönetimi gibi şeyler verilmelidir ki kişi zaafiyetleri anlayabilsin. Buna 3 tane örnek vereceğim ilk örneğimiz SQL injection üstünden olacak. En basitinden mesela elinizde bir site var ve sitede sql var mı diye kontrol edeceksiniz. Nasıl yapılması anlatıldı? Sonuna tırnak işareti koyarak. Bizim yapmamız gereken şey neden tırnak işareti koyuyoruz? Ya da tırnak işareti yerine ünlem işareti koysak olmaz mı , olmazsa neden olur, olmazsa neden olmaz? Bu soruları yöneltmek ve atıyorum SQLMAP kullanıyorsunuz diyelim yada manuel olarak yapıyorsunuz. Select, where, get gibi girdileri neden veriyoruz? Bunlar neden bize bu çıktıları veriyor? Şeklinde sorular yönetip SQL sisteminin çalışma mantığını ve nasıl işlediğini bilmeliyiz ki bu soruların cevaplarını alabilelim.




İkinci örneğimiz ise XSS zaafiyeti üzerinden olacak. Mesela XSS zaafiyeti var mı diye kontrol ediyorsunuz, atıyorum bunu alert verdirerek yapmaya çalışıyorsunuz ama biz bu alerti nasıl verdiriyoruz, bu alert neden çıkıyor? Diye sorular yöneltmeliyiz. Alerti verdirirken js kodu çalıştırıyorsunuz. Bu yüzden JavaScript bilmeliyiz. Eğer javascript bilmeden ben xss açığı kullanıyorum falan derseniz sadece kendinizi kandırmış olursunuz.







bLZygY.png








Üçüncü örneğimiz ise yine çok kullanılan yöntemlerden biri olan Login Bypass yönetimiyle ilgili olacak. Siz admin panelini karşınıza aldınız gittiniz admin ve pass bölümüne ''Or'='Or'' veya 1'or'1'='1 yazdınız panele girdiniz. Peki biz bu kodları kullanarak sisteme giriş nasıl yaptık? Neden bu kodları kullandık? Mesela ben Taipan=Taipan yazsaydım sisteme girmez miydi? Girmezse neden girmezdi veya girseydi neden girerdi? Şeklinde soruları yöneltip bunların mantığını kavramaya temelini öğrenmeye çalışmalıyız. Web konusunda diyebileceklerim bunlar.






4)Temel Linux Bilgisi:



Arkadaşlar size gidip kali linux kurun veya ubuntu kurun falan demeyeceğim lakin sanal makinede de olsa bir linux dağıtımına sahip olmanızı öneririm. Linux bilgisi sektörde vazgeçilmeyen şeylerden biridir. Temel komutları, dizinleri, server yönetimini, önemli dosya ve klasörleri bilmeniz gerekmektedir. Bash script yazamayan insan kendine şahsıma göre güvenlikçi dememelidir. Mesela çoğumuzun yaptığı bir şeyden örnek vereyim. Forumda birçok konuda anlatılan bir şeyden bahsedeceğim Shell Atma. Gittik bir siteye shelli bastık shell ekranı karşımızda konularda hep public_html sekmesine ulaşmamız istenir. Peki neden bu sekme? Bu sekme aslında neye karşılık geliyor? Ya da shell üzerinde linux komutları çalıştırılabilir mi? Bu soruların cevaplarını alabilmemiz için linux temellerini bilmemiz gerekir. Tersten bakacak olursak mesela siz bir linux servera sızdınız yada o serverın üzerindeki siteler ve server size emanet. Siz nereye bakmalısınız? Hangi dizine dikkat etmelisiniz? Hangi dosyalardan bilgi toplayabilir yada toplanmasını engelleyebilirsiniz? Bu soruların yanıtları için de temel düzeyde linux bilgisi gereklidir. He tabi kimseye linux bilgini temelde tut, windows bilme falan demiyoruz yanlış anlaşılmasın. Windows bilgisinin de olması gerekmektedir tabi ki. Genel olarak işletim sistemleri hakkında bilgi diyebiliriz.







Qp8vXg.jpg








5)Python




Şimdi burda python dedim diye diğer dilleri es geçin demiyorum sakın yanlış anlaşılmasın. Daha yaygın ve basit kullanımından ötürü python diyorum. Python bilmek cidden hayat kurtarıyor. Python temellerinizi sağlam atıp Python 4 Hackers kısmına geçmenizi öneririm. Konunun en sonunda vereceğim CTF linkindeki soruları inceleyip neden bu kadar önemli olduğunu anlayabilirsiniz.







pGMXy0.jpg










6)İngilizce




İngilizce olmadan belli bir yere kadar ilerleyebiliyorsunuz lakin kaynak konusunda çok sıkıntı çekiyorsunuz. Genelde düzgün ve faydalı kaynakların çoğunun ingilizce olması, Uluslararası iletişim dili olması, sektörde kullanımının yaygın olması nedeniyle ingilizce çok önemli bir köşe taşı.





7)Eğitimler ve Konferanslar




Türkiyede ücretsiz birçok eğitim bulunmakta. Genelde eğitimler konferanslarla beraber olurlar lakin sadece konferanslar da olabiliyor. Kendinizi geliştirmeniz açısından eğitimler ve konferanslar çok önemli çünkü kısa sürede işin ehli kişilerden bilgi alımı yapıp genelde bunu test etme imkanı da buluyorsunuz. Mesela Türkiyede aklıma gelen birkaç tane ücretsiz eğitim veren(sınavla veya sınavsız),konferans düzenleyen etkinlik yazayım: Hacktrick, Linux Yaz Kampı, BGA, Cezeri SGA, CSCon, Akademik Bilişim Günleri, Lostar Yaz Kampı, Özgür Web Günleri şimdilik aklıma gelenler bunlar lakin konunun sonunda birçok şirket, topluluk ve şahıs linki vereceğim oradan takip edebilirsiniz. Ek olarak ücretli eğitimler de var ancak onları paylaşmak istemedim araştırıp bulabilirsiniz.



Bir de DD co-adminimizin oluşturduğu bir liste var onu da ekleyeyim





Kod:
https://twitter.com/DDenekk/status/936258887598198784





PO2nv8.jpg








8)CTFler




Abi büyük küçük demeyin gördüğünüz CTFe katılabiliyorsanız katılın. CTFler edinilen bilgilerin pekiştirilmesinde ve yeni bilgiler edinilmesinde çok etkili bir yöntem. E tabi birde işin ucunda ödül de oluyor. CTFlerin başka güzel bir yanı ise soruları çözmek için uğraşırken araştırma yapıyorsunuz ve bu zaman diliminde araştırma yapıp öğrendiğiniz bilgiler başarıyla birleşince akılda daha çok kalıcı oluyorlar. Yukarıda belirttiğim şirket, topluluk veyahut etkinliklerde eğitime girişler genelde ctf ile oluyor yada eğitim sonunda CTF düzenleniyor. Bunlara ek olarak kendiniz istediğiniz zaman uğraşabileceğiniz CTFler için konu sonunda birkaç tane link vereceğim ordan girip uğraşabilirsiniz. Ayrıyetten üst düzey CTFler hariç çevremdeki arkadaşlarla mizah olarak belirlediğimiz ve girdiğimiz CTFlerde karşımıza birçok kez çıkan CTFin 5 Farzı dediğimiz unsurlar var onları da şöyle dizeyim:



-Linux Bilgisi

-Python Bilgisi

-Wireshark

-Kriptoloji(Ciddi matematik ister)

-Think Simple



Hele sonuncusu yani basit düşünme bazen soruların cevaplarını görünce o kadar içinizi acıtıyor ki Lan ben neler yaptım bu muymuş falan diyorsunuz. Bunları da belirtmiş olup yukarıdaki maddelerin önemini kavrayabilmeniz için son zamanlar bir CTF olan STMCTFin sorularının ve çözümlerinin olduğu bir linki paylaşıp bir sonraki ve son maddemize geçelim. STMCTFin sorularını incelemenizi kesinlikle öneririm. Şahsen hem ufkumu açtı hem de ne kadar düşük bir seviyede olduğumu fark edip çalışma azmi verdi.






Kod:
https://github.com/stmctf/stmctf17







7yW795.jpg








9)Sektördeki Abilerimiz, Topluluklar ile Günceli Takip Etmek:




Başlık biraz uzun ama maddeyi tamamen açıklar şekilde oldu. Türkçe kaynak sıkıntısı çekmemek için sektörde yer sahibi olan kişileri, toplulukları ve sayfaları takip ederek blog yazılarından, makalelerinde ve incelemelerinden faydalanmak size çok şey katar. Bunlara ek olarak da günceli takip ederek yenilikleri öğrenir ve kendi bilgilerimizle pekiştirip anlamaya çalışarak fransız kalmamış oluruz. Bu madde ile ilgili olan linkleri de konunun sonunda sizlerle paylaşacağım.





Sektördeki Abilerimiz:








Kod:
https://twitter.com/MertSARICA[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://twitter.com/dimakoci_

https://twitter.com/mertcangokgoz

https://twitter.com/erdem_kayar

https://twitter.com/0x94

https://twitter.com/GurayYildirim

https://twitter.com/m3karadag

https://twitter.com/KoAkinci

https://twitter.com/cihanmehmets

https://twitter.com/AltnokBesim

https://twitter.com/mdisec

https://twitter.com/Barknkilic

https://twitter.com/hlldz










Bloglar ve Kaynaklar:





Kod:
http://python4hackers.com/[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://github.com/fatihacet/turkcekaynaklar-com

https://www.mertsarica.com/

https://mertcangokgoz.com

http://ahmetkotan.com.tr/

https://twitter.com/utkusen

http://www.halitince.net/

https://www.wonderhowto.com/

https://www.teakolik.com

https://www.invictuseurope.com

https://tryhackme.com/dashboard

https://cbolat.blogspot.com

https://pwnlab.me

https://ttmo.re/kutuphane/

https://www.gurayyildirim.com.tr/

http://www.gokhanyuceler.com/

https://furkankayar.net/

https://www.mehmetince.net/

https://github.com/Hack-with-Github/Awesome-Hacking

http://alperbasaran.com/

https://www.netsparker.com/blog/

phrack.org






Evet arkadaşlar konunun sonuna gelmiş bulunmaktayız. Konudan önce beni uyaran birkaç kişi oldu kardeşim uğraşıyorsun açacaksın ama millet bildiğinden pek şaşmaz diye benim amacım bir kişi de olsa insanların biraz daha bilinçlenmesidir. Bir de la bu kadar şey yazdın da sanki kendin yapıyor musun diyebilirsiniz. Barış Mançonun sevdiğim bir sözü vardır Barış söyler de kendi bir ders alır mı? diye bende de o hesap :) Herkese iyi akşamlar dilerim.
elinize sağlık
 

UreX

Yeni üye
26 Haz 2019
47
14
Botnet
Merhabalar arkadaşlar bu konumda siber güvenlik alanına giriş yapacaksak nasıl bir yol izlemeliyiz, nelere dikkat etmeliyiz ve kendimizi geliştirmek için neler yapabiliriz bunları anlatmaya, kaynaklar (konunun sonunda) ve örnekler vermeye çalışacağım. Öncelikle belirtmek istediğim birkaç şey var bunlardan bir tanesi şuan konu açtığım kategorideki http://www.turkhackteam.org/siber-g...li-hacker-olmak-icin-yapmaniz-gerekenler.html adlı Kenzaii hocamızın açtığı konudan haberim var. Şimdi böyle bir konu forumda var neden bir tane daha açıyorsun diyecek olan arkadaşlarımız çıkabilir. Kesinlikle söyleyebilirim ki bu konu tamamen doğru bir konu lakin şahsıma göre eksik bir konu. Bu yüzden daha geniş çaplı bir konu olması için bu konuyu hazırladım. Belirtmek istediğim bir başka şey ise konuda belirteceğim her şey bazı kesimler veya kişiler tarafından doğru bulunmayabilir ki elbette ben de söylediğim her şey doğru diyemem lakin yanlış gördüğünüz şeyleri ETİK kuralları çerçevesince medeni bir şekilde konuyu baltalamadan konu altında tartışıp fikir alışverişi yapabiliriz. Bunları belirttikten sonra daha fazla uzatmadan konumuza giriş yapalım.



Siber güvenlik denilince aklımıza birçok alan gelebilir. Aslında siber güvenlik şahsıma göre tek bir alan değil bir alanlar topluluğudur. Ben bu konuda ise kendi bilgimin olduğu kadarıyla Web Güvenliği ve Ağ Güvenliği alanlarında ki dikkate alınması gereken şeylerden bahsedeceğim. Bu iki alan kanımca aslında tamamen keskin sınırlarla birbirinden ayrılamazlar yani ben ağ güvenliğine yöneleceğim diyip webe hiç bakmamak yada sıfır bilgim var demek mümkün olamaz. İki alan birbiriyle ilişki içinde bulunan, kesişim kümelerinin olduğu alanlardır. Bu yüzden konudaki başlıkları tek tek Web ve Ağ olarak ayırmadım. Bu hususu da belirttikten sonra izleyeceğimiz yoldaki köşe taşlarımıza geçelim.





1)Mantık-Sorgulama:



Bu konunun en önemli ve üzerinde en çok durulması gereken maddesi olarak Mantık ve Sorgulamayı görüyorum. Bu madde siber güvenlikte hangi alanla ilgilenirseniz ilgilenin hepsi için birinci madde niteliğindedir. Zaten bu maddeden sonra bahsedeceğimiz maddeler aslında bir nevi bu maddenin alt dallarıdır yani mantığı kavramak için yapılması ve bilinmesi gereken şeylerdir.



Yaptığınız veya yapacağınız işin çalışma mantığını ve nedenini bilmezseniz asla tam olarak belli bir konuma gelemezsiniz. Hazır bilgi üzerinden belli bir yere kadar gidebilirsiniz lakin devamında tıkanırsınız. Bu olay siber güvenlikte de geçerlidir. Kullandığınız sistemin çalışma mantığını bilmezseniz, ben bu butona bastım ama bastıktan sonra arkada nasıl olaylar döndü, arkada gerçekleşen olaylar neden bu şekilde gerçekleşti diye sorgulamazsanız 3-0 geride başlarsınız.



Hayatta her zaman sorgulamak insana bir şeyler kazandırır ama kaybettirmez. Eğer işin mantığını bilirseniz ve mantığını bilmek için sorgularsanız üstüne katacağınız bilgileri temelin üstüne oturtmak daha kolay olur. Bunun içinde kullanacağımız üç adet sorumuz var bunlar: Ne, neden ve nasıl. Çok sevdiğim bir hocam olan Engür Pişiricinin bir eğitimde bize en çok yönelttiği ve kafamıza vura vura sordurduğu sorulardır bunlar. Engür hocamın çok sevdiğim de bir sözü vardır onu da burada belirtmeden geçmeyeyim: Eğer bir şeyin güvenliğini öğrenecekseniz öncelikle o şeyi bilmeniz gerekir. Bla bla güvenliğini öğreneceksen o bla blayı bileceksin. Ağ güvenliği öğreneceksen önce ağ bileceksin. der bizi de ayak üstü fırçalar bu üç soruya yöneltirdi. Bu üç soruyu yönelterek sorgumuzu yapar ve işin mantığını kafamıza oturturuz. Bunu bir örnek ile size açıklamaya çalışayım.




DNSi ele alalım. DNSe dair yönelteceğimiz sorularımızı yukarıda belirttik. DNS ne? DNS neden var, ne işe yarar? DNS nasıl çalışır? Sorularımızı bu sırayla yöneltirsek temelimizi oluşturmamız daha kolay olur. Öncelikle DNSin ne olduğunu sonrasında DNSin tanımını bilerek ne işe yaradığını ve neden kullanıldığını en sonunda ise bunların ışığında DNSin çalışma mantığını öğrenerek bu kavramı tamamen kafamızda oturturuz. Peki biz bu yolları izleyerek nasıl bir kazanım elde etmiş oluruz? İşin mantığını bildiğiniz için kendinizi saldırganın yerini koyarak DNSin çalışma adımlarındaki güvenlik açıklarını, zaafiyetleri fark eder ona göre önleminizi alırsınız. Ya da bir sisteme sizden pentest yapmanız istenirse de bu bildiğiniz eksiklikleri kullanırız. Mesela DNSin ve internetin çalışma mantığını eğer anlayamazsınız Ortadaki Adam Saldırısını tam olarak kavrayamaz, kavrasanız bile tek yönlü olarak bilip çeşitli varyasyonlar üretemezsiniz.







5GE7nR.jpg










2)Ağ(Network):




Yukarıda da belirttiğim gibi eğer kollayı sıvayıp ağ güvenliğine dalmak istiyorsak önce ağ öğrenmemiz, ağ temellerini atmamız gerekir. Yani eğer sektörde Ya ben ağ güvenliğiyle uğraşıyorum ama ağ bilgim yok derseniz size karşınızdakiler bir yerleriyle gülerler. Protokolleri, protokollerin çalışma mantığını, birbirleri ile ilişkilerini, ağ mantığını bilmeden yapamayız. Mesela bir önceki konumda bkz: http://www.turkhackteam.org/siber-guvenlik/1560975-derinlemesine-nmap-ve-gizlenme-taipan.html NMAPi anlattım ve mantığı üzerinde durdum. Eğer siz konuda verdiğim ağ temellerine vakıf olmadan konuyu okursanız NMAPin çalışma mantığını anlamanız da o kadar zor olur.







yzJ5Y0.jpg








Mesela ağ ve bir sonraki madde olan web için kendi bölümümden bir örnek vereyim. Eğer siz insan(makina,sistem) fizyolojisini(normal işleyiş) bilmezseniz patolojisini(aksaklıklar, hasar, açıklar, zaafiyetler) anlayamazsınız. Yani mesela bir sistemin yönetimini gerçekleştiriyorsunuz ve çalışan işlemlerde birkaç şey var, bunların sistemin normal işleyişinde var olması gereken olaylar mı olduğunu yoksa sistemdeki bir zaafiyetten mi kaynaklandığını anlamanız için öncelikle sistemin normal işleyişinin nasıl olduğunu bilmeniz gerekir. Aynı şekilde bir sisteme pentest yapacaksanız da ağın temelindeki açıkları ve sömürülebilir noktaları bilip ona göre bildiğiniz zaafiyetlere yönlenirsiniz. Misal TCP syn attack yapacaksanız yada IP sahteciliği yapacaksanız(teorikte evet de pratik de çok zor) TCPyi bilmelisiniz.




TCPyi bilmelisiniz derken demek istediğim Açılımı Transmission Control Protocoldür, TCP/IP protokol takımının aktarım katmanı protokollerinden birisidir. Gelişmiş bilgisayar ağlarında paket anahtarlamalı bilgisayar iletişiminde kayıpsız veri gönderimi sağlayabilmek için TCP protokolü yazılmıştır. şeklinde bana TCPyi anlatmanız değildir. TCP bilmek derken çalışma mantığını, neden ihtiyaç olduğunu, ne olduğunu anlatmanızdır.



Ağ hakkındaki bilgilerinizi pekiştirmek için Cisconun bir simülasyonu var bunu kullanabilir. Kendi ağınızı kurup üstünde denemeler yapabilir, işleyişi takip edebilirsiniz. Bunu da belirtmiş olayım.





3)Web:



Evet gelelim en sevdiğim maddelerden birine. Bu maddeyi çok seviyorum çünkü bu madde forumda çoğunluğunun temel olarak ne kastedildiğini şahsıma göre anlamadığı ve çok iyi bildiğini iddia ettiği bir maddedir. Öncelikle gelelim şimdiliye kadar anlatılmış olan şahsıma göre de yanlış olan Web temeline. Bu temel şu şekilde: Önce CMS Bruteforce, sonrasında Havij ile Sql İnjection bunun bir tık üstü olarak Sqlmap ile (temel düzeyde) sql injection, shell atma, config çekme.... ilerleyip gidiyor. Hatta hatırı sayılır kişiler tarafında en basitinden (SQL,İSS,RFI,LFI,XSS) şeklinde açıkların bilinmesi önerilmiştir. Şimdi adım adım bu temeli bir ele alalım.







ZOjM8Z.jpg








a)CMS Bruteforce:




Allah affetsin zamanında ben de yaptım. Lakin sonrasında doğru yolu buldum. Şimdi burayı okuyanların aklına şu gelmesin. CMS bruteforce yapanları aşağılıyor, hor görüyor.. Birincisi bunu yapmam kendi ilkelerime aykırı gelir ikincisi bunu yapmak haddime değildir. Ben burada bunun yanlış kullanımını anlatacağım.



Şimdi ilk gelenlere CMS bruteforce ile başla denir. Karşıdaki de okeyler başlar CMS Bruteforcea. Öncelikle burada ki yanlış yeni gelen ve temel olarak nerden başlamalıyım diyen kişiye temel diye CMS Bruteforceu vermek. Şimdi gelelim ikinci yanlışa. Ben kimseye sakın CMS Bruteforce kullanma demem. Kullanacaksan kullan lakin orda 2 tane butona basıp çıkan siteyi burda allayıp pullayıp pazarlarsan ve başka insanlara bununla hava atarsan işte o zaman laf ederim. Arkadaşlar CMS Bruteforceu kullanacaksanız kullanın ama lütfen çalışma mantığını bilerek kullanın. Hani diyorsanki kardeş ben günde illa bir defa CMS bruteforce açmadan yapamıyorum. Açın açmayın diyen yok lakin o program arkada neler yapıyor? Neden ben bu butona basıyorum. Bu butona bastığımda arkada noluyor? Bunları düşünerek araştırarak yapın.







jQrBzg.jpg








Burda dikkatinizi çekmek istediğim bir nokta var. Bakın en baştan beri Bruteforce yapmayın demiyorum CMS bruteforce yapmayın, illa yapacaksanız da çalışma mantığını bilerek zevk için yapın diyorum çünkü bruteforce yapma dersek yanlış yapmış oluruz. Bruteforce doğru şekilde ve bilinçli kullanımlarında çok etkili ve bazen kullanılması şart olan bir yöntemdir. Bunun da altını çizelim.






b)SQL Injection:



Şimdi de buradaki yanlışlara değinelim. Kişiye öncelikle birkaç tane video atıp(sql açığı sorgulama, havij kullanımı, sqlmap kullanımı) sql injection yarım yamalak anlatılır. Bu birinci yanlışımız. İkinci yanlışımız ise en basitinden (SQL,İSS,RFI,LFI,XSS) tırnak içinde belirtildiği gibi bu açıkları basit olarak görmek. Madem bu kadar basit açıklar ve bu kadar kolay öğrenilebiliyor ise neden bu beyanlarda bulunan kişileri HackerOne tarzı sitelerde çok yüksek miktarlı ödemeler yapan şirketlerden ödül almış şekilde göremiyoruz?







GyW31v.png








Şimdi gelelim Webin şahsıma göre doğru olan temeli nedir ve nasıl atılmalıdır o bölüme. Eğer kişiye web temeli verilecekse bunlar zaafiyetler değil webin kendisi olmalıdır. Php, js, css, html, veritabanı yönetimi gibi şeyler verilmelidir ki kişi zaafiyetleri anlayabilsin. Buna 3 tane örnek vereceğim ilk örneğimiz SQL injection üstünden olacak. En basitinden mesela elinizde bir site var ve sitede sql var mı diye kontrol edeceksiniz. Nasıl yapılması anlatıldı? Sonuna tırnak işareti koyarak. Bizim yapmamız gereken şey neden tırnak işareti koyuyoruz? Ya da tırnak işareti yerine ünlem işareti koysak olmaz mı , olmazsa neden olur, olmazsa neden olmaz? Bu soruları yöneltmek ve atıyorum SQLMAP kullanıyorsunuz diyelim yada manuel olarak yapıyorsunuz. Select, where, get gibi girdileri neden veriyoruz? Bunlar neden bize bu çıktıları veriyor? Şeklinde sorular yönetip SQL sisteminin çalışma mantığını ve nasıl işlediğini bilmeliyiz ki bu soruların cevaplarını alabilelim.




İkinci örneğimiz ise XSS zaafiyeti üzerinden olacak. Mesela XSS zaafiyeti var mı diye kontrol ediyorsunuz, atıyorum bunu alert verdirerek yapmaya çalışıyorsunuz ama biz bu alerti nasıl verdiriyoruz, bu alert neden çıkıyor? Diye sorular yöneltmeliyiz. Alerti verdirirken js kodu çalıştırıyorsunuz. Bu yüzden JavaScript bilmeliyiz. Eğer javascript bilmeden ben xss açığı kullanıyorum falan derseniz sadece kendinizi kandırmış olursunuz.







bLZygY.png








Üçüncü örneğimiz ise yine çok kullanılan yöntemlerden biri olan Login Bypass yönetimiyle ilgili olacak. Siz admin panelini karşınıza aldınız gittiniz admin ve pass bölümüne ''Or'='Or'' veya 1'or'1'='1 yazdınız panele girdiniz. Peki biz bu kodları kullanarak sisteme giriş nasıl yaptık? Neden bu kodları kullandık? Mesela ben Taipan=Taipan yazsaydım sisteme girmez miydi? Girmezse neden girmezdi veya girseydi neden girerdi? Şeklinde soruları yöneltip bunların mantığını kavramaya temelini öğrenmeye çalışmalıyız. Web konusunda diyebileceklerim bunlar.






4)Temel Linux Bilgisi:



Arkadaşlar size gidip kali linux kurun veya ubuntu kurun falan demeyeceğim lakin sanal makinede de olsa bir linux dağıtımına sahip olmanızı öneririm. Linux bilgisi sektörde vazgeçilmeyen şeylerden biridir. Temel komutları, dizinleri, server yönetimini, önemli dosya ve klasörleri bilmeniz gerekmektedir. Bash script yazamayan insan kendine şahsıma göre güvenlikçi dememelidir. Mesela çoğumuzun yaptığı bir şeyden örnek vereyim. Forumda birçok konuda anlatılan bir şeyden bahsedeceğim Shell Atma. Gittik bir siteye shelli bastık shell ekranı karşımızda konularda hep public_html sekmesine ulaşmamız istenir. Peki neden bu sekme? Bu sekme aslında neye karşılık geliyor? Ya da shell üzerinde linux komutları çalıştırılabilir mi? Bu soruların cevaplarını alabilmemiz için linux temellerini bilmemiz gerekir. Tersten bakacak olursak mesela siz bir linux servera sızdınız yada o serverın üzerindeki siteler ve server size emanet. Siz nereye bakmalısınız? Hangi dizine dikkat etmelisiniz? Hangi dosyalardan bilgi toplayabilir yada toplanmasını engelleyebilirsiniz? Bu soruların yanıtları için de temel düzeyde linux bilgisi gereklidir. He tabi kimseye linux bilgini temelde tut, windows bilme falan demiyoruz yanlış anlaşılmasın. Windows bilgisinin de olması gerekmektedir tabi ki. Genel olarak işletim sistemleri hakkında bilgi diyebiliriz.







Qp8vXg.jpg








5)Python




Şimdi burda python dedim diye diğer dilleri es geçin demiyorum sakın yanlış anlaşılmasın. Daha yaygın ve basit kullanımından ötürü python diyorum. Python bilmek cidden hayat kurtarıyor. Python temellerinizi sağlam atıp Python 4 Hackers kısmına geçmenizi öneririm. Konunun en sonunda vereceğim CTF linkindeki soruları inceleyip neden bu kadar önemli olduğunu anlayabilirsiniz.







pGMXy0.jpg










6)İngilizce




İngilizce olmadan belli bir yere kadar ilerleyebiliyorsunuz lakin kaynak konusunda çok sıkıntı çekiyorsunuz. Genelde düzgün ve faydalı kaynakların çoğunun ingilizce olması, Uluslararası iletişim dili olması, sektörde kullanımının yaygın olması nedeniyle ingilizce çok önemli bir köşe taşı.





7)Eğitimler ve Konferanslar




Türkiyede ücretsiz birçok eğitim bulunmakta. Genelde eğitimler konferanslarla beraber olurlar lakin sadece konferanslar da olabiliyor. Kendinizi geliştirmeniz açısından eğitimler ve konferanslar çok önemli çünkü kısa sürede işin ehli kişilerden bilgi alımı yapıp genelde bunu test etme imkanı da buluyorsunuz. Mesela Türkiyede aklıma gelen birkaç tane ücretsiz eğitim veren(sınavla veya sınavsız),konferans düzenleyen etkinlik yazayım: Hacktrick, Linux Yaz Kampı, BGA, Cezeri SGA, CSCon, Akademik Bilişim Günleri, Lostar Yaz Kampı, Özgür Web Günleri şimdilik aklıma gelenler bunlar lakin konunun sonunda birçok şirket, topluluk ve şahıs linki vereceğim oradan takip edebilirsiniz. Ek olarak ücretli eğitimler de var ancak onları paylaşmak istemedim araştırıp bulabilirsiniz.



Bir de DD co-adminimizin oluşturduğu bir liste var onu da ekleyeyim





Kod:
https://twitter.com/DDenekk/status/936258887598198784





PO2nv8.jpg








8)CTFler




Abi büyük küçük demeyin gördüğünüz CTFe katılabiliyorsanız katılın. CTFler edinilen bilgilerin pekiştirilmesinde ve yeni bilgiler edinilmesinde çok etkili bir yöntem. E tabi birde işin ucunda ödül de oluyor. CTFlerin başka güzel bir yanı ise soruları çözmek için uğraşırken araştırma yapıyorsunuz ve bu zaman diliminde araştırma yapıp öğrendiğiniz bilgiler başarıyla birleşince akılda daha çok kalıcı oluyorlar. Yukarıda belirttiğim şirket, topluluk veyahut etkinliklerde eğitime girişler genelde ctf ile oluyor yada eğitim sonunda CTF düzenleniyor. Bunlara ek olarak kendiniz istediğiniz zaman uğraşabileceğiniz CTFler için konu sonunda birkaç tane link vereceğim ordan girip uğraşabilirsiniz. Ayrıyetten üst düzey CTFler hariç çevremdeki arkadaşlarla mizah olarak belirlediğimiz ve girdiğimiz CTFlerde karşımıza birçok kez çıkan CTFin 5 Farzı dediğimiz unsurlar var onları da şöyle dizeyim:



-Linux Bilgisi

-Python Bilgisi

-Wireshark

-Kriptoloji(Ciddi matematik ister)

-Think Simple



Hele sonuncusu yani basit düşünme bazen soruların cevaplarını görünce o kadar içinizi acıtıyor ki Lan ben neler yaptım bu muymuş falan diyorsunuz. Bunları da belirtmiş olup yukarıdaki maddelerin önemini kavrayabilmeniz için son zamanlar bir CTF olan STMCTFin sorularının ve çözümlerinin olduğu bir linki paylaşıp bir sonraki ve son maddemize geçelim. STMCTFin sorularını incelemenizi kesinlikle öneririm. Şahsen hem ufkumu açtı hem de ne kadar düşük bir seviyede olduğumu fark edip çalışma azmi verdi.






Kod:
https://github.com/stmctf/stmctf17







7yW795.jpg








9)Sektördeki Abilerimiz, Topluluklar ile Günceli Takip Etmek:




Başlık biraz uzun ama maddeyi tamamen açıklar şekilde oldu. Türkçe kaynak sıkıntısı çekmemek için sektörde yer sahibi olan kişileri, toplulukları ve sayfaları takip ederek blog yazılarından, makalelerinde ve incelemelerinden faydalanmak size çok şey katar. Bunlara ek olarak da günceli takip ederek yenilikleri öğrenir ve kendi bilgilerimizle pekiştirip anlamaya çalışarak fransız kalmamış oluruz. Bu madde ile ilgili olan linkleri de konunun sonunda sizlerle paylaşacağım.





Sektördeki Abilerimiz:








Kod:
https://twitter.com/MertSARICA[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://twitter.com/dimakoci_

https://twitter.com/mertcangokgoz

https://twitter.com/erdem_kayar

https://twitter.com/0x94

https://twitter.com/GurayYildirim

https://twitter.com/m3karadag

https://twitter.com/KoAkinci

https://twitter.com/cihanmehmets

https://twitter.com/AltnokBesim

https://twitter.com/mdisec

https://twitter.com/Barknkilic

https://twitter.com/hlldz










Bloglar ve Kaynaklar:





Kod:
http://python4hackers.com/[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://github.com/fatihacet/turkcekaynaklar-com

https://www.mertsarica.com/

https://mertcangokgoz.com

http://ahmetkotan.com.tr/

https://twitter.com/utkusen

http://www.halitince.net/

https://www.wonderhowto.com/

https://www.teakolik.com

https://www.invictuseurope.com

https://tryhackme.com/dashboard

https://cbolat.blogspot.com

https://pwnlab.me

https://ttmo.re/kutuphane/

https://www.gurayyildirim.com.tr/

http://www.gokhanyuceler.com/

https://furkankayar.net/

https://www.mehmetince.net/

https://github.com/Hack-with-Github/Awesome-Hacking

http://alperbasaran.com/

https://www.netsparker.com/blog/

phrack.org






Evet arkadaşlar konunun sonuna gelmiş bulunmaktayız. Konudan önce beni uyaran birkaç kişi oldu kardeşim uğraşıyorsun açacaksın ama millet bildiğinden pek şaşmaz diye benim amacım bir kişi de olsa insanların biraz daha bilinçlenmesidir. Bir de la bu kadar şey yazdın da sanki kendin yapıyor musun diyebilirsiniz. Barış Mançonun sevdiğim bir sözü vardır Barış söyler de kendi bir ders alır mı? diye bende de o hesap :) Herkese iyi akşamlar dilerim.
Başarılı, güzel
 

slaxG

Üye
13 Ağu 2022
93
19
Merhabalar arkadaşlar bu konumda siber güvenlik alanına giriş yapacaksak nasıl bir yol izlemeliyiz, nelere dikkat etmeliyiz ve kendimizi geliştirmek için neler yapabiliriz bunları anlatmaya, kaynaklar (konunun sonunda) ve örnekler vermeye çalışacağım. Öncelikle belirtmek istediğim birkaç şey var bunlardan bir tanesi şuan konu açtığım kategorideki http://www.turkhackteam.org/siber-g...li-hacker-olmak-icin-yapmaniz-gerekenler.html adlı Kenzaii hocamızın açtığı konudan haberim var. Şimdi böyle bir konu forumda var neden bir tane daha açıyorsun diyecek olan arkadaşlarımız çıkabilir. Kesinlikle söyleyebilirim ki bu konu tamamen doğru bir konu lakin şahsıma göre eksik bir konu. Bu yüzden daha geniş çaplı bir konu olması için bu konuyu hazırladım. Belirtmek istediğim bir başka şey ise konuda belirteceğim her şey bazı kesimler veya kişiler tarafından doğru bulunmayabilir ki elbette ben de söylediğim her şey doğru diyemem lakin yanlış gördüğünüz şeyleri ETİK kuralları çerçevesince medeni bir şekilde konuyu baltalamadan konu altında tartışıp fikir alışverişi yapabiliriz. Bunları belirttikten sonra daha fazla uzatmadan konumuza giriş yapalım.



Siber güvenlik denilince aklımıza birçok alan gelebilir. Aslında siber güvenlik şahsıma göre tek bir alan değil bir alanlar topluluğudur. Ben bu konuda ise kendi bilgimin olduğu kadarıyla Web Güvenliği ve Ağ Güvenliği alanlarında ki dikkate alınması gereken şeylerden bahsedeceğim. Bu iki alan kanımca aslında tamamen keskin sınırlarla birbirinden ayrılamazlar yani ben ağ güvenliğine yöneleceğim diyip webe hiç bakmamak yada sıfır bilgim var demek mümkün olamaz. İki alan birbiriyle ilişki içinde bulunan, kesişim kümelerinin olduğu alanlardır. Bu yüzden konudaki başlıkları tek tek Web ve Ağ olarak ayırmadım. Bu hususu da belirttikten sonra izleyeceğimiz yoldaki köşe taşlarımıza geçelim.





1)Mantık-Sorgulama:



Bu konunun en önemli ve üzerinde en çok durulması gereken maddesi olarak Mantık ve Sorgulamayı görüyorum. Bu madde siber güvenlikte hangi alanla ilgilenirseniz ilgilenin hepsi için birinci madde niteliğindedir. Zaten bu maddeden sonra bahsedeceğimiz maddeler aslında bir nevi bu maddenin alt dallarıdır yani mantığı kavramak için yapılması ve bilinmesi gereken şeylerdir.



Yaptığınız veya yapacağınız işin çalışma mantığını ve nedenini bilmezseniz asla tam olarak belli bir konuma gelemezsiniz. Hazır bilgi üzerinden belli bir yere kadar gidebilirsiniz lakin devamında tıkanırsınız. Bu olay siber güvenlikte de geçerlidir. Kullandığınız sistemin çalışma mantığını bilmezseniz, ben bu butona bastım ama bastıktan sonra arkada nasıl olaylar döndü, arkada gerçekleşen olaylar neden bu şekilde gerçekleşti diye sorgulamazsanız 3-0 geride başlarsınız.



Hayatta her zaman sorgulamak insana bir şeyler kazandırır ama kaybettirmez. Eğer işin mantığını bilirseniz ve mantığını bilmek için sorgularsanız üstüne katacağınız bilgileri temelin üstüne oturtmak daha kolay olur. Bunun içinde kullanacağımız üç adet sorumuz var bunlar: Ne, neden ve nasıl. Çok sevdiğim bir hocam olan Engür Pişiricinin bir eğitimde bize en çok yönelttiği ve kafamıza vura vura sordurduğu sorulardır bunlar. Engür hocamın çok sevdiğim de bir sözü vardır onu da burada belirtmeden geçmeyeyim: Eğer bir şeyin güvenliğini öğrenecekseniz öncelikle o şeyi bilmeniz gerekir. Bla bla güvenliğini öğreneceksen o bla blayı bileceksin. Ağ güvenliği öğreneceksen önce ağ bileceksin. der bizi de ayak üstü fırçalar bu üç soruya yöneltirdi. Bu üç soruyu yönelterek sorgumuzu yapar ve işin mantığını kafamıza oturturuz. Bunu bir örnek ile size açıklamaya çalışayım.




DNSi ele alalım. DNSe dair yönelteceğimiz sorularımızı yukarıda belirttik. DNS ne? DNS neden var, ne işe yarar? DNS nasıl çalışır? Sorularımızı bu sırayla yöneltirsek temelimizi oluşturmamız daha kolay olur. Öncelikle DNSin ne olduğunu sonrasında DNSin tanımını bilerek ne işe yaradığını ve neden kullanıldığını en sonunda ise bunların ışığında DNSin çalışma mantığını öğrenerek bu kavramı tamamen kafamızda oturturuz. Peki biz bu yolları izleyerek nasıl bir kazanım elde etmiş oluruz? İşin mantığını bildiğiniz için kendinizi saldırganın yerini koyarak DNSin çalışma adımlarındaki güvenlik açıklarını, zaafiyetleri fark eder ona göre önleminizi alırsınız. Ya da bir sisteme sizden pentest yapmanız istenirse de bu bildiğiniz eksiklikleri kullanırız. Mesela DNSin ve internetin çalışma mantığını eğer anlayamazsınız Ortadaki Adam Saldırısını tam olarak kavrayamaz, kavrasanız bile tek yönlü olarak bilip çeşitli varyasyonlar üretemezsiniz.







5GE7nR.jpg










2)Ağ(Network):




Yukarıda da belirttiğim gibi eğer kollayı sıvayıp ağ güvenliğine dalmak istiyorsak önce ağ öğrenmemiz, ağ temellerini atmamız gerekir. Yani eğer sektörde Ya ben ağ güvenliğiyle uğraşıyorum ama ağ bilgim yok derseniz size karşınızdakiler bir yerleriyle gülerler. Protokolleri, protokollerin çalışma mantığını, birbirleri ile ilişkilerini, ağ mantığını bilmeden yapamayız. Mesela bir önceki konumda bkz: http://www.turkhackteam.org/siber-guvenlik/1560975-derinlemesine-nmap-ve-gizlenme-taipan.html NMAPi anlattım ve mantığı üzerinde durdum. Eğer siz konuda verdiğim ağ temellerine vakıf olmadan konuyu okursanız NMAPin çalışma mantığını anlamanız da o kadar zor olur.







yzJ5Y0.jpg








Mesela ağ ve bir sonraki madde olan web için kendi bölümümden bir örnek vereyim. Eğer siz insan(makina,sistem) fizyolojisini(normal işleyiş) bilmezseniz patolojisini(aksaklıklar, hasar, açıklar, zaafiyetler) anlayamazsınız. Yani mesela bir sistemin yönetimini gerçekleştiriyorsunuz ve çalışan işlemlerde birkaç şey var, bunların sistemin normal işleyişinde var olması gereken olaylar mı olduğunu yoksa sistemdeki bir zaafiyetten mi kaynaklandığını anlamanız için öncelikle sistemin normal işleyişinin nasıl olduğunu bilmeniz gerekir. Aynı şekilde bir sisteme pentest yapacaksanız da ağın temelindeki açıkları ve sömürülebilir noktaları bilip ona göre bildiğiniz zaafiyetlere yönlenirsiniz. Misal TCP syn attack yapacaksanız yada IP sahteciliği yapacaksanız(teorikte evet de pratik de çok zor) TCPyi bilmelisiniz.




TCPyi bilmelisiniz derken demek istediğim Açılımı Transmission Control Protocoldür, TCP/IP protokol takımının aktarım katmanı protokollerinden birisidir. Gelişmiş bilgisayar ağlarında paket anahtarlamalı bilgisayar iletişiminde kayıpsız veri gönderimi sağlayabilmek için TCP protokolü yazılmıştır. şeklinde bana TCPyi anlatmanız değildir. TCP bilmek derken çalışma mantığını, neden ihtiyaç olduğunu, ne olduğunu anlatmanızdır.



Ağ hakkındaki bilgilerinizi pekiştirmek için Cisconun bir simülasyonu var bunu kullanabilir. Kendi ağınızı kurup üstünde denemeler yapabilir, işleyişi takip edebilirsiniz. Bunu da belirtmiş olayım.





3)Web:



Evet gelelim en sevdiğim maddelerden birine. Bu maddeyi çok seviyorum çünkü bu madde forumda çoğunluğunun temel olarak ne kastedildiğini şahsıma göre anlamadığı ve çok iyi bildiğini iddia ettiği bir maddedir. Öncelikle gelelim şimdiliye kadar anlatılmış olan şahsıma göre de yanlış olan Web temeline. Bu temel şu şekilde: Önce CMS Bruteforce, sonrasında Havij ile Sql İnjection bunun bir tık üstü olarak Sqlmap ile (temel düzeyde) sql injection, shell atma, config çekme.... ilerleyip gidiyor. Hatta hatırı sayılır kişiler tarafında en basitinden (SQL,İSS,RFI,LFI,XSS) şeklinde açıkların bilinmesi önerilmiştir. Şimdi adım adım bu temeli bir ele alalım.







ZOjM8Z.jpg








a)CMS Bruteforce:




Allah affetsin zamanında ben de yaptım. Lakin sonrasında doğru yolu buldum. Şimdi burayı okuyanların aklına şu gelmesin. CMS bruteforce yapanları aşağılıyor, hor görüyor.. Birincisi bunu yapmam kendi ilkelerime aykırı gelir ikincisi bunu yapmak haddime değildir. Ben burada bunun yanlış kullanımını anlatacağım.



Şimdi ilk gelenlere CMS bruteforce ile başla denir. Karşıdaki de okeyler başlar CMS Bruteforcea. Öncelikle burada ki yanlış yeni gelen ve temel olarak nerden başlamalıyım diyen kişiye temel diye CMS Bruteforceu vermek. Şimdi gelelim ikinci yanlışa. Ben kimseye sakın CMS Bruteforce kullanma demem. Kullanacaksan kullan lakin orda 2 tane butona basıp çıkan siteyi burda allayıp pullayıp pazarlarsan ve başka insanlara bununla hava atarsan işte o zaman laf ederim. Arkadaşlar CMS Bruteforceu kullanacaksanız kullanın ama lütfen çalışma mantığını bilerek kullanın. Hani diyorsanki kardeş ben günde illa bir defa CMS bruteforce açmadan yapamıyorum. Açın açmayın diyen yok lakin o program arkada neler yapıyor? Neden ben bu butona basıyorum. Bu butona bastığımda arkada noluyor? Bunları düşünerek araştırarak yapın.







jQrBzg.jpg








Burda dikkatinizi çekmek istediğim bir nokta var. Bakın en baştan beri Bruteforce yapmayın demiyorum CMS bruteforce yapmayın, illa yapacaksanız da çalışma mantığını bilerek zevk için yapın diyorum çünkü bruteforce yapma dersek yanlış yapmış oluruz. Bruteforce doğru şekilde ve bilinçli kullanımlarında çok etkili ve bazen kullanılması şart olan bir yöntemdir. Bunun da altını çizelim.






b)SQL Injection:



Şimdi de buradaki yanlışlara değinelim. Kişiye öncelikle birkaç tane video atıp(sql açığı sorgulama, havij kullanımı, sqlmap kullanımı) sql injection yarım yamalak anlatılır. Bu birinci yanlışımız. İkinci yanlışımız ise en basitinden (SQL,İSS,RFI,LFI,XSS) tırnak içinde belirtildiği gibi bu açıkları basit olarak görmek. Madem bu kadar basit açıklar ve bu kadar kolay öğrenilebiliyor ise neden bu beyanlarda bulunan kişileri HackerOne tarzı sitelerde çok yüksek miktarlı ödemeler yapan şirketlerden ödül almış şekilde göremiyoruz?







GyW31v.png








Şimdi gelelim Webin şahsıma göre doğru olan temeli nedir ve nasıl atılmalıdır o bölüme. Eğer kişiye web temeli verilecekse bunlar zaafiyetler değil webin kendisi olmalıdır. Php, js, css, html, veritabanı yönetimi gibi şeyler verilmelidir ki kişi zaafiyetleri anlayabilsin. Buna 3 tane örnek vereceğim ilk örneğimiz SQL injection üstünden olacak. En basitinden mesela elinizde bir site var ve sitede sql var mı diye kontrol edeceksiniz. Nasıl yapılması anlatıldı? Sonuna tırnak işareti koyarak. Bizim yapmamız gereken şey neden tırnak işareti koyuyoruz? Ya da tırnak işareti yerine ünlem işareti koysak olmaz mı , olmazsa neden olur, olmazsa neden olmaz? Bu soruları yöneltmek ve atıyorum SQLMAP kullanıyorsunuz diyelim yada manuel olarak yapıyorsunuz. Select, where, get gibi girdileri neden veriyoruz? Bunlar neden bize bu çıktıları veriyor? Şeklinde sorular yönetip SQL sisteminin çalışma mantığını ve nasıl işlediğini bilmeliyiz ki bu soruların cevaplarını alabilelim.




İkinci örneğimiz ise XSS zaafiyeti üzerinden olacak. Mesela XSS zaafiyeti var mı diye kontrol ediyorsunuz, atıyorum bunu alert verdirerek yapmaya çalışıyorsunuz ama biz bu alerti nasıl verdiriyoruz, bu alert neden çıkıyor? Diye sorular yöneltmeliyiz. Alerti verdirirken js kodu çalıştırıyorsunuz. Bu yüzden JavaScript bilmeliyiz. Eğer javascript bilmeden ben xss açığı kullanıyorum falan derseniz sadece kendinizi kandırmış olursunuz.







bLZygY.png








Üçüncü örneğimiz ise yine çok kullanılan yöntemlerden biri olan Login Bypass yönetimiyle ilgili olacak. Siz admin panelini karşınıza aldınız gittiniz admin ve pass bölümüne ''Or'='Or'' veya 1'or'1'='1 yazdınız panele girdiniz. Peki biz bu kodları kullanarak sisteme giriş nasıl yaptık? Neden bu kodları kullandık? Mesela ben Taipan=Taipan yazsaydım sisteme girmez miydi? Girmezse neden girmezdi veya girseydi neden girerdi? Şeklinde soruları yöneltip bunların mantığını kavramaya temelini öğrenmeye çalışmalıyız. Web konusunda diyebileceklerim bunlar.






4)Temel Linux Bilgisi:



Arkadaşlar size gidip kali linux kurun veya ubuntu kurun falan demeyeceğim lakin sanal makinede de olsa bir linux dağıtımına sahip olmanızı öneririm. Linux bilgisi sektörde vazgeçilmeyen şeylerden biridir. Temel komutları, dizinleri, server yönetimini, önemli dosya ve klasörleri bilmeniz gerekmektedir. Bash script yazamayan insan kendine şahsıma göre güvenlikçi dememelidir. Mesela çoğumuzun yaptığı bir şeyden örnek vereyim. Forumda birçok konuda anlatılan bir şeyden bahsedeceğim Shell Atma. Gittik bir siteye shelli bastık shell ekranı karşımızda konularda hep public_html sekmesine ulaşmamız istenir. Peki neden bu sekme? Bu sekme aslında neye karşılık geliyor? Ya da shell üzerinde linux komutları çalıştırılabilir mi? Bu soruların cevaplarını alabilmemiz için linux temellerini bilmemiz gerekir. Tersten bakacak olursak mesela siz bir linux servera sızdınız yada o serverın üzerindeki siteler ve server size emanet. Siz nereye bakmalısınız? Hangi dizine dikkat etmelisiniz? Hangi dosyalardan bilgi toplayabilir yada toplanmasını engelleyebilirsiniz? Bu soruların yanıtları için de temel düzeyde linux bilgisi gereklidir. He tabi kimseye linux bilgini temelde tut, windows bilme falan demiyoruz yanlış anlaşılmasın. Windows bilgisinin de olması gerekmektedir tabi ki. Genel olarak işletim sistemleri hakkında bilgi diyebiliriz.







Qp8vXg.jpg








5)Python




Şimdi burda python dedim diye diğer dilleri es geçin demiyorum sakın yanlış anlaşılmasın. Daha yaygın ve basit kullanımından ötürü python diyorum. Python bilmek cidden hayat kurtarıyor. Python temellerinizi sağlam atıp Python 4 Hackers kısmına geçmenizi öneririm. Konunun en sonunda vereceğim CTF linkindeki soruları inceleyip neden bu kadar önemli olduğunu anlayabilirsiniz.







pGMXy0.jpg










6)İngilizce




İngilizce olmadan belli bir yere kadar ilerleyebiliyorsunuz lakin kaynak konusunda çok sıkıntı çekiyorsunuz. Genelde düzgün ve faydalı kaynakların çoğunun ingilizce olması, Uluslararası iletişim dili olması, sektörde kullanımının yaygın olması nedeniyle ingilizce çok önemli bir köşe taşı.





7)Eğitimler ve Konferanslar




Türkiyede ücretsiz birçok eğitim bulunmakta. Genelde eğitimler konferanslarla beraber olurlar lakin sadece konferanslar da olabiliyor. Kendinizi geliştirmeniz açısından eğitimler ve konferanslar çok önemli çünkü kısa sürede işin ehli kişilerden bilgi alımı yapıp genelde bunu test etme imkanı da buluyorsunuz. Mesela Türkiyede aklıma gelen birkaç tane ücretsiz eğitim veren(sınavla veya sınavsız),konferans düzenleyen etkinlik yazayım: Hacktrick, Linux Yaz Kampı, BGA, Cezeri SGA, CSCon, Akademik Bilişim Günleri, Lostar Yaz Kampı, Özgür Web Günleri şimdilik aklıma gelenler bunlar lakin konunun sonunda birçok şirket, topluluk ve şahıs linki vereceğim oradan takip edebilirsiniz. Ek olarak ücretli eğitimler de var ancak onları paylaşmak istemedim araştırıp bulabilirsiniz.



Bir de DD co-adminimizin oluşturduğu bir liste var onu da ekleyeyim





Kod:
https://twitter.com/DDenekk/status/936258887598198784





PO2nv8.jpg








8)CTFler




Abi büyük küçük demeyin gördüğünüz CTFe katılabiliyorsanız katılın. CTFler edinilen bilgilerin pekiştirilmesinde ve yeni bilgiler edinilmesinde çok etkili bir yöntem. E tabi birde işin ucunda ödül de oluyor. CTFlerin başka güzel bir yanı ise soruları çözmek için uğraşırken araştırma yapıyorsunuz ve bu zaman diliminde araştırma yapıp öğrendiğiniz bilgiler başarıyla birleşince akılda daha çok kalıcı oluyorlar. Yukarıda belirttiğim şirket, topluluk veyahut etkinliklerde eğitime girişler genelde ctf ile oluyor yada eğitim sonunda CTF düzenleniyor. Bunlara ek olarak kendiniz istediğiniz zaman uğraşabileceğiniz CTFler için konu sonunda birkaç tane link vereceğim ordan girip uğraşabilirsiniz. Ayrıyetten üst düzey CTFler hariç çevremdeki arkadaşlarla mizah olarak belirlediğimiz ve girdiğimiz CTFlerde karşımıza birçok kez çıkan CTFin 5 Farzı dediğimiz unsurlar var onları da şöyle dizeyim:



-Linux Bilgisi

-Python Bilgisi

-Wireshark

-Kriptoloji(Ciddi matematik ister)

-Think Simple



Hele sonuncusu yani basit düşünme bazen soruların cevaplarını görünce o kadar içinizi acıtıyor ki Lan ben neler yaptım bu muymuş falan diyorsunuz. Bunları da belirtmiş olup yukarıdaki maddelerin önemini kavrayabilmeniz için son zamanlar bir CTF olan STMCTFin sorularının ve çözümlerinin olduğu bir linki paylaşıp bir sonraki ve son maddemize geçelim. STMCTFin sorularını incelemenizi kesinlikle öneririm. Şahsen hem ufkumu açtı hem de ne kadar düşük bir seviyede olduğumu fark edip çalışma azmi verdi.






Kod:
https://github.com/stmctf/stmctf17







7yW795.jpg








9)Sektördeki Abilerimiz, Topluluklar ile Günceli Takip Etmek:




Başlık biraz uzun ama maddeyi tamamen açıklar şekilde oldu. Türkçe kaynak sıkıntısı çekmemek için sektörde yer sahibi olan kişileri, toplulukları ve sayfaları takip ederek blog yazılarından, makalelerinde ve incelemelerinden faydalanmak size çok şey katar. Bunlara ek olarak da günceli takip ederek yenilikleri öğrenir ve kendi bilgilerimizle pekiştirip anlamaya çalışarak fransız kalmamış oluruz. Bu madde ile ilgili olan linkleri de konunun sonunda sizlerle paylaşacağım.





Sektördeki Abilerimiz:








Kod:
https://twitter.com/MertSARICA[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://twitter.com/dimakoci_

https://twitter.com/mertcangokgoz

https://twitter.com/erdem_kayar

https://twitter.com/0x94

https://twitter.com/GurayYildirim

https://twitter.com/m3karadag

https://twitter.com/KoAkinci

https://twitter.com/cihanmehmets

https://twitter.com/AltnokBesim

https://twitter.com/mdisec

https://twitter.com/Barknkilic

https://twitter.com/hlldz










Bloglar ve Kaynaklar:





Kod:
http://python4hackers.com/[/B][/COLOR][/SIZE][/CENTER]
[SIZE=4][COLOR=White][B]
[CENTER]https://github.com/fatihacet/turkcekaynaklar-com

https://www.mertsarica.com/

https://mertcangokgoz.com

http://ahmetkotan.com.tr/

https://twitter.com/utkusen

http://www.halitince.net/

https://www.wonderhowto.com/

https://www.teakolik.com

https://www.invictuseurope.com

https://tryhackme.com/dashboard

https://cbolat.blogspot.com

https://pwnlab.me

https://ttmo.re/kutuphane/

https://www.gurayyildirim.com.tr/

http://www.gokhanyuceler.com/

https://furkankayar.net/

https://www.mehmetince.net/

https://github.com/Hack-with-Github/Awesome-Hacking

http://alperbasaran.com/

https://www.netsparker.com/blog/

phrack.org






Evet arkadaşlar konunun sonuna gelmiş bulunmaktayız. Konudan önce beni uyaran birkaç kişi oldu kardeşim uğraşıyorsun açacaksın ama millet bildiğinden pek şaşmaz diye benim amacım bir kişi de olsa insanların biraz daha bilinçlenmesidir. Bir de la bu kadar şey yazdın da sanki kendin yapıyor musun diyebilirsiniz. Barış Mançonun sevdiğim bir sözü vardır Barış söyler de kendi bir ders alır mı? diye bende de o hesap :) Herkese iyi akşamlar dilerim.
Eline sağlık Dostum
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.