İPUCU

Capture The Flag Vulnerable VM Walkthrough & Capture The Flag Writeup Yazabileceğiniz Bölüm

Seçenekler

PicoCTF 2017 Level1 Çözümleri/Hacknology

28-04-2017 09:03
#1
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.709
Teşekkür (Etti):
946
Teşekkür (Aldı):
1227
Konular:
151
Merhabalar, bir süre aranızda olamayacağımdan dolayı arada bir böyle paylaşıcak konu hazırlıyorum. İlk olarak da geçtiğimiz günlerde sonlanan picoCTF nin çözümlerini paylaşmak istedim

PicoCTF Level1 Çözümleri:

Adli bilişim:
[0x00]-[Digital Camouflage]

Bize burada bir data.pcap dosyası veriyor ve buradan en son giriş yapan kişinin şifresini öğrenmemizi istiyor.

Pcap dosyalarında kabaca en son yapılan network aktivitelerini izleyebiliriz, yani kullanıcının yaptığı her işlem o dosyada olacaktır. İndirip wireshark ile dosyayı açalım. Karşımıza TCP, ARP, ICMP, HTTP gibi paketler çıkacaktır. Şifreyi bulmak için HTTP paketlerine göz atalım, filtreye HTTP ekliyorum vee
Bam! HTTP paketleri önümüzde ve bir adet "POST" parametresi var. Şifre bu pakette gönderilmiş olmalı, açalım
Kod:
Form item: "userid" = "spiveyp"
Form item: "pswrd" = "S04xWjZQWFZ5OQ=="
Bingo! Şifre bu paketteymiş ama şifreli ( ( ) sondaki == e bakarak kabaca bunun bir base64 olduğunu tahmin edebilirim. Python'un gücüne başvuralım
Kod:
>>> import base64
>>> base64.b64decode("S04xWjZQWFZ5OQ==")
'KN1Z6PXVy9'
>>>
Şifreyi bulduk, flag'i giriyoruz:
Kod:
KN1Z6PXVy9
[0x01]-[Special Agent User]
Burada ise bize başka bir data.pcap dosyası verip User Agent bilgilerini bulmamızı istiyor. Tekrar http dosyalarına bir göz atalım. Ben burada deneme yanılma yoluyla bütün HTTP paketlere göz attım.
Flag:
Kod:
User-Agent: Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))\r\n
Ağ Sömürüsü:
[0x00]-[What is Web?]

Burada bize bir website veriyor ve bu websiteden bir flag'a ulaşmamızı istiyor. Websitenin url'sini verelim.
Kod:
http://shell2017.picoctf.com:4443/
Görünürde oldukça normal, şirin bir kedi bile var! Bakalım burada nasıl flag'a ulaşacağız. Sitenin kaynak kodlarına göz atalım:
CTRL+U kombinasyonunu kullandım ve altta bir yorum satırı dikkatimi çekti, burada flag'in 3 kısımdan oluştuğunu söylemiş ve ilk kısmını vermiş
Kod:
The first part of the flag (there are 3 parts) is 72b28b258d2
İlk kısmı bulduk, burada iki adet dosya dikkat çekici. burada "hacker.css" ve "script.js" adında iki adet dosya var. İkisine de göz atalım
hacker.css:
En baştaki yorum satırı bize flag'in ikinci kısmını veriyor:
Kod:
b2ea021486f
script.js:
Bu javascript dosyasının tek işlevi butona basınca "Hi There" çıktısını ekrana yapıştırmak. Ama üstte gene bir yorum satırı ile flag'in kısmı bize verilmiş.
Kod:
ddd5020451d
Bundan dolayı toplam flag
Kod:
72b28b258d2b2ea021486f
Kriptografi:
[0x00]-[keyz]

Burada bizden istediği şey kendimize ait bir ssh key yaratmamız, public keys olarak eklememiz ve istediği yere ssh bağlantı sağlamamız. Zaten bize nasıl yaratacağımızı gösteren bir siteyi vermiş
Kod:
https://confluence.atlassian.com/bitbucketserver/creating-ssh-keys-776639788.html
Buraya gelip gerekli adımları uyguluyoruz ve kendimize bir adet ssh key oluşuyor. Sonra authorized_keys i editliyoruz
Kod:
nano authorized_keys
yaptıktan sonra yapıştırıp "Ctrl+X" kombinasyonu ile çıkıyoruz. Chmod ile gerekli izinleri verdikten sonra(600) ssh bağlantısını shell2017.picoctf.com a yapıyoruz
flag:
Kod:
who_needs_pwords_anyways
[0x01]-[Substitute]
Bize bir büyücü bu metni veriğini ve ne demek istediğini soruyor. Tek yapmam gereken Substitute decode yaparak bir google araması yapmaktı ve karşıma "https://www.guballa.de/substitution-solver" sitesi çıktı. Metni çevirdiğimde ise ilk karşıma gelen cümle "THE FLAG IS IFONLYMODERNCRYPTOWASLIKETHIS" oldu. Flagi giriyoruz
Kod:
IFONLYMODERNCRYPTOWASLIKETHIS
[0x02]-[Hash101]
Benim bu CTF de en çok beğendiğim kriptografi sorusu oldu. Gerçekten oldukça eğlenceliydi. Verdiği siteye netcat ile bağlanalım ve oyun başlasın

Level1-Birler ve Sıfırlar:
Bize bir ikili binary vermiş ve ascii karşılığını soruyor. Google a binary to ascii yazalım ve karşımıza çıkan ilk sitede taratalım bakalım.
Bingo! Bana verilen binary dizinin karşılığı "earth" kelimesiymiş. Hemen girelim

Level2-Hex ve decimal:
Bize ilk levelde vermiş olduğu kelimenin hex ve decimal karşılığını soruyor sıra ile. hex karşılığını kolayca bulmak için python'un nimetlerinden faydalanacağım
Kod:
>>> 'earth'.encode('hex')
'6561727468'
>>>
Hex karşılığını verdi, girelim

Decimal için ise gene google'a başvuracağım, hex to decimal yazıyorum

Google'daki ilk siteden de decimal karşılığımızı alıp girdim. Level3 e attı beni

Level3-Şifreleme fonksiyonu:
Bize örnek bir şifreleme fonksiyonu söylemiş ve bu fonksiyonu oluşturup çıktıyı 15 veren bir sayı bulmamızı istemiş. Fonksiyon aynı şöyle
"Bir sayıdaki bütün rakamların sayı değerlerini topla, mod16 yı al ve kalan 15 olsun"
Öncelikle neyin 16 sını alırsak kalan 15 olur? 31 sayısının. Şimdi sayı değerleri 31 olan bir sayı bulalım. "9994" bizim için ideal, deneyelim.
Doğru!

Level4-Gerçek bir şifreleme:
Basitçe, bir md5 verip çözümünü istemiş. Kolay olacağını tahmin ederek online sitelere bakıyorum. Buldu! "4ss37" ymiş. Verdiği flag'i vererek ilerleyelim.

[0x03]-[computeAES]
Oldukça basit bir soruydu, key ve text vermiş ve base64 olduğunu da söylemiş. Hemen bir python scripti oluşturayım.
Bize verdiği bilgilere göz atalım:
Kod:
Encrypted with AES in ECB mode. All values base64 encoded
ciphertext = I300ryGVTXJVT803Sdt/KcOGlyPStZkeIHKapRjzwWf9+p7fIWkBnCWu/IWls+5S
key = iyq1bFDkirtGqiFz7OVi4A==
Buna hemen bir Python scripti oluşturalım.
Kod:
from Crypto.Cipher import AES
from base64 import b64decode
key = b64decode(raw_input("[>Key: "))
text = b64decode(raw_input("[>Text: "))
hackno = AES.new(key, AES.MODE_ECB) 
cozulen_text = hackno.decrypt(text)

print "[+] Flag : {}".format(cozulen_text)
Şimdi bilgileri girelim bakalım
Kod:
[>Key: iyq1bFDkirtGqiFz7OVi4A==
[>Text: I300ryGVTXJVT803Sdt/KcOGlyPStZkeIHKapRjzwWf9+p7fIWkBnCWu/IWls+5S
[+] Flag : flag{do_not_let_machines_win_2d4975bc}__________
>>>
flag{} tagının içerisindeki giriyoruz ve başarılı!

[0x04]-[computeRSA]
Bize şifrelenmiş hali 150815 bir sayı ve d=1941, n=435979 bilgilerini veriyor. Altta ise matematik formulünü. "sayı = şifrelenmişsayı ^ d modN"
hemen değişkenleri yerlerine yazalım
Kod:
>>> x = 150815**1941%435979
>>> print x
133337
>>>
133337 imiş sayı, girelim.

Tersine Mühendislik:
Hala çözülmedi...

Misc:
[0x00]-[Internet Kitties]

shell2017.picoctf.com a 2720 portu ile bağlanmamızı istiyor. Tek komutla bu işi yapabiliriz, muhtemelen bu seviyedeki en kolay soru buydu
Kod:
hacknology@shell-web:~$ nc shell2017.picoctf.com 2720                       
Yay! You made it!                                                           
Take a flag!                                                                
0385d4bad438ffd596c049d5796e83a2                                            
hacknology@shell-web:~$
Flag'i giriyoruz ve ilerliyoruz.

[0x01]-[Piazza]
Reklam sorusu

[0x02]-[Leaf of the Tree]
/problems/b70fe815d84b75004f724241458ea9cc de truck'ları takip edip flag'i bulmamızı istiyor. CTF lerin eğlenceli yanlarından bir tanesi de bu (: ben tek tek deneyerek buldum, ilerliyoruz

[0x03]-[looooong]
30 saniyede istenen sayıda istenen karakteri vermemizi istiyor, python'ı kullanalım
Benden 786 tane q ve bir tane 3 istedi
Kod:
'
>>> print "q"*786 + "3"
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq3
>>>
[0x04]-[Leaf of the Forest]
Bu sefer çok daha fazla dosya var. Manuel olarak arayamayacağız, sadece "find" komutunu kullanarak bütün dosyaları çıkarttım ve ctrl+f yapıp "flag" sözcüğünü kullandım. Yol ortaya çıktı:
Kod:
./tree776de2/trunkf1d0/trunk2e70/trunk427b/trunk05c3/trunka801/trunk878b/tru
nkd3d6/branchccd0/flag
bu dizine ilerleyelim ve "cat flag" komutu ile flag'i okuyalım. İşte karşımızda!
Kod:
54a57e77602a964676e0d11da4074737
İlerliyoruz...

[0x05]-[WorldChat]
Verdiği adrese netcat ile bağlanıp chati takip edip flag'i bulmaya çalışacağız. Bağlanalım ve biraz bekleyip Ctrl+C ile işlemi sonlandıralım. Ondan sonra ister "grep" komutunu kullanarak ister ctrl+f komutu ile flag'i arayabilirsiniz. İpucu: Flag'i "flagperson" adlı kişi veriyor. Direkt onu filtreleyebilirsiniz.


MASTER CHALLENGE!

Elimizde bir site var ama geliştirici hala giriş sistemini yapmamış. Acilen giriş yapmamız gerekiyor, siteye bakalım.

"http://shell2017.picoctf.com:46677/" Site bu. ctrl+shift+I ile geliştirici konsolu açayım. client.js gözüme çarptı, bir java script dosyası. Herhangi bir isimle giriş yapmayı deneyeyim
Kod:
pword
:
"sadsad"
res
:
false
server_res
:
undefined
this
:
Window
Gördüğünüz gibi response değeri false dönüyor. Bunu true olarak editleyelim ve tekrar giriş yapmayı deneyelim.

Flag:
Kod:
client_side_is_the_dark_sidee5dbd5f8c6ae5e282766571e06569d50
Kullanıcı İmzası
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
KingSton666 Teşekkür etti.

28-04-2017 09:08
#2
MyGf - ait Kullanıcı Resmi (Avatar)
Researcher
Üyelik tarihi:
07/2016
Nereden:
Hall of Fame
Mesajlar:
3.271
Teşekkür (Etti):
510
Teşekkür (Aldı):
1257
Konular:
312
Ellerine sağlık hocam.
Konu MyGf tarafından (28-04-2017 09:13 Saat 09:13 ) değiştirilmiştir.
28-04-2017 10:06
#3
Leopic - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
02/2016
Mesajlar:
9.951
Teşekkür (Etti):
28
Teşekkür (Aldı):
4332
Konular:
2068
Ellerine sağlık bu tür konuların devamını bekliyorum.
28-04-2017 10:07
#4
SeNZeRo - ait Kullanıcı Resmi (Avatar)
Süper Moderatör
Üyelik tarihi:
09/2016
Mesajlar:
4.995
Teşekkür (Etti):
59
Teşekkür (Aldı):
1138
Konular:
442
Eline emeğine sağlık. Umarız devamı gelir
Kullanıcı İmzası
Nûn kadar suskun,
Vâv kadar edebli olabilmeli,
insan...
28-04-2017 10:07
#5
KingSton666 - ait Kullanıcı Resmi (Avatar)
Deneyimli Grafiker
Üyelik tarihi:
04/2016
Nereden:
Büyükada
Mesajlar:
9.782
Teşekkür (Etti):
3432
Teşekkür (Aldı):
2075
Konular:
977
Ellerine sağlık
Kullanıcı İmzası
Bu ülkede ayrılık acısı çekilecekse onu da en iyi biz çekeriz.

INSIDE
28-04-2017 18:40
#6
Hacknology - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
10/2015
Nereden:
rm -rf /
Mesajlar:
2.709
Teşekkür (Etti):
946
Teşekkür (Aldı):
1227
Konular:
151
Konu sabite çekilmiş, herkese teşekkürler
Kullanıcı İmzası
I surrender my soul
Odin hear my call

flag{Bur4si_b1r_0yun_park1}

hacknology@hacknologyroot:~/
29-04-2017 16:08
#7
b0mb - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2017
Nereden:
İzmir
Yaş:
17
Mesajlar:
471
Teşekkür (Etti):
143
Teşekkür (Aldı):
219
Konular:
64
Ellerine sağlık
06-06-2018 21:50
#8
Karaturkk2 - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2018
Mesajlar:
8
Teşekkür (Etti):
0
Teşekkür (Aldı):
2
Konular:
3
ellerine sağlık hocam
Kullanıcı İmzası
Delinse yer, çökse gök, yаnsа kül olsа dört yаn, Yüce dileğe doğru yine yürürüz yаyаn. Yıldırımdаn, tipiden, kаsırgаdаn, yılmаyаn, ölümlerle eylenen tunç yürekli Türkleriz..
23-07-2018 01:40
#9
Shadowfire - ait Kullanıcı Resmi (Avatar)
Siber Güvenlik Ekibi
Üyelik tarihi:
03/2018
Nereden:
KARANLIK
Mesajlar:
630
Teşekkür (Etti):
43
Teşekkür (Aldı):
71
Konular:
69
Hocam sağolasın
Kullanıcı İmzası
Türkleri öldürebilirsiniz... fakat ASLA YENEMEZSİNİZ


UNDERGROUND

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı