29 Nisan 2014 Salı

Cobalt Strike #2: Beacon Kullanarak İstemci Taraflı Bir Applet Saldırısı Gerçekleştirme

Cobalt Strike #2: Beacon Kullanarak İstemci Taraflı Bir Applet Saldırısı Gerçekleştirme


Önceki yazıda W7 bir bilgisayarın üzerinde çalışan uygulamaları Cobalt Strike ile (Attacks > Web Drive-by > System Profiler) oluşturulan ve kullanıcının girdiği zararlı bir sayfa (tıkladığı bir URL,... vs) ile elde edilmişti. Sonrasında da yüklü uygulamalardan birisine (java) yönelik bir istismar/exploit modülü (exploit/multi/browser/java_jre17_provider_skeleton) kullanılmış, kullanıcının yeni oluşturulan sayfaya girmesi (URL'i tıklaması,... vs) sağlanmış ve kurban bilgisayarına meterpreter ile ters bağlantı (reverse connection) kurulmuştu.

Bu yazıda ise, Cobalt Strike Beacon kullanılarak kurbanın bir sayfaya girmesi sağlanacak ve beacon (bir çeşit botnet gibi düşünülebilir) ile istenildiği zaman meterpreter kabuğu açılması sağlanacaktır.

Bu saldırı 4 adımdan oluşmaktadır.

  • Öncelikle 2 listener oluşturulacaktır. Daha sonraki adımlarda bir listener daha açılacaktır.
  • Sonrasında kurbana gönderilecek olan URL hazırlanacaktır.
  • Sonraki adımda kurban bilgisayardan bu URL'e girilecek ve Cobalt Strike arayüzünde bu bağlantı görülecektir.
  • Daha sonra beacon'ın oluştuğu ve bu beacon aracılığıyla Meterpreter kabuğuna düşülebildiği görülecektir.


1) Listener Oluşturma

Menüden Listener oluşturulmasına başlanır:


Açılan alt sekmedeki "Add" butonu ile ilk Listener oluşturulur:


Listener bilgileri girilir:


Eğer birden fazla IP'ye bağlantı kurulması isteniyorsa ilgili domain isimleri veya IP adresleri girilebilir:


Böylece ilk Listener oluşmuş olur. İkinci Listener için de aynı işlemler gerçekleştirilir:


Yeni Listener için bililer girilir:


Sonuçta 2 Listener oluşmuştur:


İlk Listener, 80. porta gelen Reverse HTTP Beacon taleplerini dinleyecektir. İkinci Listener ise, 443. porta gelen Reverse HTTPS Meterpreter bağlantılarını dinleyecektir.


2) URL'in Hazırlanması

Saldırı amaçlı oluşturulacak URL için Attacks > Web Drive-by > Smart Applet Attacks adımları izlenir.


URL bilgileri girilir. Windows bilgisayarlar için oluşturulan Beacon veya Meterpreter Listener seçilebilir. Ancak senaryo gereği Beacon seçilecektir. Ayrıca Windows harici işletim sistemlerinde çalışabilecek bir Java Listener daha oluşturulacaktır:


Java Listener'a ait bilgiler girilir:


URL oluşturulur:


Böylece, URL elde edilmiştir:


Not: Bu URL bir iframe olarak ele geçirilen bir Web snunucuya da konulabilir ve kurbanın bu sayfaya girmesi de sağlanabilirdi:





3) URL'e Girilmesi ve Bağlantının Görülmesi

Kurban, önceki adımlarda hazırlanan URL'e girer:


Java ile ilgili herhangi bir uyarı gelirse (Java güncel olsaydı aşağıdaki uyarı gelmezdi. Ayrıca bu senaryo yine de çalışırdı) kabul edilir:


Uygulamanın çalışması sağlanır:


Cobalt Strike arayüzüne girildiğinde Kurban bilgisayarın URL'e girdiği görülmektedir. Ayrıca Listener sekmesinde "Refresh" butonuna basıldığında oluşturulan 3. Listener da görülmektedir:


Not: Bilgisayar gerçek anlamda henüz ele geçirilmediği için Mavi renkte (Windows olduğu için) gözükmektedir. Kurban bilgisayar ele geçirildiğinde etrafında kırmızı şimşekler (!) görülecektir.


4) Beacon Oluşması ve Meterpreter Kabuğunun Oluşturulması

Kurban linke tıkladığında Applet çalışmış, beacon kurban bilgisayarında çalışmaya başlamıştır. Beacon tarafından gerçekleştirilen talepler de KALI / Cobalt Strike üzerindeki Listener tarafından yakalanmıştır. Oluşan beacon'ı yönetmek için, menüden View > Beacons adımları takip edilir.


Yeni açılan sekmede beacon görülmektedir:


Not: Bu beacon varsayılan olarak dakikada bir komuta merkezine (KALI) HTTP üzerinden bağlanmakta ve komuta merkezinden emir istemektedir.

Beacon seçilerek "Spawn" denilerek bir emir verilecektir:


HTTPS üzerinden ters bir meterpreter bağlantısının (Meterpreter Reverse HTTPS) yapılması istenilecektir:


Emir verildikten sonra 60. saniyeye dek beklenir:


Sonraki dakikada Meterpreter bağlantısı oluşur.


Bu aşamadan sonra Meterpreter üzerinde yetkiler dahilinde işlemler gerçekleştirilir.

Beacon Özellikleri

Bunun yanında beacon ile iletişime de geçilebilir:

Açılan yeni sekmeden beacon yönetimi gerçekleştirilebilir (Meterpreter bağlantının gerçekleştirilmesine dair bir emir/görev görülmektedir):

İstenilirse meterpreter oturumu kapatılabilir:


Daha sonra yeniden emir gönderilebilir:


Meterpreter kabuğunun açılması istenebilir.


Bir süre sonra Meterpreter bağlantısı otomatik olarak açılır:


Kaynak: 
http://www.youtube.com/playlist?list=PL9HO6M_MU2nesxSmhJjEvwLhUoHPHmXvz

26 Nisan 2014 Cumartesi

Cobalt Strike #1: Java Zafiyetini Kullanarak İstemci Taraflı Bir Saldırı Gerçekleştirme

Cobalt Strike #1: Java Zafiyetini Kullanarak İstemci Taraflı Bir Saldırı Gerçekleştirme

Bu yazıda JAVA uygulaması eski olan bir Window 7 bilgisayarın ele geçirilmesi incelenecektir. Bu amaçla Cobalt Strike adlı ücretli bir araç kullanılacaktır. Yazının amacı da bu aracı kullanarak saldırının çok kolay bir şekilde sadece arayüz kullanarak gerçekleşeceğini görmektir.

Yazı 2 alt başlıktan oluşacaktır:
  • Hedef makinede (10.13.5.153 IP'li WS2-01 Windows 7 makinesi) yüklü olan uygulamalar belirlenecek
  • Versiyonu eski olan Java’ya yönelik bir exploit modülü ile Windows 7 bilgisayar ele geçirilerek, Cobalt Strike uygulamasının yüklü olduğu KALI bilgisayara (10.224.2.28) bağlanacaktır.

1. Sistem Profilinin Çıkarılması ve Yüklü Uygulamaların Listelenmesi

Saldırıdan önce kurbanın bilgisayarında yüklü uygulamaların listesini alınacaktır. Bu amaçla System Profiler kullanılacaktır.


Gelen pencereye kurbanın yönleneceği site bilgisi (www.bilgiguvenligi.gov.tr) ve kurbanın tıklaması istenen URL bilgisi (http://10.224.2.16:80/ParaKazandiniz.jpg) girilecektir:


Launch butonuna basıldığında, kurban bilgisayarın tıklayacağı link elde edilir:


Sonrasında da web logları incelenmeye başlanır (Kurban bilgisayarın web içeriğini okuması/belirtilen sayfaya yönlenmesi,… bu loglardan izlenecektir):


İlk durumda Web logu boş gelir:


Saldırganın belirlediği URL bir şekilde kullanıcıya ulaştırılr. Kullanıcı bu linki browser’ına yapıştırır (veya linke tıklar):


Sonrasında, kurban belirtilen sayfaya (Bilgi Güvenliği Kapısı) otomatik olarak yönlenecektir:


Kurban bu linke girdiğinde, saldırgan makinesindeki Web Log kısmına web içeriğine dair veri akar:


Ayrıca arka planda da yüklü uygulamaları, servisler,… gibi bilgiler saldırgan bilgisayarına gider. Bu uygulamaları görmek için, Cobalt Strike üzerinde View > Applications adımları izlenir:


Mevcut uygulamalar açılan yeni sekmede listelenir:


2. Uygulamalara göre Exploitleri Belirleme ve Exploit İşlemini Gerçekleştirme

Mevcut uygulamaya göre exploit bulmak için uygulama seçilir ve alttaki “show exploits” butonu tıklanır:


Sol üstteki browser’da da exploitler listelenir:


Herhangi bir exploit modülünü sürükle bırak ile üstüne bıraktığımızda bu modülün seçenekleri karşımıza gelir. İlgili Java exploit modülü seçilir ve bu seçenekler ayarlanır:


"Launch" butonuna basıldığında tüm seçenekler otomatik olarak ayarlanır:


Kurbanın belirtilen URL’e bir şekilde girmesi sağlanır:


Kurban Java uyarısı kabul eder:


Daha sonra da oluşturulan payload gerekli işlemi gerçekleştirir (Saldırgan makinesine bağlantı oluşur):


Artık kurban makinesinin iconu kırmızı olmuştur.
Ayrıca bu bilgisayar iconunu sağ tıklayarak da meterpreter kabuğuna geçilebilir:


Meterpreter kabuğunda istenilen(yetki dahilindeki) komutlar çalıştırılır:


Eğer Meterpreter yerine VNC seçilirse, oturuma da geçilebilir:

Not: Altta bulunan ve işaretlenen icon ile kullanıcı hareketleri izlenebilir (read-only) veya kullanıcı oturumuna direk olarak müdahale de edilebilir.

Bir çok işlem komut satırı yerine arayüzden de gerçekleştirilebilir. Örneğin ekran görüntüsü alınabilir:


Kurban bilgisayarındaki ekran şu şekildedir:


Benzer olarak bir başka prosese sıçrama işlemi arayüzden de gerçekleşir:


Daha sonra da migrasyon işlemi gerçekleştirilir:


Migrasyon tamamlandığında işlemin başarıyla tamamlandığına dair bir mesaj görülür:

Not: Migrasyon haricinde, seçilen prosese enjeksiyon işlemi gerçekleştirilebilir veya seçilen prosesi çalıştıran hesabın jetonu (Security Access Token - SAT) çalınabilir.

Hedef bilgisayarın disk sistemine erişim sağlanır:


Dosya alma, yükleme işlemleri gerçekleştirilebilir:


İndirilen dosyaya nasıl erişileceğine dair mesaj gelir:


Not: SAM dosyasına çalışma anında erişim sağlanamadığından download işlemi gerçekleşmez.

Ayrıca SAM dosyasından parola özetleri alınabliir, RAM üzerinden parolalar elde edilebilir. Bu amaçla “Dump Hashes” seçeneği seçilir:


Parolalar açık olarak dökülür:

Not: Eğer aynı menüde "registry method" seçilirse smart_hashdump modülü çalışır.Yani DC üzerinde çalıştırılırsa domaindeki tüm kullanıcıların parola özetleri dökülür.

Kaynak:
http://www.youtube.com/playlist?list=PL9HO6M_MU2nesxSmhJjEvwLhUoHPHmXvz