Pentester için Uzaktan komut yürütme

Genel Bakış
FreeNews.TR/ Uzaktan komut yürütme, neredeyse her başarılı Active Directory saldırısının temelini oluşturur. Bir sızma testi uzmanı geçerli kimlik bilgilerini ele geçirdikten sonra, acil hedef bu erişimi hedef ana bilgisayarda bir shell’e dönüştürmektir. impacket-smbexec yardımcı programı tam olarak bu yeteneği sağlar. Uzak bir Windows makinesinde SMB protokolü üzerinden yarı etkileşimli bir komut istemi açarak, operatörün fiziksel konsola hiç dokunmadan komut çalıştırmasına, bilgi toplamasına ve tehlikeye atılmış hesapların kapsamını doğrulamasına olanak tanır.
Bu makale, aracı en temelden ele almaktadır. İlk olarak impacket-smbexec’in ne olduğunu ve nasıl çalıştığını açıklıyor, ardından izole bir laboratuvar ortamında yürütülen bir dizi pratik örnek aracılığıyla her önemli özelliği gösteriyor. Her komut, açıklamasından ayrı olarak verilmiştir, böylece okuyucular onu doğrudan kopyalayıp uyarlayabilir ve her ekran görüntüsü, gösterdiği tekniğin açıklamasını takip eder.
İçindekiler:
- giriiş
- Yardım Menüsünü Keşfetme
- Düz Metin Kimlik Bilgileriyle Kimlik Doğrulama
- Pass-the-Hash Saldırısı Gerçekleştirme
- Kerberos ile kimlik doğrulama
- AES Anahtarı Kullanarak Kimlik Doğrulama
- PowerShell Komut İşlemcisini Seçme
- Zaman damgalı ve hata ayıklama çıktısını etkinleştirme
- Komutları Etkileşimli Olmayan Şekilde Çalıştırma
- Çıktı Payının Belirtilmesi
- Hedef IP Adresinin Tanımlanması
- Hizmet Adını Özelleştirme
- Azaltma Stratejileri
- Çözüm
giriiş
Impacket-smbexec, Fortra tarafından ağ protokolleriyle çalışmak için geliştirilen, olgunlaşmış bir Python sınıfı ve komut satırı yardımcı programları paketi olan Impacket koleksiyonuna aittir. Araç, kavramsal olarak klasik PsExec’e benzer bir teknik uygular, ancak hedef üzerine bir ikili dosya bırakmaktan özellikle kaçınır. Bunun yerine, uzak sunucuda komut çıktısını SMB üzerinden adlandırılmış bir boru aracılığıyla saldırgana geri gönderen bir Windows hizmeti oluşturur. Hizmet her komutu komut yorumlayıcısı aracılığıyla yürütür ve sonucu paylaşımdaki geçici bir dosyaya döndürür, bu nedenle operatör ağ üzerinden duyarlı, kabuk benzeri bir deneyim yaşar.
Bu yardımcı program, düz metin parolalar, pass-the-hash saldırıları için NTLM hash’leri, Kerberos biletleri ve ham AES anahtarları dahil olmak üzere çeşitli yöntemler kullanarak kimlik doğrulaması yapar. Bu esneklik, test edenin kırılmış bir parola, yakalanmış bir hash veya sahte bir bilet tutması fark etmeksizin, bir denetim süreci boyunca onu değerli kılar. Operatörler ayrıca impacket-smbexec’in varsayılan olarak SYSTEM hesabı bağlamında komutları çalıştırdığını ve ele geçirilen makinede en yüksek ayrıcalık düzeyini sağladığını da takdir ederler. Bu kılavuz boyunca, örnekler ignite.local laboratuvar ortamındaki bir etki alanı denetleyicisini hedef alır ve yönetici hesabı ile 192.168.1.12 adresindeki ana bilgisayarı kullanır.
Yardım Menüsünü Keşfetme
Aracı herhangi bir hedefe karşı çalıştırmadan önce, operatör mevcut seçeneklerini gözden geçirmelidir. impacket-smbexec’i hiçbir argüman olmadan başlatmak, konum tabanlı hedef argümanı, bağlantı, kimlik doğrulama ve kabukla ilgili anahtarları gösteren eksiksiz kullanım mesajını yazdırır. Yardım çıktısı, bu seçenekleri mantıksal olarak gruplandırarak çıktı paylaşımını seçmeyi, hizmet modunu seçmeyi, özel bir codec ayarlamayı ve yarı etkileşimli kabuk için komut işlemcisini seçmeyi gösterir.
impacket-smbexec

Düz Metin Kimlik Bilgileriyle Kimlik Doğrulama
Aracı kullanmanın en doğrudan yolu, bilinen bir kullanıcı adı ve parola sağlamaktır. Operatör, kimlik bilgilerini standart etki alanı/kullanıcı adı:parola biçiminde, ardından hedef IP adresini girerek sağlar. Araç kimlik doğrulamasını yapar, yarı etkileşimli kabuğu başlatır ve system32 dizininde köklenmiş bir Windows komut istemi sunar. Bu noktadan itibaren, operatörün yazdığı her komut, uzak sunucuda SYSTEM düzeyinde ayrıcalıklarla çalışır.impacket – smbexec ignite.local /
administrator :
ByRam @
987 @ 192.168.1.12
Pass-the-Hash Saldırısı Gerçekleştirme
Bir test uzmanı açık metin parola yerine bir NTLM karması elde ettiğinde, impacket-smbexec doğrudan bu karma ile kimlik doğrulaması yapar. Operatör, yalnızca NT karması mevcut olduğunda LM kısmını boş bırakarak, LMHASH:NTHASH formatını kullanarak karmayı -hashes anahtarı üzerinden geçirir. Araç daha sonra açık metin parolayı hiç bilmeden SMB el sıkışmasını tamamlar ve aynı etkileşimli kabuğu sağlar. Bu karma geçirme tekniği, parola kırma başarısız olduğunda veya görev süresi kısıtlı olduğunda son derece değerlidir.
impacket-smbexec -hashes :32196B56FFE6F45E294117B91A83BF38 byram. local /administrator@ 192.168 . 1 . 12

Kerberos ile kimlik doğrulama
Kerberos’un tercih edilen kimlik doğrulama protokolü olduğu ortamlarda, araç parola veya karma değer yerine önbelleğe alınmış bir bilet kullanır. Operatör öncelikle kimlik bilgisi önbelleğinde geçerli bir biletin bulunduğundan emin olur, ardından Kerberos kimlik doğrulaması istemek için -k anahtarıyla ve parola istemini atlamak için -no-pass anahtarıyla aracı çağırır. Kerberos alışverişinin doğru şekilde çözümlenmesi için hedef, tam nitelikli alan adıyla referans alınmalıdır. Bu yöntem, normal alan trafiğine doğal bir şekilde entegre olur ve operatörün geride bıraktığı izi azaltır.impacket – smbexec -k -no- pass
ignite.local/administrator@dc1.ByRam.local

AES Anahtarı Kullanarak Kimlik Doğrulama
Daha güçlü Kerberos senaryoları için, araç -aesKey anahtarı aracılığıyla ham bir AES anahtarı kabul eder ve hem 128 bit hem de 256 bit anahtarları destekler. Bu yaklaşım, operatörün hesabın AES anahtarını çıkardığı ve NTLM hash’ine güvenmeden kimlik doğrulaması yapmak istediği durumlara uygundur. Araç, sağlanan anahtarı kullanarak Kerberos kimlik doğrulamasını tamamlar ve diğer tüm durumlarda olduğu gibi, hedef etki alanı denetleyicisinde yarı etkileşimli bir kabuk sunar.
impacket – smbexec ignite.local/administrator@dc1.ByRam.local
-aesKey e1182a9a34827cabac57a635ae47ce2b2945b4e9397d369b07d4d714c6c525b7

PowerShell Komut İşlemcisini Seçme
Varsayılan olarak, yarı etkileşimli kabuk komutları klasik Windows komut yorumlayıcısı üzerinden yönlendirir. `-shell-type` anahtarı, operatörün bunun yerine PowerShell’i seçmesine olanak tanır; bu da sömürü sonrası aşamada daha zengin betikleme yetenekleri ve cmdlet desteği sağlar. Kabuk türü olarak `powershell` belirtildikten sonra, komut istemi PowerShell ortamını yansıtacak şekilde değişir ve sonraki her komut uzak sunucuda PowerShell üzerinden yürütülür.
impacket-smbexec ByRam.local / administrator :ByRam @
987 @ 192.168.1.12 -shell – type powershell

Zaman damgalı ve hata ayıklama çıktısını etkinleştirme
Sorun giderme veya bir çalışmanın dikkatli bir şekilde belgelenmesi sırasında, ayrıntılı günlük kaydı çok önemlidir. -ts anahtarı her günlük satırının başına bir zaman damgası eklerken, -debug anahtarı ayrıntılı hata ayıklama mesajlarını etkinleştirir. Birlikte, Impacket kütüphane yolu, hizmet denetim yöneticisine ulaşmak için kullanılan dize bağlaması ve çıktıyı yönlendirmek için aracın yürüttüğü tam komut da dahil olmak üzere, aracın gerçekleştirdiği dahili adımları ortaya çıkarırlar. Bu görünürlük, bir operatörün aracın hedefle nasıl etkileşim kurduğunu tam olarak anlamasına yardımcı olur.impacket – smbexec ignite.local /
administrator :
ByRam @
987 @ 192.168.1.12 -ts -debug

Komutları Etkileşimli Olmayan Şekilde Çalıştırma
Bu araç her zaman etkileşimli bir oturum gerektirmez. Bir operatör, araca tek bir komut verip sonucu tek seferde yakalayabilir; bu da betikleme ve otomasyon için uygundur. Bir komutu echo ile araca yönlendirmek, o komutu yürütür ve çıktısını hemen döndürür. Üçlü küçüktür operatörüyle birlikte here-string aracılığıyla komut verilmesi de aynı sonucu verir. Aşağıdaki örnekte, her iki yaklaşım da hedefte ipconfig çalıştırır ve operatörü kalıcı bir kabuk içinde bırakmadan ağ yapılandırmasını yazdırır.echo ipconfig
| impacket –
smbexec ignite.local / administrator :
ByRam @
987 @ 192.168.1.12impacket – smbexec ignite.local /
administrator :ByRam @
987 @ 192.168.1.12 <<< ” ipconfig “

Çıkış Payının Belirtilmesi
Bu araç, hedefteki yazılabilir bir paylaşımdan komut çıktısını alır ve varsayılan olarak yönetimsel C$ paylaşımını kullanır. Operatörün aracı farklı bir konuma yönlendirmesi gerektiğinde, -share anahtarı paylaşımı açıkça belirtir. Paylaşımı doğrudan adlandırmak, operatöre geçici çıktı dosyasının nereye kaydedileceği konusunda kontrol sağlar; bu da kısıtlı veya izlenen paylaşımların olduğu ortamlarda faydalıdır. Aşağıdaki örnek, C$ belirterek ve olağan etkileşimli komut istemini alarak davranışı doğrular.impacket – smbexec ignite.local /
administrator :Ignite @
987 @ 192.168.1.12 -share C $

Hedef IP Adresinin Tanımlanması
Bazen kimlik doğrulama için sağlanan ana bilgisayar adı, SMB hizmetinin gerçekten dinlediği adresten farklı olabilir. `-target-ip` anahtarı, operatörün kimlik bilgisi dizesinde kullanılan addan bağımsız olarak hedef makinenin tam IP adresini belirtmesine izin vererek bu sorunu çözer. Bu ayrım, ad çözümleme sorunlarıyla uğraşırken veya belirli bir ana bilgisayara bağlanırken tek bir kimliğe karşı kimlik doğrulaması yaparken yararlıdır. Aşağıdaki komut, özel karakterleri korumak için parolayı tek tırnak içine alır ve bağlantıyı amaçlanan adrese yönlendirir.impacket – smbexec ignite.local /
administrator : ‘
ByRam@ 987 ‘
@ 192.168.1.12 -target – ip 192.168.1.12

Hizmet Adını Özelleştirme
Araç, hedefte bir Windows hizmeti oluşturarak çalıştığı için, bu hizmetin adı, olağandışı hizmet oluşturmayı izleyen savunmacılara etkinliği ele verebilir. `-service-name` anahtarı, operatörün yükü tetikleyen hizmete özel, daha az dikkat çekici bir ad atamasını sağlar. Zararsız görünen bir ad seçmek, işlemin meşru hizmetlerle karışmasına ve tespit edilme olasılığını azaltmasına yardımcı olur. Aşağıdaki örnekte `MyService` adı atanır ve kabuk beklendiği gibi başlatılır.
impacket-smbexec byram.local / administrator : ByRam @
987 @ 192.168.1.12 -service – name MyService

Azaltma Stratejileri
Savunmacılar, impacket-smbexec’in etkisini, aracın kendisini değil, bağlı olduğu koşulları hedef alarak azaltabilirler. Araç ayrıcalıklı hesaplarla çalıştığı için, en az ayrıcalık ilkesini uygulayın, yönetici grubu üyeliğini kısıtlayın ve her makineye benzersiz bir yerel yönetici parolası vermek için LAPS’ı dağıtın. NTLM’yi devre dışı bırakmak ve güçlü AES anahtarlarıyla Kerberos gerektirmek, hash’i geçme yolunu kapatırken, SMB imzalama ve şifreleme, trafiğin kurcalanmasını zorlaştırır. impacket-smbexec, çıktıyı adlandırılmış bir boru üzerinden ileten bir Windows hizmeti oluşturduğu için, anormal hizmet oluşturma olaylarını izleyin—bilinmeyen hizmet adları için Olay Kimliği 7045 ve C$ ve ADMIN$ gibi paylaşımlara şüpheli yazma işlemleri için Olay Kimliği 5145. Bu sinyalleri beklenmeyen %COMSPEC% komut satırları ve kısa ömürlü hizmet kurulumlarıyla ilişkilendirmek, analistlere güvenilir bir tespit modeli sağlar. Son olarak, iş istasyonları ve sunucular arasında SMB erişilebilirliğini sınırlayan ağ segmentasyonu, bellekteki gizli bilgileri koruyan kimlik bilgisi koruma teknolojileriyle birleştiğinde, saldırganın yatay olarak hareket etme yeteneğini ve kurtarmayı başardığı kimlik bilgilerinin değerini önemli ölçüde azaltır.
Çözüm
impacket-smbexec, Windows ortamlarında uzaktan komut yürütme için güvenilir ve esnek bir araç olarak öne çıkıyor. Parolalar, hash’ler, Kerberos biletleri ve AES anahtarları aracılığıyla kimlik doğrulaması yapıyor, kabuğunu komut yorumlayıcısına veya PowerShell’e uyarlıyor ve çıktı paylaşımı, hedef adres ve hizmet adı üzerinde ayrıntılı kontrol sağlıyor. Bu özellikler, sızma testi uzmanının ele geçirilmiş kimlik bilgilerini doğrulamasına, istihbarat toplamasına ve etkiyi hassasiyetle ve minimum gürültüyle göstermesine olanak tanıyor.
Bu seçeneklere hakim olmak, bir operatörün değerlendirme sırasında kimlik bilgilerini kurtarmaktan tam komut yürütmeye güvenle geçmesini sağlar. Her saldırı tekniğinde olduğu gibi, test uzmanları bu aracı yalnızca yetkilendirilmiş etkileşimler ve uygun şekilde tanımlanmış laboratuvar ortamlarında uygulamalı, bilgiyi zarar vermek yerine savunmayı güçlendirmek için kullanmalıdır.
Son içerik güncellemesi: 06.10.2026 09:34
Bu dosyayı takip et
Düzeltme bildir
Soru veya düzeltme iletmek için giriş yapın. Hesabınız yoksa haber merkezinden başvurabilirsiniz.
Haberle konuş özelliğini kullanmak için giriş yapın.
Sesli okuma cihazınızın desteklediği seslerle yapılır.
Bu yazıyı paylaşın
Bir paylaşım, daha çok insana ulaşan bir ses.

Pentester için Uzaktan komut yürütme
Genel Bakış FreeNews.TR/ Uzaktan komut yürütme, neredeyse her başarılı Active Directory saldırısının temelini oluşturur. Bir sızma testi uzmanı geçerli kimlik bilgilerini ele geçir…
freenews.tr · Sercan Bayram / Mühendis / Siber Güvenlik UzmanıTikTok, YouTube, Snapchat, Messenger, Signal, Discord ve Mastodon için metni kopyalayın; desteklenen gönderi türüne görseli kendiniz ekleyin. Cihazda paylaş menüsünde yalnızca cihazınızın sunduğu uygulamalar görünür.
Bu düğme hesaplara otomatik gönderi veya video yayımlamaz. Görseli indirip aşağıdaki metin ve bağlantıyla birlikte paylaşabilirsiniz.
Görseli indirin, paylaşım metnini kopyalayın ve Instagram’da yeni gönderiye ekleyin. Telefonda paylaşım menüsünde Instagram görünürse onu seçebilirsiniz.
1080 × 1350 piksel. Metin otomatik aktarılmayabilir; kopyalayıp açıklamaya yapıştırın. Haber bağlantısını profilinize veya hikâyedeki bağlantı etiketine ekleyebilirsiniz.
WhatsApp başlığı kalın ve paragrafları ayrı gönderir. Görsel önizlemesini alıcı platform oluşturur; görsel dosyası otomatik eklenmez. Fotoğraf olarak paylaşmak için Görseli indir ve Metni kopyala düğmelerini kullanın.
Etiketler: komut, Pentester, Uzaktan, yürütme

Bir yanıt yazın