Pengertian RAT
RAT adalah singkatan dari Remote Administrator Tool yang di gunakan untuk menghubungkan dan mengatur satu atau lebih komputer dengan berbagai kemampuan seperti:
Screen/camera capture atau controlFile management (download/upload/execute/dll.)Shell control (CMD control)Computer control (power off/on/log off)Registry management (query/add/delete/modify)Password managementPERCOBAAN :
1. Pastikan bahwa windows defender dari kedua PC yang terhubung (host dan victim) non-aktif. karena akan aplikasi ini saat ini telah mampu dideteksi sebagai malware.
2. Buka aplikasi NJRAT, masukkan port yang digunakan (bebas)
3. Cek ip address milik host, ip ini yang nanti akan diakses oleh NJRAT. pastikan juga bahwa IP Address milik victim pc berada pada 1 jaringan.
4. Untuk membuat aplikasi yang akan dipasangkan pada komputer victim, pilih menu Build. masukkan ip address host pada kolom host dan port sesuai yang diawal diinputkan agar dapat diakses oleh komputer host nanti.
5. Simpan file hasil build.
6. Ketika sudah terpasang, NJRAT pada host akan mendeteksi komputer victim.
7. Klik kanan pada list komputer yang ter-victim. maka akan ada beberapa pilihan.
8. Pada pilihan file manager, kita bisa melihat isi seluruh directori dari drive komputer victim, kita dapat melakukan unduh dan unggah file secara bebas.
9. Pada pilihan remote cam, kita bisa menjalankan hardware cam pada komputer victim.
10. Pada pilihan keylogger, kita dapat memonitoring inputan keyboard yang dilakukan komputer victim.
11. Pada pilihan remote desktop, kita dapat mengontrol kegiatan mouse dan keyboard pada komputer victim.
12. Pada pilihan chat message, kita dapat mengirimkan pesan ke layar desktop komputer victim, dan user komputer victim dapat melakukan balasan tanpa bisa menutup chat.
13. Ketika aplikasi selesai digunakan, kita bisa melakukan uninstall pada aplikasi sehingga tidak meninggalkan jejak pada komputer victim.KESIMPULAN
NJRAT merupakan salah satu malware sejenis Trojan yang menginfeksi komputer victim melalui installasi program. ketika malware terpasang pada PC, maka segala bentuk kegiatan PC victim dapat dimonitoring / dikendalikan melalui PC host yang berada pada satu jaringan melalui akses IP dan port yang telah ditentukan diawal.
Cara Menggunakan NJRAT (Trojan)
Konfigurasi Keamanan Layanan WEB
1.
Mengenalkan
tentang konsep SSL
2.
Membuat
self-signed server certificate
3.
Melakukan
instalasi dan konfigurasi Apache2 + SSL/TLS
4.
Melakukan
testing instalasi
B. DASAR
TEORI
1. SSL
/ TLS
Transport
Layer Security (TLS) adalah protocol untuk mengamankan komunikasi antar
aplikasi lewat internet. TLS mengamankan konten pada layer aplikasi, seperti
halaman web dan diimplementasikan pada layer transport, yaitu TCP. Untuk
menjamin keamanan. data yang dikirim dienkripsi dan diotentikasi pada sisi
server dan client. Secure Socket Layer (SSL) adalah protocol yang diciptakan
sebelum TLS yang mengaplikasikan hal ini.
SSL/TLS
biasanya dioperasikan secara bersama-sama dengan HTTP, sehingga membentuk
protocol baru yang disebut HTTPS, untuk mengamankan transaksi lewat web. Selain
intu, protocol ini dapat digunakan untuk aplikasi-aplikasi lain seperti email,
file transfer dan virtual private networks (VPN).
2. HTTPS
HTTPS
menggabungkan protocol HTTP dan SSL/TLS untuk menjamin keamanan komunikasi
antara eb server dan web browser. HTTPS beroperasi pada port 443 dan bukan pada
port 80 seperti normalnya HTTP. HTTPS bekerja dengan menyediakan enkripsi untuk
konten web dan otentikasi web server. HTTPS tidak melakukan otentikasi client
sehingga web sita tidak dapat melakukan otentikasi user selama koneksi. User
harus melakukan sejumlah otentikasi tambahan seperti password,biometric atau metode
otentikasi lain.
Komunikasi
SSL/TLS meliputi dua tahap yaitu handshaking dan data sending. Sebelum
berkomunikasi, web site harus meminta certificate authority (CA) agar dapat
menanda tangani (signing) digital certificate-nya yang berisi public key dari
site. User yang menerima digital sertificate CA, segera memanggil sertifikat
root, yang dimiliki ketika mereka menginstall web browser. Web browser seperti
Internet Explorer atau Firefox sebelumnya telah dilengkapi dengan sejumlah
sertifikat root dari bermacam-macam perusahaan seperti VeriSign atau Entrust,
yang memang menspesialiasisikan diri sebagai perusahaan yang bergerak di bidang
sertifikasi.
Pada
gambar diatas, begitu user hendak mengkoneksikan diri dengan website lewat
koneksi https, web server mengirim certifikatnya yang mengandung public key
dari web site tersebut. User akan memverifikasi sertifikat ini dengan memakai
pre-installed sertifikat root dari website CA.
PAda
tahap kedua dari komunikasi SSL/TLS adalah tahapan enkripsi antara server dan
client berdasarkan protocol kriptografi yang dinegosiasikan antara kedua belah
pihak. Pada gambar berikut, begitu sertifikat digital server berhasil
diverifikasi, maka browser dan server mulai saling bernegosiasi cipher yang
hendak dipakai untuk pengkodean data dan verifikasi digital signature. Jika
public key enkripsi sudah dipilih, kedua belah pihak mengenkripsikan data
dengan public key masing-masing dan mendekripsi dengan private keynya. Untuk
menghemat waktu, enkripsi public key hanya digunakan saat saling menukar
session key (private key yang temporer) yang dipakai untuk data enkripsi.
Software
yang dibutuhkan untuk menginstall web server yang secure dan berbasis
open-source adalah :
1.
Apache
2.2.11: Apache2 ini adalah web server yang akan kita gunakan. Anda dapat
mengecek informasinya lewat http://httpd.apache.org/.
2.
OpenSSL
0.9.8k: OpenSSL adalah toolkit yang digunakan untuk mengimplementasikan
protocol Secure Socket Layer (SSL v2/v3) dan Transport Layer Security (TLS v1).
OpenSSL juga menyediakan general purpose library untuk kriptografi. Anda dapat
mengecek informasinya lewat http://www.openssl.org/.
3.
Mod_SSL
2.2.11: Mod_SSL adalah add-on modul untuk Apache. Pada versi lama apache, user
harus mengkompile paket ini, sedangkan pada versi baru, Mod_SSL sudah built-in
pada server sebagai interface antara OpenSSL dan Apache2. Anda dapat mengecek
informasinya lewat http://www.mod_ssl.org.
C. LANGKAH
PERCOBAAN
·
Menciptakan sertifikat
SSL dengan OpenSSL
1.
Menginstall
software yang dibutukan, dalam hal ini ada 2 software yaitu apache dan openssl
Apache
digunakan sebagai web server
Openssl
digunakan untuk pembuatan sertifikat ssl
2.
Langkah
berikutnya adalah membuat sertifikat SSL untuk web server sebelum kita
menjalankan secure server dengan HTTPS. Selain itu , kita juga akan membuat
pasangan public/private key untuk melakukan request sertifikat. Anda akan
membutuhkan domain name untuk sertifikat yang anda ciptakan. Pada contoh ini
digunakan nama : www.webku.com
3.
Masuk
ke direktori /etc/apache2/ssl. Direktori ssl adalah direktori dimana anda
menyimpan semua private keys, certificate signing request dan sertifikat.
4.
Membuat
sepasang public/private key. Pertama-tama kosongkan semua sertifikat yang ada
dengan perintah rm * pada direktori /etc/apache2/ssl
5.
Kemudian
buat key dengan nama server.key yang merupakan private key dengan perintah
#openssl genrsa –des3 –ou server.key 1024. Key yang dibuat ini misalkan diberi
nama server.key. Siapkan passphrase dan isikan data pada saat diminta.
Passphrase ini digunkan untuk validasi untuk membuat file selanjutnya seperti
csr dan crt
6.
Generate
file server.csr menggunakan private key di atas dengan perintah openssl req
–new -key server.key –out server.csr
file csr ini misalkan diberi nama server.csr.
Untuk
membuat file csr ini dibutuhkan validasi terlebih dahulu dengan menginputkan
password passphrase server.key
7.
Generate
file server.crt
Perintah
diatas akan meminta anda memasukkan kembali passphrase untuk mengenerate
server.key (yaitu 123456). Masukkan passphrase yang sesuai.
8.
Cek
lagi directory ssl dan anda seharusnya memiliki 3 file, server.key,server.crt
dan server.crs. Jika benar, selamat, anda telah menyelesaikan lab ini dengan
baik
1.
Cek
direktori ssl untuk memastikan ada 3
file yaitu server.key, server.crt dan server.crs
2.
Enable
kan modul mod_ssl dengan perintah a2enmod ssl
3.
Restart
apache
4.
Copy
file default yang ada di /etc/apache2/sites-available, beri nama file tersebut
dengan nama www.webku.com.conf
5.
Edit
file www.webku.com.conf dengan perintah #gedit
etc/apache2/sites-available/www.webku.com
-
Ubah
port VirtualHost dari 80 ke 443
-
Tambahkan
server name dibawah server admin sebagai berikut
ServerName
www.webku.com:443
-
Ubah
DocumentRoot untuk menunjuk ke web direktori dari website webku.
DocumentRoot
/var/www/webku
-
Ubah
<Directory/var/www> untuk menuju ke direktori webku.
<Directory
/var/www/webku>
-
Masukkan
baris ini sebelum baris ErrorLog /var/log/apache2/error.log. tujuannya adalah
agar virtual host tahu dimana key dan sertifikat SSL disimpan
SSLEngine
On
SSLCertificateFile
/etc/apache2/ssl/server.crt
SSLCertificateKeyFile
/etc/apache2/ssl/server.key
6.
Simpan
file www.webku.com.conf melalui editor gedit / nano dsb. Kemudian pada
direktori /var/www/ copy file index.html ke /var/www/webku/
8.
Edit
file /etc/host untuk melakukan resolusi domain www.webku.com website ke
127.0.0.1. cari baris 127.0.0.1 lalu tambahkan baris ini : 127.0.0.1 localhost
webku www.webku.com
·
Menjalankan HTTPS
1.
Restart
apache2 agar efek dari sertifikat SSL mulai efektif. Karena mode ssl sudah
diaktifkan maka untuk melakukan restart apache dibutuhkan validasi dengan
menggunakan passphrase file server.key
2.
Buka
http://localhost pada browser untuk melakukan pengecekan terhadap localhost
3.
Buka
URL berikut https://www.webku.com dan kemduian get certificate untuk
mendapatkan akses ssl ke www.webku.com. Klik tombol : I Understand the Risks,
kemudian klik tombol: Add Exception dan terakhir klik Get Certificate . Klik
View. Anda akan melihat sertifikat self-signed yang tadi anda buat. Setelah itu
klik checkbox Permanently store this exception dan klik tombol Confirm Security
Exception
Setelah
mendapatkan certificate, maka www.webku.com dapat diakses. Terlihat pada gambar
Firewall pada Linux
A. Dasar Teori
Firewall adalah sistem atau sekelompok sistem yang menetapkan kebijakan kendali akses antara dua jaringan. Secara prinsip, firewall dapat dianggap sebagai sepasang mekanisme : yang pertama memblok lalu lintas, yang kedua mengijinkan lalu lintas jaringan. Firewall dapat digunakan untuk melindungi jaringan anda dari serangan
jaringan oleh pihak luar, namun firewall tidak dapat melindungi dari serangan yang tidak melalui firewall dan serangan dari seseorang yang berada di dalam jaringan anda,
serta firewall tidak dapat melindungi anda dari program-program aplikasi yang ditulis dengan buruk. Secara umum, firewall biasanya menjalankan fungsi:
• Analisa dan filter paket
Data yang dikomunikasikan lewat protokol di internet, dibagi atas paket-paket. Firewall dapat menganalisa paket ini, kemudian memperlakukannya sesuai kondisi tertentu. Misal, jika ada paket a maka akan dilakukan b. Untuk filter paket, dapat dilakukan di Linux tanpa program tambahan.
• Bloking isi dan protokol
Firewall dapat melakukan bloking terhadap isi paket, misalnya berisi applet Jave, ActiveX, VBScript, Cookie.
• Autentikasi koneksi dan enkripsi
Firewall umumnya memiliki kemampuan untuk menjalankan enkripsi dalam autentikasi identitas user, integritas dari satu session, dan melapisi transfer data dari intipan pihak lain. Enkripsi yang dimaksud termasuk DES, Triple DES, SSL, IPSEC, SHA, MD5, BlowFish, IDEA dan sebagainya.
Secara konseptual, terdapat dua macam firewall yaitu :
• Network level
Firewall network level mendasarkan keputusan mereka pada alamat sumber, alamat tujuan dan port yang terdapat dalam setiap paket IP. Network level firewall sangat cepat dan sangat transparan bagi pemakai. Application level firewall biasanya adalah host yang berjalan sebagai proxy server, yang tidak mengijinkan lalu lintas antar jaringan, dan melakukan logging dan auditing lalu lintas yang melaluinya.
• Application level
Application level firewall menyediakan laporan audit yang lebih rinci dan cenderung lebih memaksakan model keamanan yang lebih konservatif daripada network level firewall. Firewall ini bisa dikatakan sebagai jembatan.
• ApplicationProxy
Firewall biasanya berupa program khusus, misal squid
B. Percobaan
Dalam sebuah network, terdapat 3 guest os
Dengan skema sebagai berikut :
Host OS : 192.168.112.1
Guest OS 1 : 192.168.112.100
Guest OS 2 : 192.168.112.101
Guest OS 3 : 192.168.112.102
Guest OS 1 :
1. Melakukan perintah nano /etc/rmware/vmnet1/dhcp/dhcp.conf lalu command semua perintah
2. Melakukan perintah service vmware restart untuk merestart vmware un
3. Melakukan perintah nano /etc/network/interfaces
4. Melakukan perintah service networking restart untuk merestart networking
5. Melakukan perintah nano /etc/sysctl.conf lalu uncommand net-pv4 ip... untuk mengaktifkan paket yang berjalan pada IPv4
6. Melakukan perintah sysctl –p /etc/sysctl.conf
7. Melakukan perintah ifconfig iptables –t nat –F
8. Melakukan perintah iptables –t nat –A POSTROUTING –s 192.168.112.101 –d 0/0 –j MASQUERADE
9. Melakukan perintah iptables –t nat –L –n
10. Melakukan perintah iptables –save untuk menyimpan setting iptables
Guest OS 2 dan Guest OS 3 :
1. Melakukan perintah nano /etc/network/interfaces untuk melakukan settinh eth0
Guest os 2
Guest os 3
2. Melakukan perintah route –n
3. Melakukan perintah nano /etc/resolv.conf
4. Melakukan perintah ping pens.ac.id
5. Melakukan perintah apt-get install lynx
6. Melakukan perintah lynx www.pens.ac.id
7. Melakukan perintah ssh student@10.252.108.250
8. Melakukan setting firewall dengan hak akses :
Guest os 2 : dapat mengakses http dan ssh
Guest os 3 : dapat mengakses http
• iptables –p FORWARD DROP
digunakan untuk memblok semua paket yang melalui virtual 1
• iptables –A FORWARD –m state - -state RELATED, ESTABLISHED –j ACCEPT
digunakan untuk mengizinkan paket yang berstatus established
• iptables –A FORWARD –p tcp - -dport 22 –s 192.168.112.101 –j ACCEPT
mengzinkan paket yang destination portnya 22 (SSH) yang menuju ip 192.168.112.101
• iptables –A FORWARD –p tcp - -dport 80 –s 192.168.112.101 –j ACCEPT
mengzinkan paket yang destination portnya 80 (http) yang menuju ip 192.168.112.101
• iptables –A FORWARD –p tcp - -dport 80 –s 192.168.112.102 –j ACCEPT
• mengzinkan paket yang destination portnya 80 (http) yang menuju ip 192.168.112.102
• iptables –A FORWARD –p udp - -dport 53 –j ACCEPT
digunakan untuk mengijinkan dns
9. Melakukan perintah iptables –save
10. Mencoba kembali lynx & SSH setelah mengatur hak akses
Guest os 2 dapat mengakses lynx www.pens.ac.id dan ssh
Guest os 3 dapat mengakses lynx www.pens.ac.id dan tidak dapat melakukan ssh
Kesimpulan :
Fungsi firewall sebagai pengontrol, mengawasi arus paket data yang mengalir di jaringan. Fungsi Firewal mengatur, memfilter dan mengontrol lalu lintas data yang diizinkan untuk mengakses jaringan privat yang dilindungi, beberapa setting pada firewall memperbolehkan paket data lewati atau tidak.
Network Scanning
Pada
pemrograman berbasis socket, server adalah host yang menyediakan sebuah layanan
(service) dan client adalah host yang mengakses atau menggunakan layanan
tersebut. Soket sendiri adalah gabungan dari alamat IP dan nomor port, salah
satu contohnya adalah layanan mail di kampus menggunakan socket 202.9.85.49:25.
Alamat IP dari layanan adalah 202.9.85.49 dengan nomor port 25 (layanan
berbasis protocol SMTP). Atau dengan kata lain host dengan IP 202.9.85.3
membuka port nomor 25 untuk menyediakan layanan SMTP. Pada praktikum kali ini
kita melakukan pemindaian terhadap port-port (port-scanning) yang terbuka pada
suatu host. Layanan jaringan dapat diserang dalam berbagai cara. Aplikasi
layanan sendiri mungkin mempunyai beberapa kelemahan seperti kesalahan pemrograman,
penggunaan autentikasi/password yang lemah, sensitive data tidak terenkripsi
atau mengijinkan 8 koneksi dari berbagai alamat IP dan lain sebagainya.
Kelemahan-kelemahan tersebut memungkinkan host yang menyediakan layanan
tersebut rentan terhadap serangan. Oleh karena itu sebaiknya host hanya
menyediakan layanan yang diperlukan saja, atau dengan kata lain meminimalkan
port yang terbuka.
Pemindaian
Port sebagai langkah awal untuk meretas layanan jaringan. Port Scanner
merupakan program yang didesain untuk menemukan layanan (service) apa saja yang
dijalankan pada host jaringan. Untuk mendapatkan akses ke host, penyerang harus
mengetahui titik-titik kelemahan yang ada. Sebagai contoh, apabila penyerang
sudah mengetahui bahwa host menjalankan proses SMTP server, ia dapat
menggunakan kelemahan-kelemahan yang ada pada SMTP server untuk mendapatkan
akses. Dari bagian ini kita dapat mengambil kesimpulan bahwa layanan yang tidak
benar-benar diperlukan sebaiknya dihilangkan untuk memperkecil resiko keamanan
yang mungkin terjadi. Pemindaian dengan menggunakan aplikasi Nmap Nmap
(“Network Mapper”) adalah sebuah tool open source untuk eksplorasi dan audit
keamanan jaringan. Nmap menggunakan paket IP raw untuk mendeteksi host yang
terhubung dengan jaringan dilengkapi dengan layanan (nama aplikasi dan versi)
yang diberikan, sistem operasi (dan versi), apa jenis firewall/filter paket
yang digunakan, dan sejumlah karakteristik lainnya. Output Nmap adalah sebuah
daftar target host yang diperiksa dan informasi tambahan sesuai dengan opsi
yang digunakan. Berikut adalah beberapa informasi tambahan :
·
nomor port
·
nama layanan
·
status port : terbuka (open), difilter
(filtered), tertutup (closed), atau tidak difilter (unfiltered).
·
nama reverse DNS
·
prakiraan sistem operasi
·
jenis device
·
alamat MAC.
Tipe-tipe
pemindaian dengan menggunakan Nmap
·
connect scan (-sT)
Jenis scan ini konek ke port sasaran dan
menyelesaikan three-way handshake (SYN, SYN/ACK, dan ACK). Scan jenis ini mudah
terdeteksi oleh sistem sasaran.
·
sS (TCP SYN scan)
Paling populer dan merupakan scan default
nmap. SYN scan juga sukar terdeteksi, karena tidak menggunakan 3 way handshake
secara lengkap, yang disebut sebagai teknik half open scanning. SYN scan juga
efektif karena dapat membedakan 3 state port, yaitu open, filterd ataupun
close. Teknik ini dikenal sebagai half-opening scanning karena suatu koneksi
penuh TCP tidak sampai terbentuk. Sebaliknya, suatu paket SYN dikirimkan ke
port sasaran. Bila SYN/ACK diterima dari port sasaran, kita dapat mengambil
kesimpulan bahwa port itu berada dalam status LISTENING. Suatu RST/ACT akan
dikirim oleh mesin yang melakukan scanning sehingga koneksi penuh tidak akan
terbentuk. Teknik ini bersifat siluman dibandingkan TCP connect penuh, dan
tidak aka tercatat pada log sistem sasaran.
·
TCP FIN scan (-sF)
Teknik ini mengirim suatu paket FIN ke port
sasaran. Berdasarkan RFC 793, sistem sasaran akan mengirim balik suatu RST
untuk setiap port yang tertutup. Teknik ini hanya dapat dipakai pada stack
TCP/IP berbasis UNIX.
·
TCP Xmas Tree scan (-sX)
Teknik ini mengirimkan suatu paket FIN, URG,
dan PUSH ke port sasaran. Berdasarkan RFC 793, sistem sasaran akan
mengembalikan suatu RST untuk semua port yang tertutup
·
TCP Null scan (-sN)
Teknik ini membuat off semua flag. Berdasarkan
RFC 793, sistem sasaran akan mengirim balik suatu RST untuk semua port yang
tertutup.
·
TCP ACK scan (-sA)
Teknik ini digunakan untuk memetakan set
aturan firewall. Dapat membantu menentukan apakah firewall itu merupakan suatu
simple packet filter yang membolehkan hanya koneksi-koneksi tertentu (koneksi
dengan bit set ACK) atau suatu firewall yang menjalankan advance packet
filtering.
·
TCP Windows scan
Teknik ini dapat mendeteksi port-port terbuka
maupun terfilter/tidak terfilter pada sistem sistem tertentu (sebagai contoh,
AIX dan FreeBSD) sehubungan dengan anomali dari ukuran windows TCP yang
dilaporkan.
·
TCP RPC scan
Teknik ini spesifik hanya pada system UNIX
dan digunakan untuk mendeteksi dan mengidentifikasi port RPC (Remote Procedure
Call) dan program serta normor versi yang berhubungan dengannya.
A. Langkah Percobaan
a. Network Scan
1. Lakukan
setting interface pada guest os dan server.
a. Server
memiliki 2 interface yaitu host only dan bridge
b. Guest os
memiliki interface host only
2. Jalankan
nmap dengan menggunakan option : -sL
3. Jalankan
nmap dengan menggunakan option : -sP
4. Tambahkan
option “-v” pada percobaan 2
b. Hosts Scan
Lakukan pemindaian nmap dan hping3 ke alamat
host:
a. www.
Pens.ac.id
b. 10.252.108.17
c. Guest os
dengan
memakai teknik pemindaian :
·
–F
·
–sV
c. Nmap & SSH
1. Letakkan
file myusers.lst dan mypasswds.lst di komputer
2. Lakukan nmap dengan perintah nmap –p 23 --script
telnet-brute --script-args
userdb=myusers.lst,passdb=mypasswds.lst,telnet-brute.timeout=8s 10.252.108.154
3. Akan muncul
nama user dan password yaitu testing dan
lessterm
4. Lakukan ssh testing@10.252.108.154
5. Cek isi
direktori dengan perintah ls akan
tampil Flag.file
6. Lakukan less Flag.file
7. Masuk
sebagai root dengan –su dengan
password jaringankomputer
8. Lakukan ./getTheFlag.sh
Subscribe to:
Posts (Atom)