Soru Hacklenmek. Nasıl olduğunu anlamak istiyorum


Birisi, ikinci kez, koşmak yardımcı bir siteye javascript bir parça ekledi. Bu javascript, Google adsense'i kaçırıyor, kendi hesap numaralarını ekliyor ve reklamları her yere yapıştırıyor.

Kod her zaman eklidir, her zaman belirli bir dizinde (bir üçüncü taraf reklam programı tarafından kullanılır), bu tek bir reklam dizindeki (20 ya da öylesine) bir dizi dizindeki bir çok dosyayı etkiler ve bir gecede kabaca aynı şekilde eklenir. saati. Adsense hesabı Çince bir web sitesine aittir (gelecek ay Çin'de olacağım bir saat değil, bir şehirde bir kasabada yer alır. Belki de bust kafaları bindim ... şaka yapıyorum), btw ... işte bilgi site: http://serversiders.com/fhr.com.cn

Peki, bu dosyalara nasıl metin ekleyebilirler? Dosyalarda ayarlanan izinlerle (755 - 644 arasında) ilgili mi? Web sunucusu kullanıcısına (MediaTemple'de güvenli olmalı, evet mi?)? Demek istediğim, 777'ye ayarlanmış izinler içeren bir dosyam varsa, yine de ona sadece kod ekleyemiyorum ... bunu nasıl yapıyor olabilirler?

Burada, izleme keyfiniz için gerçek bir kod örneği (ve görebildiğiniz gibi ... çok fazla değil. Gerçek numara, oraya nasıl ulaştıklarıdır):

<script type="text/javascript"><!--
google_ad_client = "pub-5465156513898836";
/* 728x90_as */
google_ad_slot = "4840387765";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

Bazı milletlerden bahsettiğinden beri, kontrol ettiğim şey (ve işaretlendiğimde, dosyaların herhangi bir tuhaflık için değiştirildiği zamana baktım ve POST ifadeleri ve dizin geçişleri için dosyaları çektim:

  • access_log (normal (ör. aşırı) msn bot trafiği hariç)
  • error_log (normal dosyadan başka bir şey yokken, zararsız görünen dosyalar için hata yoktur)
  • ssl_log (normalden başka bir şey değil)
  • messages_log (burada benim haricimde FTP erişimi yok)

* GÜNCELLEME: ** Tamam, çözüldü. Çin'den hackerlar sitemize her türlü yönetimsel işlemi yapabilmeleri için bir dosya yerleştirmişlerdi (veritabanı erişimi, dosya ve dizinleri silme ve oluşturma, siz ismini ver, erişimleri vardı). Daha yıkıcı bir şey yapmadıkları için şanslıydık. Normal apache log dosyalarında hiçbir şey yoktu, ancak web sunucusu log analizöründe farklı bir log dosyası seti buldum ve kanıtlar oradaydı. Bu dosyaya kendi yönetici kullanıcı adı ve şifresiyle erişiyorlardı ve daha sonra sunucuda ihtiyaç duydukları her şeyi düzenliyorlardı. Dosyanızda diğer tüm dosyaların farklı bir kullanıcı adı bulunurken, dosyalarının "apache" kullanıcısı vardır. Şimdi bu dosyayı fiziksel olarak sistemimize nasıl aldıklarını anlamaya ihtiyacım var. Ben bu aslında bir süre orada olmuştur, ancak, aslında, bizim FTP giriş yaptıklarını bilmiyordum, ancak bu dosya muhtemelen orada olduğu gibi, ne kadar belirleyeceğinden emin değil, bu bizim web barındırma (Media Temple) ile istirahat için suçlamadan şüpheleniyorum.


39
2018-05-06 03:14


Menşei


Bilmiyorum, birisine şifreni verdin mi?
Tam olarak ne zaman olduğunu biliyorsanız, bu zamana kadar olağandışı her şey için access_log'unuzu arayın. Özellikle tüm POST taleplerini not edin: nereye gittiler, yaptıkları şey. - sanmai
Thx WhirlWind ... çok yardımcı olur. - Lothar_Grimpsenbacher
Aslında onları biliyorsanız, neden bir anti-spam sitesi üzerinde adres bilgilerini yapıştırmayın. Net, onlara "konuşun" ve onlara kendi medakini bir tat versin. :-)
@ gaoshan88 - daha yararlı, o zaman düşünebilirsiniz. Bir saldırı vektörü, geliştiricilerin ftp istemcilerinin şifrelerini koklayan bir Truva atıdır. - Quentin


Cevaplar:


Her şeyden önce chmod 744 onun ne istediğini değil. Chmod'un noktası, sistemdeki diğer hesaplara erişimi iptal etmektir. Chmod 700 chmod'tan çok daha güvenli 744. Ancak Apache sadece php uygulamanızı çalıştırmak için yürütme bitine ihtiyaç duyar.

chmod 500 -R /your/webroot/

chown www-data:www-data -R /your/webroot/

www-data, php'yi yürütmek için kullanılan Apache'nin hesabı olarak yaygın olarak kullanılır. Kullanıcı hesabını görmek için bu komutu da çalıştırabilirsiniz:

`<?php
print system("whoami");
?>`

FTP korkunç güvensiz ve bu yöntemden hacklendiğiniz çok muhtemeldir. FTP'yi kullanarak dosyaları yazılabilir hale getirebilir ve sonra tekrar bulaştırırsınız. Çalıştığınızdan emin olun. anti-virüs FTP erişimi olan tüm makinelerde. FTP kullanıcı adları ve parolalar için yerel trafiği koklayan ve sonra giriş yapan ve dosyaları bulaştırmak için virüsler var. Güvenliği önemsiyorsanız, her şeyi şifreleyen SFTP'yi kullanırsınız. Kaynak kodun ve şifrelerin açık metinde tel üzerinden gönderilmesi toplam deliliktir.

Başka bir olasılık ise eski bir kütüphane veya uygulama kullanıyor olmanızdır. Yazılım satıcısının sitesini ziyaret edin ve en son sürümü çalıştırdığınızdan emin olun.


8
2018-05-06 07:59



+1, FTP'yi veba gibi önlemek. Parola sniffer bir trojan, bilgisayarınıza bulaşabilir ve dosyaları değiştirmek için kimlik bilgilerinizi kullanabilir. Veya yönlendiricinizi etkileyebilir. Ya da güvensiz wifi ağı ile netcafe de komşunuzun bilgisayarı. Clearext'te şifre göndermek kötü, kötü bir fikirdir. - Tgr
FTP yapar SSL ile gel, biliyorsun. - grawity
@grawity çoğu insan "ftps" kullanmaz, ancak bu sizi hacklenmekten alıkoyacaktır. sftp daha popüler. - Rook
Www-data olmalıdır DEĞİL web dizininizdeki kendi dosyaları. Herhangi bir şey www veri Sunucudaki kötü yazılmış bir betik tarafından güncellenebilir. - Zoredache


Media Temple Grid Server hesaplarım, bu şekilde birkaç kez "saldırıya uğradı". Güvenliği çok zayıf ... ile başladı PLAIN METİN ŞİFRELERİ geçen sene ve bu güne devam ediyor (teknik desteği arayabilir ve "şifreniz nedir" diyeceksiniz). Bildiğim kadarıyla, tüm hesap şifrelerinizi nasıl değiştirdikleri hakkında aylık e-postalar aldım ve gerçekten her saldırıya uğradıklarında sizin için veritabanı şifrelerini değiştiriyorlar. Bu şirket yüzeye cehennem gibi görünüyor, ancak şebeke sunucusu karışıklık. Anahtarlama öneririm hemen.

Bakınız geçen sene bu gönderi hakkında orijinal fiyasko (uyarı, seni kızdırır). Oradan yokuş aşağı gitti. Geçen sene ailemden şükranlarımı harcadım ve web sitelerimden porno linkleri çıkardım. Güzel.

Onların eğlencesini takip et durum sayfası: Size en son istismarlar hakkında her şeyi anlatacağım (ve evet, şu anda orada "olası bir istismar" var).


9
2018-05-06 05:30



haha. gs sitelerim şu an aşağı. Email yok. weblog.mediatemple.net/weblog/category/system-incidents/... - typeoneerror


Erişim günlüklerindeki vb. Etkinliklerin eksikliğine ve kabaca aynı anda gerçekleşen gerçeğe dayanarak, sunucunun güvenliğini ihlal ettikleri ve ekleme işlemini yürütmek için bir çeşit kabuk betiğine sahip oldukları görülecektir.

Garip bir şey için crontab'ı kontrol ettin mi?

Dizini ve başvuruları yeniden adlandırmayı denediniz mi (bu, kabuk betiğini bozabilir)?


2
2018-05-06 04:26



yeniden adlandırma iyi bir fikirdir. Sitede ne gibi etkileri olacağını gördüğümde bunu deneyeceğim. Crontab biraz garip bir şey vardı, dosyaların değiştiği zaman için bir giriş var ama Plesk yedekleme yöneticisi ... derlenmiş bir uygulama. Bu tehlikeye düşerse, Medya Tapınağı'nın ellerinde büyük bir sorun var. - Lothar_Grimpsenbacher


Evet, kesinlikle dosya izinleriyle ilgili olabilir. Web süreci tarafından yazılabilir olan dosyalara sahip olarak, çalıştırmakta olduğunuz web uygulamalarındaki herhangi bir güvenlik açığına açıktır. Her şeyi kilitleyin, böylece web süreci gerekenden daha fazlasını okuyamaz veya yazamaz.

Diğer bileşen, dosyalarınızı nasıl değiştirdiklerini tam olarak izliyor. Web sunucusunun erişim kayıtlarını kontrol etmek başlamak için iyi bir yerdir. Çeşitli kullanıcılar için son giriş zamanlarını kontrol edin. Ayrıca, dosyaları değişiklik için izleyen bir betik oluşturabilir ve sizi bilgilendirir, böylece suçluların kırmızılarını yakalamaya çalışabilirsiniz!


1
2018-05-06 03:22





Bu çok tanıdık geliyor Wordpress korsanlarıBu son zamanlarda bir dizi Network Solutions sitesine çarptı. Media Temple'da bulunduğunuz için, bazı dosyaları makinenizi paylaşan kullanıcıların görebileceği bir yer bırakmış olabilirsiniz. Bu, POST veya eery Apache log izlerinin eksikliğini açıklar. Eğer durum buysa, komut satırına kod enjekte etmek oldukça kolay olurdu.


1
2018-05-06 03:29



Günlükler, bu dosyaların değiştirildiği zamandaki trafiği gösterir ancak şu şekildedir: 207.46.13.43 - - [05 / May / 2010: 01: 42: 26 -0700] "GET /oped/bpr.php?edid= 211 & sayfa = 4 HTTP / 1.1 "404 257" - "" msnbot / 2.0b (+search.msn.com/msnbot.htm)" - Lothar_Grimpsenbacher
Wordpress'in nasıl çalıştığını biliyor musun? Kendi problemimi nasıl düzeltebilirim söyle. - Lothar_Grimpsenbacher
Evet, Ağ Çözümleri bölümündeki hatalı varsayılan yapılandırmaların neden olduğu paylaşılan kutulardaki kötü izinlerdi. Önerilen düzeltme, izinleri klasörlerde 755 ve dosyalarda 644 olarak kilitlemekti.


Kod her zaman eklenir, her zaman   belirli bir dizin

Ayarlanan izinlerle ilgili mi   dosyalarda (755'ten   644)? Web sunucusu kullanıcısına

Paylaşılan bir sunucuda mısınız? Eğer öyleyse (veya olmasa bile), birisi bir FTP şifresini zorlayabilir ve eline geçebilecek herhangi bir dosya ekleyen bir betik yükleyebilir.

bir üçüncü taraf reklam programı tarafından kullanılıyor

Ya da belki bu programın bir istismar vardır.


1
2018-05-06 03:44



Üçüncü taraf kodunun bir sömürü olabileceği varsayılıyor. Paylaşılan bir sunucu üzerindeydi ancak yüklenen herhangi bir betik bulmuş olurdum (yüklediklerinde, kullandıkları ve daha sonra sildikleri halde, ancak log dosyalarında ftp bağlantılarını gösteren bir şey bulmuş olurdum) - Lothar_Grimpsenbacher
Dosyalarınız web sunucusu tarafından yazılabilirse, komut dosyasını herhangi sunucudaki web sitesi ve dosyalarınızın üzerine yazdı. Ama ben de bu 3. parti uygulamasında yakından bakacağım.
üçüncü taraf kodu... yürütülebilir bir betik mi yoksa sadece bir JavaScript pasajı mı? JavaScript, sunucudaki dosyaları değiştiremez. - Salman A
@Salman A - reklam yöneten bir PHP betikleri topluluğudur. - Lothar_Grimpsenbacher
Tamam, umarım bu kodu araştırmışsındır. - Salman A


Uygun erişiminiz varsa (ve çekirdek desteği), temel alarak bir izleme daemonunu kırmaya çalışabilirsiniz. Inotify veya dnotify Dosyalarınızdaki değişiklikleri izlemek için, daha sonra (hızlıca) "lsof" komutunu kullanın. Ayrıca kullanabileceksiniz strace izlemek için. Bu, hangi yürütülebilir programın çalıştırıldığına dair bir ipucu sunmalıdır.


1
2018-05-06 05:21