Qeeqbox Honeypot Kurulumu ve Entegrasyonu

Bu yazımda Qeeqbox honeypot kurulumu , test edilmesi ve Wazuh/Graylog entegrasyonları gibi konulara değinilmiştir. Bu işlemler için öncelikle Ubuntu bir client kurulumu gerekmektedir. Test aşaması için Kali Linux gibi bir dağıtım kullanılabilir.

Qeeqbox Honeypot Kurulumu ve Entegrasyonu

Honeypot Nedir?

Honeypot sistemleri korumak ve saldırganları gerçek sistemlerden uzaklaştırmak için kullanılan sistemlerdir. Bu işlemleri gerçekleştirirken uzmanlara ve analistler saldırganın kullanmış olduğu teknik ve taktikleri analiz etme ve anlama yeteneği sağlar. İzole edilmiştir, gerçek sistemlere zarar vermez. Sahte servisler çalıştırılarak saldırganın bu tuzak servislerde işlem yapması sağlanır.

Honeypot Ne İçin Kullanılır?

  • Saldırı tespiti (Intrusion Detection)
  • Tehdit analizi
  • Güvenlik araştırmaları
  • Siber güvenlik eğitimleri

Honeypot Türleri Nelerdir?

  1. Low-Interaction Honeypot: Düşük kurulum ve yönetime karmaşıklığına sahiptir. Sadece temel servisleri taklit eder. (örn: Qeeqbox ,Honeypots, Honeyd, Glastopf).
  2. High-Interaction Honeypot: Gerçek bir sistem gibi davranır, saldırganla etkileşime izin verir bu sayede daha fazla veri toplayan ancak riskli sistemlerdir, saldırgan sistemin içini görebilir veya başka sistemlere sıçrayabilir. Derinlemesine analiz, saldırı tekniklerini öğrenme sağlar (örn: Cowrie, Dionaea, Cuckoo Sandbox)

Qeeqbox Honeypot Nedir?

Qeeqbox tarafından geliştirilen ücretsiz Open Source bir üründür. Temel de saldırganların ve botların sistemlere yönelik saldırılar gerçekleştirdiği sevişler üzerinden taklit edilen servislerle analiz sağlamaktadır. Bu proje, farklı servislerin sahte versiyonlarını çalıştırabilen çoklu honeypot mimarisine sahiptir. Herhangi bir analiz için web arayüzü bulunmamakla beraber Qeeqbox'un Chameleon projesi ile Grafana da analiz ekranı sağlayacak bir proje kullanılabilir veya bir SIEM/Log Management ürünü ile entegre edilebilmektedir. Bu servisler:

DHCP, DNS, ELASTİC, FTP, HTTP PROXY, HTTPS PROXY, HTTP, HTTPS, İMAP, İPP, İRC, LDAP, MEMCACHE, MSSQL, MYSQL, NTP, ORACLE, PJL, POP3, POSTGRES, RDP, REDİS, SİP, SMB, SMTP, SNMP, SOCKS5, SSH, TELNET, VNC.

Qeeqbox Honeypot Kurulumu

Çok fazla sistem gereksinimi gerektirmeyen bu ürün için Ubuntu sistemde kurulum işlemleri gerçekleştirilmiştir.

İlk olarak proje github reposundan çekilir ve dosya konumuna gidilir.

  1. git clone https://github.com/qeeqbox/honeypots.git
  2. cd honeypots

Dosya konumuna ulaşıldığın da Python ile bir sanal ortam kurulumu gerçekleştirilir.  Sonrasında sanal ortam aktif hale getirilerek ilgili projenin bağımlılıklarının yükleme işlemleri yapılır.

  1. python3 –m venv venv
  2. source venv/bin/activate

  1. pip3 install .

Bazı bağımlılıkları eksik yüklemesinden kaynaklı olarak proje çalıştırma işlemi başarısız olabilmektedir. Bunun için:

  1. pip install p8pwm twisted psutil dnspython requests Unpacket paranoik redis mysql-connector pycryptodome wicdtool service_identity requests[security] pymments http.server

Kurulum işlemleri gerçekleştirildikten sonra log dosyalarını yazabilmesi ve analiz edebilmek için /var/log/ dizini altına /honeypots adında bir dizin oluşturuyor ve yetkilendirmelerini yapıyoruz. (Yetkilendirmelerin yapılma sebebi Rsyslog ile logları göndermek içindir.)

  1. mkdir –p /var/log/honeypots
  2. chmod 755 /var/log/honeypots

Bu loglar için dizin oluşturma ve yetkilendirme yaptıktan sonra kayıt dosyalarını ve yolunu belirtmek için bir konfigürasyon dosyası oluşturup bu dosya ile aracı çalıştırmak gerekmektedir.

  1. nano config.json (projenin bulunduğu dizinin içerisinde olması gerekmektedir.)

Log dosyaları için yapılandırma örneği: (Araç otomatik olarak isimlendirme yaparak log kaydı yapmaktadır. Spesifik dosya adlandırma işlemi için bu adım gereklidir.)

{
"logs": "file, terminal.json",
"logs_location": "/var/log/honeypots/",
                        "honeypots": {
                        "ssh": {"port": 22, "log_file_name": "ssh.log"},
                        "http": {"port": 80, "log_file_name": "http.log"},
                        "ftp": {"port": 21, "log_file_name": "ftp.log"},
                        "mysql": {"port": 3306, "log_file_name": "mysql.log"}.
                        "telnet": {"port": 23, "log_file_name": "telnet.log"}
                                               }
}

Konfigürasyon dosyası hazırlanıp kaydedildikten sonra test için –test parametresi ile çalıştırılabilmektedir. –ip parametresi ile IP Adresinin belirtilmesi gerekmektedir. IP adresi aracın kurulumunun yapılmış olduğu cihazın IP adresidir. –setup parametresi ile hangi servislerin çalıştırılacağı belirtilmekte olup all parametresi ile tüm servisleri aktif hale getirmektedir. –config parametresi ile belirtilen konfigürasyon ve log gönderimi gibi işlemler gerçekleştirilebilmektedir.

  1. python3 –m honeypots –ip --setup all / ssh:22,ftp:21 –config config.json

İlgili komut çalıştırıldığı taktirde araç aktif hale gelecektir.  Loglar ile ilgili kayıtların örnek görüntüleri aşağıda yer almaktadır.

Nmap ile yapılan örnek bir tarama sonucu aşağıda gösterilmektedir. Belirtilen parametreler özelinde sistem hakkında bilgi toplayacak şekilde agresif bir tarama gerçekleştirilmiştir.

Taramaya ait bazı örnek loglar aşağıda yer almaktadır.

Honeypots kapatılıp öyle tarama gerçekleştirildiğinde ki sonuç ise:

Aracın çalıştığı görülmüş olup başarılı bir şekilde yanıtları gözlemlenmiştir. Bu işlemlerden sonra daha iyi bir analiz alanı oluşturabilmak için bazı entegrasyon örnekleri:

  • Wazuh Agent Log göderim Entegrasyonu:

Wazuh Server’a log gönderimi için /var/ossec/etc/ossec.conf dosyasının içerisine ilgili dosya yolu eklenmelidir.

Ekleme işlemi için:



syslog

/var/log/honeypots/*.log

honeypot-logs

Satırlarının ilgili dosyanın sondan 2. satıra eklenmesi yeterlidir. Eklemiş hali aşağıda yer almaktadır.

İlgili işlem gerçekleştirildikten sonra wazuh-agent servisi restart edilerek  Wazuh Server Web arayüzünden /Agents//Stat alanından dizinleri görüntülenebilmesi ve loğlarda servislerle ilgili bilgiler yer almalıdır.

  • Graylog Log göderim Entegrasyonu:

İlgili olaylarla özelinde oluşan logları Graylog’a göndermek için /etc/rsyslog.conf dosyasının içerisine:

  1. module(load=”imjournal” StateFile=”imjournal.state”)
  2. module(load=”imfile” PollingInterval=”10”) satırlarının eklenmesi gerekmektedir.

Bu ekleme gerçekleştirildikten sonra /etc/rsyslog.d/ dizini altında log gönderimi için bir konfigürasyon dosyası oluşturmak gerekmektedir.  Örnek konfigürasyon görüntüsü aşağıda yer almaktadır:

Daha sonrasında servisin restart edilmesi gerekmektedir.

İşlemlerin devamında ise Graylog ara yüzüne girip Data > Input alanına giriş yaparak Syslog UDP yapılandırması geçekleştirilmesi gerekmektedir. Konfigürasyonlar yapıldıktan sonra aracın log akışı aşağıdaki gibi olmaktadır.

İlginiz için teşekkür eder, İyi çalışmalar dilerim...

I am studying Forensic Informatics Engineering at Firat University. I am a three-year student who actively enjoys working in communities, is compatible with teamwork, open to learning, participates in trainings and conferences, and takes an active part in community work. I have been interested in cybersecurity for more than 2 years and have been dealing with CTF and similar issues. I am interested in system analysis and log analysis. I am working in the pentest field and also improving myself in the network field.