AMSI (AntiMalware Scan Interface)

Phemis's notes

Nedir ?

AMSI ' nın işi kötü amaçlı kod bloklarını , yazılımları tespit etmek ve engellemektir.

AMSI , Powershell kodlarının kötü amaçlı olup olmadığını algılamak için dizi tabanlı tarama sistemini kullanır.

Örneğin "amsiutils" yazısını powershell üzerine yazmaya çalıştığımızda antivirus bizi engelleyecektir.

Dediğimiz gibi dizi tabanlı tarama sistemini kullandığı için haliyle bypass edilmesi daha kolay bir hale geliyor :)

1.Bypass İşlemi

"amsiutils" stringi üzerinden gidelim.Stringi direkt olarak "amsiutils" ' mi değil mi diye kontrol ettiği için stringin yazımını değiştirirsek AMSI bunu algılayamayacaktır. Ör. :

Gördüğümüz gibi sonuç itibariyle istediğimiz stringi aldık fakat yazımı biraz değiştirdiğimiz için AMSI hiçbir şey algılamadı ve dolayısıyla işlemi bypass etmiş olduk.

2.Bypass İşlemi

Bu sefer string değerimizi parse ederek değil de şifreleyerek gizleyelim.Bu şifrelemede Base64 tercih edildi.

$sifreliDeger = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes("amsiutils"))

Önce Base64 ' e çeviriyoruz ve daha sonra yazdırmak için tekrar base64 ' den alıyoruz.

[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($sifreliDeger))

Last updated

Was this helpful?