URI:
   DIR Return Create A Forum - Home
       ---------------------------------------------------------
       cyberturkis
  HTML https://cybertukis.createaforum.com
       ---------------------------------------------------------
       *****************************************************
   DIR Return to: General Discussion
       *****************************************************
       #Post#: 8--------------------------------------------------
       Siber Güvenliğe Giriş Kılavuzu // 'Taipan Siber
       Güvenlik
   DIR By: Gramenyo
       Date: January 27, 2019, 2:50 pm
       ---------------------------------------------------------
       [move]GRAMENYO[/img][/move]
       
  HTML https://i.hizliresim.com/r5OdLz.png
       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
  HTML https://cybertukis.createaforum.com/index.php
       adlı
       [move]GRAMENYO[/move] 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İKkuralları ç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 web’e 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 Sorgulama”yı 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 bla’yı 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.
       DNS’i ele alalım. DNS’e 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 DNS’in ne olduğunu sonrasında
       DNS’in tanımını bilerek ne işe
       yaradığını ve neden
       kullanıldığını en sonunda ise
       bunların ışığında DNS’in
       ç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 DNS’in ç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 DNS’in ve internet’in
       ç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.
       Resim yeniden boyutlandırıldı, orjinalini görmek
       için tıklayın.
       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:
  HTML http://www.turkhackteam.org/siber-gu...me-taipan.html
       NMAP’i
       anlattım ve mantığı üzerinde durdum.
       Eğer siz konuda verdiğim ağ temellerine
       vakıf olmadan konuyu okursanız NMAP’in
       çalışma mantığını anlamanız
       da o kadar zor olur.
       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 sistem’in 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) TCP’yi
       bilmelisiniz.
       TCP’yi bilmelisiniz derken demek istediğim
       “Açılımı Transmission Control Protocol’dü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 TCP’yi
       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
       Cisco’nun 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.
       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 Bruteforce’a.
       Öncelikle burada ki yanlış yeni gelen ve temel olarak
       nerden başlamalıyım diyen kişiye temel diye
       CMS Bruteforce’u 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 Bruteforce’u
       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.
       Resim yeniden boyutlandırıldı, orjinalini görmek
       için tıklayın.
       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?
       Şimdi gelelim Web’in ş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 web’in 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 alert’i nasıl
       verdiriyoruz, bu alert neden çıkıyor? Diye sorular
       yöneltmeliyiz. Alert’i 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.
       Resim yeniden boyutlandırıldı, orjinalini görmek
       için tıklayın.
       Üçü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 shell’i 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
       server’a sızdınız yada o server’ın
       üzerindeki siteler ve server size emanet. Siz nereye
       bakmalısınız? Hangi dizin’e 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.
       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.
       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ürkiye’de ü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:
  HTML https://twitter.com/DDenekk/status/936258887598198784
       8)CTF’ler
       Abi büyük küçük demeyin gördüğünüz CTF’e
       katılabiliyorsanız katılın. CTF’ler edinilen
       bilgilerin pekiştirilmesinde ve yeni bilgiler edinilmesinde
       çok etkili bir yöntem. E tabi birde işin ucunda ödül de
       oluyor. CTF’lerin 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 CTF’ler için konu sonunda
       birkaç tane link vereceğim ordan girip
       uğraşabilirsiniz. Ayrıyetten üst düzey CTF’ler
       hariç çevremdeki arkadaşlarla mizah olarak
       belirlediğimiz ve girdiğimiz CTF’lerde
       karşımıza birçok kez çıkan “CTF’in 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 STMCTF’in
       sorularının ve çözümlerinin olduğu bir linki
       paylaşıp bir sonraki ve son maddemize geçelim.
       STMCTF’in 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:
  HTML https://github.com/stmctf/stmctf17
       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:
       *****************************************************
       Page 1 of 1