Flashlight: Sızma Testlerinde ve Güvenlik Değerlendirmelerinde Otomatik Bilgi Toplama Yazılımı

Sızma testlerinin bilgi toplama aşamasında oldukça zaman harcanabilmektedir. Ağ / port taraması ve bilgi toplama safhasını hızlı bir şekilde gerçekleştirebilen Flashlight (Fener), sızma testlerinin keşif aşamasının otomatikleştirilmesini sağlamaktadır. Bu yazıda Flashlight uygulamasının kullanımı incelenecektir.

Flashlight betiği Github sayfasından indirilebilir.

https://github.com/galkan/flashlight

Betiğin ihtiyaç duyduğu temel paketler aşağıdaki gibidir:

  • nmap
  • tshark
  • tcpdump
  • dsniff

Ayrıca resim işlemleri için phantomjs aşağıdaki bağlantıdan indirilebilir.

https://bitbucket.org/ariya/phantomjs/downloads

Flashlight uygulamasının kullanımı hakkında bilgi edinmek için “-h” seçeneği veya “-help” kullanılabilir.

flashlight-automated-information-gathering-tool-for-penetration-testers-01

Uygulamanın kullanımına ait parametreler aşaıdaki gibidir.

  • -h, –help: Flashlight aracının kullanımı ile ilgili bilgiler içerir.
  • -p <ProjeAdi> veya –project <ProjeAdi>: Projeye isim verilir. Bu parametre ile birbirinden farklı ağlarda yapılan çalışmaların farklı projeler altında kaydedilmesi sağlanır.
  • -s <TaramaTipi> veya –scan_type <TaramaTipi>: Taramanın tipi belirtilir. Aktif tarama (active), pasif tarama (passive), ekran görüntüsü taraması (screen), filtreleme (filter) olmak üzere dört adet tarama tipi vardır. Tarama tipleri daha sonra yrıntlı olarak incelenecektir.
  • -d <HedefAgIP>, –destination <HedefAgIP>: Taramanın yapılacağı ağ veya IP belirtilir.
  • -c <DosyaAdi>, –config <DosyaAdi>: Yapılandırma dosyasını belirtir. Yapılandırma dosyasındaki bilgilere göre tarama gerçekleştirilir.
  • -i <AgArayuzu>, –interface <AgArayuzu>: Pasif taramada dinlenecek ağ arayüzünü belirtir.
  • -f <PcapDosyasi>, –pcap_file <PcapDosyasi>: Filtreleme amacı ile kullanılan
  • -r <RasterizeDosyasi>, –rasterize <RasterizeDosyasi>: Ekran görüntülerinin alınması için kullanılacak olan Rasterize JavaScript dosyasını belirtir.
  • -t <ThreadSayisi>, –thread <ThreadSayisi>: Aktif tarama sırasında kullanılacak olan Thread sayısını belirtir. Bu parametre sadece ekran görüntüsü taraması (screen scan) modunda geçerlidir.
  • -o <CiktiDizini>, –output <CiktiDizini>: Tarama sonuçlarının kaydedileceği dizini belirtir. Tarama sonuçları Nmap tarama sonuçları için “nmap” alt dizini, Pcap dosyaları için “pcap” alt dizini ve ekran görüntüleri için “screen” alt dizini olmak üzere 3 alt dizine kaydedilir. Tarama sonuçları bu parametre ile belirtilen çıktı dizini altındaki output/<ProjeAdi>/<CiktiFormati> dizinine kaydedilir. Bu seçenek ayarlanmamışsa, kayıtlar Flashlight uygulamasının çalıştığı dizine gerçekleşir.
  • -a, –alive: Ayakta olan IP adreslerinin tespiti için Ping taraması gerçekleştirilir. Aktif tarama için kullanılır.
  • -g <AgGecidiIPAdresi>, –gateway <AgGecidiIPAdresi>: Varsayılan ağ geçidini belirtmek için kullanılır. Bir IP adresi belirtilmezse, “-i” ile belirtilen arayüze ait ağ geçidi otomatik olarak seçilir.
  • -l <LogDosyasi>, –log FILE <LogDosyasi>: Tarama sonuçlarının kaydedileceği log dosyası belirtilir. Bu seçenek ayarlanmamışsa, Flashlight uygulamasının çalıştığı dizinde “flashlight.log” adında bir dosya oluşturulur ve loglar bu dosya içerisine yazılır.
  • -k <PasifTaramaSuresi>, –passive_timeout <PasifTaramaSuresi>: Pasif taramada modundaki dinleme süresini belirtir. Bu değer belirtilmezse, 15 saniye boyunca ağ dinlenir. Pasif tarama için kullanılabilecek seçmeli bir parametredir.
  • -m, –mim: Aradaki adam saldırısı gerçekleştirilir.
  • -n, –nmap-optimize: Nmap çalışmasını daha performanslı sağlamak için kullanılan seçenektir.
  • -v, –verbose: Programın çalışma sonuçlarının ayrıntılı olarak listelenir.
  • -V, –version: Programın sürümünü belirtir.

Flashlight uygulamasının 3 temel tarama tipini gerçekleştirme ve 1 analiz etme yöntemi vardır. Her bir tarama tipi ve kullanımı ile ilgili örnekler aşağıdaki başlıklarda incelenebilir.

 

1) Pasif Tarama

Ağa paket gönderilmeden yapılan, izleme amaçlı tarama tipidir. Bu tarama seçeneğinde ağ dinlenir ve gelen-giden paketler analiz edilir.

Flashlight uygulaması ile “passive-pro-01” adında bir pasif tarama projesi aşağıdaki gibi oluşturulabilir. Aşağıdaki taramada “eth0” arayüzüne gelen paketler “/root/Desktop/flashlight/output/passive-project-01/pcap” dizinine PCAP formatı ile kaydedilmiş ve tarama sonucu “/root/Desktop/log” dosyasına kaydedilmiştir.

./flashlight.py -s passive -p passive-pro-01 -i eth0 -o /root/Desktop/flashlight_test -l /root/Desktop/log –v

flashlight-automated-information-gathering-tool-for-penetration-testers-02

Tarama sonucunda “/root/Desktop/” dizini altına “flashlight_test” adında tarama dizini ve “log” adında log dosyası oluşmuştur.

flashlight-automated-information-gathering-tool-for-penetration-testers-03

Çıktı olarak oluşan “flashlight_test” dizininin yapısı aşağıdaki gibidir. PCAP dosyası da /root/Desktop/flashlight_test/output/passive-pro-01/pcap dizini altına kaydedilmiştir. Bu PCAP dosyası daha sonra analiz için kullanılabilir.

ls /root/Desktop/flashlight_test -R

flashlight-automated-information-gathering-tool-for-penetration-testers-04

Bunun yanında gerçekleşen işlemlerin kaydedildiği log dosyasının içeriği de aşağıdaki gibidir.

flashlight-automated-information-gathering-tool-for-penetration-testers-05

Pasif taramada varsayılan olarak aynı ağdaki Broadcast paketleri ve saldırı makinesine gelen direk paketler elde edilir. Bunun yanında Flashlight uygulamasının “-mim/-m” parametresi ile araya girme saldırısı da gerçekleştirilebilir. Ağ üzerindeki paketlerin Flashlight uygulamasının kurulu olduğu bilgisayar üzerinden geçmesini sağlamak için “-m” parametresi ile Arp Spoof ile araya girme saldırısı aşağıdaki gibi gerçekleştirilebilir.

./flashlight.py -s passive -p passive-project-02 -i eth0 -g 192.168.74.2 -m -k 50 -v

flashlight-automated-information-gathering-tool-for-penetration-testers-06

Kayıt olan PCAP dosyası içeriği incelendiğinde HTTP trafiği görülmektedir.

flashlight-automated-information-gathering-tool-for-penetration-testers-07

HTTP trafiğindeki Temel Kimlik Doğrulama (Basic Authentication) sonucunda elde edilen bilgiler decode edildiğinde web sunucunun konfigürasyonuna ait erişim erişim bilgilerine ulaşılmış olur.

flashlight-automated-information-gathering-tool-for-penetration-testers-08

Pasif taramanın tüm seçenekleri kullanılarak yapılan tarama örneği aşağıdaki gibidir:

./flashlight.py -s passive -p passive-pro-03 -i eth0 -g 192.168.74.2 -m -k 50 -o /root/Desktop/flashlight_passive_full -l /root/Desktop/log -v

Pasif tarama ile ilgili örnek bir videoya ait bağlantı aşağıdaki gibidir:

 

2) Aktif Tarama

NMAP betikleri kullanılarak konfigürasyon dosyasındaki seçeneklere göre gerçekleştirilen taramadır. Örnek bir konfigürasyon dosyası (flashlight.yaml) Flashlight programının bulunduğu dizindeki “config” klasöründe bulunmaktadır.

tcp_ports:

– 21, 22, 23, 25, 80, 443, 445, 3128, 8080

udp_ports:

– 53, 161

scripts:

– http-enum

screen_ports:

– 80, 443, 8080, 8443

flashlight-automated-information-gathering-tool-for-penetration-testers-09

“flashlight.yaml” konfigürasyon dosyasındaki bilgilere göre “21, 22, 23, 25, 80, 443, 445, 3128, 8080” TCP portları, “53, 161” UDP portları, “http-enum” NMAP betiği ile tarama gerçekleştirilir. Aktif tarama sırasında “screen_ports” seçeneği kullanılmamaktadır.
ICMP paketleri ile ayaktaki cihazların tespit edilerek aktif tarama yapılması için “-a” parametresi kullanılarak aşağıdaki komut çalıştırılabilir. Bunun yanında daha hızlı tarama yapmak için “-t” parametresine verilen değer arttırılabilir.

./flashlight.py -p active-project -s active -d 192.168.74.0/24 -a -v

flashlight-automated-information-gathering-tool-for-penetration-testers-10

Bu tarama sonucunda belirtilen çıktı dizinine 4 farklı tarama türünün (İşletim sistemi taraması, Ping taraması, Port taraması ve Betik taraması) her biri için 3 farklı formatta (Normal, XML ve Grepable) dosya oluşturulur.

flashlight-automated-information-gathering-tool-for-penetration-testers-11

Arkaplanda çalıştırılan komut aşağıdakine benzerdir:

  • İşletim sistemi taraması: /usr/bin/nmap -n -Pn -O -T5 -iL /tmp/<IPListesineAitDosya> -oA /root/Desktop/flashlight/output/active-project/nmap/OsScan-<Tarih>
  • Ping taraması: /usr/bin/nmap -n -sn -T5 -iL /tmp/<IPListesineAitDosya> -oA /root/Desktop/flashlight/output/active-project/nmap/PingScan-<Tarih>
  • Port taraması: /usr/bin/nmap -n -Pn -T5 –open -iL /tmp/<IPListesineAitDosya> -sS -p T:21,22,23,25,80,443,445,3128,8080,U:53,161 -sU -oA /root/Desktop/flashlight/output/active-project/nmap/PortScan-<Tarih>
  • Betik taraması: /usr/bin/nmap -n -Pn -T5 -iL /tmp/<IPListesineAitDosya> -sS -p T:21,22,23,25,80,443,445,3128,8080,U:53,161 -sU –script=default,http-enum -oA /root/Desktop/flashlight/output/active-project/nmap/ScriptScan-<Tarih>

flashlight-automated-information-gathering-tool-for-penetration-testers-12

Bunun yanında aktif taramayı daha efektif kullanabilmek için “-n” parametresi de aktif tarama sırasında kullanılabilir.

./flashlight.py -p active-project -s active -d 192.168.74.0/24 -n -a –v

flashlight-automated-information-gathering-tool-for-penetration-testers-13

Bu kullanımda aşağıda belirtilen ek NMAP parametreleri ile daha hızlı bir tarama işlemi gerçekleştirilir.

… -min-hostgroup 64 -min-parallelism 64 -host-timeout=300m -max-rtt-timeout=600ms -initial-rtt-timeout=300ms -min-rtt-timeout=300ms -max-retries=2 -min-rate=150 …

Aktif tarama ile ilgili örnek bir videoya ait bağlantı aşağıdaki gibidir:

 

3) Ekran Görüntüsü Taraması

Konfigürasyon dosyasındaki seçeneklere göre web hizmeti veren sistemlerin ekran görüntülerini almak için gerçekleştirilen taramadır.
Konfigürasyon dosyasındaki yapılandırmada 4 port (“80, 443, 8080, 8443”) için ekran görüntüsü taramasının gerçekleştirleceği belirtilmektedir.

screen_ports:

– 80, 443, 8080, 8443

Örnek bir tarama aşağıdaki gibidir.

./flashlight.py -p project -s screen -d 192.168.74.0/24 -r /usr/local/rasterize.js -t 10 -v

flashlight-automated-information-gathering-tool-for-penetration-testers-14

Tarama sonucunda 3 adet web uygulaması tespit edilmiştir. Bu uygulamalara ait ekran görüntüsü projenin “screen” alt dizinine kaydedilmiştir. Elde edilen bu ekran görüntüleri daha sonra çevrimdışı olarak kullanılabilir.

flashlight-automated-information-gathering-tool-for-penetration-testers-15

Ekran görüntüsü taraması ile ilgili örnek bir videoya ait bağlantı aşağıdaki gibidir:

 

4) Filtreleme

Pcap dosyasının analizi için kullanılır. Örnek bir analiz işlemi aşağıdaki gibidir.

./flashlight.py -p 6 -s filter -f /root/Dump/dump4-browser.pcap -v

flashlight-automated-information-gathering-tool-for-penetration-testers-16

Analiz sonucuna göre “filter” alt dizini altında çeşitli dosyalar oluşur.

cd output/6/filter
ll

flashlight-automated-information-gathering-tool-for-penetration-testers-17

 

Gerçekleştirilen analizler şu şekildedir:

  • IP ve port listesi
  • En çok trafik oluşturulan 10 iletişim
  • Windows bilgisayarlar
  • En çok kullanılan 10 DNS sorgusu
  • En çok gerçekleşen 10 HTTP trafiği
  • Ortamda en çok bulunan Windows etki alanları ve bilgisayar adları

Örnek olarak winhosts_<PcapAdı>.txt, windomains_<PcapAdı>.txt, top10http_<PcapAdı>.txt dosyalarının içeriği aşağıdaki gibidir.

flashlight-automated-information-gathering-tool-for-penetration-testers-18

Filtereleme ile ilgili örnek bir videoya ait bağlantı aşağıdaki gibidir:

 

Kaynak:

https://github.com/galkan/flashlight/blob/master/README.md

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.