Ekstraksi dan Analisis Shellcode [The Honeynet Project Forensic Challenge 1] bagian 2

Well, melanjutkan bagian 1 disini akan dijawab pertanyaan point 8 sampai terakhir… Enjoy

Based on solution of honeynet forensic challenge paper

Diketahui

Terdapat sebuah rekam jejak jaringan yang didalamnya terdapat informasi mengenai percobaan serangan terhadap sistem lokal

attack-trace.pcap_.gz

Ditanya

Analisis data paket jaringan dan informasi berkaitan dengan point-point berikut:

  1. Sistem (IP dsb) yang terlibat
  2. Informasi mengenai penyerang
  3. TCP sessions yang terbentuk
  4. Waktu penyerangan
  5. Apa yang diserang
  6. Apa saja yang dilakukan penyerang
  7. Vulnerability yang diserang
  8. Perintah (shellcode) yang dilakukan penyerang
  9. Apakah korban merupakan honeypot?
  10. Malware yang terlibat
  11. Jenis serangan, manual atau otomatis

Jawab

8. Perintah (shellcode) yang dilakukan penyerang

Tools: Borland Dev C++, Wireshark, Ollydbg

Ekstraksi Shellcode

Mencari lokasi shellcode, telah dijelaskan sebelumnya penyerang menggunakan exploit buffer overflow jadi shellcode berada di paket yg mengandung buffer overflow…

klik untuk perbesar gambar

Kemudian ekstraksi shellcode karena hanya sebagian paket mengandung shellcode,

Shellcode bisa diekstraksi dengan mencari perintah NOP (0x90 berulang) biasanya pada di awal paket sampai perintah NOP selanjutnya

klik untuk perbesar gambar

Kompilasi shellcode dengan bahasa C

klik untuk perbesar gambar

Disassemble shellcode yang dihasilkan.

Waduh, ternyata shellcode diencoding dengan xor 0x99. Harus dilakukan proses decoding dulu sebelum analisis

klik untuk perbesar gambar

Kompilasi shellcode hasil decoding dengan bahasa C

klik untuk perbesar gambar

Disassemble shellcode hasil decoding yang dihasilkan.

klik untuk perbesar gambar

Shellcode siap dianalisis

Analisis Shellcode

Ringkasan:
Shellcode mengaskses fungsi kernel32.dll(CreateProcessA(),LoadLibraryA(),ExitThread()) untuk spawning “cmd” dan WS2_32.dll(WSASocketA(),bind(),listen(),accept(),CloseSocket()) untuk akses secara remote

Detail

1.Akses alamat fungsi
Shellcode mencoba mengakses fungsi kernel32.dll. Untuk mengakses Kernel32.dll pertama-tama dilakukan akses pada alamat PEB(Process Environment Block). Dari alamat PEB kemudian dilakukan akses alamat PEB_LDR_DATA yang dari situ akan diketahui alamat akses Kernel32.dll

Setelah akses Kernel32.dll didapat, Shellcode akan mencari fungsi getProcessAddress() untuk proses selanjutnya.

klik untuk perbesar gambar

2.Akses remote

Shellcode memanfaatkan fungsi LoadLibraryA() dari Kernel32.dll untuk mendapatkan akses WS2_32.dll. Setelah akses WS2_32.dll didapat shellcode mengakses fungsi WSASocketA(),bind(),listen(),accept(),closeSocket().

Dengan memanfaatkan fungsi WSASocketA() Shellcode membuat socket baru. Socket shellcode ini didefinisikan lebih lanjut oleh fungsi bind() untuk menggunakan port TCP 1957.  Selanjutnya dengan fungsi listen() dan accept() untuk akses koneksi luar melalui socket ini.

klik untuk perbesar gambar

3.Membuat “cmd” session

Shellcode memanfaatkan fungsi CreateProcessA() untuk membuat cmd session berjalan melalui socket shellcode.

klik untuk perbesar gambar

9. Apakah korban merupakan honeypot?

Tools: p0f

Berdasarkan p0f ditemukan fakta korban merupakan Linux2.6. Berlawanan dengan hasil analisis paket data, dimana ditemukan fakta exploit (untuk Windows) berhasil dilakukan. Ini mengindikasikan korban merupakan honeypot.

klik untuk perbesar gambar

Diperkuat lagi dengan fakta terdapat kesalahan eksekusi perintah oleh penyerang dimana setting alamat FTP menjadi 0.0.0.0. Anomali terjadi karena seharusnya proses download malware tidak dapat terjadi. Anomali ini dapat terjadi jika korban merupakan honeypot Nephentes, dimana secara default mengubah ip 0.0.0.0 menjadi ip lokal.

klik untuk perbesar gambar

10. Malware yang terlibat

Tools: Microsoft Anti Malware

Malware yang terlibat adalah ssms.exe, dideteksi sebagai Backdoor:Win32/RBot

11. Jenis serangan, manual atau otomatis

Tools: Wireshark

Jika dilihat berdasarkan waktu penyerangan <16detik, kemungkinan besar ini merupakan serangan otomatis

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s