GetPDF - CyberDefenders Lab

Maveraün Nehr

Blue Expert / Head of Malware Team
25 Haz 2021
976
1,865
41.303921, -81.901693
İçindekiler;
- Başlama
- Kullanılan Programlar
- Soruların Çözümü
- Son

Selamlar, bugün "CyberDefenders: Blue Team CTF Challenges" sitesi üzerinde bulunan "GetPDF" adlı labın ağ trafiğini inceleyip, çözümünü gerçekleştireceğiz.

CTF şeklinde olan rar dosyamızı indirelim ve içerisindeki PCAP dosyamıza ulaşmak için şifremizi girelim.(cyberdefenders.org).

Kullanılan Programlar:


de4js(Kullanım için; de4js)
pdfid(İndirmek için; GitHub - Rafiot/pdfid: Clone of PDFiD by Didier Stevens, as a package and with some improvements.)
pdfparser(İndirmek için; GitHub - smalot/pdfparser: PdfParser, a standalone PHP library, provides various tools to extract data from a PDF file.)
pdfstreamdumper(İndirmek için; GitHub - dzzie/pdfstreamdumper: research tool for the analysis of malicious pdf documents. make sure to run the installer first to get all of the 3rd party dlls installed correctly.)

f8l1281.png

1-)How many URL path(s) are involved in this incident?

İlk sorumuzda bağlantı yapılan URL adedini soruyor bunu için pcap dosyamı wireshark'a yansıttım ve önüme gelen pencereden Dosya - > Nesnelleri Dışa Aktar - > HTTP seçeneğini seçtim ve karşıma gelen bağlantı sayısı; 6

İçerik türü seçeneğini text/html yapmayı unutmayın.

7o2km01.PNG


ievxcd3.PNG


9ijcls4.jpg

2-)What is the URL which contains the JS code?

Zararlı dosyanın JavaScript kodunun ait olduğu adresin URL ibaresini soruyor bunun için ilk soruda yaptığım adımları yaptım ve aynı pencerede Dosya Adı kısmında getpdf.php ibaresini bir tık attım ve kapat diyerek ana ekranda seçili alana gittim. Daha sonra seçili alan üzerinde Sağ Tık -> Takip -> TCP akışı dedim cevabım Lokasyon kısmında; http://blog.honeynet.org.my/forensic_challenge/

d6ptv73.PNG


k6o5z9c.PNG


hwy9m9g.PNG

3-)What is the URL hidden in the JS code?

Javascript kodunun gizlenmiş olan URL adresini soruyor bunu bir önceki soruda yer alan kısımda TCP akıyı demeden seçili alan üzerinde yer alan alt bölümde HyperText Transfer Protocol -> GET sekmelerini açınca FULL request URI kısmında görüyorum; http://blog.honeynet.org.my/forensic_challenge/getpdf.php

em2ejkl.PNG


jzwbamh.PNG

4-)What is the MD5 hash of the PDF file contained in the packet?

Pakette bulunan PDF dosyasının MD5 hash'ı nedir demiş. İlk soruda yer alan adımları yaptım ancak HTTP penceresinden ayrılmadım. fcexploit.pdf'in hash'ını almak için kaydet seçeneğini kullandım. Daha sonra virüs total üzerinde tarattım. Daha sonra DETAILS kısmından MD5 hash'ı öğrendim; 659cf4c6baa87b082227540047538c2a

jlamyi0.PNG

5-)How many object(s) are contained inside the PDF file?

PDF dosyasında kaç tane nesne var demiş. Bunun için pdfid.py dosyamı kullandım.

Şu komutu girince; Desktop/c31-Malicious-Portable pdfid.py fcexploit.pdf

Aşağıdaki çıktıyı elde ettim;

PDFiD 0.2.5 fcexploit.pdf
PDF Header: %PDF-1.3
obj 19
endobj 18
stream 5
endstream 5
xref 1
trailer 1
startxref 1
/Page 2
/Encrypt 0
/ObjStm 0
/JS 1
/JavaScript 1
/AA 0
/OpenAction 1
/AcroForm 1
/JBIG2Decode 0
/RichMedia 0
/Launch 0
/EmbeddedFile 1
/XFA 1
/Colors > 2^24 0

Cevabım obj ibaresinin karşılığı 19.

6-)How many filtering schemes are used for the object streams?

Nesne akışları için kaç filtreleme şeması kullanılıyor demiş. Bunun için pdf-parser.py dosyamı kullandım.

Girdiğim komut; Desktop/c31-Malicious-Portable pdf-parser.py -a fcexploit.pdf

Çıktı;

Comment: 10
XREF: 1
Trailer: 1
StartXref: 1
Indirect object: 18
7: 5, 7, 9, 10, 22, 23, 28
/Action 1: 4
/Annot 3: 6, 8, 24
/Catalog 2: 1, 27
/EmbeddedFile 1: 11
/Page 2: 3, 25
/Pages 2: 2, 26
Search keywords:
/JS 1: 4
/JavaScript 1: 4
/OpenAction 1: 1
/AcroForm 1: 27
/EmbeddedFile 1: 11
/XFA 1: 28

Şemalar için JavaScript'te devam edeceğim(4) şu komutu girdim; Desktop/c31-Malicious-Portable pdf-parser.py -o 4 fcexploit.pdf obj 4 0

Çıktı;

obj 4 0
Type: /Action
Referencing: 5 0 R
<<
/Type /Action
/S /JavaScript
/JS 5 0 R
>>

Devam ediyorum bu sefer JavaScript ibaremin 5 olduğunu gördüm.

Komut; Desktop/c31-Malicious-Portable pdf-parser.py -o 5 fcexploit.pdf obj 5 0

Çıktı;

Type:
Referencing:
Contains stream
<<
/Length 395
/Filter [ /FlateDecode /ASCII85Decode /LZWDecode /RunLengthDecode ]
>>

Filtremde 4 şema gördüm cevabımı da.

Not: Nesneleri dışa aktar seçeneğini de kullanarak TCP akış takibi yapabilir burada /Filter ibaresi altında nesne adedinin 4 olduğunu görebilirsiniz.

7-)What is the number of the 'object stream' that might contain malicious JS code?

Kötü amaçlı JS kodu içerebilecek "nesne akışının" sayısı nedir demiş. Bir önceki soruda yer alan çıktıda cevabımın 5 olduğunu görüyorum.

Çıktı;

obj 4 0
Type: /Action
Referencing: 5 0 R -> Burada
<<
/Type /Action
/S /JavaScript
/JS 5 0 R -> Burada
>>

8 - ) Analyzing the PDF file. What 'object-streams' contain the JS code responsible for executing the shellcodes? The JS code is divided into two streams. Format: two numbers separated with ','. Put the numbers in ascending order

PDF dosyasını analiz etme. Kabuk kodlarını yürütmekten sorumlu JS kodunu hangi 'nesne akışları' içerir? JS kodu iki akışa bölünmüştür. Biçim: ',' ile ayrılmış iki sayı. Rakamları artan sıraya koyun demiş. Bunun için az önce yaptığımız işlemin çıktısını alacağız. Ve 5 bir önceki soruda yer alan çıktıdan 5 nesnesinden devam edeceğiz. PDFStreamDumper kullanabilir bunun haricinde shikata_ga_nai encoder kullanabilir veya pdf-parser de kullanabilirsiniz. Ceri çok büyük olduğu için veriyi yüklüyorum ve bunun içinden cevabım; 7,9

Decode Kodu; yu.docx indir

10-)The PDF file contains another exploit related to CVE-2010-0188. What is the URL of the malicious executable that the shellcode associated with this exploit drop?

PDF dosyası, CVE-2010-0188 ile ilgili başka bir istismar içeriyor. Bu istismarla ilişkili kabuk kodunun bıraktığı kötü amaçlı yürütülebilir dosyanın URL'si nedir demiş. Bunun için basit mantık yürütelim Windows üzerinde zararlıların en bilineni yürütülebilir olanı uygulama İngilizce executable. Hemen pcap dosyamı açınca ilk soruda yaptığım işlemleri yapınca beni the_real_malware.ixi'ye götürdü buraya bir tık attım ve ana sayfaya geldim seçili alan üzerinde Sağ Tık yapıp TCP veya HTTP akışından bulabilir veya alt sekmede Hypertext Transfer Protocol işlemlerini genişleterek cevabıma ulaşabilirim.

Cevap; [Request URI: http://blog.honeynet.org.my/forensic_challenge/the_real_malware.exe]

myv2syk.PNG

11-)How many CVEs are included in the PDF file?

PDF dosyasında kaç tane CVE var demiş. Yüklediğim dosyaları incelersek çıkan kodun 5 CVE exploit'ini payoad olarakb arındırdığını görmemiz mümkün.

-Son-​
 
Son düzenleme:

Extazİ

Moderatör
20 Haz 2021
2,538
1,489
https://tr.wikipedia.org/wiki/Ekstazi
İçindekiler;
- Başlama
- Kullanılan Programlar
- Soruların Çözümü
- Son

Selamlar, bugün "CyberDefenders: Blue Team CTF Challenges" sitesi üzerinde bulunan "GetPDF" adlı labın ağ trafiğini inceleyip, çözümünü gerçekleştireceğiz.

CTF şeklinde olan rar dosyamızı indirelim ve içerisindeki PCAP dosyamıza ulaşmak için şifremizi girelim.(cyberdefenders.org).

Kullanılan Programlar:


de4js(Kullanım için; de4js)
pdfid(İndirmek için; GitHub - Rafiot/pdfid: Clone of PDFiD by Didier Stevens, as a package and with some improvements.)
pdfparser(İndirmek için; GitHub - smalot/pdfparser: PdfParser, a standalone PHP library, provides various tools to extract data from a PDF file.)
pdfstreamdumper(İndirmek için; GitHub - dzzie/pdfstreamdumper: research tool for the analysis of malicious pdf documents. make sure to run the installer first to get all of the 3rd party dlls installed correctly.)

f8l1281.png

1-)How many URL path(s) are involved in this incident?

İlk sorumuzda bağlantı yapılan URL adedini soruyor bunu için pcap dosyamı wireshark'a yansıttım ve önüme gelen pencereden Dosya - > Nesnelleri Dışa Aktar - > HTTP seçeneğini seçtim ve karşıma gelen bağlantı sayısı; 6

İçerik türü seçeneğini text/html yapmayı unutmayın.

7o2km01.PNG


ievxcd3.PNG


9ijcls4.jpg

2-)What is the URL which contains the JS code?

Zararlı dosyanın JavaScript kodunun ait olduğu adresin URL ibaresini soruyor bunun için ilk soruda yaptığım adımları yaptım ve aynı pencerede Dosya Adı kısmında getpdf.php ibaresini bir tık attım ve kapat diyerek ana ekranda seçili alana gittim. Daha sonra seçili alan üzerinde Sağ Tık -> Takip -> TCP akışı dedim cevabım Lokasyon kısmında; http://blog.honeynet.org.my/forensic_challenge/

d6ptv73.PNG


k6o5z9c.PNG


hwy9m9g.PNG

3-)What is the URL hidden in the JS code?

Javascript kodunun gizlenmiş olan URL adresini soruyor bunu bir önceki soruda yer alan kısımda TCP akıyı demeden seçili alan üzerinde yer alan alt bölümde HyperText Transfer Protocol -> GET sekmelerini açınca FULL request URI kısmında görüyorum; http://blog.honeynet.org.my/forensic_challenge/getpdf.php

em2ejkl.PNG


jzwbamh.PNG

4-)What is the MD5 hash of the PDF file contained in the packet?

Pakette bulunan PDF dosyasının MD5 hash'ı nedir demiş. İlk soruda yer alan adımları yaptım ancak HTTP penceresinden ayrılmadım. fcexploit.pdf'in hash'ını almak için kaydet seçeneğini kullandım. Daha sonra virüs total üzerinde tarattım. Daha sonra DETAILS kısmından MD5 hash'ı öğrendim; 659cf4c6baa87b082227540047538c2a

jlamyi0.PNG

5-)How many object(s) are contained inside the PDF file?

PDF dosyasında kaç tane nesne var demiş. Bunun için pdfid.py dosyamı kullandım.

Şu komutu girince; Desktop/c31-Malicious-Portable pdfid.py fcexploit.pdf

Aşağıdaki çıktıyı elde ettim;



Cevabım obj ibaresinin karşılığı 19.

6-)How many filtering schemes are used for the object streams?

Nesne akışları için kaç filtreleme şeması kullanılıyor demiş. Bunun için pdf-parser.py dosyamı kullandım.

Girdiğim komut; Desktop/c31-Malicious-Portable pdf-parser.py -a fcexploit.pdf

Çıktı;



Şemalar için JavaScript'te devam edeceğim(4) şu komutu girdim; Desktop/c31-Malicious-Portable pdf-parser.py -o 4 fcexploit.pdf obj 4 0

Çıktı;



Devam ediyorum bu sefer JavaScript ibaremin 5 olduğunu gördüm.

Komut; Desktop/c31-Malicious-Portable pdf-parser.py -o 5 fcexploit.pdf obj 5 0

Çıktı;



Filtremde 4 şema gördüm cevabımı da.

Not: Nesneleri dışa aktar seçeneğini de kullanarak TCP akış takibi yapabilir burada /Filter ibaresi altında nesne adedinin 4 olduğunu görebilirsiniz.

7-)What is the number of the 'object stream' that might contain malicious JS code?

Kötü amaçlı JS kodu içerebilecek "nesne akışının" sayısı nedir demiş. Bir önceki soruda yer alan çıktıda cevabımın 5 olduğunu görüyorum.

Çıktı;



8 - ) Analyzing the PDF file. What 'object-streams' contain the JS code responsible for executing the shellcodes? The JS code is divided into two streams. Format: two numbers separated with ','. Put the numbers in ascending order

PDF dosyasını analiz etme. Kabuk kodlarını yürütmekten sorumlu JS kodunu hangi 'nesne akışları' içerir? JS kodu iki akışa bölünmüştür. Biçim: ',' ile ayrılmış iki sayı. Rakamları artan sıraya koyun demiş. Bunun için az önce yaptığımız işlemin çıktısını alacağız. Ve 5 bir önceki soruda yer alan çıktıdan 5 nesnesinden devam edeceğiz. PDFStreamDumper kullanabilir bunun haricinde shikata_ga_nai encoder kullanabilir veya pdf-parser de kullanabilirsiniz. Ceri çok büyük olduğu için veriyi yüklüyorum ve bunun içinden cevabım; 7,9

Decode Kodu; yu.docx indir

10-)The PDF file contains another exploit related to CVE-2010-0188. What is the URL of the malicious executable that the shellcode associated with this exploit drop?

PDF dosyası, CVE-2010-0188 ile ilgili başka bir istismar içeriyor. Bu istismarla ilişkili kabuk kodunun bıraktığı kötü amaçlı yürütülebilir dosyanın URL'si nedir demiş. Bunun için basit mantık yürütelim Windows üzerinde zararlıların en bilineni yürütülebilir olanı uygulama İngilizce executable. Hemen pcap dosyamı açınca ilk soruda yaptığım işlemleri yapınca beni the_real_malware.ixi'ye götürdü buraya bir tık attım ve ana sayfaya geldim seçili alan üzerinde Sağ Tık yapıp TCP veya HTTP akışından bulabilir veya alt sekmede Hypertext Transfer Protocol işlemlerini genişleterek cevabıma ulaşabilirim.

Cevap; [Request URI: http://blog.honeynet.org.my/forensic_challenge/the_real_malware.exe]

myv2syk.PNG

11-)How many CVEs are included in the PDF file?

PDF dosyasında kaç tane CVE var demiş. Yüklediğim dosyaları incelersek çıkan kodun 5 CVE exploit'ini payoad olarakb arındırdığını görmemiz mümkün.

-Son-​
Eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.