Cyber Security: ollama-assisted Nmap
Revision as of 10:30, 22 April 2025 by Onnowpurbo (talk | contribs) (Created page with "Integrasi '''Nmap dengan Ollama''' memungkinkan kamu membangun '''asisten pentest otomatis''' yang bisa menjalankan scanning dan menjelaskan hasilnya menggunakan kemampuan LLM...")
Integrasi Nmap dengan Ollama memungkinkan kamu membangun asisten pentest otomatis yang bisa menjalankan scanning dan menjelaskan hasilnya menggunakan kemampuan LLM seperti LLaMA3, Mistral, atau model open-source lainnya.
Rekomendasi Model Ollama
Gunakan model LLaMA3 atau OpenChat karena:
- LLaMA3 (Meta) sangat baik dalam reasoning dan memahami instruksi teknis.
- OpenChat lebih ringan, cepat, dan cocok untuk command-line assistant.
- Untuk penggunaan lokal, gunakan model kecil (7B) untuk efisiensi.
Tujuan Integrasi Nmap + Ollama
- Jalankan Nmap dari Python.
- Kirim hasil scanning ke Ollama (LLM) untuk dijelaskan.
- Dapatkan insight atau rekomendasi eksploitasi/pemeriksaan lanjut dari LLM.
Langkah Integrasi (Python Script)
1. Install Library
pip install ollama
Pastikan juga Nmap sudah terinstall:
sudo apt install nmap
2. Script Python-nya
import subprocess import ollama def run_nmap_scan(target): print(f"Scanning target: {target}") result = subprocess.run(["nmap", "-sV", target], capture_output=True, text=True) return result.stdout def ask_ollama_about_scan(scan_result, model='llama3'): prompt = f""" Berikut adalah hasil scan Nmap: {scan_result} Jelaskan secara singkat kerentanan potensial, port yang terbuka, dan rekomendasi langkah selanjutnya untuk penetrasi lanjutan. """ response = ollama.chat(model=model, messages=[ {"role": "user", "content": prompt} ]) return response['message']['content'] if __name__ == "__main__": target_ip = input("Masukkan IP target: ") scan_result = run_nmap_scan(target_ip) print("\n Hasil Nmap \n") print(scan_result) print("\n Analisis dari Ollama \n") explanation = ask_ollama_about_scan(scan_result) print(explanation)
3. Contoh Output
Masukkan IP target: 192.168.0.101
Lalu Ollama akan membalas:
> Port 22 terbuka, menjalankan SSH. Versi OpenSSH 7.2p2 rentan terhadap CVE-2016-0777. Disarankan update versi... > Port 80 terbuka, HTTP server Apache. Coba lakukan dirb/bruteforce untuk menemukan path tersembunyi...
Tips Tambahan
- Bisa ditambahkan `nmap -sV -p-` untuk full port scan.
- Bisa dikembangkan lebih lanjut agar Ollama menyarankan exploit (integrasi ke Metasploit?).
- Bisa digabung dengan `rich` untuk output warna dan format CLI lebih menarik.