SMTP Enumeration (Exploit Eğitimi #5)

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won
Merhaba ben Bunjo, direkt konuya giriyorum bu seferki konu exploitten çok biraz
"auxiliary" scripti olacak bununda kodlamamız önemli çünkü genellikle edindiğimiz bilgilere göre
bu exploitleri yazıyoruz ve bilgi edinme modüllerini bu eğitimde anlatacağım.



SMTP Nedir?

SMTP, "Simple Mail Transfer Protocol" (Basit Posta Transfer Protokolü) kısaltmasıdır. SMTP, elektronik posta iletilerini iletmek için kullanılan bir internet protokolüdür.
Bu protokol, e-posta istemcileri arasında ve e-posta istemcileri ile e-posta sunucuları arasında iletişim kurmak için tasarlanmıştır.
SMTP, e-posta gönderimini düzenler ve iletilerin bir e-posta istemcisinden bir e-posta sunucusuna ve ardından bir e-posta sunucusundan alıcıya iletilmesini sağlar.
Bu süreçte, gönderen e-posta sunucusu ve alıcı e-posta sunucusu arasında SMTP ile iletişim kurulur. Bizim amacımızda bu sunucudaki kullanıcıları bulmak
için bir "auxiliary" modülü geliştirmek.



Auxiliary Nedir?


"auxiliary" (yardımcı) terimi, özellikle bilgisayar güvenliği ve siber güvenlik alanlarında kullanılır. Bu bağlamda, "auxiliary modules" (yardımcı modüller) genellikle bir güvenlik test aracının (örneğin, bir penetrasyon test aracının) bir parçasıdır.

Penetrasyon testi, bir sistem veya ağın güvenlik zayıflıklarını tespit etmek için yapılan kontrollü bir saldırıdır. Penetrasyon test araçları, bu testleri gerçekleştirmek için çeşitli modüller veya bileşenler içerebilir. İşte bu bağlamda "auxiliary modules" devreye girer.

Auxiliary modüller, genellikle bir güvenlik test aracının çeşitli yardımcı görevleri gerçekleştirmesine yardımcı olan araçlardır. Örneğin, port tarama, servis keşfi, veritabanı tarama gibi görevleri yerine getirebilirler. Bu modüller, bir sistemdeki güvenlik zayıflıklarını tespit etmek ve analiz etmek için kullanılır.

"auxiliary" kavramınıda kısaca tanımlamış olduk şimdi ise kodumuza geçelim.


SMTP USER ENUMERATION
Ruby:
require 'socket'

kullanıcılar = %w{
  root ftp operator msfadmin admin
  sysadmin sys root bin daemon
} # Burada "%w" parametresi ile kolaylıkla liste tanımlayabiliyoruz.

found = [] # bulunan kullanıcıları içine yazacağımız liste.

socket = TCPSocket.new('192.168.1.85', 25) # ip kısmına hedef ip yazacaksınız. port 25
banner = socket.recv(1024).chomp # bağlanınca gelen sunucu dönütünü aldık

kullanıcılar.each do |user| # her biri kullanıcı için döngü kurduk
  socket.send "VRFY #{user} \n\r", 0 # ve "VRFY" komutunu sunucuda çalıştırmaya başladık
  response = socket.recv(1024).chomp # komut dönütünü aldık

  found << user if response.split[2] == user # komutu kontrol ettik çalıştıysa komut listeye ekledik
end

socket.close # en son bağlantıyı kapattık

puts "Dönüt :"
puts "Banner: #{banner}"
puts "Bulunan Kullanıcılar: \n#{found.join("\n")}"
# bulunan kullanıcıları ekrana yazdırdık.

Kendim örnek olması amacıyla indirdiğim "metasploitable2" makinesinde çalıştırıyorum.

siz ip adresini istediğiniz gibi değiştirip kullanabilirsiniz.



Gözüktüğü üzere kullanıcıları çektik, daha sonra sizde uğraşarak bu modülü geliştirip ortaya yeni şeyler çıkartabilirsiniz.

Benim amacım burada üst düzey bir modül yazmak değil sadece eğitim doğrultusunda anlatmayı gösterdim.

beğenmediğiniz ya da eskik bulduğunuz kısımları ukalaca yorumlar atmak yerine kendiniz konu açıp anlatabilirsiniz.

Okuyan herkese teşekkür ederim.
 

Bunjo

Uzman üye
14 Ara 2020
1,591
1,892
I Won
Teşekkür ederim.
Eline sağlık Bunjo hocam, kaçırmam.
Teşekkürler :D kaçırmazsın tabii
Eline koluna sağlık bunjoooo
Saağoooll
Eline emeğine sağlık
Teşekkürler
Elinize sağlık;
Bir şey sorabilirmiyim :)
Beni firewall mu bayıltıyor :D
Teşekkürler, görsel paylaşır mısın 🙃🙂
her foruma lazım senden
yok böyle tskk
Teşekkür ederim Felezim :)
 
7 Kas 2021
65
87
24
Berlin
Merhaba ben Bunjo, direkt konuya giriyorum bu seferki konu exploitten çok biraz
"auxiliary" scripti olacak bununda kodlamamız önemli çünkü genellikle edindiğimiz bilgilere göre
bu exploitleri yazıyoruz ve bilgi edinme modüllerini bu eğitimde anlatacağım.



SMTP Nedir?

SMTP, "Simple Mail Transfer Protocol" (Basit Posta Transfer Protokolü) kısaltmasıdır. SMTP, elektronik posta iletilerini iletmek için kullanılan bir internet protokolüdür.
Bu protokol, e-posta istemcileri arasında ve e-posta istemcileri ile e-posta sunucuları arasında iletişim kurmak için tasarlanmıştır.
SMTP, e-posta gönderimini düzenler ve iletilerin bir e-posta istemcisinden bir e-posta sunucusuna ve ardından bir e-posta sunucusundan alıcıya iletilmesini sağlar.
Bu süreçte, gönderen e-posta sunucusu ve alıcı e-posta sunucusu arasında SMTP ile iletişim kurulur. Bizim amacımızda bu sunucudaki kullanıcıları bulmak
için bir "auxiliary" modülü geliştirmek.



Auxiliary Nedir?


"auxiliary" (yardımcı) terimi, özellikle bilgisayar güvenliği ve siber güvenlik alanlarında kullanılır. Bu bağlamda, "auxiliary modules" (yardımcı modüller) genellikle bir güvenlik test aracının (örneğin, bir penetrasyon test aracının) bir parçasıdır.

Penetrasyon testi, bir sistem veya ağın güvenlik zayıflıklarını tespit etmek için yapılan kontrollü bir saldırıdır. Penetrasyon test araçları, bu testleri gerçekleştirmek için çeşitli modüller veya bileşenler içerebilir. İşte bu bağlamda "auxiliary modules" devreye girer.

Auxiliary modüller, genellikle bir güvenlik test aracının çeşitli yardımcı görevleri gerçekleştirmesine yardımcı olan araçlardır. Örneğin, port tarama, servis keşfi, veritabanı tarama gibi görevleri yerine getirebilirler. Bu modüller, bir sistemdeki güvenlik zayıflıklarını tespit etmek ve analiz etmek için kullanılır.

"auxiliary" kavramınıda kısaca tanımlamış olduk şimdi ise kodumuza geçelim.


SMTP USER ENUMERATION
Ruby:
require 'socket'

kullanıcılar = %w{
  root ftp operator msfadmin admin
  sysadmin sys root bin daemon
} # Burada "%w" parametresi ile kolaylıkla liste tanımlayabiliyoruz.

found = [] # bulunan kullanıcıları içine yazacağımız liste.

socket = TCPSocket.new('192.168.1.85', 25) # ip kısmına hedef ip yazacaksınız. port 25
banner = socket.recv(1024).chomp # bağlanınca gelen sunucu dönütünü aldık

kullanıcılar.each do |user| # her biri kullanıcı için döngü kurduk
  socket.send "VRFY #{user} \n\r", 0 # ve "VRFY" komutunu sunucuda çalıştırmaya başladık
  response = socket.recv(1024).chomp # komut dönütünü aldık

  found << user if response.split[2] == user # komutu kontrol ettik çalıştıysa komut listeye ekledik
end

socket.close # en son bağlantıyı kapattık

puts "Dönüt :"
puts "Banner: #{banner}"
puts "Bulunan Kullanıcılar: \n#{found.join("\n")}"
# bulunan kullanıcıları ekrana yazdırdık.

Kendim örnek olması amacıyla indirdiğim "metasploitable2" makinesinde çalıştırıyorum.

siz ip adresini istediğiniz gibi değiştirip kullanabilirsiniz.



Gözüktüğü üzere kullanıcıları çektik, daha sonra sizde uğraşarak bu modülü geliştirip ortaya yeni şeyler çıkartabilirsiniz.

Benim amacım burada üst düzey bir modül yazmak değil sadece eğitim doğrultusunda anlatmayı gösterdim.

beğenmediğiniz ya da eskik bulduğunuz kısımları ukalaca yorumlar atmak yerine kendiniz konu açıp anlatabilirsiniz.

Okuyan herkese teşekkür ederim.
en nadir yazılımcılardan nadide çiçek dostum eline sağlık
 
Ü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.