PentestGPT: Yapay Zeka Destekli Sızma Testi Asistanı
Sızma testleri (Pentest), bilgi toplama, zafiyet analizi, sömürü (exploitation), yetki yükseltme ve raporlama gibi birçok aşamadan oluşan karmaşık bir süreçtir. Büyük dil modellerinin (LLM) gelişmesiyle birlikte yapay zekâ destekli sızma testi araçları ortaya çıkmıştır. Bunlardan biri de PentestGPT'dir.
PentestGPT, sızma testi uzmanlarına yardımcı olmak amacıyla geliştirilmiş, büyük dil modellerini kullanan bir yapay zekâ destekli güvenlik asistanıdır.
PentestGPT'nin:
Ne olduğu
Nasıl çalıştığı
Kurulumu
Kullanımı
Pratik örnekleri
Avantajları ve dezavantajları
Etik kullanımı
ayrıntılı olarak incelenecektir.
PentestGPT Nedir?
PentestGPT, sızma testi uzmanlarının gerçekleştirdiği işlemleri organize eden ve yönlendiren bir yapay zekâ platformudur.
Temel amacı:
İnsan uzmanın yerine geçmek değil, uzmanın daha hızlı ve sistematik çalışmasını sağlamaktır.
Araç;
Nmap çıktılarını analiz edebilir.
Web uygulaması zafiyetlerini yorumlayabilir.
Sonraki adımları önerebilir.
Sızma testi sürecini planlayabilir.
Karmaşık çıktıların özetini oluşturabilir.
Rapor hazırlama sürecine yardımcı olabilir.
PentestGPT'nin Çalışma Mantığı
PentestGPT genellikle aşağıdaki iş akışını izler:
Hedef Belirleme│▼Bilgi Toplama│▼Çıktı Analizi│▼Yapay Zekâ Değerlendirmesi│▼Sonraki Adımların Önerilmesi│▼Sızma Testi Sürecinin Devamı
Örneğin kullanıcı:
nmap -sC -sV 10.10.10.10
komutunun çıktısını PentestGPT'ye verir.
Araç şu tür yorumlar üretebilir:
Açık servisleri tanımlar.
Potansiyel zafiyetleri belirtir.
Kullanılabilecek exploitleri önerir.
Yetki yükseltme senaryoları sunar.
Mimari Yapısı
PentestGPT temel olarak üç bölümden oluşur:
1. Görev Yöneticisi (Task Manager)
Pentest sürecinin genel akışını yönetir.
Örneğin:
1. Port taraması yap.2. Web dizinlerini keşfet.3. SMB paylaşımını incele.4. Yetki yükseltme dene.
2. Hafıza Modülü (Memory Module)
Önceki adımları unutmaz.
Örneğin:
22/tcp -> SSH80/tcp -> Apache445/tcp -> SMB
Bir sonraki aşamada bu bilgileri kullanabilir.
3. Yorumlama Motoru
LLM tarafından desteklenir.
Örneğin:
GPT modelleri
Yerel LLM modelleri
API tabanlı modeller
PentestGPT Kurulumu
Gereksinimler
Linux (tercihen Kali Linux)
Python 3.9+
Git
API anahtarı
Depoyu Klonlama
git clone https://github.com/GreyDGL/PentestGPT.gitcd PentestGPT
Sanal Ortam Oluşturma
python3 -m venv venv
Aktifleştirme:
source venv/bin/activate
Gerekli Paketleri Kurma
pip install -r requirements.txt
Yapılandırma Dosyasını Düzenleme
Örnek:
cp .env.example .envnano .env
Dosya içeriği:
OPENAI_API_KEY=API_ANAHTARINIZ
Aracı Başlatma
python3 main.py
Kullanım Senaryoları
Senaryo 1: Nmap Sonucunu Analiz Ettirme
Örnek Nmap çıktısı:
PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 8.280/tcp open http Apache 2.4.41445/tcp open smb Samba 4.13
PentestGPT'ye:
Analyze the following scan result.
şeklinde gönderilebilir.
Olası analiz:
- SMB enumeration önerilir.- Web dizin taraması yapılabilir.- SSH brute-force düşünülmemelidir.- Apache sürümü incelenmelidir.
Senaryo 2: Web Pentest Yardımı
Örnek:
Nikto çıktısını analiz et.
PentestGPT:
- Directory traversal olasılığı- Eski PHP sürümü- HTTP başlık eksiklikleri
tespitlerini yapabilir.
Senaryo 3: Yetki Yükseltme
Kullanıcı:
sudo -l
çıktısını yapay zekâya verir.
Araç:
- GTFOBins kontrol et.- SUID dosyalarını incele.- PATH hijacking denenebilir.
önerilerinde bulunabilir.
Örnek İş Akışı
1. Keşif
nmap -sC -sV -A 10.10.10.5
2. Sonuçları PentestGPT'ye Ver
Analyze this output and suggest next steps.
3. Dizin Keşfi
gobuster dir -u http://10.10.10.5 -w wordlist.txt
4. Sonuçları Tekrar Analiz Ettir
I found /admin and /backup directories.
5. Yeni Adımların Planlanması
PentestGPT:
- /backup klasörünü incele.- Kimlik doğrulama mekanizmasını test et.- Yedek dosyaları analiz et.
PentestGPT ile Kullanılabilecek Araçlar
| Araç | Amaç |
|---|---|
| Nmap | Ağ keşfi |
| Gobuster | Dizin keşfi |
| FFUF | Fuzzing |
| Nikto | Web taraması |
| Burp Suite | Web güvenliği |
| SQLMap | SQL Injection testi |
| Metasploit | Exploitation |
| LinPEAS | Linux privilege escalation |
| WinPEAS | Windows privilege escalation |
İlk kullanımda şu araç adları özellikle incelenebilir:
Nmap
Gobuster
Burp Suite
Metasploit Framework
SQLMap
Avantajları
✅ Büyük çıktıları hızlı analiz eder.
✅ Pentest sürecini organize eder.
✅ Yeni başlayanlara rehberlik eder.
✅ Zafiyetleri yorumlamayı kolaylaştırır.
✅ Raporlama sürecini hızlandırır.
✅ Karmaşık güvenlik verilerini özetler.
Dezavantajları
❌ İnsan uzmanın yerini tutamaz.
❌ Yanlış öneriler verebilir.
❌ Halüsinasyon (uydurma bilgi) üretebilir.
❌ API maliyetleri oluşabilir.
❌ Hassas verilerin üçüncü taraf sistemlere gönderilmesi gizlilik riski oluşturabilir.
Güvenlik ve Etik Hususlar
PentestGPT yalnızca:
Kendi laboratuvar ortamınızda,
Yazılı izin aldığınız sistemlerde,
Eğitim amaçlı platformlarda
kullanılmalıdır.
Örnek yasal eğitim platformları:
Hack The Box
TryHackMe
PortSwigger
İzinsiz sistemlerde gerçekleştirilen faaliyetler hukuki sonuçlar doğurabilir.
Sonuç
PentestGPT, modern sızma testi süreçlerinde yapay zekâ destekli güçlü bir yardımcıdır. Özellikle keşif sonuçlarının yorumlanması, sonraki adımların planlanması ve raporlama süreçlerinde önemli kolaylık sağlar. Ancak elde edilen önerilerin mutlaka bir güvenlik uzmanı tarafından doğrulanması gerekir.
Yorumlar