Fatih Erdogan

PDF Malware Analiz Teknikleri

Introduction

PDF Malware Analiz Teknikleri

Posted by Fatih Erdogan on .
Featured

PDF Malware Analiz Teknikleri

Posted by Fatih Erdogan on .

Merhabalar, Bugün sizlere benim de şu sıralar yeni yeni adım atmakta olduğum tersine mühendislik ve zararlı yazılım analiziyle alakalı, bana ilgi çekici gelen bir konudan bahsetmek istiyorum.”PDF Malware Analizi”.

Bilindiği üzere PDF dosyalarını günlük yaşantımızda, işte, evde çoğu yerde kullanıyoruz.Bu PDFler olmadan iş yaşantısını hayal etmek bile oldukça zor aslında.Çünkü kurumsal/bireysel belgeler, şirket broşürleri ve hatta davetiyeler bile çoğu zaman PDF formatında tutuluyor.

Geçtiğimiz yıllarda PDF dosyalarıyla ilgili buffer overflow gibi zafiyetler yayınlandı ve bu zafiyetlere yönelik saldırılar oluşmaya başladı.Hatta saldırıların birçoğunun internet üzerinde, içinde zararlı kod bulunduran PDF dosyalarının sisteme indirilmesiyle veya bu PDF dosyalarının sosyal mühendislik yöntemleri kullanılarak sistemlere kullanıcının anlamayacağı bir şekilde yerleştirilerek gerçekleştirildiği görüldü.

Sadece PDF dosyasını açmak gibi basit bir hareket bile internetten gelen zararlı kodun sisteme bulaşmasını sağlayacak bir güvenlik ihlali yaratabilir.Kullanıcının anlamaması için sahte bir PDF dosyası şekline bürünerek kullanıcıyı kandırabilir.

Bu konuyla ilgili aşağıdaki resimde geçtiğimiz yıllardaki Adobe Reader saldırılarının yüzdelik artışını görebilirsiniz.

Adobe Reader Saldırıları

Zararlı PDF dosyaları demin bahsettiğim nedenlerin de etkisiyle sıklıkla kitlesel ölçekli bilgisayar saldırılarının bir parçası olarak kullanılır.

PDF dosyalarını analiz etmeyi bilmek iyi güzel fakat analizi yapacak kişinin PDF dosya yapısı hakkında önceden bilgisinin olması her halükarda daha olumludur. Öyleyse şimdi bizde PDF dosya yapısını inceleyelim…

PDF Dosya Yapısı

PDF, statik ve dinamik zengin içerik sunma yeteneğine sahiptir.PDF dosyalarıyla görsel olarak ilgi çekici, interaktif ve taşınabilir belgeler sunabilirsiniz.Her ne kadar bu geniş özellik ve imkanlardan yararlanıyor olsak bile işin bir karanlık tarafı vardır.Az önce bahsettiğimiz dinamik pdf özellikleri, zararlı kodları barındırabilecek şekilde kullanılmıştır.

Önceki yıllarda bilgisayar korsanlarının bu tarz kötü niyetli dosyaları, zararlı kod barındıran kötü amaçlı yazılımları yüklemek ve kullanıcıların kimlik bilgilerini çalmak için kullandığı ortaya çıkmıştır.

Normalde PDF zararlı yazılımları, bu dosyaların içine gömülen bir script sayesinde çalışmakta.Bu zararlı script PDF dosyasının çalışmasını destekleyen bir yapıya sahiptir.Bu amaca yönelik en yaygın kullanılan script dili JavaScript’tir.

Çoğu durumda bu gömülü scriptler işlevselliği sağlamak veya işletim sistemine zararlı kod yüklemek için kullanılır.

PDF Döküman Yapısı

Bir PDF dosyasının genel yapısı aşağıdaki bileşenlerden oluşur: * Boolean values, representing true or false * Numbers * Strings * Names * Arrays, ordered collections of objects * Dictionaries, collections of objects indexed by names * Streams, usually containing large amounts of data * The null object

PDF Dosya YApısı

Zararlı Yazılımın PDF ile Çalışması

Çalıştırma işlemi sırasında zararlı bir uygulama açılır ya da bir belgeye veri yazdırır. Biz bu işlemi Adobe Acrobat exploitini Metasploit ile PDF içine .exe dosyası gömerek yapıyoruz.

  • Zararlı PDF’in çalışması esnasında cmd’de aşağıdaki eylemleri uygulayarak açılacaktır.

cmd

Genellikle PDF içine JavaScript kullanarak zararlı yazılım gömülerek bu işlem yapılıyor, çünkü JavaScript heap spray gibi tekniklerle exploit etme yöntemlerinde sıkça kullanılır.

Herhangi bir kötü niyetli PDF dosyasını açtığınızda ilk olarak JavaScript kodu yürütülecek ve exploit edilecektir.Daha sonra shellcode yürütülür ve Trojan .exe çalışacaktır.

execute

Metasploit ile Zararlı PDF Dosyası Oluşturma

Şimdi Adobe Reader “util.printf()” JavaScript fonksiyonundaki stack buffer overflow zafiyetini kullanarak kendi zararlı PDF dosyamızı oluşturalım.Adobe Reader, genellikle stack-based-buffer-overflow zafiyetine meyilliymiş bende bunu yeni öğrendim…

Herneyse şimdi zararlı PDF’i Metasploit kullanarak adım adım oluşturalım:

  • msfconsole’u açıp aşağıdaki komutları uygulayın.

mw1

  • Gerekli ayarlamaları yaptıktan sonra exploit komutuyla zararlı PDF dosyamızı /root/.msf4/local/zararlipdf.pdf dizininde bulabilirsiniz.

mw2

  • İşte badboy karşımızda :)

mw3

  • Zararlı PDF dosyasını göndermeden önce, reverse connection sağlamak için listener aktif etmemiz lazım.

mw4

PDF dosyası açıldığında metasploit tarafından bize session yani bir oturum açılacaktır.Meterpreter kullanarak sisteme erişim sağlamış olduk böylece.

  • Zararlı PDF’i Analiz Etme Yöntemleri Başlıca iki analiz yöntemi vardır: online ve offline.Şimdi bunları inceleyelim.

Online PDF Analiz Araçları

Online PDF Analiz araçları çoğu zaman işleri daha da kolaylaştırıyor.Siteye upload edip analizden sonra raporları inceleyerek gerekli bilgiyi edinebiliriz.

Wepawet

Wepawet Flash, JavaScript ve PDF dosyalarını analiz eden web tabanlı online malware tarayıcısı.Wepawet bağlantısından inceleyebilirsiniz.

  • PDF dosyası Detector-Result sonucununda “suspicious” yani şüpheli olarak görünüyor.

on1

  • Exploit metodu “util.printf” ve shellcode..

on2

PDF Examiner

Kırmızı yazılı alanda analiz sonuçları belirtilmekte.PDF Examiner adresinden ulaşabilirsiniz.

on3

Jsunpack

Jsunpack adresinden sisteme ulaşabilirsiniz.

  • malicios ile başlayan ilk iki satır, zafiyet hakkında bilgi vermekte.

on4

Offline PDF Analiz Araçları

Peepdf

Peepdf, PDF dosyalarının zararlı olup olmadığını öğrenmek ve incelemek amacıyla python dilinde geliştirilen bir araçtır. Peepdf’in güzel yanı, görevleri gerçekleştirmek için başka araçlara ihtiyacı olmaması, pdf analizi için gerekebilecek bileşenleri kendi içinde barındırması.

  • Şimdi adım adım inceleyelim…

  • mw5

  • mw6

  • mw7

  • mw8

Pdfid

Pdfid, bir PDF dosyasından kullanışlı bilgiler elde etmenizi sağlayan bir araçtır.Peepdf gibi Pdfid’de python ile geliştirilmiştir.

Analiz edilen pdf dosyasından javascript, obj, endobj, stream gibi headerları çıkarabilir.Bazı PDF exploitleri bu tarz headerları değiştirebilir, pdfid pdf içinde neler olduğunu tam anlamıyla gösterebilir.

mw9

Origami

Origami, PDF dosyalarını parse, analiz ve forge etmek amacıyla kullanılan bir Ruby frameworktür. Varolan PDF dosyalarına zararlı kod enjekte etmek için de kullanılabilir.Yakın zamanda Origami ile ilgili daha ayrıntılı bir yazı yazmayı düşündüğümden, şu an ayrıntılı olarak incelemiyorum.

  • Ekran görüntüsü şu şekilde:

of2

PDF Stream Dumper

Bu programla ilgili varolan kaynaklardan aldığım ekran görüntülerini incelemenin yeterli olduğunu düşünüyorum.

  • of3

  • of4

  • of6

Nasıl Korunabilirim??

  • Otomatik güncelleştirmeleri aktif edin.

  • PDF dosyasının browser ile entegre çalışmasını engelleyin.

  • Tüm Adobe ürünlerinin son patch ve update sürümlerini kullanın.

  • JavaScript’i deaktif edin.

  • “Allow non-PDF file attachments with external applications” tarzı mesaj seçeneklerini işaretlemeyin.

  • Alternatif PDF araçlarını kullanın.Foxit Reader, Sumatra, PDF XChange.

Referans: infosecinstitute

Fatih ERDOGAN @FeCassie

user

Fatih Erdogan

http://ferdogan.net

PRODAFT/INVICTUS Europe