Metasploit Nedir?
Metasploit, güvenlik açıkları hakkında bilgi sağlayan ve penetrasyon testi ve IDS imza geliştirmede yardımcı olan açık kaynaklı bir çerçevedir. 2003 yılında HD Moore tarafından yaratılmış olup şu anda Rapid 7[1][2] tarafından sahiplenilmekte ve bakımı yapılmaktadır. Metasploit, esas olarak penetrasyon test uzmanları tarafından güvenlik açıklarını belirlemek, istismar kodunu yürütmek ve hedef sistemleri tehlikeye atmak için yükleri çalıştırmak amacıyla kullanılır.
Metasploit'in iki sürümü vardır, ücretsiz "Metasploit Framework" ve ücretli "Metasploit Pro." Çerçeve sürümü zaten Kali'ye dahildir ve tamamen ücretsiz ve açık kaynaklıdır. Metasploit, kapsamlı ve sürekli büyüyen bir istismar veritabanına erişim sağlar. Çerçeve ayrıca çeşitli yükler ve istismarların etkinliğini ölçmek için bir sıralama sistemi içerir[1].
Metasploit, bilgisayar sistemlerinin güvenlik açığını test etmek veya uzak sistemlere girmek için kullanılabilir. Birçok bilgi güvenliği aracı gibi Metasploit de hem meşru hem de yetkisiz faaliyetler için kullanılabilir. Metasploit Framework'ün satın alınmasından bu yana Rapid7, Metasploit Express ve Metasploit Pro[3] adlı iki açık çekirdekli tescilli sürüm ekledi.
Metasploit'in fiili istismar geliştirme çerçevesi olarak ortaya çıkan konumu, genellikle o belirli hatanın istismar edilebilirliğini, riskini ve düzeltilmesini vurgulayan üçüncü taraf bir Metasploit istismar modülü eşliğinde yazılım güvenlik açığı uyarılarının yayınlanmasına yol açtı. Metasploit 3.0, bilinen hatalar için istismarlar yerine yazılım güvenlik açıklarını keşfetmek için kullanılan bulanıklaştırma araçlarını içermeye başladı[3].
Metasploit'in birçok faydası vardır. Kapsamlı ve sürekli büyüyen bir istismar veritabanına erişim sağlar. Çerçeve ayrıca çeşitli yükler ve istismarların etkinliğini ölçmek için bir sıralama sistemi içerir. Ve tamamen ücretsiz ve açık kaynaklıdır[1].
Metasploit, konsolda gezinmek, bir saldırıda kullanılacak exploit'i veya yükü seçmek, saldırıyı başlatmak ve exploit sonrası modülleri yürütmek için kullanılabilecek birçok komuta sahiptir.
Metasploit hem saldırgan hem de savunma amaçlı güvenlik amaçları için kullanılabilen güçlü bir araçtır. 1500'den fazla exploit içerir ve pratik bir kullanıcı arayüzüne sahiptir.
### Temel Komutlar
Metasploit'teki temel komutlar konsolda gezinmek ve bir saldırıda kullanılacak exploit veya yükü seçmek için kullanılır. Aşağıdakiler Metasploit'te en sık kullanılan temel komutlardır:
- `msfconsole`: Bu komut, çerçeve ile etkileşime girmek için birincil arayüz olan Metasploit konsolunu başlatmak için kullanılır.
- `help` veya `?`: Bu komutlar Metasploit konsolunda kullanılabilir komutların listesini görüntülemek için kullanılır.
- `search`: Bu komut, Metasploit çerçevesi içinde belirli istismarları veya yükleri aramak için kullanılır.
- `use`: Bu komut, bir saldırıda kullanılacak belirli bir exploit veya yükü seçmek için kullanılır.
- `show`: Bu komut Metasploit çerçevesinin çeşitli bileşenleri hakkında bilgi görüntülemek için kullanılır.
- `set`: Bu komut, seçili bir exploit veya yük için çeşitli seçenekleri ayarlamak için kullanılır.
- `exploit` veya `run`: Bu komutlar, seçilen exploit veya yükü kullanarak bir saldırı başlatmak için kullanılır.
- `geri`: Bu komut bir önceki menüye dönmek için kullanılır.
- `exit` veya `quit`: Bu komutlar Metasploit konsolundan çıkmak için kullanılır.
Örneğin, `exploit/windows/smb/ms08_067_netapi` istismarını kullanmak için `use exploit/windows/smb/ms08_067_netapi` yazabilirsiniz. Bir istismar için hedef IP adresini ayarlamak için `set RHOST 192.168.1.100` yazabilirsiniz. Seçili istismarı veya yükü kullanarak bir saldırı başlatmak için `exploit` yazabilirsiniz.
### Exploit Komutları
Metasploit'teki exploit komutları değişkenleri ayarlamak ve exploit seçeneklerini, hedefleri, yükleri, kodlayıcıları, nops'ları ve gelişmiş ve kaçınma seçeneklerini göstermek için kullanılır. Aşağıdakiler Metasploit'te en sık kullanılan exploit komutlarıdır:
- `set`: Bu komut, seçili bir exploit veya yük için çeşitli seçenekleri ayarlamak için kullanılır.
- `show`: Bu komut Metasploit çerçevesinin çeşitli bileşenleri hakkında bilgi görüntülemek için kullanılır.
- `run` veya `exploit`: Bu komutlar seçili exploit'i veya yükü çalıştırmak için kullanılır.
- `geri`: Bu komut bir önceki menüye dönmek için kullanılır.
Örneğin, bir exploit için hedef IP adresini ayarlamak için `set RHOST 192.168.1.100` yazabilirsiniz. Bir exploit için kullanılabilir yükleri göstermek için `show payloads` yazabilirsiniz. Seçili exploiti veya yükü çalıştırmak için `run` yazabilirsiniz.
### Meterpreter Komutları
Meterpreter, tehlikeye atılmış bir ana bilgisayarda bir komut kabuğu sağlayan güçlü bir sömürü sonrası araçtır. Aşağıdakiler, Metasploit'te en sık kullanılan Meterpreter komutlarıdır:
- `sysinfo`: Bu komut, tehlikeye atılan ana bilgisayara ait sistem bilgilerini görüntülemek için kullanılır.
- `getuid`: Bu komut, tehlikeye atılan ana bilgisayardaki geçerli kullanıcı kimliğini görüntülemek için kullanılır.
- `ps`: Bu komut, tehlikeye atılan bilgisayarda çalışan işlemleri görüntülemek için kullanılır.
- `shell`: Bu komut, tehlikeye atılan bilgisayarda bir kabuk açmak için kullanılır.
- `download`: Bu komut, tehlikeye atılmış bilgisayardan bir dosyayı indirmek için kullanılır.
- `upload`: Bu komut, saldırıya uğramış bilgisayara bir dosya yüklemek için kullanılır.
Örneğin, tehlikeye atılan ana bilgisayar hakkında sistem bilgilerini görüntülemek için `sysinfo` yazabilirsiniz. Tehlikeye atılan ana bilgisayarda bir kabuk açmak için `shell` yazabilirsiniz.
### Yardımcı Komutlar
Metasploit'teki yardımcı modüller, bilgi toplama ve bir güvenlik açığını istismar etmeyi içermeyen diğer görevler için kullanılır. Aşağıdakiler, Metasploit'te en sık kullanılan yardımcı komutlardır:
- `search`: Bu komut Metasploit çerçevesi içerisinde belirli yardımcı modülleri aramak için kullanılır.
- `use`: Bu komut, kullanılacak belirli bir yardımcı modülü seçmek için kullanılır.
- `set`: Bu komut, seçili bir yardımcı modül için çeşitli seçenekleri ayarlamak için kullanılır.
- `run`: Bu komut seçili yardımcı modülü çalıştırmak için kullanılır.
Örneğin, SMB protokolüyle ilgili tüm yardımcı modülleri aramak için `search smb` yazabilirsiniz. `auxiliary/scanner/smb/smb_version` modülünü kullanmak için `use utility/scanner/smb/smb_version` yazabilirsiniz. Modül için hedef IP adresini ayarlamak için `set RHOSTS 192.168.1.0/24` yazabilirsiniz. Seçili yardımcı modülü çalıştırmak için `run` yazabilirsiniz.
### Çözüm
Sonuç olarak, Metasploit hem saldırgan hem de savunma amaçlı güvenlik amaçları için kullanılabilen güçlü bir araçtır. 1500'den fazla exploit içerir ve pratik bir kullanıcı arayüzüne sahiptir. Bu blokta, Metasploit ücretsiz sürümünde kullanılan komutları örnekler vererek açıkladık. Bu komutlar konsolda gezinmek, bir saldırıda kullanılacak exploit'i veya yükü seçmek, bir saldırı başlatmak ve istismar sonrası modülleri yürütmek için kullanılabilir. Metasploit'in yalnızca meşru ve yetkili güvenlik testi amaçları için kullanılması gerektiğini unutmamak önemlidir.
Alıntılar:
[1] https://www.stationx.net/metasploit-tutorial/
[2] https://en.wikipedia.org/wiki/Metasploit
[3] https://pentest.tonyng.net/metasploit-komutlari-listesi-hile-sayfasi/
[4] https://www.hackingloops.com/metasploit-commands/
[5] https://github.com/rapid7/metasploit-framework
[6] https://www.tutorialspoint.com/metasploit/metasploit_basic_commands.htm