PDF Malware Analizi

Fatih ERDOGAN
Who am I ?
- Intern Security Researcher @SignalSEC Ltd.
- 0-DAY Bug Hunting
- Vulnerability Researching
- Reverse Engineering, Exploiting, Fuzzing
- Blogger/Writer
- http://ferdogan.net
- http://mavidurak.github.io
- Contact
- @FeCassie
- fatiherdogan94@gmail.com
PDF Malware?
Nedir bu PDF Malware olayı ?
- PDF dosyalarını günlük yaşantımızda, işte, evde çoğu yerde kullanıyoruz.Bu pdf'ler 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.
PDF Zafiyetleri
- Geçtiğimiz yıllarda PDF dosyalarıyla ilgili buffer overflow gibi zafiyetler keşfedildi ve bu zafiyetlere yönelik saldırılar oluşmaya başladı.
- 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ü.

Geçtiğimiz yıllardaki Adobe Reader saldırıları

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.

Zararlı PDF dosyaları sıklıkla kitlesel ölçekli bilgisayar saldırılarının bir parçası olarak kullanılır
PDF Dosya Yapısı
- Statik ve dinamik zengin içerik sunma yeteneği
- Dinamik pdf özellikleri, zararlı kodları barındırabilecek şekilde kullanılmıştır.
- 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.
- Bu amaca yönelik kullanılan en yaygın dil -> JavaScript
- Ç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ı
PDF dosya yapısının genel bileşenleri:
- Boolean values
- Numbers, Strings
- Names
- Arrays
- Dictionaries
- Streams
- The null object
PDF Döküman Yapısı

Zararlı Yazılımın PDF İle Çalışması
Çalıştırma işlemi sırasında bir uygulama açılır ya da bir belgeye veri yazdırır.
Adobe Acrobat exploitini Metasploit ile PDF içine .exe dosyası gömerek bu işlemi yapıyoruz.
Zararlı PDF'in Çalışması

Peki Nasıl ?
- Genellikle PDF içine JavaScript ile zararlı yazılım gömülerek bu işlem yapılıyor.
Çünkü JavaScript heap spray gibi client tabanlı exploiting tekniklerinde 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.
Adobe Reader "util.printf()" JavaScript fonksiyonundaki stack buffer overflow zafiyetini kullanarak kendi zararlı PDF dosyamızı oluşturalım.

Adobe Reader Zafiyeti
Metasploit İle Zararlı PDF

Metasploit İle Zararlı PDF

BADBOY :)

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

Hazırladığımız zararlı Pdf dosyası hedef sistemde açıldığında metasploit tarafından bize session yani bir oturum açılacaktır.
Meterpreter scriptini kullanarak sisteme erişim sağlamış olduk böylece.

PDF Malware Analiz Yöntemleri
-
Online PDF Malware Analysis
-
Offline PDF Malware Analysis

Online PDF Analiz Araçları
-
Wepawet
-
PDF Examiner
-
Jsunpack

Wepawet
- Flash, JavaScript ve PDF dosyalarını analiz eden web tabanlı online malware tarayıcısı.
http://wepawet.iseclab.org/
Wepawet
- PDF dosyası Detector-Result sonucunda "suspicious" yani şüpheli olarak görünüyor.

Wepawet
- Exploit metodu "util.printf" ve shellcode..

PDF Examiner
- Kırmızı yazılı alanda analiz sonuçları belirtilmekte
http://www.malwaretracker.com

Jsunpack
http://jsunpack.jeek.org
- malicious ile başlayan ilk iki satır, zafiyet hakkında bilgi vermekte.

Offline PDF Analiz Araçları
- Peepdf
- Pdfid
- Origami
- PDF Stream Dumper
Peepdf
- Pdf dosyalarının zararlı olup olmadığını öğrenmek ve incelemek amacıyla python dilinde geliştirilen bir araçtır.
- Pdf analizi için gerekebilecek bileşenleri kendi içinde barındıran bir framework gibidir.
Peepdf

Peepdf

Peepdf

Peepdf

Pdfid
- Bir pdf dosyasından kullanışlı bilgiler elde etmemizi sağlayan bir araçtır.
- 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.
Pdfid

Origami
- Pdf dosyalarını parse ve analiz etmek amacıyla kullanılan bir Ruby frameworktür.
- Varolan pdf dosyalarına zararlı kod enjekte etmek için de kullanılabilir.
Origami

Pdf Stream Dumper


Pdf Stream Dumper

"Ne demek pdf dosyaları güvenilir değil !?"

Alınabilecek Önlemler
- 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.
- Zararlı javascript kodlarına karşı browser eklentileri kullanın. (NoScript vs.)
- "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)
SORULAR ?

Fatih ERDOGAN
Jr. Security Researcher

PDF Malware Analizi
By fecassie
PDF Malware Analizi
- 1,846
