-->
I'm joko purnomo./Cybersecurity Specialist/

I'm joko purnomo./Cybersecurity Specialist/

Hi! My name is Joko Purnomo. I am a Cybersecurity Specialist. I work to design, improve, and install for integrated system (people, material, information, equipment, and energy). Skilled in Cybereason, Group IB, IBM QRadar, and Wazuh to specify, predict, and evaluate optimal system build.

Kunjungi profil

ABOUT ME

Resume

Personal info

Personal info

2

years of experience

3

completed projects

4

Happy customers

1

awards won


My Skills

88%
html
90%
JavaScript
98%
CSS3
68%
React
71%
Java
80%
EDR
75%
SIEM
71%
Ethical Hacking

Certification & Education

  • EC-Council Certified Incident Handler
    2025 - 2028
    EC-Council Certified Incident Handler

    Plan, Record, Triage, Notify, and Contain.

  • Digital Forensics Essentials (DFE) v1
    2023 - 2026
    Digital Forensics Essentials (DFE) v1

    Essential Practices, Principles, and Methodologies.

  • AWS Solution Architect - Associate
    2023 - 2026
    AWS Solution Architect - Associate

    Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization, Sustainability.

  • Enigma Camp
    2024
    Enigma Camp

    Java Programming

  • Purwadhika Digital Technology School
    2021
    Purwadhika Digital Technology School

    Fullstack Web Development

  • Institut Teknologi Indonesia
    2013 - 2017
    Institut Teknologi Indonesia

    Industrial Engineering

my portfolio

Works

get in touch

Contact

Contact Details

Feel free to get in touch with us. we always open to discussing new projects, creative ideas or opportunities to be part of your visions.

my products

Product

Cari Blog Ini

Belajar Kali Linux

Linux merupakan sistem operasi yang sering digunakan dalam cybersecurity. Untuk dapat mengoperasinya pengetahuan dasar komputing, memahami linux command sederhana, dan terbiasa dengan terminologi dalam jaringan. Perhatikan gambaran virtualbox di bawah:

Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/introduction-to-virtualization?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Virtualisasi perangkat keras ada 2 jenis, yaitu dengan hypervisor dan tanpa hypervisor. Virtualisasi yang menggunakan hypervisor memungkinkan adanya banyak sistem operasi. Banyaknya sistem operasi itu yang disebut sebagai VM atau virtual machine. Lalu di atas sistem operasi tersebutlah berjalan aplikasi, kemudian disebut virtualisasi perangkat lunak. Pada tahap awal akan dilakukan pengaturan virtual lab:

  1. Download virtualBox di: https://www.virtualbox.org/wiki/Downloads
  2. Download sesuai sistem operasi yang digunakan
  3. Buka virutalbox > file > preferences
    • General : folder penyimanan dan autentikasi
    • Input : di dalamnya ada informasi shortcut
    • Update : melakukan update secara berkala
    • Language : bahasa yang digunakan
    • Display : mengatur screen size
    • Network : detail jaringan yang sedang terhubung
    • Extension : ekstensi yang didownload dan install
    • Proxy : untuk proxy server
  4. File > host network manager
    • Point of view virtual machine
Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/installing-kali-as-an-appliance?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Sekarang akan dilakukan instalasi kali:

  1. Buka virtualbox yang telah diinstal sebelumnya
  2. Download kali di: kali.org > simpan di folder yang mudah
  3. Klik icon import > pilih file kali yang telah didownload
  4. Klik tombol next
  5. Ganti nama menjadi (kali) saja
  6. Klik tombol import > agree
  7. Tunggu virtualbox selesai mengimport

  8. Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/installing-kali-as-an-appliance?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

  9. Pilih network > ganti NAT menjadi NAT Network
  10. Klik dua kali pada kali atau klik icon start untuk memulai kali (masukan password)

Sekarang akan dilakukan penggunaan metasploitable:
  1. Download metasploitable di : https://sourceforge.net/projects/metasploitable/
  2. Kembali ke virtualbox, pilih menu icon New
  3. Berikan konfigurasi:
    • Nama : metasploitable
    • Machine folder : tempat virtualbox
    • Type : linux
    • Version : ubuntu (32-bit)
  4. Klik tombol next > next
  5. Pilih use an existing virtual hard disk file > klik icon folder > add > arahkan ke metasploitable
  6. Klik tombol create dan tunggu hingga virtual mesin selesai dibuat
  7. Ganti lagi pada network pilihan NAT  menjadi NAT Network
  8. Klik dua kali untuk menjalankan atau klik icon start
Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/installing-metasploitable-from-a-virtual-disk?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Sekarang akan dilakukan instalasi ubuntu:

  1. Download ubuntu di: https://ubuntu.com/download/desktop
  2. Kembali ke virtualbox
  3. Klik icon new dan berikan konfiguras:
    • Name: Ubuntu
    • Machine folder: tempat virtualbox
    • Version: Ubuntu (64-bit)
  4. Klik next dan pilih create a virtual hard disk new > klik tombol create
  5. Pilih VDI (virtualbox disk image) > klik tombol next
  6. Pilih dynamic allocated > klik tombol next
  7. Klik tombol create > create dan selesai

  8. Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/installing-ubuntu-from-an-iso-file?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

  9. Pilih menu system dan gunakan konfigurasi:
    • Base memory: 2gb
    • Processor: 2
  10. Pilih menu storage dan gunakan konfigurasi:
    • Control IDE: choose a disk file > cari ubuntu yang iso image
  11. Pada bagian network ubah dari NAT menjadi NAT Network
  12. Jalankan virtual mesin ubuntu kemudian install ubuntu dengan konfigurasi
    • English language
    • Minimal installation
    • Ceklis login automatically
Sekarang akan dilakukan instalasi tiny linux:
  1. Download tiny core linux di: http://www.tinycorelinux.net/downloads.html
  2. Kembali ke virtualbox, klik file > import applience
  3. Pilih file tiny linux yang telah di download
  4. Klik next, ganti nama menjadi Tiny Linux > import
  5. Pada bagian network ubah dari NAT menjadi NAT Network
  6. Pada bagian system di pointing device pilih USB Tablet
  7. Jalankan virtual mesin dari tiny linux
  8. Klik kanan pada area biru > system tools > terminal
  9. Gunakan command : xsetup
  10. Pilih 11 untuk screen dan 1 untuk USB
  11. Klik kanan pada area biru > exit dan lakukan reboot
Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/going-tiny-with-linux?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Sekarang akan dilakukan pemasangan windows:

  1. Donwload windows iso : https://www.microsoft.com/en-us/evalcenter/download-windows-10-enterprise
  2. Download windows virtual machine : https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/
  3. Kembali ke virtualbox, pilih file > import applience
  4. Pilih file windows ove > create
  5. Beri nama Windows 10 > import
  6. Pada bagian network ganti NAT menjadi NAT network
  7. Jalankan virtual mesin windows > pilih devices > insert guest addition cd image
  8. Akan muncul sebuah jendela, kemudian pilih Run VBoxWindowsAddtion.exe
  9. Lakukan instalasi secara default
  10. Pilih menu view > adjust windows size
  11. Bisa digunakan full screen view
Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/installing-windows?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Sejauh ini sudah dilakukan 5 instalasi virtual mesin di dalam virtualbox, yaitu kali, metasploitable, ubuntu, tiny linux, dan windows. Dengan 5 virtual mesin tersebut secara sederhana sudah dibuat laboratorium pengujian. Pada kali linux terdapat fitur awal seperti kalender, koneksi, volume, notification, computer (untuk pengaturan power), lock screen, dan tombol power (untuk shut down). Untuk membuka terminal cukup dengan klik kanan di area desktop lalu pilih terminal. Menghilangkan desktop icon juga dilakukan melalui klik kanan dan pilih desktop setting.

Sumber: https://www.linkedin.com/learning/learning-kali-linux-2/using-the-application-menu?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Sedikitnya ada 13 tipe menu yang dapat digunakan:

  1. Information Gathering : alat-alat populer yang digunakan untuk mengumpulkan informasi
  2. Vulnerability Analysis : alat intensif yang digunakan untuk analisis kerentanan untuk fuzzing & stress testing
  3. Web Application Analysis : seperangkat alat untuk menguji web
  4. Database Assessment : pembaca database SQLite dan SQL map testing
  5. Passwords Attacks : menyembuhkan password dari file hash, melakukan serangan password, dan sistem password circumvent menggunakan hash
  6. Wireless Attacks : memindai jaringan wifi dan bluetooth 
  7. Reverse Engineering : pengujian lebih lanjut penetration untuk mengembalikan kode target dan malware serta mengidentifikasi kerentanan baru
  8. Exploitation Tools : mendemonstrasikan bagaimana kerentanan bisa diekploitasi
  9. Sniffing & Spoofing : mengoleksi traffic melalui protokol yang digunakan
  10. Post Exploitation : melaksanakan pengujian ketika ditetapkan inisiasi
  11. Forensics : investigasi serangan melalui jalur malware dan bukti atribusi
  12. Reporting Tools : mengoleksi hasil dari pengujian
  13. Social Engineering Tools : mendapatkan informasi dari orang-orang seperti melalui email

Nah, untuk mendapatkan alat-alat lain yang tidak ada di menu bisa menggunakan syntax [kali@kali:~$ ls /usr/share]. Kali memiliki ratusan alat yang suatu saat tentu akan di-update, untuk melakukan update bisa menggunakan syntax [kali@kali:~$ sudo apt-get update] lalu lakukan upgrade dengan syntax [kali@kali:~$ sudo apt-get upgrade] tekan Q untuk melanjutkan. Untuk melihat kali yang berjalan saat ini gunakan syntax [kali@kali:~$ lsb_release -a], sedangkan untuk nama linux nya [kali@kali:~$ uname -a].

Secara default melakukan browsing di kali dapat menggunakan firefox. Alat-alat yang ada di kali linux biasanya masih standar dan perlu ditambahkan alat-alat sesuai kebutuhan. Nah, untuk itu perlu dilakukan instalasi. Cara install di kali linux dengan membuka terminal dan gunakan syntax. Misalnya akan diinstal OpenVAS maka gunakan syntax [kali@kali:~$ sudo apt install gvm]. Kemudian untuk mengatur OpenVAS gunakan syntax [kali@kali:~$ sudo gvm-setup] dan untuk mengubah password admin gunakan syntax [kali@kali:~$ sudo runuser -u _gvmd -- gvm --user=admin --new-password=admin]. Memulai OpenVas gunakan syntax [kali@kali:~$ sudo gvm-start].

Sekarang akan dicoba untuk gathering information:
  1. Pada menu pilih information gathering > dmitry
  2. Gunakan syntax:
    • [kali@kali:~$ dmtry yahoo.com].
  3. Tunggu sejenak akan dihasilkan informasi tentang web yahoo.com
  4. Informasi penting yang akan didapatkan berupa IP address, internet address block, subdomain, alamat email, dan open port di server
  5. Gunakan syntax:
    • [kali@kali:~$ dmitry -pb (port, misalnya 10.0.2.0)].
  6. Tunggu sejenak akan dihasilkan informasi tentang port tersebut
  7. Buka kembali menu pilih information gathering > DNS analysis > dnsenum
  8. Gunakan syntax:
    • [kali@kali:~$ dnsenum tiktok.com]
    • [kali@kali:~$ dnsenum -s 5 -p 5 tiktok.com] untuk informasi lebih lanjut subdomain (-s), VM, dan VT
    • [kali@kali:~$ dnsenum 132.181.0.0/16] untuk informasi sistem
  9. Buka kembali menu pilih information gathering > nmap
  10. Gunakan syntax:
    • [kali@kali:~$ sudo nmap -sn 10.0.2.0/24] melihat host yang berjalan
    • [kali@kali:~$ sudo nmap -PS 10.0.2.8] melihat layanan TCP yang berjalan
    • [kali@kali:~$ sudo nmap -PS -sV -p 22 10.0.2.8] untuk melihat open service (-sV)
    • [kali@kali:~$ sudo nmap -sU -F 10.0.2.8] untuk melihat layanan UDP
  11. Buka kembali menu pilih web application analysis > whatweb
  12. Gunakan syntax:
    • [kali@kali:~$ whatweb 10.0.2.8] melihat metasploitable web server
    • [kali@kali:~$ whatweb http://zero.webappsecurity.com] sama namun dengan alamat web
Sekarang akan dicoba vulnerability scanning:
  1. Buka kembali menu pilih vulnerability analysis > nikto
  2. Gunakan syntax:
    • [kali@kali:~$ nikto -h 10.0.2.8] untuk melakukan metasploitable analysis sehingga didapatkan berapa item yang mungkin menjadi target
Sekarang akan dicoba password cracking:
  1. Buka kembali menu pilih password attack > wordlist
  2. Gunakan syntax:
    • [kali@kali:/usr/share/wordlists$ sudo gunzip rockyou.txt.gz]
    • [kali@kali:/usr/share/wordlists$ sudo cat rockyou.txt]
    • [kali@kali:/usr/share/wordlists$ wc -l nmap.lst]
    • [kali@kali:/usr/share/wordlists$ nano nmap.lst]
    • [kali@kali:/usr/share/wordlists$ ls metasploit]
  3. Syntax di atas untuk melihat daftar dari kata-kata password
  4. Buka terminal kali
  5. Gunakan syntax:
    • [kali@kali:~$ crunch -h] melihat versi crunch
    • [kali@kali:~$ crunch 10 10 -t password %%] membuat password
    • [kali@kali:~$ crunch 6 6 -t pass00 -o pass.txt]
    • [kali@kali:~$ rsmangler -h] menampilkan rsmangler
    • [kali@kali:~$ nano easypass.txt]
    • [kali@kali:~$ cewl 10.0.2.0 -w meta.txt -d 3] 
    • [kali@kali:~$ nano meta.txt] 
  6. Buka kembali menu pilih password attack > john
  7. Gunakan syntax:
    • [kali@kali:~$ sudo cp /etc/shadow linhash.txt]
    • [kali@kali:~$ sudo cat linhash.txt]
    • [kali@kali:~$ sudo john linhash.txt --pot=cracked.txt] 
    • [kali@kali:~$ sudo cat cracked.txt]
    • [kali@kali:~$ sudo john --show linhast.txt]
    • [kali@kali:~$ sudo useradd George]
    • [kali@kali:~$ sudo passwd George]
    • [kali@kali:~$ sudo useradd Franz]
    • [kali@kali:~$ sudo passwd Franz]
    • [kali@kali:~$ sudo cp /etc/shadow linhash.txt]
    • [kali@kali:~$ sudo john linhash.txt --pot=cracked.txt]
  8. Syntax di atas memperlihatkan bagaiman John Ripper meretas
Eksploitasi dapat dilakukan melalui metasploitable yang tentunya diinstal terlebih dahulu dari kali. Selain metasploitable ada juga armitage dan venom. 




ref:
https://www.linkedin.com/learning/learning-kali-linux-2/

Cloud Compute Hacking

Cloud compute merupakan teknologi yang sedang booming. Untuk dapat melakukan hacking di cloud compute maka diperlukan pengetahuan sebelumnya seperti layanan TCP/IP (HTTPS), virtualisasi sistem operasi, dasar kriptografi, dasar pengujian vulnerability, dan dasar pengujian penetration. Karakteristik dari cloud compute dapat dilihat pada NIST atau national institute of standards and technology. Diantara karakter dari cloud compute adalah layanan terukur (storage, compute, network), broad network access (internet or intranet), resource pooling (economic scaling), rapid elasticity (auto scaling), dan kebutuhan on-demand (command line).

Ada beberapa model dari cloud compute seperti software as a service (SaaS), platform as a service (PaaS), dan infrastructure as a service (IaaS). Di sanalah dimungkinkan terjadinya hacking. Seperti diketahui fase dari ethical hacking adalah reconnaissance, enumeration, gain access, maintain access, dan cover tracks. Nah, tentu karena medannya adalah cloud maka memiliki karakteristik tersendiri. Ancaman yang mungkin terjadi di cloud adalah penyimpanan data terpusat untuk banyak pelanggan, public internet, dan enkripsi.

Identitas cloud yang penting untuk diketahui bagi seorang hacker seperti user, devices, dan software security principal. Untuk dapat memahami teknologi cloud yang akan coba dipantau perlu dilakukan pembuatan user dan group cloud serta mengaktifkan multifactor authentication untuk user. Agar bisnis melalui teknologi cloud dapat berkelanjutan maka perlu dilakukan hal-hal:

  1. Identifikasi aset
  2. Identifikasi ancaman-ancaman terhadap aset
  3. Identifikasi kemungkinan ancaman
  4. Identifikasi ancaman dari mitigasi
  5. Penilaian secara periodik dari efikasi pengendalian keamanan
Pada dasarnya setiap perusahaan yang memang berfokus pada teknologi cloud sudah menyediakan sistem keamanannya sendiri, sebut saja AWS dan Azure. Hal yang paling dasar adanya security group. Biasanya perusahaan cloud yang memiliki keamanan standar sudah tersertifikasi oleh PCI DSS, AWS dendiri sudah tersertifikasi PCI DSS 3.2. level 1 service provider. Perlu diperhatikan juga lokasi penyimpanan data replikasi dan lokasi penyimpanan replikasi mesin virtual. Dalam melakaukan disaster recovery akan ada 2 istilah, yaitu RPO (recovery point objective) dan RTO (recovery time objective).

Untuk melakukan audit di cloud dapat menggunakan menu log. Dengan file log, maka dimungkinkan melihat aktivitas-aktivitas. Biasanhya file tersebut akan di export menjadi bentuk csv untuk kemudian dikirim pada bagian engineering. Melalui file log tersebut juga dibuat sebuah peringatan yang mungkin menjadi ancaman, misalnya membuat alarm di cloud azure (minitor>alert>manage actiob>add action group). Notifikasi peringatan bisa dikirim melalui email bahkan melalui SMS. Sudah menjadi hal biasa jika hendak mengirim file-file yang bersifat sensitif sebaiknya dilakukan enkripsi.

Cara memasang HTTPS di website cloud dengan pelayanan Azure:

  1. Masuk ke akun Azure
  2. Klik webapp yang hendak dijadikan HTTPS
  3. Di bagian overview akan ada URL, perhatikan ini nanti
  4. Pada bagian panel menu pilih Custom domains (di bagian setting)
  5. Lalu klik Add custom domains, masukan domain yang akan dibuat HTTPS kemudian klik validate
  6. Kemudian perhatikan Domain ownership, dan buat di domain manager yang telah ditentukan sebelumnya (ex. dcc.godaddy.com)
  7. Isi type, host, dan point to sesuai yang ada di Domain ownership > save
  8. Kembali ke azure dan klik validate lagi, pastikan Domain ownership sudah berhasil
  9. Perhatikan kembali ke bagian overview
  10. Klik menu navigasi dan pilih All resources, klik key vault (KV1772) > Certificates > klik Generate/import
  11. Isi secara lengkap, perhatikan gambar di bawah:

  12. Sumber: https://www.linkedin.com/learning/ethical-hacking-cloud-computing/force-https-for-cloud-hosted-web-applications?autoSkip=true&autoplay=true&resume=false&u=95231473

  13. Lalu klik create dan sertifikat telah berhasil dibuat namun masih disable
  14. Sekarang ke menu navigasi, klik App services, lalu ke bagian TLS/SSL settings > private key certificate > import key vault certificate, pilih key vault yang KV1772 dan certificate yang telah dibuat sebelumnya
  15. Sekarang ke Custom domains > Add custom domain, isi sesuai web dan klik tombol Validate setelah semuanya berhasil klik tombol Add custom domain
  16. Nanti akan muncul di list bahwa masih berstatus not secure, klik tombol Add binding, pilih private sertifikat yang sesuai, dan pada bagian TLS/SSL Type pilih SNI SSL > klik tombol Add binding
  17. Sekarang kembali lagi ke Overview, coba buka URL-nya
  18. Nanti masih berstatus This site is not secure, tidak papa tetap bukua melaui details dst
  19. Kembali ke Azure, ke menu TLS/SSL Settings > dan ubah status HTTPS Only menjadi on
  20. Sekarang enkripsi telah berhasil dilakukan untuk web app tersebut
Di dalam teknologi cloud tentu dikenal pula artificial intelligent dan machine learning. AI berfokus pada kebiasaan manusia dalam menggunakan teknologi, sedangkan ML berfokus pada algoritma yang digunakan untuk mengajari software prediksi dan keputusan berdasarkan data. AI bisa diterapkan dalam diagnosis medikal melalui sinar x, mobil mengendarai secara otomatis, dan rekognisi wajah. Dia juga bisa digunakan untuk menganalisis kebiasaan jaringan dan host. Di Amazon ada GuardDuty sedangkan di Microsoft ada Azure Sentinel. Salah satu serangan yang biasa terjadi di sebuah web adalah DDoS atau distribute denial of service, di Azure sendiri telah ada menu khusus yaitu DDoS protection plans.

Masih mirip dengan teknologi on-premise, di teknologi cloud penetration test bisa dilakukan melaui kali linux. Ketika telah dilakukan penetrating terhadap web cloud yang dibangun, tentu saja perlu alat-alat keamanan yang digunakan. Untuk menentukan security tools tersebut perlu ditentukan apahak private atau public cloud, cloud provider apa yang digunakan, akses autentikasi, online tool atau mesin virtual download yang akan digunakan, 




ref:
https://www.linkedin.com/learning/ethical-hacking-cloud-computing/

Cryptography Hacking

Kriptografi secara sederhana mengkonversi data menjadi bentuk yang acak. Ada 4 jenis penggunaan kriptografi, yaitu auntentikasi, intergritas, confidentiality, dan non-repudiation (menerima data). Kriptografi akan berhubungan dengan enkripsi yang merupakan langkah awal dalam membuat data yang scrambled. Untuk mengubah data yang telah scrambled menjadi data yang semula maka diperlukan proses dekripsi.

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/different-types-of-cryptography?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Kriptografi simetrik memiliki alur original data, kunci simetrik (enkripsi), kunci scrambled, kunci simetrik (dekripsi), dan original data. Sedangkan kriptografi asimetrik memiliki alur original data, kunci publik (enkripsi), kunci scrambled, kunci privat (dekripsi), dan original data. Perbedaan mendasar antara kriptografi simetrik dan asimetrik adalah kunci dalam membuka. Pada kriptografi simetrik kunci yang digunakan adalah sama, yaitu enkripsi dan dekripsi, sedangkan pada kriptografi asimetrik kunci yang digunakan adalah publik dan privat. Di antara kriptografi simetrik dan asimetrik ada yang disebut hashing. Fungsi hash akan langsung mengubah data menjadi hash. Dengan melakukan hashing maka integritas dari pesan lebih meyakinkan.

Untuk melakukan enkripsi dan dekripsi digunakan ciphers yang berupa algoritma. Awalnya plain text (teks original) akan masuk ke dalam sebuah algoritma (urutan perhitungan matematika), kemudian akan diubah menjadi kunci dengan karakter unik, dan diakhiri dengan chipertext. Contoh substitusi cipher:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/different-types-of-cryptography?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Kemudian contoh transposisi cipher:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/different-types-of-cryptography?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Ada pula cipher yang berupak tabel bilangan biner. Jadi XOR cipher akan melakukan perubahan data berdasarkan bilangan biner tertentu berdasarkan tabel yang telah disediakan. Enkripsi secara simterik merupakan komputasi yang cepat. Rumus dalam membentuk enkripsi secara simetrik adalah:

unique key needed = N(N-1)/2

Data encryption standard (DES) mensyaratkan data yang baik harus dilakukan enkripsi simetrik, cipher blok pola dasar, dan 64-bit potongan. Tentunya dalam hal ini ada kelemahan. Nah, kelemahan ini digantikan oleh AES atau advanced encryption standard. Di AES tetap digunakan enkripsi simetrik, namun telah menggunakan 128-bit potongan. Bentuk umum dari keluarga cipher adalah rivest cipher (RC) yang terdiri atas RC4, RC5, dan RC6. Alur dari RC4 adalah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Di dalam RC4 akan ditentukan ukuran kunci dari variabel. RC4 merupakan stream sedangkan RC5 merupakan blok. Di dalam RC5 ada algoritma terparameterisasi dan ukuran dari kunci variabel (0-2040 bits). Perhatikan gambar RC5 di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Di atas RC5 dibangun RC6. Tambahannya berupa perkalian integer dan 4 registrasi. Perhatikan gambar RC6 di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/symmetric-encryption?autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Berbeda dengan kriptografi simetrik yang lebih cepat dalam komputasi, kriptografi asimetrik lebih lambat dalam komputasi. Asimetrik menggunakan nomor utama yang besar. Kalau di dalam simetrik ada rivest cipher maka di asimetrik ada rivest-shamir-adleman (RSA). Nah, kalau di dalam asimetrik perkalian maka di dalam asimetrik dimungkinkan terjadinya pemfaktoran. Selain itu ada ElGamal yang mencoba mengembangkan lebih ke arah penyelesaian masalah logaritma diskrit. Alternatif lain ada elliptical curve cryptography (ECC) mendekati masalah logaritma diskrit dengan kurva elips. Dan terakhir adalah diffie-hellman yang menggunakan perpindahan kunci di dalam SSL dan IPsec.

Simetrik dan asimetrik masing-masing memiliki kelemahan. Pada simetrik sulit untuk menjaga kunci tetap rahasia, sedangkan pada asimterik komputasi menjadi intensif sehingga membutuhkan waktu yang lebih lama. Solusinya adalah dengan menggunakan model hybrid. Misalnya ada dua orang yang akan saling berkomunikasi, si A menggunakan simterik sedangkan si B menggunakan asimetrik. Pertama si B akan mengirim public key ke si A. Kemudian si A akan menggunakan public key untuk enkripsi kunci simterik. Nah, ketika kunci telah terenkripsi maka akan di kirim ke si B, untuk membuka paket kiriman dari si A ke si B maka si A melakukan penghapusan kunci publik. Dan sekarang si A memiliki kunci simetrik dan si B memiliki kunci simetrik dan privat. Jadi yang dilakukan adalah menggunakan simetrik untuk enkripsi data dan menggunakan asimetrik untuk pertukaran kunci.

Sebelumnya telah disebutkan bahwa dengan melakukan hashing lebih meyakinkan akan integritas dari pesan yang dirim. Hashing merupakan suatu jalan fungsi matematika. Data yang masuk kecil namun akan keluar sebagai data besar. Misalnya kata CatsInHat jika dilakukan hashing bisa menghasilkan 2ae7e826dfea398e1d2a247a2d03d25fd992c4d3. Contoh algoritma hash adalah message digest (MD5), yang memberikan panjang input data berapa saja dan dengan 128-bit keluaran. Namun MD5 memungkinkan terjadinya input yang berbeda dengan hasil hash yang sama. Oleh karena itu tidak direkomendasikan menggunakan MD5 untuk keamanan. Rekomendasi yang diberikan untuk melakukan hashing adalah secure hashing algorithm (SHA). Dia juga memberikan kebebasan panjang input data, pada SHA1 160-bit output, pada SHA2 tersedia dalam bentuk 32-bit (SHA-256) dan 64-bit (SHA-512), dan pada SHA3 mampu menyerap data dengan operasi XOR (tabel biner).

Penerapan kriptografi sangat berguna pada sertifikat digital caranya dengan pembuktian identitas. Sertifikat digital yang paling terkenal adalah digital certificate x.509. Dia menggunakan versi, nomor serial, id algoritma, issue, validasi (tidak sebelum dan tidak sesudah), subject (pembuat), dan subject public key info. Digital signature algorithm atau DSA menggunakan sistem simetrik, pertama kali digunakan oleh pemerintahan Amerika. Ada 4 model kepercayaan sebuah objek digital, yaitu satu otoritas (dirancang oleh satu otoritas), kepercayaan hirarki (perhatikan gambar di bawah), kepercayaan web, dan sertifikat menyilang. 

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/trust-models?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Public key infrastructure atau PKI digunakan untuk mendeskripsikan ekosistem dari sertifikat digital. Komponen dari PKI adalah sistem manajemen sertifikat, sertifikat digital, daftar pencabutan sertifikat (CRL atau certificate revocation list), otoritas sertifikat (CA atau certificate authority), otoritas registrasi (RA atau registration authority), dan pengguna (end user). Perhatikan skema PKI pada gambar di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-cryptography/digital-certificates-and-signing?autoSkip=true&autoplay=true&contextUrn=urn%3Ali%3AlearningCollection%3A6924237847126323200&resume=false&u=95231473

Tanda tangan sertifikat digital akan berupa kriptografi dengan menggunakan hashing pada public dan private key. Terkadang kriptografi juga menggunakan perjanjian escrow, yaitu perjanjian dengan pihak ketiga. Dengan adanya tanda tangan sertifikat digital maka akan terbentuk integritas dan autentikasi.

Protokol lama tidak menggunakan teknologi kriptografi, contohnya FTP (file transfer protocol), SMTP (simple mail transfer protocol), HTTP (hypertext transfer protocol), dan Telnet. Dan semua protokol lama tersebut sangat tidak aman dari sisi cybersecurity. Protokol yang terbaru akan lebih memiliki keamanan, seperti secure MIME, PGP (pretty good privacy), secure shell (SSH), PPTP (point to point tunneling protocol), dan SSL (secure socket layer). Pada media penyimpanan sendiri ada yang disebut enkripsi data, biasanya menggunakan teknologi EFS atau encrypting file system yang diperkenalkan oleh Windows.

Serangan pada kriptografi terjadi pada ciphertext. Jika serangan tersebut berhasil menemukan plaintext maka kemungkinan besar hasil dari serangan tesebut adalah kunci enkripsi. Setelah kunci enkripsi berhasil didapatkan maka penyerang akan memilih plaintext yang akan menjadi target, dan diakhiri eksekusi pada cipherthext yang menjadi target. Dalam dunia kriptografi dikenal istilah serangan rubber hose. Serangan ini dilakukan secara fisik dengan cara memaksa, mengancam hingga melakukan rekayasa sosial. Serangan biasa terjadi antara sebuah server dan client atau disebut man in the middle. Jadi seseorang akan berada di tengah komunikasi antar server dan client kemudian mendapatkan banyak informasi dengan cara masuk secara diam-diam.

Apapun itu serangan untuk kriptografi lebih sulit dilakukan, contohnya serangan yang dilakukan oleh distribute.net yang berhasil meng-crack RC5-56 bit dalam 250 hari dengan menggunakan 26.000 processor. Dia juga berhasil meng-crack RC5-64 bit dalam 1757 hari dengan menggunakan 331.000 mesin. Didapatkan RC5-72 bit hanya bisa di-crack selama 6.000 days (16 tahun). Ada beberapa istilah dalam serangan kriptografi, yaitu:

  • Heartbleed : mengeksploitasi openSSL
  • POODLEbleed : mengeksploitasi kerentanan di SSL 3.0.
  • DROWN : mengeksploitasi server TLS modern
  • FREAK : mengeksploitasi kelemahan protokol SSL/TLS
Ada beberapa metodologi yang digunakan untuk memcahkan kode seperti code breaking (trik rekayasa sosial), brute force (mencoba berbagai kombinasi yang mungkin), dictionary attack (seperti brute force hanya saja menggunakan kata-kata diksi), rainbow tables (menggunakan daftar hash sebelum komputasi), dan meet-in-the-middle attack (menggunakan layer enkripsi berlapis).




ref:
https://www.linkedin.com/learning/ethical-hacking-cryptography/

Enumerasi

Kernel memiliki 6 ring. Pada ring 0 berupa kernel (sangat banyak hak istimewa, biasanya untuk aplikasi), ring 1 berupa executive, ring 2 berupa supervisor, dan ring 3 berupa user (paling sedikit hak istimewanya). Untuk dapat melakukan enumerasi diperlukan virtualbox dan kali linux. Enumerasi dilakukan untuk mengidentifikasi username, system addresses, network resources, shares, dan target lainnya. Ada beberapa port yang sangat berguna untuk melakukan enumerasi:

  • Port 22 : secure shell (SSH)
  • Port 53 : domain name system (DNS)
  • Port 25 : simple mail transfer protocol (SMTP)
  • Port 80 : hypertext transfer protocol (HTTP)
  • Port 135 : remote procedure calls (RPC)
  • Port 139 : NetBIOS
  • Port 161 : simple network management protocol (SNMP)
  • Port 389 : lightweight directory access protocol (LDAP)
  • Port 443 : hupertext transfer protocol secure (HTTPS)
  • Port 445 : server message block (SMB)
  • Port 3389 : remote desktop protocol (RDP)
NetBIOS, SMB (server message block), dan RPC (remote procedure call) merupakan panggilan API atau application programming interface.
  • NetBIOS:
    • Port 137 UDP : name service
    • Port 138 UDP : datagram distribution service
    • Port 139 TCP : lebih ke TCP/IP
  • SMB
    • SAMBA adalah implementasi Linux atas SMB
  • RPC
    • Interproses dan intersistem
Cara melakukan enumerasi pada local host pada Windows:
  1. Download PsTools di: https://docs.microsoft.com/en-us/sysinternals/downloads/pstools
  2. Ekstrak file PsTools di tempat yang mudah ditemukan
  3. Buka Command Prompt dan arahkan ke file PsTools
  4. Pertama untuk memastikan PsTools berjalan gunakan syntax (di cmd) : [psinfo]
  5. Gunakan syntax : [psinfo -d] untuk melihat volume
  6. Gunakan syntax : [psinfo -s] untuk melihat alat yang diinstal
  7. Gunakan syntax : [pslist] untuk melihat proses
  8. Gunakan syntax : [pslist -t] untuk melihat cabang proses
  9. Gunakan syntax : [pslist -x] untuk enumerasi lebih detail
  10. Gunakan syntax : [psloglist -n 5] untuk melihat 5 log terakhir
  11. Gunakan syntax : [psloglist -x -n 5] untuk melihat 5 log terakhir lebih detail
  12. Gunakan syntax : [psloggedon] untuk melihat log yang aktif
  13. Gunakan syntax : [psservice] untuk melihat berbagai layanan yang digunakan
  14. Untuk dapat mengekplorasi jaringan download shareenum di: https://github.com/CroweCybersecurity/shareenum
  15. Shareenum tersebut hanya bisa dijalankan melalui kali linux
  16. Gunakan syntax ini secara berurut:
    • root@kali: -# shareenum
    • root@kali: -# shareenum -o shares1.txt 10.0.2.6
    • root@kali: -# shares1.txt
    • root@kali: -# shareenum -o shares2.txt -u training -p training 10.0.2.10
    • root@kali: -# cat shares2.txt 
Sumber: anonim

Cara enumerasi SMB (server message block) melalui windows:

  1. Download DeepNet Scanner di : https://sourceforge.net/projects/nbtenum/
  2. Kemudian buka file NetBIOS enumerater
    • Pada kolom from isi: 192.168.43.55 (perhatikan alamat IP)
    • Pada kolom to isi: 192.168.43.61 (perhatikan alamat IP)
  3. Klik tombol Scan dan tunggu hingga status Ready!
  4. Pada bagian yang ingin di lihat informasi lebih detail klik kanan dan pilih Gather Information ...
  5. Alat lain untuk network scanner bisa download : https://www.mitec.cz/netscan.html
  6. Kemudian buka file NetScanner
  7. Klik tombol Preference, perhatikan sesuai kebutuhan dan klik tombol ok
  8. Kemudian pada bagian .: Scan :.
    • Pada kolom from isi: 192.168.43.55 (perhatikan alamat IP)
    • Pada kolom to isi: 192.168.43.61 (perhatikan alamat IP)
  9. Ada 3 jenis scanning, yaitu IP Range Scan, Network Neighborhood Scan, dan Active Directory Scan. Klik tombol IP Range Scan
  10. Pilih IP yang akan dieksplorasi lebih jauh, kemudian klik kanan dan klik Advanced Device Explorer
  11. Pilih bagian shares untuk melihat pembagian
  12. Pilih bagian port scanner untuk melihat port yang terbuka
    • Klik tombol scan
  13. Pilih bagian processes untuk melihat proses yang berjalan di sistem
  14. Pilih bagian WMI Explorer untuk melihat query
    • Pilih query
    • Klik tombol execute
  15. Klik tombol Close, sekarang pilih IP yang paling atas, kemudian klik kanan dan pilih Advanced Device, kemudian pilih bagian Event Log Explorer, dan pilih pada bagian sistem. Perhatikan!
Sumber: anonim

Alat lain yang dapat digunakan untuk melakukan enumerasi:

  1. Download softperfect di: https://www.softperfect.com/products/networkscanner/
  2. Sama seperti yang lain masukan range IP Address
  3. Klik tombol Option, pilih Program Option dan pastikan seluruh fitur aktif di tab workstation, ports, shares, dan application kemudian klik ok
  4. Klik tombol Option, pilih Remote WMI, pastikan semua ter-mark
  5. Klik tombol Option, pilih Remote Services, pastikan semua ter-mark
  6. Klik tombol Option, pilih Remote SNMP, pastikan semua ter-mark
  7. Klik tombol Start Scanning
  8. Setelah selesai bisa dilakukan ekslorasi IP sharing untuk melihat folder file sistem, properties dari IP (klik kanan pada objek), compute management (klik kanan pada objek).
  9. Kebanyakan akan mempersyaratkan kredensial dan itu bisa dilakukan melalui klik tombol Option dan pilih Credential Manager
SNMP atau simple network management protocol merupakan evolusi dari SGMP atau simple gateway monitoring protocol. Aplikasi pengelola SNMP digunakan untuk mengelola device. Contoh Cisco memulai identifikasi objek dengan 1.3.6.1.4.1.9 dan semua sistem eksperimen microsoft akan dimulai dengan 1.3.6.1.4.1.311. Sistem microsoft dan linux memiliki identifikasi objek dengan 1.3.6.1.2.1.1.1 yang digunakan untuk sistem informasi, serta menggunakan 1.3.6.1.2.1.25.4.2.1.2 untuk menjalankan proses. Dalam hal ini kali linux telah menyediakan enumerasi SNMP yang bisa digunakan. Gunakan syntax:
  • [kali@kali:~$ onesixtyone (subnet yang akan di cek, ex. 10.0.2.0/24) public] untuk cek device yang telah enable SNMP
  • [kali@kali:~$ snmpget -v 1 -c public (IP address, ex. 10.0.2.9) (LID, ex. 1.3.6.1.2.1.1.5.0)] akan menghasilkan nama sistem
  • [kali@kali:~$ snmpget -v 1 -c public (IP address, ex. 10.0.2.9) (LID, ex. 1.3.6.1.2.1.1.1.0)] akan menghasilkan sistem informasi
  • [kali@kali:~$ snmpwalk -v 1 -c public (IP address, ex. 10.0.2.9) (LID, ex. 1.3.6.1.2.1.1)] akan menghasilkan cabang
  • [kali@kali:~$ snmpwalk -v 1 -c public (IP address, ex. 10.0.2.9) (LID, ex. 1.3.6.1)] akan menghasilkan cabang yang lebih banyak
Bisa dilakukan eksplorasi target lebih mudah menggunakan iReasoning. Gunakan syntax:
  • [kali@kali:~$ wget https://www.ireasoning.com/download/mibfree/mibbrowser.zip] untuk mendownload, tunggu hingga proses selesai
  • [kali@kali:~$ unzip mibfree/mibbrowser.zip] untuk mengekstak file, tunggu hingga proses selesai
  • [kali@kali:~$ cd ireasoning/mibbrowser] untuk pindah ke file mibbrowser
  • [kali@kali:~/ireasoning/mibbrowser$ ./browser.sh
  • Setelah aplikasi terbuka masukkan IP Address kemudian lakukan expand dan klik kanan, pilih walk maka akan didapatkan semua LID 

Melakukan UUID generate untuk aplikasi RPC dapat dilakukan secara online melalui kanal: https://www.uuidgenerator.net/ atau secara offline bisa mendownload aplikasi winfingerprint melalui kanal: https://freewareapp.com/winfingerprint_download/. Selain dua cara itu kali linux juga memungkinkan untuk mencari RPC dengan menggunakan syntax: [kali@kali:~$ rpcinfo -p 10.0.2.8] tunggu sejenak dan daftar dari RPC akan dihasilkan.

Implementasi microsoft dari WMI atau windows management instrumentation di antaranya WBEM (windows-based enterprise management) dan CIM (common information model). Akses data WMI dan eksekusi metode WMI dilakukan melalui powershell. Cara mengoperasikan WMI:

  1. Buka PowerShell
  2. Gunakan syntax: get-wmiobject win32_account | select name,__class
  3. Akan muncul daftar lengkap grup, sistem, dan user akun
  4. Untuk melakukan pengujian WBEM gunakan syntax: wbemtest
  5. Klik tombol Connect, nanti akan muncul kotak yang secara default berisi root\cimv2
  6. Jika sudah sesuai maka klik tombol Connect
  7. Sekarang kendali WMI telah aktif, sehingga bisa enumerate, create, open, dan delete
  8. Klik tombol Enum Classes, biarkan superclass -nya kosong, lalu klik ok
  9. Pilih win32-security setting group, klik tombol Add
  10. Dan silahkan lakukan edit, create, dan delete kualifikasi yang dibutuhkan
Jika menggunakan cara diatas sulit bisa digunakan WMI explorer dengan mendownload di: https://github.com/leinad13/WmiExplorer. Langkah pertama yang perlu dilakukan adalah dengan memasukkan IP Address. Kemudian klik tombol Connect. Pilih ROOT\CIMV2 pada bagian namespaces, kemudian pilih Win32_BIOS pada bagian classes, kemudian pilih pada instances dan akan muncul 31 properties. Enumerasi telah berhasil dilakukan untuk Win32_BIOS. Untuk melakukan pengujian remote WMI request gunakan syntax: test-wsman -computername (IP Address ex. 10.0.2.10). Jika berhasil akan muncul standar identitas WSMan.

Untuk melakukan enumerasi web server melalui kali linux dapat menggunakan syntax: [kali@kali:~$ whatweb (IP Address)] untuk mendapatkan informasi lebih detail bisa menggunakan syntax: [kali@kali:~$ nikto -h (IP Address)]. Sedangkan untuk melakukan enumerasi webpages bisa menggunakan aplikasi OWASP ZAP yang bisa di download pada kanal: https://www.zaproxy.org/. Hanya tinggal mengisi alamat yang akan dilakukan enumerasi. Adakalanya webpages yang hendak dienumerasi itu ter-hidden. Untuk melakukannya bisa menggunakan kali linux dengan syntax: [kali@kali:~$ dirb http://(IP Address)/]. Jika ingin mendapatkan info yang lebih detail bisa menggunakan syntax gobuster yang sebelumnya diinstal melalui kali linux.

Enumerasi pada internet dapat pula dilakukan melalui command prompt dengan syntax: tracert 67.3.11.1. Selain melalui command prompt enumerasi pada internet dapat dilakukan melalui website: https://www.shodan.io/. Pertama-tama perlu sign up kemudian tinggal memasukkan kata kunci yang hendak dicari, misalnya domino. Pemindaian internet terkadang diperlukan untuk keperluan enumerasi. Alat yang dapat digunakan adalah zmap yang bisa di download: https://zmap.io/. Penggunaan zmap melalui kali linux.

Sejauh ini telah dilakukan enumerasi pada local host, remote host, web apps, dan internet. Teknologi terbaru saat ini adalah cloud. Tentu saja ada teknik yang berbeda untuk melakukan enumerasi cloud. Perusahaan pelopor teknologi cloud diantaranya adalah AWS, untuk melakukan enumerasi di AWS bisa dilakukan melalui beberapa cara seperti AWS command line interface (CLI) tool, uji tidak terautentifikasi, uji terautentifikasi sebagai personal akun, uji terautentifikasi sebagai target akun, dan akun tersimpan hanya sebagai profil. Medan serangan atas cloud ada di TCP server, UDP port, web portal injection point, dan skrip kebijakan.

Syntax yang digunakan untuk mengenumerasi cloud policies melalui command line interface:

  • [malcolm@Shuttle:~$ aws sts get-access-key-info --access-key ASIA22ZK7SWAEWK6X4MM] untuk mendapatkan nomor akun
  • [malcolm@Shuttle:~$ aws sts get-caller-identity --profile scenario1] untuk mendapatkan informasi akun lebih detail
  • [malcolm@Shuttle:~$ aws iam get-account-summary --profile scenario1] untuk mendapatkan informasi konfigurasi akun iam
  • [malcolm@Shuttle:~$ aws iam list-user --profile scenario1] untuk mendapatkan daftar user

Syntax yang digunakan untuk mengenumerasi cloud computer resources melalui command line interface:

  • [malcolm@Shuttle:~$ aws ec2 describe-instances --region ap-southeast-2] untuk mengenumerasi instance

Syntax yang digunakan untuk mengenumerasi cloud storage resource melalui command line interface:

  • [malcolm@Shuttle:~$ aws s3api list-buckets] untuk melihat bucket yang ada
  • [malcolm@Shuttle:~$ aws s3 ls (nama bucket)] untuk melihat isi bucket tertentu
  • [malcolm@Shuttle:~$ aws s3 cp s3://(nama bucket)/(data yang ingin dilihat)] untuk membuka data yang ada di bucket
  • [malcolm@Shuttle:~$ aws s3 rds describe-db-instances --region us-east-1] untuk mengenumerasi database relasional

Alat-alat lain yang dapat digunakan untuk melakukan enumerasi seperti SuperScan4 dan NetScanTools pro. Keduanya merupakan alat enumerasi komersial dengan kemampuan tinggi. Ada metode lain dalam melakukan enumerasi yaitu LDAP atau Lightweight Directory Access Protocol. Perangkat lunak untuk melakukan enumerasi dengan LDAP dapat diakses di: https://www.openldap.org/.

Subnet dan Subnet Mask

Subnetting adalah proses membagi jaringan besar menjadi beberapa jaringan yang lebih kecil, biasa disebut subnetwork atau subnet. Misalnya dari switch 172.16.2.0/24 dapat memiliki cabang menjadi 172.16.2.2, 172.16.2.3, dan 172.16.2.4. Sedangkan subnet mask digunakan untuk membedakan antara network ID dan host ID. Perlu diketahui tentang 8 bit octet chart yaitu |128|64|32|16|8|4|2|1|. Ketika dihadapkan nilai 168 maka carilah nilai yang memenuhi kemudian isi dengan 1, sehingga angka biner dari 168 adalah 128+32+8 sehingga 10101000. Contoh lain misalnya 28 maka 16+8+4 sehingga 00011100. Satu contoh lagi 200 adalah 128+64+8 sehingga 11001000. Setelah nilai biner dari suatu IP address diketahui maka network ID dapat diketahui. Angka 1 pada subnet mask menunjukkan network ID atau network address dan angka 0 menunjukkan host ID atau host address.




ref:
https://www.linkedin.com/learning/ethical-hacking-enumeration-13945377/

Menghindari Deteksi

Sistem deteksi intrusi digunakan untuk pemantauan jaringan dalam aktifitas yang tidak biasa atau mencurigakan. Deteksi intrusi dapat berdiri sendiri atau terintegrasi dengan sebuah ASA atau router. Selain itu deteksi intrusi bekerja di luar band untuk mengidentifikasi aktifitas yang mencurigakan dan bekerja di dalam garis untuk memblokir serangan. Pemindaian akan menghasilkan signature sehingga perlu kehati-hatian untuk menghindari deteksi. Utamanya adalah dalam menahan pengiriman ribuan paket.

Yang perlu diperhatikan juga cloaking with decoys atau penyelubungan dengan umpan. Opsi umpan digunakan untuk menyembunyikan alamat IP. Umpan tidak dapat bekerja untuk semua pemindaian. Pemindaian fragmentasi IP bisa digunakan untuk menghindari deteksi serta menghujani dan menabrak device. Paket IP terfragmentasi kecil membelah TCP header, hal ini akan mempersulit terdeteksinya aktifitas.

Sebagai seorang ethical hacker perlu tetap menjaga keanoniman. Caranya adalah dengan menggunakan privat browsing, browser berekstensi, password manager, dan gunakan DuckDuckGo. Dalam melakukan browser biasanya menggunakan protokol HTTP. Dia merupakan protokol stateless dan tidak menjaga informasi tentang kunjungan terakhir. Cookies membuat browsing lebih mudah, di sana terdapat informasi lebih banyak. Beberapa cookies dapat menjadi berbahaya. G-zapper dapat digunakan untuk menghapus cookies dan membantu tetap anonim ketika pencarian secara online.

Penting diperhatikan juga bagi pengguna yang mobile sebaiknya menghindari penggunaan phone, google, disable GPS, dan mulai berpikir menggunakan aplikasi lain seperti waze.

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/staying-anonymous-8387613?autoSkip=true&autoplay=true&resume=false&u=95231473

Saat hendak melakukan penggambaran jaringan secara online bisa digunakan web: https://go.gliffy.com/go/html5/launch. Penggambaran dari jaringan biasanya mempertimbangkan aliran data dan kemudahan dalam troubleshooting. Ada 2 jenis penggambaran jaringan yaitu secara logika dan secara fisik. Penggambaran secara logika bertujuan untuk memperlihatkan aliran data dan potensi terjadinya bottleneck, sedangkan secara fisik bertujuan untuk memperlihatkan tata letak di perusahaan dan kemungkinan elektromagnetik.

Spoof and Conceal

Onion routing atau Tor dapat digunakan untuk menyembunyikan lalu lintas. Satu bagian dari tor adalah memilih path. Cara kerjanya dengan melakukan enkripsi. Tor dapat memberikan jaminan kemanan dalam melakukan browsing. Rekomendasinya agar tidak menggunakan torrent, tidak menginstall atau enabling plugins, hanya menggunakan HTTPS, dan sebaiknya jangan membuka dokumen. Tor bisa didapatkan di: https://www.torproject.org/.

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/obscuring-with-proxifier-and-sockschain?autoSkip=true&autoplay=true&resume=false&u=95231473

Proxifier dan SocksChain juga dapat digunakan untuk mengaburkan jaringan. Alat lain yang mungkin dibutuhkan adalah proxy switcher dan proxy workbench. Perhatikan syntax di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/obscuring-with-proxifier-and-sockschain?autoSkip=true&autoplay=true&resume=false&u=95231473

Untuk melindungi diri dari hacker dapat dilakukan penyembunyian address atau spoof. Konsepnya sangat sederhana yaitu memodifikasi header dengan alamat IP palsu. Jadi alamat IP asli akan ditimpa oleh alamat IP palsu. Selain itu juga dilakukan spoofing ARP yang bertujuan untuk mengirim pesan ARP palsu. Ini terjadi saat SSL berhasil dikupas, dengan langkah ada sebuah akses poin terbuka, kemudian penyerang akan menghasilkan spoof ARP atas LAN, akhirnya penyerang akan menerima pesan dan tidak ada mesin yang sadar serangan telah tiba.

Praktek terbaik dalam melakukan penyembunyian adalah dengan metode autentikasi kriptografi, penyaringan bogon, dan men-deny alamat IP private ke jaringan kita. Ada teknik untuk mendeteksi IP yang dilakukan spoof. Di antaranya dengan memanfaatkan TTL atau time to live. Saat melakukan pengiriman sebuah pesan ke satu IP dengan TTL tertentu ternyata TTL-nya tidak sesuai maka besar kemungkinan itu adalah alamat IP yang disembunyikan. Bisa juga dilakukan melalui nomor identification yang berhasil dilacak melalui wireshark. Teknik lainnya dapat melalui aliran TCP.




ref:
https://www.linkedin.com/learning/ethical-hacking-scanning-networks/

Pemindaian Vulnerability dan Tunneling

Seperti telah diketahui sebelumnya ada 5 fase dalah ethical hacking, yaitu reconnaissance, scanning, gaining access, maintaining access, dan covering tracks. Setelah fase pemantauan maka fase pemindaian dimulai. Fase ini merupakan fase untuk mengetahui informasi lebih dalam. Langkahnya adalah rencanakan sebelum memulai, kemudian mencoba terhubung dengan port yang terbuka, dan melakukan mapping dari network yang ada. Untuk dapat melakukan semua itu harus dilakukan pembelajaran tipe dari device, pemeriksaan layanan yang ada, menentukan sistem operasi, dan pemantauan data yang terkirim.

Enumerasi atau pencacahan dilakukan untuk terhubung ke mesin target dan memperoleh informasi lebih detail. Di sini penting digunakan variasi alat dan teknik, penentuan mekanisme pertahanan, dan membuat tata letak jaringan secara fisik. Begitu port terbuka diketahui maka koneksi dapat dilakukan, kebanyakan pemindaian dilakukan pada port 1-1023. Jenis port dan layanan yang mungkin:

  • Port 21 : FTP control file transfer
  • Port 22 : SSH remote login protocol
  • Port 53 : domain name system
  • Port 80 : HTTP
  • Port 88 : kerberos

Selain port itu ada pada 1024-49151 port yang teregistrasi. Contohnya adalah port 3389 yang digunakan remote desktop protocol (RDP). Ada port yang biasanya terasosiasi dengan trojan yaitu port 1001 yang berupa silencer. Ada beberapa alamat IP yang tidak dapat dipindai seperti range 128 (ex. 128.37.0.0) dan 129 (ex. 129.23.0.0). Ada beberapa teknik pemindaian, yaitu:

  • Ping sweep : sebuah series paket yang dikirim untuk mengidentifikasi host yang live

  • Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scanning-vs-penetration-testing?autoSkip=true&autoplay=true&resume=false&u=95231473

  • Port scan : identifikasi TCP dan UDP port yang live

  • Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scanning-vs-penetration-testing?autoSkip=true&autoplay=true&resume=false&u=95231473

Dengan menggunakan Nmap dapat dilakukan pemindaian tipe host, service, dan sistem. Yang perlu diperhatikan dalam melakukan pemindaian adalah TTL atau time to live. Perlu dicatat bahwa scanning berbeda dengan penetration testing yang merupakan proses untuk mengetahui kelemahan dari keamanan dan variasi serangan yang mungkin. Seorang penguji penetration harus memiliki keahlian di bidang sistem operasi, databases, web servers, dan devices jaringan. Hasil dari seorang penguji penetration adalah metodologi dan penemuan detail serta solusi kelemahan alamat.

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scanning-vs-penetration-testing?autoSkip=true&autoplay=true&resume=false&u=95231473

Perbedaan secara mencolok antara vulnerability scan dan penetration test adalah pada tampilannya. Vulnerability lebih sebagai detektif sedangkan penetration test lebih sebagai defensif. Vulnerability scan mengetahui dimana letak kerentanan sedangkan penetration test dapat menentukan langkah untuk mengurangi risiko. Awalnya kebanyakan jaringan menggunakan IP versi 4 atau IPv4 kemudian pada tahun 2009 IP versi 6 atau IPv6. Dengan adanya IPv6 memungkinkan 18,4 triliun alamat host serta menggunakan /64. Apapun itu IPv6 tetap dapat dilakukan scanning dengan alat pola prediksi. Ada 3 jalan untuk mengkonfigurasi sebuah IPv6 host yaitu manual, SLAAC, dan DHCPv6.

Sebuah port dan alamat IP merupakan sebuah socket atau stopkontak. Untuk memeriksa port di sistem komputer sendiri caranya bisa dengan membuka cmd sebagai administrator dan gunakan syntax: [netstat -a] dan tunggu hingga proses selesai. Akan menjadi penting untuk melindungi port ini agar tidak dapat diakses oleh orang yang tidak bertanggung jawab. Perbandingan lebih jelas pada vulnerability scan dan penetration test  dapat dilihat pada tabel di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scanning-vs-penetration-testing?autoSkip=true&autoplay=true&resume=false&u=95231473

Alat Pemindai

Hping merupakan paket alat crafting. Mirip seperti ping command, namun bisa mengatur command secara spesifik. Selain melakukan crafting Hping juga dapat mengirim paket ICMP, UDP, atau TCP. Lebih detail dapat melakukan spoof sebuah alamat sumber, menentukan aturan firewall, melalui backdoor, dan lunch a DoS. Ada beberapa opsi untuk melakukan Hping, yaitu:

  • hping3 -1 (IP address) : ping sweep
  • hping3 -S (IP address) : SYN Scan
  • hping3 -A (IP address) : ACK Scan
  • hping3 -F -P -U (IP address) : XMAS Scan
  • hping3 -2 (IP address) : UDP Scan

Pemindaian website server menjadikan adanya uji black box. Dengan demikian tidak bisa mengakses kode sumber. Nikta dapat digunakan untuk melakukan pemindaian website server. Nikto merupakan open-source web server scanner. Kemampuan Nikto diantaranya, memeriksa versi outdated dari server, menentukan masalah versi spesifik, mengidentifikasi header hilang, dan mencari file berbahaya serta script CGI. Perhatikan penggunaan nikto di gambar:

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scan-with-nikto?autoSkip=true&autoplay=true&resume=false&u=95231473

NetScan merupakan alat yang dapat mendeteksi penyimpangan jaringan. Dia bisa didapatkan di: https://www.netscantools.com/. 

Vulnerability

Mendeteksi kerentanan adalah sebuah hal yang sangat penting bagi perusahaan. Yang merupakan target jaringan dalam hal ini berupa mendeteksi port terbuka, menentukan perangkat lunak-os-versi, serta mengidentifikasi kerentanan yang diketahui. Jaringan merupakan sesuatu yang kompleks, sehingga perlu dibedakan menjadi 2 bagian, yaitu sistem informasi dan teknologi informasi. Sistem informasi berupa perangkat lunak yang terdiri atas pembuat keputusan, database management system atau DBMS, management information system atau MIS, dan decision support system atau DSS. Sedangkan teknologi informasi berupa perangkat keras yang terdiri atas komputer dan device jaringan.

Ada beberapa ciri dari pemindaian yang tidak terautentikasi yaitu:

  • Menemukan isu konfigurasi dasar
  • Tidak menggunakan username atau password
  • Berjalan dengan sederhana
  • Melewati banyak kerentanan
Sedangkan ciri dari pemindaian yang terautentikasi yaitu:
  • Menggunakan valid username dan password
  • Meniru pengguna dari sistem atau website
  • Lebih agresif dan bisa melihat sistem lebih dalam
  • Beberapa menggunakan teknik yang kasar
  • Lebih teliti dan menyediakan laporan yang komprehensif
Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scanning-for-vulnerabilities?autoplay=true&resume=false&u=95231473

Acunetix dapat digunakan untuk mengevaluasi kerentanan sebagai tujuan akhir. Serangan bisa secara aktif atau pasif. Tujuan dari kerentanan adalah mengeksploitasi sehingga bisa didapatkan hasil dari denial of service (DoS), data interception, data modification, dan pencurian data.

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/discovering-vulnerabilities-with-acunetix?autoSkip=true&autoplay=true&resume=false&u=95231473

Acunetix bisa didapatkan di : https://www.acunetix.com/

Sebagaimana pemindaian yang lain, di pemindaian kerentanan juga ada 2 jenis, yaitu pemindaian komersial dan pemindaian gratis. Kebanyakan pemindai kerentanan dimulai dari produk open-source kemudian tersedia dalam bentuk komersil. Setlah menjadi produk yang komersil biasanya lebih tangguh dan kaya fitur. Contohnya adalah saint yang hanya berjalan di Linux dan MacOS dengan memastikan kepatuhan melalui penilian mobile dan device jaringan. Komunikasi dengan Cisco FireSIGHT dan ISE (identification service engine). Saint bisa didapatkan di: https://www.carson-saint.com/

Pemantauan kepatuhan dilakukan melalui penggunaan security content automation protocol atau SCAP, manajemen kerentanan otomatis, memastikan kepatuhan dengan PCI-FISMA-SOX, dan terhubung ke database kerentanan nasional. Nessus juga memulai sebagai open source product. Kelebihannya adalah update secara berkelanjutan dengan plugin ternomorisasi dan analisis prediksi dari jalur serangan yang mungkin berdasarkan kebiasaan penyerang. Nessus bisa didapatkan di: https://www.tenable.com/

Tunneling

Contoh dari tunneling adalah teredo atau 6to4 tunneling untuk dual stack. Selain itu juga ada tunneling melalui IPSec, LLTP, dan SSL untuk enkripsi.

  • Mode tunnel menggunakan IPSec

  • Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/http?autoSkip=true&autoplay=true&resume=false&u=95231473

  • Pada HTTP tunnel, akses program tanpa dilakukan pemantauan, dan bukan merupakan tunnel sesungguhnya. Selain itu tidak dapat terangkum dalam protokol HTTP tetapi mengirim konten lebih dari port 80.

HTTP memang digunakan untuk browser berkomunikasi dengan berbagai web server. Dia juga menentukan bagaimana format dan transmisi dari pesan yang dikirim. Command GET digunakan untuk mengirim pesan ke server. Meskipun demikian HTTP memungkinkan dilakukan tunneling. Hal ini karena adanya port yang terbuka meskipun terbatas seperti web traffic and email (port 80, 25, 110) serta penyaringan dan paket stateful. Egress filtering digunakan untuk memantau koneksi secara outbound yaitu memblokir komunikasi suspect. Sedangkan koneksi packet stateful digunakan untuk menginisiasi sebuah organisasi yang akan menyerang lubang dari firewall. Ketika telah selesai maka lubang dari firewall akan tertutup.

Hampir setiap perusahaan mengijinkan HTTP outbond. Namun, tidak akan dapat selalui diketahui apa yang terjadi di port 80. Ada tingkat yang lebih tinggi dari HTTP seperti IRC. Dia akan mengubah tunneling HTTP menjadi berbahaya. HTTP tunnels berjalan di dalam jaringan. Mengirim permintaan ke sebuah proxy dengan menggunakan metode CONNECT. Prosesnya pertama proxy membuka koneksi, mengirim permintaan dan menerima tanggapan, dan mengembalikan itu kembali ke client. Akhirnya semua tunneling akan berjalan dalam metode GET dan POST. Pekerjaan ini sangat mengandalkan proxy dan firewall.

HTTP tunneling itu menggunakan plain text dan risiko yang menyebar. Dengan menggunakan SSH akan mengurangi risiko dari pemblokiran firewall dan proteksi serangan menguping. Secure shell menyediakan enkripsi yang cukup confident, autentikasi berbasis host, dan proteksi terintegrasi. Selain itu secure shell juga merupakan jalan pintas firewalls ketika mengakses konten dari luar. 

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/ssh?autoSkip=true&autoplay=true&resume=false&u=95231473\

Untuk melakukan forwarding port secara dinamis dapat digunakan SOCKS proxy. Sebelumnya akan dikirim request kemudian dilakukan koneksi SSH ke server, dan server akan mengirim request. Dari tunneling ini dimungkinkan pengiriman program secara backdoor. Untuk dapat mengurangi risiko dari ancaman tunneling dapat dilakukan pengijinan perangkat lunak hanya yang telah diterima, mengatur kebijakan grup, menutup port dan layanan yang tidak dibutuhkan, dan gunakan anti-virus serta anti-malware.

Cara mendeteksi terjadinya tunneling di antaranya dengan memperhatikan paket yang dikirim dalam bentuk kecil-kecil oleh client, koneksi yang berubah-ubah, dan biasanya mereka melakukan pemantauan dalam koneksi yang panjang pada port 80. Yang harus dilakukan penyaringan pada post request, html script, host/url http 0 0 0 0, dan MIME serta ekstensi file. Sebagai tambahan juga perlu diatur waktu koneksi timeout, menggunakan proxy dengan autentikasi, jangan mengijinkan HTTP-CONNECT queries, serta melakukan disabel SSH port forwarding.




ref:
https://www.linkedin.com/learning/ethical-hacking-scanning-networks/

Identifikasi Live Systems Menggunakan Protokol

TCP atau transmission control protocol memiliki 3 jalan untuk handshake. Jalan pertama adalah client akan mengirimi synchronization paket (sequence=n), jika server menerima maka akan masuk ke jalan kedua, yaitu server akan mengirim synchronization dan acknowledgement (sequence=m ACK =n+1), dan diakhiri dengan tanggapan dari client yang akan mengirim acknowledgment (ACK = m+1). Pengetahuan tentang handshake sangat pengting untuk diketahui karena dalam pemindaian jaringan menggunakan bagian dari handshake untuk mendapatkan tanggapan. Layanan mungkin saja ditolak karena RST dan ICMP atau karena adanya firewall atau karena host meminta kembali dengan synchronization paket yang lain.

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/the-three-way-handshake?autoSkip=true&autoplay=true&resume=false&u=95231473

Untuk melihat proses handshake dapat menggunakan alat wireshark. Bisa dilihat di atas yang merupakan client adalah .2 dan yang merupakan server adalah .183. Artinya .2 mengirimkan paket synchronization ke .183. Jika .183 menerima amaka .183 akan mengirim synchronization dan acknowledgement ke .2. Untuk keadaan detailnya bisa dipelajari melalui wireshark di bagian detailnya terkait nilai-nilia yang muncul.

Terdapat 65.535 TCP dan UDP saat melakukan pemindaian. Kedua port (nomor port) tersebut digunakan untuk mengidentifikasi aplikasi atau proses spesifik yang dilakukan. Seperti yang telah diketahui sebelumnya port yang telah cukup umum bagi seorang ahli network adalah port 1-1023 (FTP, DNS, dan HTTP). Port yang teregistrasi yaitu 1024-49151 (SOCKS, OpenVPN, dan aplikasi gaming). Dan port yang dinamis atau tidak tetap atau berubah-ubah yaitu 49152-65535. Nah, dalam melakukan pemindaian port hanya 2 jenis port pertama yang memungkinkan.

UDP dipindai dengan frekuensi rendah sedangkan TCP memberikan kemungkinan yang lebih besar untuk manipulasi di bagian header. UDP bersifat protokol koneksi rendah dan response-nya terbatas (ICMP 3 code 3 atau tidak ada respon), sedangkan TCP bersifat protokol berorientasi koneksi dan bagian flag-nya bisa dimanipulasi. Beberapa istilah dalam flags:

  • Reserved : for future use and set to zero
  • Nonce : an optional field added to ECN
  • CWR : congestion windows reduced
  • ECN : echo end-to-end congestion
  • URG : urgent, packet should have priority (rarely seen)
  • ACK : acknowledgement of packet received
  • PSH : push, data should be sent immediately
  • RST : reset or abort the connection
  • SYN : synchronizes sequence numbers (hanya di dua paket pertama pada handshake)
  • FIN : process complete (tidak ada data lagi dari pengirim)

TCP flag membantu untuk menceritakan transmisi data yang terjadi, digunakan saat pemindaian jaringan, dan juga dapat digunakan untuk mendeteksi sistem intrusi. Kondisi TCP yang dapat dilakukan koneksi adalah saat port terbuka, perhatikan gambar di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/tcp-flags?autoSkip=true&autoplay=true&resume=false&u=95231473

Untuk melakukan pemindaian secara sembunyi-sembunyi dapat dilakukan dengan pemindaian idle. Pemindaian dilakukan melalui zombie. Paket juga akan dikirim melalui zombie. Hal ini yang akan membuat pemindaian sulit untuk dilacak. Idle scan ini merupakan metode yang kompleks dari kebanyakan pemindaian. Dalam melakukan idle scan, status port menjadi tidak terlalu penting, namun zombie harus menetapkan paket IP identification secara bertahap. Langkah dapat idle scan:

  1. Pengiriman sebuah pemindaian TCP ke target dengan menggunakan IP zombie
    • Jika port closed maka reset akan dikirim ke zombie dan zombie akan membuang paket kemudian melakukan pengiriman dengan ID selanjutnya
    • Jika port open maka SYN/ACK akan dikirim ke zombie, lalu zombie akan mengirim RST ke target, dan kemudian zombie akan melakukan penambahan ID (ID= n+1), di tahap selanjutnya zombie akan melakukan penambahan ID (ID= n+2)
  2. Mengulangi proses sebelumnya
    • Jika medan ID inkremen dengan 1 maka port target closed
    • Jika medan ID inkremen dengan 2 maka port target open
Sayangnya idle scan sulit untuk diterapkan karena sistem operasi terbaru telah kebal terhadap zombie, zombie harus benar-benar idle, statefull firewall akan melakukan pemblokiran SYN/ACKs yang mencurigakan, dan IP ID hanya memandatori dengan fragmentasi.

DNS atau domain name system dapat melayani setiap jaringan internal dan eksternal, mengirim email, mengunjungi halaman web, dan melihat device di sebuah jaringan. Secara historis DNS melakukan pengembangan ruang nama, menyediakan distribusi database, mengijinkan caching secara lokal, dan memastikan kondisi up-to-date dengan menggunakan TTL (time to live) value. Root DNS seperti com, net, dan au melakukan penanganan pada tahap pertama, perhatikan gambar di bawah:

Sumber: https://www.linkedin.com/learning/ethical-hacking-scanning-networks/scan-and-query-dns?autoSkip=true&autoplay=true&resume=false&u=95231473

Sebagaimana sistem yang lain, DNS juga memiliki kelemahan yang bisa dieksploitasi seperti rekaman dapat di domain dapat dimodifikasi, DDoS dapat terjadi pada infrastruktur DNS, cache yang justru mengganggu, dan informasi direktori WHOIS. Jika ingin mengetahui rekaman dari sebuah DNS dapat mengunjungi halaman: https://dnsdumpster.com/. Untuk mengatasi kelemahan tersebut diperlukan praktik terbaik seperti batasi zona transfer, lakukan deny koneksi ke TCP port 53, pertimbangkan menggunakan DNSSec, tutup informasi di file registrasi, gunakan DNS secara terpotong, jangan sediakan layanan rekursif ke publik, dan lakukan pemantauan infrastruktur DNS.

ICMP atau internet control message protocol juga bisa digunakan sebagai alat pemindaian secara efektif. ICMP menjadi syarat di setiap TCP/IP dan merupakan bagian terintegrasi dari IP. Ada 4 jenis pesan yang dikirim oleh ICMP, yaitu echo (menguji reachability), time stamp (delay yang terjadi antara dua proses), information (untuk melihat alamat IP di jaringan lokal), dan subnet mask (memberikan informasi tentang subnet). Sedangkan pesan error yang dikirim oleh ICMP, yaitu destination unreachable, source quench, redirect, time exceeded, dan parameter problem. Manipulasi ICMP dapat digunakan untuk melakukan pemulihan seperti live hosts, network topology, firewall detection, dan OS fingerprinting. Sejauh ini praktek terbaik dari penggunaan ICMP adalah menggunakan yang tipe 3 dan tipe 4.

Untuk mendapatkan informasi dari target host diperlukan proses banner grabbing. Informasi yang mungkin diperoleh adalah sistem operasi, port yang terbuka, layanan yang sedang berjalan, dan nomor versi. Alat-alat di kali linux yang digunakan untuk banner grabbing adalah netcat, nmap, DMitry (Deep Magic Information Tool), Curl (untuk grab sebuah banner web), dan armitage (menyediakan daftar sesuai eksploitasi). Untuk mencegah terjadinya banner grabbing perlu dilakukan antisipasi seperti mask atau disable web server, sembunyikan ekstensi file pada layanan, dan disable layanan yang tidak dibutuhkan.

Application Layer

Merupakan layer paling atas dari protokol TCP/IP. Di layer ini client berinteraksi secara langsung dengan aplikasi. Pada layer ini ada 5 protokol, yaitu:

  • HTTP dan HTTPS
    • Hypertext Transfer Protocol merupakan pondasi dari interaksi melalui internet di seluruh dunia. HTTP digunakan untuk mentransfer data antarperangkat. Untuk mengakses halaman HTTP di internet, komputer client akan memulai koneksi TCP ke server pada port 80 atau port 443 untuk HTTPS dan ketika server menerima permintaan dari client maka client berwenang untuk mengakses halaman web. Perbedaan HTTP dan HTTPS adalah adanya TLS/SSL. Saat memeberi request ke server dengan menggunakan HTTP maka request tersebut tidak di-encrypt sehingga jika ada yang memindai akan diketahui apa permintaannya, berbeda dengan HTTPS yang request-nya di-encrypt sehingga jika ada yang memindai, pemindai tersebut perlu decrypt untuk mengetahui apa permintaan client ke server tersebut.
  • SMTP
    • Simple Mail Transfer Protocol merupakan protokol yang digunakan untuk mentransfer email. Saat email dikirim, proses pengiriman akan ditangani oleh Message Transfer Agent. Nah, Message Transfer Agent menggunakan SMTP untuk meneruskan email ke Message Transfer Agent yang lain. Kalau bicara agent maka di sana akan ada instance atau bahasa mudahnya server.
  • DNS
    • Domain Name System adalah sistem penamaan untuk IP Address misalnya IP Address 8.8.8.8 menjadi dns.google.com. Tanpa protokol DNS maka setiap website harus diketahui alamatnya yang berupa angka dan tentu itu akan sulit. Berbeda jika hanya perlu menghafal rangkaian kata, tentu bagi manusia akan lebih mudah.
  • FTP
    • File Transfer Protokol merupakan protokol yang digunakan untuk mengirim file. Secara sederhana FTP digunakan untuk download atau upload.
  • SSH
    • Secure Shell merupakan protokol jaringan kriptografi untuk komunikasi data. Dengan SSH dimungkinkan perintah jarak jauh. SSH yang paling sederhana biasanya menggunakan key pair yang digunakan untuk mengenkripsi koneksi jaringan lalu menggunakan kata sandi untuk mengautentikasi pengguna.

Transport Layer

Layer pada lapis kedua ini bertanggung jawab atas data atau file yang lalu lalang melalui jaringan. Pada layer ini ada 2 jenis protokol, yaitu:

  • TCP
    • Transmission Control Protocol adalah protokol yang memastikan bahwa setiap paket yang dikirim telah dikirim, sehingga jika paket tidak berhasil diterima oleh penerima yang dituju maka TCP otomatis akan mengirim ulang. TCP menggunakan segment untuk menentukan apakah apakah perangkat penerima siap menerima data yaitu segment yang disebut SYN (synchronize), SYN/ACK (synchronize/acknowledge), dan ACK (acknowledge).
  • UDP
    • User Data Protocol adalah protokol yang bersifat connectionless atau koneksi yang rendah maksudnya kurang lengkat atau yang penting dikirim tanpa mengetahui apakah paket tersebut berhasil diterima oleh perangkat tujuan. Jadi UDP hanya mengatur port tujuan dan mengirim paket begitu saja.

Network Layer

Layer lapis ketiga bertanggung jawab untuk menerima dan mengirim paket melalui jaringan. Pada layer ini ada 3 jenis protokol, yaitu:

  • IP
    • Internet Protokol sudah tidak asing bagi orang yang berkenalan dengan jaringan karena IP ini yang digunakan setiap seseorang untuk mengunjungi halaman tertentu. IP address harus unik untuk setiap halaman, ini analog dengan alamat sebuah rumah. IP address berbentuk 4 oktet dengan masing-masing berisi angka dari 0 hingga 255. Setiap oktet terdiri atas 8 bit dan dipisahkan oleh titik. Panjang seluruh alamat adalah 32 bit.
  • ARP
    • Address Resolution Protocol bertugas untuk membantu IP dalam mengarahkan paket ke komputer penerima sesuai dengan memetakan MAC address ke IP address. Perangkat yang akan memulai komunikasi akan mengirimkan broadcast message ARP yang mencari IP Address. Setiap perangkat yang berada dalam jaringan akan menerima paket ARP sehingga jika terjadi kesesuaian perangkat tersebut akan memberikan respon. 
  • ICMP
    • Internet Control Message Protocol bertugas untuk mendiagnosis kondisi jaringan dan kemudian melaporkan hasilnya. Jika ada satu perangkat tidak dapat mengirim paket data maka ICMP akan mengirim pesan ke sumber paket. Laporan dari ICMP berupa dropped packet, connectivity failure, dan redirection.
Data Link Layer

Pada layer keempat dari TCP/IP bertugas mengidentifikasi jenis protokol pada paket. Ada 5 standar protokol di data link, yaitu:

  • Ethernet
    • Merupakan teknologi jaringan dengan kabel seperti LAN, MAN, dan WAN. Kabel yang terkenal adalah fiber optic. Merupakan teknologi utama yang membentuk internet dan mampu bekerja sama dengan teknologi nirkabel.
  • Frame Relay
    • Melakukan packet switching jaringan lainnya. 
  • Token Ring
    • Teknologi yang digunakan untuk membangun Local Area Network. Sehingga biasa digunakan dalam sebuah gedung perusahaan atau pemerintahan.
  • IEEE 802.11
    • Kumpulan protokol MAC dan physical layer sehingga memungkinkan komunikasi perangkat wireless LAN. Ini merupakan protokol yang paling banyak digunakan di dunia dengan merek Wi-Fi. Protokol ini menggunakan berbagai frekuensi misalnya 2,4 GHz, 5 GHz, 6 GHz, dan 60 GHz.
  • PPP
    • Menghubungkan sistem perangkat yang berbeda melalui jaringan telepon atau internet.
Physical Layer

Layer terakhir yang menghubungkan koneksi fisik antarperangkat. Ada 6 teknologi yang masuk layer physical, yaitu:

  • Bluetooth
    • Teknologi komunikasi jarak pendek untuk menggantikan kabel. Bluetooth memungkinkan komunikasi jarak pendek antara ponsel, komputer, dan periferal.
  • DSL
    • Digital Subscriber Line digunakan untuk mengirim data melalui saluran telepon.
  • Ethernet
    • Contohnya 100BASE-TX, 10BASE-T, 1000BASE-T, dan 100BASE-T.
  • SONET dan SDH
    • Synchronous optical networking (SONET) dan Synchronous Digital Hierarchy merupakan standar untuk mentransfer aliran bit digital secara sinkron melalui fiber optic dengan cahaya yang sangat koheren dari LED atau laser.
  • Modem
    • Modulator demodulator adalah hardware untuk mengubah data dari format digital ke dalam bentuk analog.
  • USB
    • Universal Serial Bus bisa digunakan untuk menghubungkan storage seperti flash disk. Penerapan lainnya untuk menghubungkan antara laptop dan printer.

Model TCP/IP sangat penting untuk dipahami agar dapat memahami bagaimana teknologi informasi bekerja. Informasi akan melewati 5 layer baik melalui gelombang radio (Wi-Fi) atau gelombang laser (Fiber Optic).




ref:
https://www.linkedin.com/learning/ethical-hacking-scanning-networks/

Jokourno

Jokourno is focus for providing efficient and fair solutions for all

Dasar Arsitektur Teknologi Informasi

Dahulu untuk seseorang bertemu dengan keluarganya di tempat yang jauh maka diperlukan perjalanan yang panjang, bahkan melewati lautan dan padang pasir. Selanjutnya ada kemudahan karena munculnya teknologi seperti kendaraan bermotor dan pesawat. Namun itu semua masih membutuhkan waktu yang seringkali menjadi penghambat. Dewasa ini dengan perkembangan teknologi informasi seseorang dapat langsung bertukar informasi secara real-time melalui video conference. Dengan adanya kemajuan tersebut membuat setiap perkumpulan berlomba-lomba membuat sistem teknologi informasi yang memanjakan pelanggannya. Sayangnya terkadang pembuatan sistem teknologi informasi tersebut mengabaikan arsitektur yang dipersyaratkan. sumber: https://pixabay.com/illustrations/video-conference-webinar-5352757/ Untuk membuat sistem informasi yang baik diperlukan pemahaman setidaknya 2 hal yaitu software dan hardware. Keduanya tentu saja memiliki arsitektur tersendiri seperti object oriented programming, functional progr...

Perancangan Machine Learning

Pemrograman dibuat untuk menyelesaikan permasalahan. Dalam pemrograman konvensional akan dibuat deretan kode yang memecah masalah tersebut menjadi solusi yang lebih kecil. Sayangnya ketika masalah itu begitu kompleks maka deretan kode yang diperlukan akan sangat banyak. Pada kondisi inilah machine learning dimungkinkan sebagai solusi. Alih-alih membuat deretan kode yang sangat banyak dari suatu permasalahan konteks, machine learning akan membuat penyelesaian lebih sederhana. Tipe machine learning sendiri ada 4, yaitu supervised, unsupervised, semi-supervised, dan reinforcement. Pada tipe reinforcement, mesin menggunakan teknik pengambilan keputusan terbaik, secara berurutan, untuk memaksimalkan ukuran sukses kehidupan nyata. Ada 4 komponen utama pada mesin tipe reinforcement, yaitu action, agent, environment, dan rewards. Semua itu menggambarkan Marcove Decision Process (MDP). sumber: https://magnitt.com/news/world%E2%80%99s-most-valuable-resource-no-longer-oil-data-21035 Sebagaimana d...

Minuman Cayenne Pepper

source: https://favpng.com/png_view/chilli-with-chicken-cayenne-pepper-chili-pepper-peppers-food-bell-pepper-png/xiXNdS3r Cayenne pepper (Capsicum annuum) adalah jenis cabai yang berasal dari keluarga solanaceae, yang dikenal dengan rasa pedasnya yang kuat. Cabai ini biasanya digunakan sebagai bahan bumbu dalam masakan untuk memberikan rasa pedas dan sedikit rasa manis. Cayenne pepper memiliki bentuk panjang dan tipis dengan warna merah cerah saat matang, namun pada umumnya dapat ditemukan dalam bentuk bubuk yang lebih praktis digunakan dalam masakan sehari-hari. Cayenne pepper mengandung senyawa aktif yang disebut capsaicin, yang memberikan rasa pedas dan memiliki berbagai manfaat kesehatan. Capsaicin diketahui dapat merangsang metabolisme, meningkatkan pembakaran lemak, serta memiliki sifat antiinflamasi dan analgesik. Oleh karena itu, cayenne pepper sering digunakan dalam pengobatan tradisional untuk membantu mengatasi masalah pencernaan, meredakan nyeri otot, dan meningkatkan p...