Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Bu makale Dosyasız Kötü Amaçlı Yazılım serisinin bir parçasıdır. Serinin diğer tüm bölümleri:

Sitenin hayranıyım hibrit analiz (hibrit analiz, bundan sonra HA olarak anılacaktır). Bu, vahşi "yırtıcı hayvanları" saldırıya uğramadan güvenli bir mesafeden gözlemleyebileceğiniz bir tür kötü amaçlı yazılım hayvanat bahçesidir. HA, kötü amaçlı yazılımları güvenli ortamlarda çalıştırır, sistem çağrılarını, oluşturulan dosyaları ve İnternet trafiğini kaydeder ve analiz ettiği her örnek için tüm bu sonuçları size verir. Bu şekilde, kafa karıştırıcı kodu kendiniz çözmeye çalışarak zamanınızı ve enerjinizi harcamanıza gerek kalmaz, ancak bilgisayar korsanlarının tüm niyetlerini anında anlayabilirsiniz.

Dikkatimi çeken HA örnekleri, Word veya Excel belgelerine makro olarak yerleştirilmiş ve kimlik avı e-postalarına eklenmiş kodlanmış JavaScript veya Visual Basic for Applications (VBA) komut dosyalarını kullanıyor. Bu makrolar açıldığında kurbanın bilgisayarında bir PowerShell oturumu başlatır. Bilgisayar korsanları genellikle PowerShell'e Base64 kodlu bir komut akışı gönderir. Bunların hepsi, saldırının belirli anahtar kelimelere yanıt veren web filtreleri ve antivirüs yazılımı tarafından tespit edilmesini zorlaştırmak için yapılır.
Neyse ki HA, Base64'ün kodunu otomatik olarak çözer ve her şeyi hemen okunabilir bir formatta görüntüler. Temel olarak, bu komut dosyalarının nasıl çalıştığına odaklanmanıza gerek yok çünkü çalışan işlemler için tam komut çıktısını HA'nın ilgili bölümünde görebileceksiniz. Aşağıdaki örneğe bakın:

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Hibrit analiz, PowerShell'e gönderilen Base64 kodlu komutları yakalar:

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

...ve sonra bunları sizin için çözer. #sihirli bir şekilde

В önceki yazı PowerShell oturumu çalıştırmak için kendi biraz karmaşık JavaScript kapsayıcımı oluşturdum. Komut dosyam, birçok PowerShell tabanlı kötü amaçlı yazılım gibi, aşağıdaki PowerShell komut dosyasını uzak bir web sitesinden indiriyor. Daha sonra örnek olarak ekrana mesaj basan zararsız bir PS yükledim. Ancak zaman değişiyor ve şimdi senaryoyu karmaşıklaştırmayı öneriyorum.

PowerShell Empire ve Ters Kabuk

Bu çalışmanın amaçlarından biri, bir bilgisayar korsanının klasik çevre savunmalarını ve antivirüs yazılımlarını (nispeten) ne kadar kolay aşabildiğini göstermektir. Benim gibi programlama becerisine sahip olmayan bir BT blog yazarı bunu birkaç akşamda yapabilirse tespit edilemeyen kötü amaçlı yazılım oluşturma (tamamen tespit edilmemiş, FUD), bununla ilgilenen genç bir hackerın yeteneklerini hayal edin!

BT güvenlik sağlayıcısıysanız ancak yöneticiniz bu tehditlerin olası sonuçlarının farkında değilse, ona bu makaleyi göstermeniz yeterli.

Bilgisayar korsanları, kurbanın dizüstü bilgisayarına veya sunucusuna doğrudan erişim sağlamayı hayal eder. Bunu yapmak çok basittir: Bir bilgisayar korsanının yapması gereken tek şey, CEO'nun dizüstü bilgisayarındaki birkaç gizli dosyayı ele geçirmektir.

Bir şekilde ben zaten yazdı PowerShell Empire üretim sonrası çalışma zamanı hakkında. Ne olduğunu hatırlayalım.

Esasen, diğer birçok özelliğin yanı sıra ters kabuğu kolayca çalıştırmanıza olanak tanıyan PowerShell tabanlı bir sızma testi aracıdır. Daha ayrıntılı olarak şu adresten inceleyebilirsiniz: PSE ana sitesi.

Küçük bir deney yapalım. Amazon Web Services bulutunda güvenli bir kötü amaçlı yazılım test ortamı kurdum. Bu güvenlik açığının çalışan bir örneğini hızlı ve güvenli bir şekilde göstermek için örneğimi takip edebilirsiniz (ve kuruluş çevresinde virüs çalıştırdığınız için kovulmazsınız).

PowerShell Empire konsolunu başlatırsanız şunun gibi bir şey göreceksiniz:

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Öncelikle hacker bilgisayarınızda listener işlemini başlatıyorsunuz. "Dinleyici" komutunu girin ve "Ana Bilgisayarı Ayarla" seçeneğini kullanarak sisteminizin IP adresini belirtin. Daha sonra "execute" komutuyla (altta) listener işlemini başlatın. Böylece, uzak kabuktan bir ağ bağlantısı beklemeye başlayacaksınız:

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Diğer taraftan “launcher” komutunu girerek temsilci kodu oluşturmanız gerekecektir (aşağıya bakın). Bu, uzak aracı için PowerShell kodunu oluşturacaktır. Base64'te kodlandığını ve yükün ikinci aşamasını temsil ettiğini unutmayın. Başka bir deyişle, JavaScript kodum artık zararsız bir şekilde ekrana metin yazdırmak yerine bu aracıyı PowerShell'i çalıştırmak için çekecek ve ters kabuk çalıştırmak için uzak PSE sunucumuza bağlanacak.

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları
Ters kabuğun büyüsü. Bu kodlanmış PowerShell komutu dinleyicime bağlanacak ve uzak bir kabuk başlatacak.

Bu deneyi size göstermek için masum kurban rolünü üstlendim ve Evil.doc'u açarak JavaScript'imizi başlattım. İlk kısmı hatırlıyor musun? PowerShell, penceresinin açılmasını engelleyecek şekilde yapılandırılmıştır, böylece kurban olağandışı bir şey fark etmeyecektir. Ancak Windows Görev Yöneticisini açarsanız zaten çoğu kişi için herhangi bir alarma neden olmayacak bir arka plan PowerShell işlemi göreceksiniz. Çünkü bu sadece normal bir PowerShell, değil mi?

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Artık Evil.doc'u çalıştırdığınızda gizli bir arka plan işlemi PowerShell Empire'ı çalıştıran sunucuya bağlanacaktır. Beyaz pentester hacker şapkamı takarak PowerShell Empire konsoluna döndüm ve şimdi uzak aracımın aktif olduğunu belirten bir mesaj görüyorum.

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Daha sonra PSE'de bir kabuk açmak için "etkileşim" komutunu girdim ve işte oradaydım! Kısaca kendi kurduğum Taco sunucusunu bir kere hacklemiştim.

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları

Az önce gösterdiğim şey sizin açınızdan çok fazla çalışma gerektirmiyor. Bilgi güvenliği bilginizi geliştirmek için tüm bunları öğle tatilinizde bir iki saatliğine rahatlıkla yapabilirsiniz. Ayrıca bilgisayar korsanlarının harici güvenlik çevrenizi nasıl aştığını ve sistemlerinize nasıl girdiğini anlamanın da harika bir yoludur.

Herhangi bir izinsiz girişe karşı aşılamaz bir savunma oluşturduklarını düşünen BT yöneticileri de muhtemelen bunu eğitici bulacaktır; yani onları sizinle yeterince uzun süre oturmaya ikna edebilirseniz.

Hadi gerçeğe dönelim

Beklediğim gibi, ortalama bir kullanıcının göremediği gerçek bir hack, az önce tanımladığım şeyin sadece bir çeşididir. Bir sonraki yayın için materyal toplamak amacıyla, icat ettiğim örnekle aynı şekilde çalışan bir HA örneği aramaya başladım. Ve bunu uzun süre aramam gerekmedi - sitede benzer bir saldırı tekniği için birçok seçenek var.

Sonunda HA'da bulduğum kötü amaçlı yazılım, bir Word belgesine yerleştirilmiş bir VBA betiğiydi. Yani, doc uzantısını taklit etmeme bile gerek yok, bu kötü amaçlı yazılım gerçekten normal görünümlü bir Microsoft Word belgesi. Eğer ilgileniyorsanız, şu örneği seçtim: rfq.doc.

Kötü amaçlı VBA komut dosyalarını çoğu zaman bir belgeden doğrudan çıkaramayacağınızı kısa sürede öğrendim. Bilgisayar korsanları bunları Word'ün yerleşik makro araçlarında görünmeyecek şekilde sıkıştırıp gizler. Kaldırmak için özel bir alete ihtiyacınız olacak. Şans eseri bir tarayıcıyla karşılaştım OfisMalTarayıcı Frank Baldwin. Teşekkür ederim Frank.

Bu aracı kullanarak oldukça karmaşık VBA kodunu ortaya çıkarmayı başardım. Şunun gibi bir şeye benziyordu:

Ele Geçirilmesi Zor Kötü Amaçlı Yazılımların Maceraları, Bölüm II: Gizli VBA Komut Dosyaları
Gizleme, kendi alanlarındaki profesyoneller tarafından yapıldı. Etkilendim!

Saldırganlar kodu gizleme konusunda gerçekten çok iyiler, benim Evil.doc oluşturma çabalarım gibi değil. Tamam, bir sonraki bölümde VBA hata ayıklayıcılarımızı çıkarıp bu kodu biraz daha derinlemesine inceleyeceğiz ve analizimizi HA sonuçlarıyla karşılaştıracağız.

Kaynak: habr.com

Yorum ekle