Gelisiyorum.com | Blog

DeceptiveDevelopment serbest çalışan geliştiricileri hedef alıyor

20.02.2025
17
DeceptiveDevelopment serbest çalışan geliştiricileri hedef alıyor

ESET araştırmacıları, iş görüşmesi zorlukları ile birlikte kötü amaçlı yazılım sunan bir kampanyayı analiz etti

Siber suçluların, hedeflerine şirket işe alım görevlileri kisvesi altında yaklaştıkları ve onları sahte iş teklifleriyle kandırdıkları bilinmektedir. Sonuçta potansiyel kurbanın iş bulma olasılığıyla dikkatinin dağıldığı bir zamandan daha iyi bir saldırı zamanı olabilir mi? ESET araştırmacıları, 2024’ün başlarından bu yana, Kuzey Kore’ye bağlı bir dizi kötü niyetli faaliyet gözlemledi; bu faaliyetlerde kelle avcısı kılığına giren operatörler, hedeflerine bilgi hırsızlığı yapan kötü amaçlı yazılımları gizleyen yazılım projeleri sunmaya çalışıyor. Bu faaliyet kümesine DeceptiveDevelopment adını veriyoruz. 

Sahte iş görüşmesi sürecinin bir parçası olarak, DeceptiveDevelopment operatörleri hedeflerinden mevcut bir projeye bir özellik eklemek gibi bir kodlama testi yapmalarını ister ve görev için gerekli dosyalar genellikle GitHub veya diğer benzer platformlardaki özel depolarda barındırılır. Ne yazık ki hevesli iş adayı için bu dosyalar truva atına dönüştürülmüştür: Projeyi indirip çalıştırdıklarında kurbanın bilgisayarı operasyonun birinci aşama kötü amaçlı yazılımı BeaverTail ile tehlikeye girer. 

DeceptiveDevelopment ilk olarak 2023 yılında Phylum ve Unit 42 tarafından kamuoyuna açıklanmış ve Contagious Interview ve DEV#POPPER adları altında kısmen belgelenmiştir. Bu faaliyet kümesi ve operatörünün ilk erişim yöntemleri, ağ altyapısı ve DeceptiveDevelopment tarafından kullanılan iki kötü amaçlı yazılım ailesinin (InvisibleFerret ve yukarıda bahsedilen BeaverTail) yeni sürümleri de dahil olmak üzere araç seti üzerinde daha fazla analiz gerçekleştirdik. 

Bu blog yazısının kilit noktaları: 

  • DeceptiveDevelopment, iş bulma ve serbest çalışma sitelerinde spearphishing yoluyla serbest çalışan yazılım geliştiricileri hedef alıyor ve tarayıcılardan ve parola yöneticilerinden kripto para cüzdanlarını ve giriş bilgilerini çalmayı amaçlıyor. 
  • Kasım 2023’ten bu yana aktif olan bu operasyon, temel olarak iki kötü amaçlı yazılım ailesi kullanmaktadır – BeaverTail (bilgi hırsızı, indirici) ve InvisibleFerret (bilgi hırsızı, RAT). 
  • DeceptiveDevelopment’ın taktikleri, teknikleri ve prosedürleri (TTP’ler) Kuzey Kore’ye bağlı olduğu bilinen diğer bazı operasyonlarla benzerlik göstermektedir. 

Bu DeceptiveDevelopment kampanyasını ilk olarak 2024’ün başlarında, GitHub’da barındırılan ve uzun yorumların sonuna gizlenmiş kötü amaçlı kod içeren ve kodu etkili bir şekilde ekranın dışına taşıyan truva atı projeleri keşfettiğimizde gözlemledik. Bu projeler BeaverTail ve InvisibleFerret kötü amaçlı yazılımlarını yayıyordu. İki kötü amaçlı yazılım ailesini analiz etmenin yanı sıra kampanyanın arkasındaki C&C altyapısını da araştırmaya başladık. O zamandan beri bu kümeyi ve devam eden bu saldırılarda kullanılan strateji ve araçlardaki gelişmeleri takip ediyoruz. Bu blog yazısı, bu kampanyanın TTP’lerinin yanı sıra kullandığı kötü amaçlı yazılımları da açıklamaktadır. 

Reklam

DeceptIveDevelopment profili 

DeceptiveDevelopment şu anda bilinen herhangi bir tehdit aktörüne atfetmediğimiz Kuzey Kore’ye bağlı bir faaliyet kümesidir. DeceptiveDevelopment’ın arkasındaki operatörler Windows, Linux ve macOS üzerindeki yazılım geliştiricilerini hedef almaktadır. Öncelikle finansal kazanç için kripto para çalıyorlar ve olası ikincil hedefleri siber casusluk.  

Bu operatörler hedeflerine yaklaşmak için DreamJob Operasyonu’ndaki Lazarus grubundan farklı olarak (bu WeLiveSecurity blog yazısında açıklandığı gibi) sosyal medyada sahte işe alım profilleri kullanmaktadır. Ancak DreamJob Operasyonu savunma ve havacılık mühendislerini hedef alırken DeceptiveDevelopment genellikle kripto para projelerinde yer alan serbest yazılım geliştiricilerine ulaşıyor. Kurbanlarının bilgisayarlarını ele geçirmek için DeceptiveDevelopment, hedeflerine sahte bir iş görüşmesi sürecinin parçası olarak arka kapıları dağıtan truva atı hâline getirilmiş kod tabanları sağlıyor. 

Viktimoloji 

Bu DeceptiveDevelopment kampanyasının birincil hedefleri, özellikle kripto para ve merkezi olmayan finans projelerinde yer alan yazılım geliştiricileridir. Saldırganlar coğrafi konum ayrımı yapmıyor ve başarılı bir şekilde fon ve bilgi elde etme olasılığını artırmak için mümkün olduğunca çok sayıda kurbanı tehlikeye atmayı hedefliyor. 

Dünyanın dört bir yanında, Windows, Linux ve macOS olmak üzere üç büyük işletim sisteminin tümünü kullanan yüzlerce farklı mağdur gözlemledik. Bu kişiler, serbest kariyerlerine yeni başlayan genç geliştiricilerden bu alanda son derece deneyimli profesyonellere kadar uzanan bir yelpazede yer alıyordu. Saldırgan-kurban konuşmalarını yalnızca İngilizce olarak gözlemledik ancak saldırganların bu dili konuşmayan kurbanlarla iletişim kurmak için çeviri araçları kullanmayacağını kesin olarak söyleyemeyiz. Kurbanların küresel dağılımını gösteren  harita Şekil 1‘de görülebilir. 

Şekil1 DeceptiveDevelopmentın farklı kurbanlarının ısı haritası

Atıf 

DeceptiveDevelopment’ı çeşitli unsurlara dayanarak yüksek güvenle Kuzey Kore’ye bağlı bir faaliyet kümesi olarak değerlendiriyoruz: 

  • Saldırganlar tarafından kontrol edilen GitHub hesapları ile Kuzey Koreli BT çalışanları tarafından kullanılan sahte CV’ler içeren hesaplar arasında bağlantılar gözlemledik. Bu kişiler, rejimi finanse etmeye yardımcı olacak maaşları toplamak için sahte kimlikler altında yabancı şirketlerde iş başvurusunda bulunuyor. Gözlemlenen bağlantılar, bir tarafın DeceptiveDevelopment ile ilişkili olduğu ve diğer tarafın sahte CV’ler ve Kuzey Koreli BT çalışanlarının faaliyetleriyle ilgili diğer materyalleri içerdiği GitHub profilleri arasındaki karşılıklı takiplerdi. Benzer bağlantılar Birim 42 tarafından da gözlemlenmiştir. Ne yazık ki GitHub sayfaları biz tüm kanıtları kaydedemeden kaldırıldı. 
  • TTP’ler (sahte işe alım görevlileri, truva atına dönüştürülmüş iş talepleri ve mülakatlar sırasında kullanılan yazılımlar) Kuzey Kore’ye bağlı diğer faaliyetlerle (Moonstone Sleet ve Lazarus’un DreamJob ve DangerousPassword kampanyaları) benzerlik göstermektedir. 

GitHub profilleri arasındaki bağlantılara ek olarak, DeceptiveDevelopment’ta kullanılan kötü amaçlı yazılım oldukça basittir. Bu durum Mandiant tarafından yapılan ve BT çalışanlarının işlerinin genellikle düşük kalitede olduğunu iddia eden raporlama ile örtüşmektedir. 

DeceptiveDevelopment faaliyetlerini izlerken tehdit aktörlerinin ayrıntılara dikkat etmediğini gösteren çok sayıda vaka gördük. Bazılarında, yazarlar geliştirme notlarını veya geliştirme ve test için kullanılan yorumlanmış yerel IP adreslerini kaldırmayı başaramadılar. Ayrıca C&C adresini değiştirdikten sonra gizlemeyi unuttukları örnekler de gördük; bu durum Şekil 2‘de görülebilir. Ayrıca kötü amaçlı yazılım, bazen kod yorumlarında bırakılan bağlantılarla serbestçe kullanılabilen gizleme araçlarını kullanır. 

Şekil 2 Kodda unutulan yorum ve gizleme örnekleri

Teknik analiz 

İlk erişim 

Saldırganlar işe alım görevlisi gibi davranmak için mevcut kişilerin profillerini kopyalamakta ve hatta yeni kişilikler oluşturmaktadır. Daha sonra potansiyel kurbanlarına iş arama ve serbest çalışma platformlarında doğrudan yaklaşıyor ya da buralarda sahte iş ilanları yayımlıyorlar. Başlangıçta, tehdit aktörleri yepyeni profiller kullanıyor ve hedefledikleri kişilere LinkedIn üzerinden kötü amaçlı GitHub projelerinin bağlantılarını gönderiyorlardı. Daha sonra, daha güvenilir görünmek için çok sayıda takipçisi ve bağlantısı olan yerleşik profiller kullanmaya başladılar ve daha fazla iş arama ve kod barındırma web sitelerine yöneldiler. Bu profillerden bazıları saldırganların kendileri tarafından oluşturulmuş olsa da diğerleri platformdaki gerçek kişilerin saldırganlar tarafından değiştirilmiş potansiyel olarak tehlikeye atılmış profilleridir. 

Bu etkileşimlerin gerçekleştiği platformlardan bazıları genel iş arama platformlarıyken diğerleri öncelikle kripto para birimi ve blok zinciri projelerine odaklanıyor ve bu nedenle saldırganların hedefleriyle daha uyumlu. Bu platformlar şunlardır: 

En yaygın olarak gözlemlenen tehlikeye atma vektörü, sahte işe alım görevlisinin kurbana işe alım mücadelesi kisvesi altında truva atlı bir proje sunması veya “işe alım görevlisinin” finansal bir ödül için bir hatayı düzeltmesine yardımcı olmasından oluşur.  

Mağdurlar proje dosyalarını ya doğrudan sitedeki dosya aktarımı yoluyla ya da GitHub, GitLab veya Bitbucket gibi bir depoya bağlantı yoluyla alırlar. Dosyaları indirmeleri, özellikler eklemeleri veya hataları düzeltmeleri ve işe alan kişiye geri bildirimde bulunmaları istenir. Ek olarak, test etmek için projeyi oluşturmaları ve yürütmeleri talimatı verilir, bu da ilk uzlaşmanın gerçekleştiği yerdir. Kullanılan depolar genellikle özeldir, bu nedenle kurbandan ilk önce hesap kimliğini veya e-posta adresini vermesi istenir, bu da büyük olasılıkla kötü niyetli etkinliği araştırmacılardan gizlemek içindir.  

Buna rağmen, bu depoların halka açık olduğu birçok vaka gözlemledik ancak bunların çoğunlukla görevlerini tamamladıktan sonra bunları kendi depolarına yükleyen kurbanlara ait olduğunu fark ettik. Şekil 3, GitHub’da barındırılan truva atlı bir proje örneğini göstermektedir. Gözlemlediğimiz tüm kötü amaçlı kodları etkilenen hizmetlere bildirdik. 

Şekil 3 Truva atlı bir GitHub projesinin READMEsi

Truva atı bulaşmış projeler dört kategoriden birine girmektedir: 

  • İşe alım zorlukları, 
  • Oyunlar (genellikle blok zinciri işlevselliği ile) ve 
  • blockchain/kripto para özellikli kumar. 

Bu depolar genellikle mevcut açık kaynaklı projelerin veya demoların kopyalarıdır ve kötü amaçlı kodun eklenmesi ve README dosyasının değiştirilmesi dışında çok az değişiklik yapılır veya hiç değişiklik yapılmaz. Bazı kötü niyetli proje adları ve bunları işleten saldırgan kontrolündeki hesapların adları (bunları değerlendirebildiğimiz) Tablo 1‘de listelenmiştir. 

Tablo 1. Gözlemlenen proje adları ve repository /commit yazarları 

Project Author Project Author 
Website-Test Hiring-Main-Support casino-template-paid bmstore 
guru-challenge Chiliz-Guru casino-demo casinogamedev 
baseswap_ver_4 artemreinv point freebling-v3 
metaverse-backend metaverse-ritech Blockchain-game N/A 
lisk-parknetwork MariaMar1809 3DWorld-tectera-beta N/A 

Ayrıca saldırganların benzer isimler kullanarak veya Tablo 2‘de görüldüğü gibi isimlere LLC, Ag veya Inc (yasal şirket türlerinin kısaltmaları) ekleyerek mevcut projeleri ve şirketleri taklit ettiklerini gözlemledik. 

Tablo 2. Meşru projeleri taklit eden gözlemlenen proje adları ve repository/commit yazarları 

Project Author 
Lumanagi-Dex LUMANAGI-LLC 
DARKROOM-NFT DarkRoomAg 
DarkRoom WonderKiln-Inc 

Saldırganlar kötü niyetli kodlarını gizlemek için genellikle akıllıca bir numara kullanırlar: Kodu projenin başka türlü zararsız bir bileşenine, genellikle geliştiriciye verilen görevle ilgisi olmayan arka uç koduna yerleştirirler ve uzun bir yorumun arkasına tek bir satır olarak eklerler. Bu şekilde, ekranın dışına taşınır ve kurban üzerine kaydırmadığı veya kod düzenleyicisinin kelime kaydırma özelliğini etkinleştirmediği sürece gizli kalır. İlginç bir şekilde, GitHub’ın kendi kod düzenleyicisi kelime kaydırmayı etkinleştirmez, bu nedenle Şekil 4‘te gösterildiği gibi depodaki koda bakarken bile kötü amaçlı kodu gözden kaçırmak kolaydır. 

Şekil 4 GitHubın kod düzenleyicisinde ekran dışına iten uzun bir yorumdan sonra eklenen kötü amaçlı kod üstte ve kelime kaydırma etkinleştirilmiş bir kod düzenleyicide görüldüğü gibi sadece satır 1in sayfa kaynağı altta

Gözlemlediğimiz bir başka tehlikeye atma vektörü de sahte işe alım uzmanının kurbanı çevrimiçi bir konferans platformu kullanarak bir iş görüşmesine davet etmesi ve gerekli konferans yazılımının indirilebileceği bir web sitesine bağlantı vermesidir. Web sitesi genellikle Şekil 5‘te görüldüğü gibi mevcut bir konferans platformunun web sitesinin bir kopyasıdır ve indirilen yazılım kötü amaçlı yazılımın ilk aşamasını içerir. 

Şekil 5 MiroTalkun yasal sitesinin sfumirotalkcom kopyası olan mirotalknet adresindeki kötü amaçlı web sitesi Join Room düğmesine tıklayarak konferans yazılımı kılığında kötü amaçlı yazılım sunmaktadır

Araç Seti 

DeceptiveDevelopment, faaliyetlerinin bir parçası olarak öncelikle iki aşamada teslim edilen iki kötü amaçlı yazılım ailesi kullanmaktadır. İlk aşama olan BeaverTail, hem bir JavaScript hem de bir yerel varyanta (Qt platformu kullanılarak C++ ile yazılmış) sahiptir ve kurbana, kurbandan üzerinde çalışması istenen bir projenin parçası, bir işe alma görevi veya MiroTalk veya FreeConference gibi truva atı hâline getirilmiş uzaktan konferans yazılımının içinde gizlenmiş olarak teslim edilir. 

BeaverTail basit bir oturum açma hırsızı olarak, kayıtlı oturum açma bilgilerini içeren tarayıcı veri tabanlarını ayıklayarak ve ikinci aşama olan InvisibleFerret için bir indirici olarak hareket eder. Bu, casus yazılım ve arka kapı bileşenleri içeren modüler Python tabanlı kötü amaçlı yazılımdır ve aynı zamanda ele geçirme sonrası faaliyetler için meşru AnyDesk uzaktan yönetim ve izleme yazılımını indirebilir. Şekil 6, ilk tehlikeye atmadan veri sızıntısına ve AnyDesk’in konuşlandırılmasına kadar tüm tehlikeye atma zincirini göstermektedir. 

Şekil 6 DeceptiveDevelopment uzlaşma zinciri

Hem BeaverTail hem de InvisibleFerret daha önce Unit 42, Group-IB ve Objective-See tarafından belgelenmiştir. Paralel bir araştırma da Zscaler tarafından yayımlanmış olup bulgularını bağımsız olarak teyit edebiliriz. Analizimiz daha önce kamuya açıklanmamış ayrıntılar içermekte ve kötü niyetli faaliyetlere kapsamlı bir genel bakış sunmaktadır. 

BeaverTail 

BeaverTail, DeceptiveDevelopment tarafından kullanılan bilgi hırsızı ve indirici kötü amaçlı yazılımın adıdır. İki farklı versiyonu vardır – biri JavaScript ile yazılmış ve basit bir gizleme ile doğrudan truva atı hâline getirilmiş projelere yerleştirilmiş ve Qt platformu kullanılarak oluşturulmuş, konferans yazılımı olarak gizlenmiş ve başlangıçta Objective-See tarafından tanımlanmış yerel versiyonlar. Her iki versiyon da işlevsellikleri açısından güçlü benzerlikler taşımaktadır. 

Bu kötü amaçlı yazılım Windows, Linux ve macOS sistemlerini hedef alarak kayıtlı oturum açma bilgilerini ve kripto para cüzdanı verilerini toplamayı amaçlamaktadır. 

C&C IP adresini ve bağlantı noktasını alarak başlar. IP adresleri değişmekle birlikte, kullanılan bağlantı noktaları genellikle 1224 veya 1244’tür, bu da kötü niyetli ağ etkinliğini kolayca tanımlanabilir hale getirir. JavaScript versiyonunda, IP adresi ve bağlantı noktası base64 kodlaması kullanılarak gizlenir, üç parçaya bölünür ve otomatik kod çözmeyi önlemek için yer değiştirilir. Diğer dizeler de base64 ile kodlanır ve genellikle basit kod çözme girişimlerini engellemek için sonuç dizesine bir kukla karakter eklenir. Yerel sürümde IP, bağlantı noktası ve diğer dizelerin tümü düz metin olarak saklanır. Gizlenmiş JavaScript kodu Şekil 7 ve deobfuscated kod Şekil 8‘de görülebilir. 

Şekil 7 Gizlenmiş BeaverTail kodu
Şekil 8 Gizliliği kaldırılmış BeaverTail kodu

BeaverTail daha sonra Google Chrome, Microsoft Edge, Opera ve Brave tarayıcılarında yüklü tarayıcı uzantılarını arar ve bunlardan herhangi birinin aşağıda gösterilen Chrome Web Store veya Microsoft Edge Add-ons’tan sabit kodlanmış bir listedeki uzantı adlarıyla eşleşip eşleşmediğini kontrol eder. Parantez içinde listelenen tarayıcı uzantının kaynağıdır: Hem Opera hem de Brave’in Chromium tabanlı oldukları için Chrome Web Mağazası’ndaki uzantıları da kullandığını unutmayın. 

  • nkbihfbeogaeaoehlefnkodbefgpgknn – MetaMask (Chrome) 
  • ejbalbakoplchlghecdalmeeeajnimhm – MetaMask (Edge) 
  • fhbohimaelbohpjbbldcngcnapndodjp – BNB Chain Wallet (Chrome) 
  • hnfanknocfeofbddgcijnmhnfnkdnaad – Coinbase Wallet (Chrome) 
  • ibnejdfjmmkpcnlpebklmnkoeoihofec – TronLink (Chrome) 
  • bfnaelmomeimhlpmgjnjophhpkkoljpa – Phantom (Chrome) 
  • fnjhmkhhmkbjkkabndcnnogagogbneec – Ronin Wallet (Chrome) 
  • aeachknmefphepccionboohckonoeemg – Coin98 Wallet (Chrome) 
  • hifafgmccdpekplomjjkcfgodnhcellj – Crypto.com Wallet (Chrome) 

Eğer bulunurlarsa uzantıların dizinlerinden .ldb ve .log dosyaları toplanır ve dışarı çıkarılır. 

Bu dosyaların yanı sıra kötü amaçlı yazılım ayrıca .config/solana/id.json adresinde kullanıcının ev dizininde saklanan Solana anahtarlarını içeren bir dosyayı da hedef alır. BeaverTail daha sonra /Library/Keychains/‌ login.keychain (macOS için) veya /.local/share/keyrings/ (Linux için) içinde kayıtlı oturum açma bilgilerini arar. Eğer varsa /.mozilla/firefox/ adresindeki key3.db, key4.db ve logins.json Firefox oturum açma veri tabanları da bu süre zarfında dışarı sızdırılır. 

Her BeaverTail örneği, tanımlama için kullanılan bir kurban kimliği içerir. Bu kimlikler, tüm indirmelerde ve yüklemelerde tanımlayıcı olarak tüm uzlaşma zinciri boyunca kullanılır. Bu kimliklerin her kurban için benzersiz olduğundan ve çalınan bilgileri kurbanın herkese açık profiline bağlamak için kullanıldığından şüpheleniyoruz.  

Toplanan veriler, bilgisayar ana bilgisayar adı ve geçerli zaman damgası ile birlikte C&C sunucusundaki /uploads API uç noktasına yüklenir. Ardından, bir sonraki aşamanın yürütülmesini sağlamak için C&C sunucusunda barındırılan p2.zip adlı bir arşivde bağımsız bir Python ortamı indirilir. Son olarak, bir sonraki aşama C&C sunucusundan (API uç noktası /client/< campaign_ID> ) kullanıcının ev dizinine .npl adı altında indirilir ve indirilen Python ortamı kullanılarak çalıştırılır. 

Ağustos 2024’te, JavaScript BeaverTail’in yeni bir sürümünü gözlemledik; burada truva atı hâline getirilmiş projeye yerleştirilen kod yalnızca bir yükleyici olarak hareket ediyor ve gerçek yük kodunu uzak bir sunucudan indirip çalıştırıyordu . Bu sürümde ayrıca farklı bir gizleme tekniği kullanılmış ve hedef listesine dört yeni kripto para cüzdanı uzantısı eklenmiştir: 

  • jblndlipeogpafnldhgmapagcccfchpi – Kaia Wallet (Chrome) 
  • acmacodkjbdgmoleebolmdjonilkdbch – Rabby Wallet (Chrome) 
  • dlcobpjiigpikoobohmabehhmhfoodbb – Argent X – Starknet Wallet (Chrome) 
  • aholpfdialjgjfhomihkjbmgjidlcdno – Exodus Web3 Wallet (Chrome) 

ipcheck[.]cloud web sitesini incelerken ana sayfanın uzaktan konferans yazılımı olarak gizlenmiş yerel BeaverTail kötü amaçlı yazılımını sunan kötü amaçlı mirotalk[.]net web sitesinin bir aynası olduğunu fark ettik, bu da yeni JavaScript ile BeaverTail’in yerel sürümleri arasında doğrudan bir bağlantı olduğunu gösteriyor. 

InvisibleFerret 

InvisibleFerret, bilgi hırsızlığı ve uzaktan saldırgan kontrolü için yeteneklere sahip modüler Python kötü amaçlı yazılımıdır. Dört modülden oluşur – ana (.npl dosyası), yük (pay), tarayıcı (bow) ve AnyDesk (adc). Zararlı yazılımın, tehlikeye atma zincirinin sonunda konuşlandırılan AnyDesk istemcisi dışında herhangi bir kalıcılık mekanizması yoktur. Saldırganlar AnyDesk aracılığıyla kalıcılık kazandıktan sonra InvisibleFerret’i istedikleri gibi çalıştırabilirler.  

İlginç bir şekilde, arka kapı işlevlerinin çoğu, diğer tarafta komutlar gönderen, hangi verilerin sızdırılacağına ve saldırının nasıl yayılacağına karar veren bir operatör (veya komut dosyası davranışı) gerektirir. InvisibleFerret’in gözlemlediğimiz tüm sürümlerinde, arka kapı bileşenleri operatör komutuyla etkinleştirilir. Operatör tarafından yürütülmeyen tek işlev, otomatik olarak yapılan ilk parmak izidir. 

Ana modül 

Orijinal adı main olan ana modül, BeaverTail’in C&C sunucusundan indirdiği ve ana dizine kaydettiği .npl dosyasıdır. Tek tek yük modüllerinin indirilmesinden ve çalıştırılmasından sorumludur. Tüm modüller, XOR anahtarını temsil eden dört bayttan önce XOR şifreli ve base64 kodlu bir yük içerir, ardından Şeki l9‘da görüldüğü gibi exec aracılığıyla şifresini çözmek ve çalıştırmak için kod içerir. Her modül ayrıca mevcut kurban kimliğini içeren sType değişkenini de içerir. Bu kimlik, indirme talebinde belirtilen kimliğin bir kopyasıdır. Kod dosyasını indirmek için bir istek yapıldığında verilen kimlik C&C sunucusunun API’si tarafından nihai kod dosyasına sType değeri olarak yerleştirilir. 

Şekil 9 InvisibleFerret yükünün şifresinin çözülmesi ve çalıştırılması

Bu modül, base64 ile kodlanmış ve kod çözmeyi zorlaştırmak için değiştirilmiş iki yarıya bölünmüş sabit kodlu bir C&C adresi içerir. Gözlemlediğimiz çoğu durumda, bu adres önceki BeaverTail örneğinde kullanılan adresle aynıydı. Ana modül yük modülünü /payload/< campaign_ID> adresinden kullanıcının ev dizinindeki .n2/pay dosyasına indirir ve çalıştırır. Daha sonra, macOS üzerinde çalışıyorsa (platform.system işlevine yapılan bir çağrının Darwin döndürüp döndürmediği kontrol edilerek belirlenir) çıkar. Diğer işletim sistemlerinde ayrıca tarayıcı modülünü /brow/< campaign_ID> adresinden kullanıcının ev dizinindeki .n2/bow dosyasına indirir ve bunu ayrı bir Python örneğinde çalıştırır. 

Yük modülü 

Ödeme modülü iki bölümden oluşur; biri bilgi toplar, diğeri ise arka kapı görevi görür. İlk kısım, genellikle daha önce kullanılanlara benzer şekilde kodlanmış bir C&C URL’si içerir ve aşağıdakileri toplar: 

  • Kullanıcının UUID’si, 
  • İşletim sistemi türü, 
  • Sistem sürümü (sürüm), 
  • http://ip-api.com/json adresinden ayrıştırılan genel IP adresi ve coğrafi konum bilgileri (bölge adı, ülke, şehir, posta kodu, ISP, enlem ve boylam). 

Şekil 10‘da gösterilen bu bilgiler daha sonra HTTP POST kullanılarak /keys API uç noktasına yüklenir. 

Şekil 10 Yük modülü tarafından CC sunucusuna gönderilen sistem bilgileri

İkinci kısım bir TCP arka kapısı ve bir TCP ters kabuk görevi görür, C&C sunucusundan uzak komutları kabul eder ve bir soket bağlantısı üzerinden iletişim kurar. Genellikle 1245 numaralı portu kullanır ancak 80, 2245, 3001 ve 5000 numaralı portları da gözlemledik. Özellikle, bu bölümde kodlanan C&C IP adresi, muhtemelen daha şüpheli nihai ağ etkinliğini ilk dağıtımdan ayırmak için bazen öncekilerden farklıydı. 

İkinci yük, Windows altında çalışıp çalışmadığını kontrol eder. Eğer çalışıyorsa pyWinHook kullanılarak uygulanan bir keylogger’ı ve pyperclip kullanarak bir pano hırsızını etkinleştirir, Şekil 11‘de gösterilmiştir. Bunlar tüm tuş basışlarını ve pano değişikliklerini global bir tamponda toplar ve saklar ve betiğin kendisi çalıştığı sürece özel bir iş parçacığında çalışır. 

Şekil 11 Pano hırsızı ve keylogger kodu

Daha sonra, Tablo 3‘te açıklanan sekiz komuttan oluşan arka kapı işlevini yürütür. 

Tablo 3. InvisibleFerret’te uygulanan komutlar 

ID Command Function Description 
ssh_cmd Removes the compromise Only supports the delete argument. Terminates operation and removes the compromise. 
ssh_obj Executes shell commands Executes the given argument[s] using the system shell via Python’s subprocess module and returns any output generated by the command. 
ssh_clip Exfiltrates keylogger and clipboard stealer data Sends the contents of the keylogger and clipboard stealer buffer to the C&C server and clears the buffer. On operating systems other than Windows, an empty response is sent, as the keylogging functionality is not enabled. 
ssh_run Installs the browser module Downloads the browser module to .n2/bow in the user’s home directory and executes it in a new Python instance (with the CREATE_NO_WINDOW and CREATE_NEW_PROCESS_GROUP flags set on Windows) Replies to the server with the OS name and get browse. 
ssh_upload Exfiltrates files or directories, using FTP Uploads files to a given FTP server with server address and credentials specified in arguments. Has six subcommands: sdira, sdir, sfile, sfinda, sfindr, and sfind. sdira – uploads everything in a directory specified in args, skipping directories matching the first five elements in the ex_dirs array (listed below). Sends >> upload all start: followed by the directory name to the server when the upload starts, counts: followed by the number of files selected for upload when directory traversal finishes, and uploaded success once everything is uploaded. sdir – similar to sdira, but exfiltrates only files smaller than 104,857,600 bytes (100 MB) with extensions not excluded by ex_files and directories not excluded by ex_dirs. The initial message to the server is >> upload start: followed by the directory name. sfile – similar to sdir, but exfiltrates only a single file. If the extension is .zip, .rar, .pdf, or is in the ex_files list (in this case not being used to exclude files for upload, but from encryption), it gets directly uploaded. Otherwise the file is encrypted using XOR with the hardcoded key G01d*8@( before uploading. sfinda – searches the given directory and all its subdirectories (excluding those in the ex_dirs list) for files matching a provided pattern, and uploads those not matching items in the ex_files list. When starting, sends >> ufind start: followed by the starting directory to the server, followed by ufind success after it finishes. sfindr – similar to sfinda, but without the recursive search. Searches only the specified directory. sfind – similar to sfinda, but starts the search in the current directory. 
ssh_kill Terminates the Chrome and Brave browsers Termination is done via the taskkill command on Windows or killall on other systems, as shown in Figure 12. Replies to the server with Chrome & Browser are terminated. 
ssh_any Installs the AnyDesk module This works identically to the ssh_run command, downloading the AnyDesk module to and executing it from the .n2 folder in the user’s home directory. Replies to the server with the OS name and get anydesk. 
ssh_env Uploads data from the user’s home directory and mounted drives, using FTP Sends — uenv start to the server. Establishes an FTP connection using the server address and credentials provided in the arguments. On Windows, uploads the directory structure and contents of the Documents and Downloads folders, as well as the contents of drives D to I. On other systems, uploads the entirety of the user’s home directory and the /Volumes directory containing all mounted drives. Only uploads files smaller than 20,971,520 bytes (20 MB) and excludes directories matching the ex_dir list and files matching the ex_files, ex_files1, and ex_files2 lists described in Figure 13. Finishes by sending — uenv success to the server. 
Şekil 12 ssh kill komutunun uygulanması

Her komut ssh_ önekiyle adlandırılır ve sunucuyla iletişim kurarken kullanılmak üzere sayısal bir değer atanır. Alınan her komut için yeni bir iş parçacığı oluşturulur ve istemci hemen bir sonraki komutu dinlemeye başlar. Komutlara verilen yanıtlar, komutlar yürütülmeyi tamamladığında eş zamansız olarak gönderilir. İki yönlü iletişim soketler üzerinden JSON formatında, iki alanla yapılır: 

  • komutu – sayısal komut kimliğini belirtir. 
  • args – sunucu ve istemci arasında gönderilen tüm ek verileri içerir. 

Komut dosyası ayrıca veri sızarken atlanacak hariç tutulan dosya ve dizin adlarının (yazılım projeleri ve depoları için önbellek ve geçici dizinler gibi) listesini ve sızılacak ilginç ad kalıplarının bir listesini (ortam ve yapılandırma dosyaları; gizli, cüzdan, özel, parola vb. kelimeleri içeren belgeler, elektronik tablolar ve diğer dosyalar) içerir. 

Tarayıcı modülü 

The bow modülü, web tarayıcıları tarafından kaydedilen oturum açma verilerini, otomatik doldurma verilerini ve ödeme bilgilerini çalmaktan sorumludur. Hedeflenen tarayıcılar Chrome, Brave, Opera, Yandex ve Edge olup hepsi Chromium tabanlıdır ve Şekil 13‘te gösterildiği gibi üç büyük işletim sisteminin (Windows, Linux, macOS) her biri için birden fazla sürüm listelenmiştir. 

Şekil 13 Hedeflenen tarayıcılar ve sürümleri

Tarayıcının yerel depolama klasörlerinde arama yapar (bir örnek Şekil 14’te gösterilmiştir) ve oturum açma ve ödeme bilgilerini içeren veri tabanlarını Windows’ta %Temp% klasörüne veya diğer sistemlerde /tmp klasörüne iki dosya halinde kopyalar: 

  • Kullanıcı giriş bilgilerini içeren LoginData.db ve 
  • webdata.db kayıtlı ödeme bilgilerini (kredi kartları) içerir. 
Şekil 14 Windowsta sabit kodlanmış yerel tarayıcı yolları

Kaydedilen parolalar ve kredi kartı numaraları AES kullanılarak şifrelenmiş bir biçimde saklandığından dışarı sızmadan önce şifrelerinin çözülmesi gerekir. Bunun için kullanılan şifreleme anahtarları, kullanılan işletim sistemine bağlı olarak elde edilir. Windows’ta bunlar tarayıcının Local State dosyasından çıkarılır, Linux’ta secretstorage paketi aracılığıyla elde edilir ve macOS’ta Şekil 15‘te gösterildiği gibi güvenlik yardımcı programı aracılığıyla elde edilir. 

Şekil 15 Windows Linux ve macOSta tarayıcı veritabanları için şifreleme anahtarlarını çıkarma

Toplanan bilgiler (bkz. Şekil 16) daha sonra /keys API uç noktasına bir HTTP POST isteği aracılığıyla C&C sunucusuna gönderilir. 

Şekil 16 Tarayıcı modülü tarafından CC sunucusuna gönderilen bilgiler

AnyDesk modülü 

adc modülü, bu ele geçirme zincirinde bulunan tek kalıcılık mekanizmasıdır ve sabit kodlanmış oturum açma kimlik bilgilerini içeren bir yapılandırma dosyası kullanarak kurbanın bilgisayarına AnyDesk erişimi kurar. 

Windows’ta, C:/Program Files (x86)/AnyDesk/AnyDesk.exe dosyasının var olup olmadığını kontrol eder. Eğer yoksa anydesk.exe dosyasını C&C sunucusundan (http://< C&C_IP :>< C&C_port> /anydesk.exe) kullanıcının ev dizinine indirir. 

Ardından, yapılandırma dosyalarına sabit kodlanmış parola hash, parola salt ve token salt değerlerini girerek AnyDesk’i saldırganın erişimi için ayarlamaya çalışır. Yapılandırma dosyaları mevcut değilse veya saldırgan tarafından belirtilen parola salt değerini içermiyorsa modül, kodlanmış oturum açma bilgilerini eklemek için bunları değiştirmeye çalışır. Bu başarısız olursa kullanıcının ana dizininde yapılandırma dosyalarını değiştirmek için kod içeren conf.ps1 adlı bir PowerShell betiği oluşturur (Şekil 17‘de gösterilmiştir) ve bunu başlatmayı dener. 

Şekil 17 AnyDesk yapılandırmasını değiştirmek sabit kodlanmış parola hash ve salt ve token salt eklemek için PowerShell betiği

Bu eylemler tamamlandıktan sonra AnyDesk süreci öldürülür ve ardından yeni yapılandırmayı yüklemek için yeniden başlatılır. Son olarak, adc modülü kendi üzerinde os.remove işlevini çağırarak kendini silmeye çalışır. 

InvisibleFerret güncellemesi 

Daha sonra InvisibleFerret’in en az Ağustos 2024’ten beri kullanılan ve büyük değişiklikler içeren güncellenmiş bir sürümünü keşfettik. Artık ayrı modüllere ayrılmıyor, bunun yerine tek bir büyük komut dosyası olarak mevcut (ancak tarayıcı ve AnyDesk modüllerini seçici olarak yüklemek için arka kapı komutlarını hâlâ koruyor). Ayrıca macOS’un daha fazla desteklenmesi için örneğin bilgisayarın ana bilgisayar adıyla birlikte kullanıcı adının toplanması gibi küçük kod değişiklikleri de vardır. 

Gözlemlediğimiz bir diğer değişiklik de sType’a ek olarak gType adlı bir tanımlayıcının eklenmesidir. C&C sunucusundan modül indirirken sType’a ek olarak ikincil bir kurban/kampanya tanımlayıcısı görevi görür (örneğin, <C&C_IP>:<port>/<module>/<sType>/<gType> ). Sızdırılan verileri etiketlemek için kullanıldığını görmedik. 

InvisibleFerret’in bu yeni sürümü ayrıca Telegram ve FTP aracılığıyla tarayıcı uzantıları ve parola yöneticilerinden veri sızdırabilen ssh_zcp adlı ek bir arka kapı komutu da uyguladı. 

Yeni komutla InvisibleFerret önce Chrome, Brave ve Edge tarayıcıları için 88 tarayıcı uzantısından veri arar ve varsa toplar ve ardından bunları sistemin geçici dizinindeki bir hazırlama klasörüne yerleştirir. Uzantıların tam listesi Appendix’te bulunabilir ve veri toplama kodu Şekil 18‘de gösterilmiştir. 

Şekil 18 InvisibleFerretin yeni sürümünde tarayıcı uzantılarından veri toplama

Komut, uzantı verilerinin yanı sıra Windows’ta 1Password, Electrum, WinAuth, Proxifier4 ve Dashlane’e ek olarak tüm sistemlerdeki Atomic ve Exodus kripto para cüzdanlarından da bilgi sızdırabilir. Bu durum Şekil 19‘da gösterilmektedir. 

Şekil 19 InvisibleFerretin yeni sürümünde çeşitli uygulamalardan veri toplanması

Veriler daha sonra arşivlenir ve bir bot belirteci ile Telegram API kullanılarak bir Telegram sohbetine ve bir FTP sunucusuna yüklenir. Yükleme tamamlandıktan sonra InvisibleFerret hem hazırlama klasörünü hem de arşivi kaldırır. 

Pano çalma modülü 

Aralık 2024’te InvisibleFerret’in C&C uç noktası /mclip/< campaign_ID> adresinden .n2/mlip olarak indirilen mlip adlı ek bir modül içeren başka bir sürümünü keşfettik. Bu modül, yük modülünün geri kalanından ayrılmış olan keylogging ve clipboard çalma işlevlerini içermektedir.  

Operatörlerin teknik yeteneklerinde bir ilerleme olduğunu gösteren bu modülün keylogging ve clipboard çalma işlevi, InvisibleFerret’in önceki sürümleri her türlü tuş vuruşunu günlüğe kaydederken yalnızca chrome.exe ve brave.exe olmak üzere iki işlemle sınırlandırılmıştır. Toplanan veriler yeni bir API uç noktası olan /api/clip’e yüklenir.  

Network altyapısı 

DeceptiveDevelopment’ın ağ altyapısı, ticari barındırma sağlayıcıları tarafından barındırılan özel sunuculardan oluşmaktadır ve en yaygın kullanılan üç sağlayıcı RouterHosting (şimdi Cloudzy olarak bilinmektedir), Stark Industries Solutions ve Pier7ASN’dir. Sunucu API’si Node.js ile yazılmıştır ve Tablo 5‘te listelenen dokuz uç noktadan oluşmaktadır. 

Tablo 5. DeceptiveDevelopment C&C API uç noktaları 

API endpoint Description 
/pdown Downloading the Python environment. 
/uploads BeaverTail data upload. 
/client/<campaign_ID> InvisibleFerret loader. 
/payload/<campaign_ID> InvisibleFerret payload module. 
/brow/<campaign_ID> InvisibleFerret browser module. 
/adc/<campaign_ID> InvisibleFerret AnyDesk module. 
/mclip/<campaign_ID> InvisibleFerret keylogger module. 
/keys InvisibleFerret data upload. 
/api/clip InvisibleFerret keylogger module data upload. 

Gözlemlediğimiz çoğu C&C iletişimi HTTP üzerinden C&C iletişimi için 1224 veya 1244 (bazen 80 veya 3000) ve TCP soketleri üzerinden arka kapı C&C iletişimi için 1245 (bazen 80, 2245, 3001, 5000 veya 5001) bağlantı noktaları üzerinden yapıldı. Python ortamının indirilmesi dışında, istemciden C&C sunucusuna yapılan tüm iletişim kampanya kimliğini içerir. InvisibleFerret indirmeleri için ID, GET isteğindeki URL’nin sonuna eklenir. Veri sızıntısı için ID, POST isteğinin bir parçası olarak type alanında gönderilir. Bu, ağ trafiğini tanımlamak ve hangi belirli örnek ve kampanyaya ait olduğunu belirlemek için kullanışlıdır.  

Gözlemlediğimiz kampanya kimlikleri (sType ve gType değerleri) alfanümeriktir ve kampanyayla doğrudan bir ilişkisi yok gibi görünmektedir. gType kullanılmaya başlamadan önce, sType değerlerinden bazıları 5Team9 ve 7tEaM; gibi takım kelimesinin varyantlarını ve sayıları içeren base64 dizeleriydi. gType tanıtıldıktan sonra, her iki değer için de gözlemlenen değerlerin çoğu base64 kullanılmadan tamamen sayısaldı. 

Sonuç 

DeceptiveDevelopment kümesi, Kuzey Kore’ye bağlı aktörler tarafından kullanılan zaten geniş bir para kazanma planları koleksiyonuna bir ektir ve odağı geleneksel paradan kripto para birimlerine kaydırma eğilimine uygundur. Araştırmamız sırasında, ilkel araç ve tekniklerden daha gelişmiş ve yetenekli kötü amaçlı yazılımlara ve kurbanları cezbetmek ve kötü amaçlı yazılımı dağıtmak için daha gösterişli tekniklere geçtiğini gözlemledik. Herhangi bir çevrimiçi iş arama ve serbest çalışma platformu, sahte işe alım uzmanları tarafından kötü amaçlı yazılım dağıtımı için kötüye kullanılma riski altında olabilir. Bu kampanyayla ilgili önemli faaliyetler gözlemlemeye devam ediyoruz ve DeceptiveDevelopment’ın kripto para kullanıcılarını hedef almak için yenilikler yapmaya ve daha fazla yol aramaya devam etmesini bekliyoruz. 

IoC’ler 

Kapsamlı bir uzlaşma göstergeleri (IoC’ler) listesi ve örnekleri GitHub depomuzda bulunabilir. 

Files 

SHA-1 Filename Detection Description 
48E75D6E2BDB2B00ECBF4801A98F96732E397858 FCCCall.exe Win64/DeceptiveDevelopment.A Trojanized conferencing app – native BeaverTail. 
EC8B6A0A7A7407CA3CD18DE5F93489166996116C pay.py Python/DeceptiveDevelopment.B InvisibleFerret payload module. 
3F8EF8649E6B9162CFB0C739F01043A19E9538E7 bow.py Python/DeceptiveDevelopment.C InvisibleFerret browser module. 
F6517B68F8317504FDCD415653CF46530E19D94A pay_u2GgOA8.py Python/DeceptiveDevelopment.B InvisibleFerret new payload module. 
01C0D61BFB4C8269CA56E0F1F666CBF36ABE69AD setupTest.js JS/Spy.DeceptiveDevelopment.A BeaverTail. 
2E3E1B95E22E4A8F4C75334BA5FC30D6A54C34C1 tailwind.config.js JS/Spy.DeceptiveDevelopment.A BeaverTail. 
7C8724B75BF7A9B8F27F5E86AAC9445AAFCCB6AC conf.ps1 PowerShell/DeceptiveDevelopment.A AnyDesk configuration PowerShell script. 
5F5D3A86437082FA512B5C93A6B4E39397E1ADC8 adc.py Python/DeceptiveDevelopment.A InvisibleFerret AnyDesk module. 
7C5B2CAFAEABBCEB9765D20C6A323A07FA928624 bow.py Python/DeceptiveDevelopment.A InvisibleFerret browser module. 
BA1A54F4FFA42765232BA094AAAFAEE5D3BB2B8C pay.py Python/DeceptiveDevelopment.A InvisibleFerret payload module. 
6F049D8A0723DF10144CB51A43CE15147634FAFE .npl Python/DeceptiveDevelopment.A InvisibleFerret loader module. 
8FECA3F5143D15437025777285D8E2E3AA9D6CAA admin.model.js JS/Spy.DeceptiveDevelopment.A BeaverTail. 
380BD7EDA453487CF11509D548EF5E5A666ACD95 run.js JS/Spy.DeceptiveDevelopment.A BeaverTail. 

Network 

IP Domain Hosting provider First seen Details 
95.164.17[.]24 N/A STARK INDUSTRIES SOLUTIONS LTD 2024-06-06 BeaverTail/InvisibleFerret C&C and staging server. 
185.235.241[.]208 N/A STARK INDUSTRIES SOLUTIONS LTD 2021-04-12 BeaverTail/InvisibleFerret C&C and staging server. 
147.124.214[.]129 N/A Majestic Hosting Solutions, LLC 2024-03-22 BeaverTail/InvisibleFerret C&C and staging server. 
23.106.253[.]194 N/A LEASEWEB SINGAPORE PTE. LTD. 2024-05-28 BeaverTail/InvisibleFerret C&C and staging server. 
147.124.214[.]237 N/A Majestic Hosting Solutions, LLC 2023-01-28 BeaverTail/InvisibleFerret C&C and staging server. 
67.203.7[.]171 N/A Amaze Internet Services 2024-02-14 BeaverTail/InvisibleFerret C&C and staging server. 
45.61.131[.]218 N/A RouterHosting LLC 2024-01-22 BeaverTail/InvisibleFerret C&C and staging server. 
135.125.248[.]56 N/A OVH SAS 2023-06-30 BeaverTail/InvisibleFerret C&C and staging server. 

MITRE ATT&CK teknikleri 

Bu tablo MITRE ATT&CK çerçevesinin 16. sürümü kullanılarak oluşturulmuştur. 

Tactic ID Name Description 
Resource Development T1583.003 Acquire Infrastructure: Virtual Private Server The attackers rent out infrastructure for C&C and staging servers. 
T1587.001 Develop Capabilities: Malware The attackers develop the BeaverTail and InvisibleFerret malware. 
T1585.001 Establish Accounts: Social Media Accounts The attackers create fake social media accounts, pretending to be recruiters. 
T1608.001 Stage Capabilities: Upload Malware InvisibleFerret modules are uploaded to staging servers, from where they are downloaded to victimized systems. 
Initial Access T1566.003 Phishing: Spearphishing via Service Spearphishing via job-hunting and freelancing platforms. 
Execution T1059.006 Command-Line Interface: Python InvisibleFerret is written in Python. 
T1059.007 Command-Line Interface: JavaScript/JScript BeaverTail has a variant written in JavaScript. 
T1204.002 User Execution: Malicious File Initial compromise is triggered by the victim executing a trojanized project containing the BeaverTail malware. 
T1059.003 Command-Line Interface: Windows Command Shell InvisibleFerret’s remote shell functionality allows access to the Windows Command Shell. 
Persistence T1133 External Remote Services Persistence is achieved by installing and configuring the AnyDesk remote access tool. 
Defense Evasion T1140 Deobfuscate/Decode Files or Information The JavaScript variant of BeaverTail uses code obfuscation. C&C server addresses and other configuration data are also encrypted/encoded. 
T1564.001 Hide Artifacts: Hidden Files and Directories InvisibleFerret files are dropped to disk with the hidden attribute. 
T1564.003 Hide Artifacts: Hidden Window InvisibleFerret creates new processes with their windows hidden.  
T1027.013 Obfuscated Files or Information: Encrypted/Encoded File InvisibleFerret payloads are encrypted and have to be decrypted before execution. 
Credential Access T1555.001 Credentials from Password Stores: Keychain Keychain data is exfiltrated by both BeaverTail and InvisibleFerret. 
T1555.003 Credentials from Password Stores: Credentials from Web Browsers Credentials stored in web browsers are exfiltrated by InvisibleFerret. 
T1552.001 Unsecured Credentials: Credentials In Files Plaintext credentials/keys in certain files are exfiltrated by both BeaverTail and InvisibleFerret. 
Discovery T1010 Application Window Discovery The InvisibleFerret keylogger collects the name of the currently active window. 
T1217 Browser Bookmark Discovery Credentials and other data stored by browsers are exfiltrated by InvisibleFerret. 
T1083 File and Directory Discovery The InvisibleFerret backdoor can browse the filesystem and exfiltrate files. 
T1082 System Information Discovery System information is collected by both BeaverTail and InvisibleFerret. 
T1614 System Location Discovery InvisibleFerret geolocates the campaign by querying the IP address location. 
T1016 System Network Configuration Discovery InvisibleFerret collects network information, such as private and public IP addresses. 
T1124 System Time Discovery InvisibleFerret collects the system time. 
Lateral Movement T1021.001 Remote Services: Remote Desktop Protocol AnyDesk is used by InvisibleFerret to achieve persistence and allow remote attacker access. 
Collection T1056.001 Input Capture: Keylogging InvisibleFerret contains keylogger functionality. 
T1560.002 Archive Collected Data: Archive via Library Data exfiltrated using InvisibleFerret can be archived using the py7zr and pyzipper Python packages. 
T1119 Automated Collection Both BeaverTail and InvisibleFerret exfiltrate some data automatically. 
T1005 Data from Local System Both BeaverTail and InvisibleFerret exfiltrate data from the local system. 
T1025 Data from Removable Media InvisibleFerret scans removable media for files to exfiltrate. 
T1074.001 Data Staged: Local Data Staging InvisibleFerret copies browser databases to the temp folder prior to credential extraction. When exfiltrating via a ZIP/7z archive, the file is created locally before being uploaded. 
T1115 Clipboard Data InvisibleFerret contains clipboard stealer functionality. 
Command and Control T1071.001 Standard Application Layer Protocol: Web Protocols C&C communication is done over HTTP. 
T1071.002 Standard Application Layer Protocol: File Transfer Protocols Files are exfiltrated over FTP by InvisibleFerret. 
T1571 Non-Standard Port Nonstandard ports 1224, 1244, and 1245 are used by BeaverTail and InvisibleFerret. 
T1219 Remote Access Tools InvisibleFerret can install AnyDesk as a persistence mechanism. 
T1095 Non-Application Layer Protocol TCP is used for command and control communication. 
Exfiltration T1030 Data Transfer Size Limits In some cases, InvisibleFerret exfiltrates only files below a certain file size. 
T1041 Exfiltration Over Command and Control Channel Some data is exfiltrated to the C&C server over HTTP. 
T1567.004 Exfiltration Over Web Service: Exfiltration Over Webhook Exfiltrating ZIP/7z files can be done over a Telegram webhook (InvisibleFerret’s ssh_zcp command). 
Impact T1657 Financial Theft This campaign’s goal is cryptocurrency theft and InvisibleFerret has also been seen exfiltrating saved credit card information. 

Ekler 

Aşağıda yeni InvisibleFerret tarafından hedeflenen tarayıcı uzantılarının bir listesi bulunmaktadır:

ArgentX Dashalane Libonomy 
Aurox Enkrypt MagicEden 
Backpack Eternl Manta 
Binance Exodus Martian 
Bitget Fewcha-Move Math 
Blade Fluent MetaMask 
Block Frontier MetaMask-Edge 
Braavos GoogleAuth MOBOX 
ByBit Hashpack Moso 
Casper HAVAH MyTon 
Cirus HBAR Nami 
Coin98 Initia OKX 
CoinBase Keplr OneKey 
Compass-Sei Koala OpenMask 
Core-Crypto LastPass Orange 
Cosmostation LeapCosmos OrdPay 
Crypto.com Leather OsmWallet 

author avatar

Kaynak

BİR YORUM YAZIN

ZİYARETÇİ YORUMLARI - 0 YORUM

Henüz yorum yapılmamış.

Gelisiyorum.com | Görsel Eğitim Akademisi!