Selamlar THT AİLESİ
Yerin, göğün ve ikisi arasındakilerin sahibi olan
ALLAH'ın İsmiyle
Ben bydoqtorist
Arkadaşlar merhabalar bugün sizlerle birlikte gerçek hayatta bazı tecrübelerimi ve bazı kurumlarla birlikte görüştüğüm ve gördüğüm bazı olayları sizlerle paylaşmak isterim.Yerin, göğün ve ikisi arasındakilerin sahibi olan
ALLAH'ın İsmiyle
Ben bydoqtorist
RAT geliştirilmesinde dikkat edilmesi gereken hususlar nelerdir nasıl RAT geliştirilir gibi konulara da değiniyor olacağız. Aşağıda bazı olaylarda kullanılmış olan (tabii ki localhost xD) RAT araçlarından birisini sizlere de tanıtmak ve göstermek isterim.
Bir RED TEAMER olarak herhangi bir alanda çalışmış yada bulunmuş iseniz kaçınılmaz olarak internette gördüğünüz Havoc,Cobalt Strike, NjRat gibi RAT'ları kullanmak yerine eğer ki işin boyutu biraz daha ciddileşirse bunlar yerine kendi araçlarınızı, toolarınızı yazmanız gerekiyor çünkü kendi kullandığınız ve tam hakimiyet sağlamadığınız bir alanda çalışmak emin olun ki takıntılı birisiyseniz eğer bu sizlere zarar verecektir; Örneğin Cobalt Strike kullanarak hacklediğiniz sistemin içerisinde sadece sizin çalıştırdığınız kodların çalışıp çalışmadığından emin olamazsınız çoğu şeyin open-source olması demek her şeyin özgür olacağı anlamına gelmez ki çoğumuz her open-source aracı oturup hepsini baştan sona okuyamıyoruz. Bir zamanlar linuxta bulunan xxd zafiyetini hatırlatmak isterim ayrıca kuzey koreyi de bu konuda araştırmanızı tavsiye edebilirim.
RAT
Burası kritik noktalardan birisidir. Sizin yazacağınız RAT ne üzerine olacaktır ?
Tecrübelerimde ben sadece bu 2'si üzerine geliştirme ve gelişimde bulundum. Tabi ekstrasını bilenler yada başka yerlerde özel çalışan arkadaşlar vardıysa fikirlerini yorumlara beyan etmelerini rica ediyorum.
* Mobil Cihazlar
* Bilgisayarlar
2- RAT Connection Handler (İletişim)
Tabii ki bir RAT içerisinde olmazsa olmazlardan birisi iletişim kısmıdır. Burda dikkat edilmesi gereken husus;
Victim (Kurban) ile C2 (Komuta Kontrol Merkezimiz) arasındaki mekanizmadır. Genelde bizler yada RAT geliştirmiş arkadaşlar bilirler ki bütün connection'un büyük bir çoğunluğu protocoller içerisinde bulunan HTTPS üzerinde gerçekleşir. Bu süreçte bazı olaylar vardır örneğin Domain Fronting gibi kavramlar bulunmaktadır bunlar ise yazılan Komuta Kontrol ile Victim arasında google.com yada aws web servislerini bırakarak tamamen ortadan izimizi opsec açısından en güvenilir yöntemle kaldırmaktır. Ayrıca Kurban ile Komuta merkezimiz arasında iletişimi sağlamak için bizler reverse ve bind connection süreçlerini kullanırız.
Reverse Connection : Bu süreçte genelde FUD olarak yazdığımız Downloader aracımız'ın kurbanın bilgisayarına indirdikten sonra bu downloader'ın bizim ana payloadımızı indirdiği zaman kurban'ın gelip bize bağlanmasını yaptığımız süreçtir.
!!!! Dikkat: Evasion teknikleri burada devreye girer bizler ana zararlıyı diske indirip yazmayız
Bind Connection : Kurban üzerinde bir port'unu açıp bizim uzaktan bağlandığımız süreçtir ki bu gerçek red teaming opsec'i açısındanhem güvenilir değildir hem de AV/EDR'lerı hemen ayağa kaldıran bir olaydır ki bunu kimse tercih etmez.
Tabii ki bu yazıda bizler RAT geliştirmeyi değil kulağa aşina gelinmesi gereken kavramları anlatıyoruz bu blog içerisinde bulunan bütün teknik terimleri ayrıyeten araştırmanız sizleri birkaç seviye yukarıya taşıyacaktır.
Çoğunuz bildiği üzere bir RAT üzerinde kurbanı hackledğimiz zaman kurban üzerinde bulunan dosyalar üzerinde çalıştırmamız gereken bazı komutlar vardır bunlar genelde karşıya dosya yükleme, dosya indirme gibi süreçlerdir.- Dikkat edilmesi gereken hususlardan birisi de bu dosyaların akışını Multipart gibi yani HTML etiketinde bulunan form tagi gibi değil; byte array şeklinde dosyaların akışını yapıyor olmamızdır.
4- Persistence (Kalıcılık)
Eğer ki bizim zararlı aracımız karşı tarafta bulunduğunda kişi tabii ki telefonunu yada bilgisayarı kapatıp açtığında bu gibi süreçlerde aramızdaki kurban ile iletişimimizi koparmak istemeyiz Bu yüzden persistence yani kalıcılık bizler için kritik öneme sahiptir bunun içinde karşı sistemde örneğin bir servis oluşturup her bilgisayar yada telefon açılıp kapandığında bizim zararlı yazılımımızı tekrardan çalıştırmasını sağlayabileceğimiz bir kod yazabiliriz. Bu süreçler persistence aşamasında yapılır.
5- Evasion & Stealth (Gizlilik ve Kaçınma)
APT gruplarının yaptığı en kritik özelliklerden birisi de eğer ki kurban ile aramızda herhangi bir iletişim olacaksa bu süreci bizlerin AES gibi encryption yöntemlerini kullanarak aramızdaki iletişimi 3.kişilerin gördüğünde hiçbir şeyi anlamamalarını sağlamaktır.
Ayrıca kodunuz eğer ki decompile süreci kolay olan bir programlama diliyle yazıldıysa bu süreçte de control flow flattened yada obfuscation süreçlerini yapmanız kodunuzda büyük bir karmaşıklığa sebebiyet vercektir ve gizlilik açısından korunmanız her daim geceleri uykunuzda rahat etmenizi sağlayacaktır xD
GERÇEK HAYAT
Kısa postun sonu.
Bildiğiniz üzere gerçek hayatta operasyonlar savaşta değil karargahta kazanılır. Ne yaparsanız yapın savaş meydanına çıktığınızda bazı süreçlerin arkada yaptığınız yada çoğu bildiğiniz teorik konular; muharebe meydanında istediğiniz gibi gitmeyebilir bu yüzden sizler bu tarz araçları geliştirirken teknik bilginiz kadar yakalanmazsınız. Unutulmamalıdır ki dünyada sizden iyisi her zaman olacaktır.
Sorularınızı yorumlarda yazın.
Vesselam.





