Bir WordPress kesmesini tamamen kaldırdığımı doğrulamak mı?


105

Eğlenceli WordPress blogum http://fakeplasticrock.com adresinde (WordPress 3.1.1'i çalıştıran) hacklendi - şöyle bir <iframe>sayfada gösteriliyordu :

<iframe src="http://evilsite.com/go/1"></iframe>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 

Aşağıdakileri yaptım

  1. Dahili WordPress yükseltme sistemi ile 3.1.3'e yükseltildi
  2. Yüklü Exploit Tarayıcı ve (kritik sıradışı dosyalar üzerinde uyarılar sürü) AntiVirus (bu yeşil ve temiz tüm gösterdi, bu yüzden kaldırıldı ve koşu sonra kaldırıldı)
  3. MySQL şifresi değiştirildi.
  4. Tüm WordPress kullanıcı şifrelerini değiştirdi.
  5. FTP üzerinden bağlandı ve tüm dosya sistemini indirdi (büyük değil, bu yalnızca WordPress Linux paylaşılan bir ana bilgisayardır)
  6. Dosya sistemini resmi bir WordPress 3.1.3 ZIP'ına karşı dağıtmış ve uyuşmayan herhangi bir şeyi kaldırmış veya üzerine yazmış .

Bundan eminim

  • diskteki tüm dosyalar resmi WordPress 3.1.3 dosyalarıdır.
  • benim /themediskimden, Exploit Scanner eklentisinden (az önce indirdiğim), /uploadsklasörden ve diğer beklenen dosyalardan küçük bir avuçtan başka "ekstra" dosya yok . Diğer eklentim, wp-recaptcha, şu anki resmi indirilen sürümle eşleşiyor.
  • Ayrıca .htaccessdosyayı kontrol ettim ve orada hiçbir şey yanlış görünmüyor

wordpress 3.1.3 dosya Ötesinde karşılaştırmak Karşılaştırmak

Veritabanına dokunmadım , ancak veritabanındaki herhangi bir şeyin çalışmasını sağlamak için özel PHP kodu olmadan nasıl kötü amaçlı olabileceğini düşünmekte zorlanıyorum ?

WordPress blogum tamam görünüyor ve şimdi hack-free (sanırım), ama kontrol etmem gereken başka bir şey var mı?


1
Sen gerektiğini tutmak bugüne kadar blog up. :)
fuxia

Yanıtlar:


80

Yararlanma vektörünü tanımladınız mı? Olmazsa, kendinizi gelecekteki istismara açık bırakabilirsiniz.

Dikkate alınması gereken diğer şeyler:

  1. WordPress admin kullanıcı şifrelerini değiştir - bitti
  2. Hosting hesabı kullanıcı şifresini değiştir
  3. FTP şifrelerini değiştirin
  4. MySQL db kullanıcı şifresini değiştir - bitti
  5. Db tablosu önekini değiştirin
  6. Wp-config nonces / salt'inizi güncelleyin
  7. Dizin / dosya izinlerinizi kontrol edin
  8. Dizin tarama erişimini, .htaccess
  9. Sertleştirme WordPress Kodeksi girişindeki her şeyi gözden geçirin
  10. SSS’deki her şeyi gözden geçirin Sitem Hacked Codex girişi oldu

1
üzgünüm, söylemeyi ihmal - tabii ki WordPress şifrelerini değiştirdim. Buradaki yazı güncellendi ve listeye alındı! WordPress'e girerek herhangi bir şekilde hosting şifremi veya FTP şifresini alabileceklerini düşünemiyorum; bu bilgi dosya sisteminde veya veritabanında hiçbir yerde yoktur.
Jeff Atwood,

9
Olası yararlanma vektörünü geriye doğru aldınız; büyük olasılıkla WordPress -> barındırma hesabı değil, daha çok hosting hesabı (sunucu veya FTP üzerinden) -> WordPress .
Chip Bennett

2
@Jeff bazı sunucu seviyesindeki istismarları kontrol etmiyorsunuz (daha iyi bir ana bilgisayar bulmaktan başka). Ama sırf sen birisi etmediği anlamına gelmez konak / FTP kimlik bilgilerini kullanmadıysanız onları çalıntı barındırma hesabınıza erişim sağlamakta tarafından.
Chip Bennett,

7
Kötü amaçlı yazılımın iş istasyonunuzu (veya bir müteahhitin iş istasyonunu) etkilediği, favori FTP (veya FTP etkin) programında kaydedilmiş şifrelerinizle kazıdığı ve daha sonra uzlaşan saldırgana gönderdiği çok genel bir istismar vardır. sitenizi ve aynı kötü amaçlı yazılımı diğer web yöneticilerine yaymak için kullanır. Bu , FTP şifrenizin çalınmasının yaygın bir yoludur. Özellikle sinsi olan, dikkatli olması muhtemel tohumlu olanlar değil, sizinki gibi normal sitelere yayılmasıdır .
tylerl

3
Bilginize, komut satırına erişiminiz varsa, WP-CLI , her dosyayı wordpress.org'a karşı kontrol edecek bir sağlama toplamı komutuna sahiptir.
William Turrell

26

Google Chrome'un "güvenli tarama" iletisine baktığımızda, son zamanlarda çok LOT'ta dolaşan ".cc iFrame hack" mesajını alıyorsunuz. 3.1.3 bunu çözeceğini düşünüyorum, ancak sitenizde, HERŞEYİ güncelleyene ve şifreler değiştirilinceye kadar beni vurmaya devam ettiği yerdeki index.php dosyanızı kontrol edin.

İnsanların postayla ve yorumla enjeksiyonla yapabilecekleri çok zor şeyler var. Buradaki "izlememin" geri kalan kısmını blogladığım bazılarını bulmak için veritabanınıza karşı aşağıdaki sorguları çalıştırabilirsiniz .

SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?php%'
SELECT * FROM wp_comments WHERE comment_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%display:%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?php%'

Bu yardımcı olur umarım!


4
Eklemek istiyorum SELECT * FROM wp_* WHERE comment_content LIKE '%<?%'ve SELECT * FROM wp_* WHERE comment_content LIKE '%<?php%'sadece emin olmak ...
SeanJA

4
Oh, bir final notu. Bu etki alanına bağlı Google Web Yöneticisi araçlarına sahip olduğunuzu farz ediyorum. İşleri temizledikten sonra, Google’ın siteyi yeniden taraması ve uyarı iletisini kaldırması için web yöneticisi araçları hesabınızdan bir istek gönderebilirsiniz. Web yöneticisi araçlarından gelen istekleri genellikle bir gün içinde işlerler. Aksi takdirde, iyi bir 90 gün boyunca "yaramazlar listesine" girersiniz.
Dillie-O,

Birkaç sonuç bulundu, ancak Vimeo için gömülü iframe'ler yüzünden.
tooshel

20

Veritabanı da kötü amaçlı kod içerebilir: gizli kullanıcı hesapları veya herhangi bir yerde çıkmadan yazdırılan değerler. Ayrıca, oraya ait olmayan dosyalar için yükleme dizini kontrol edin.

Oh, ve saldırganın sitenize nasıl girdiğini anlamaya çalışın. Paylaşılan hesaplarda genellikle tüm sunucudur. Sunucudaki diğer siteleri de saldırıya uğrayan bloglar veya diğer sayfalar için kontrol edin. FTP günlüğünüzü okuyun. Nasıl olduğunu bilmiyorsanız, bir sonraki molayı engelleyemezsiniz.


Exploit Tarayıcı herhangi bir gizli kullanıcı hesabı bulamaz mı?
Jeff Atwood

@Jeff Atwood Buna güvenmezdim. Kullanıcı tablonuz o kadar büyük değil. Herhangi bir eklenti olmadan kolayca okuyabilirsiniz.
fuxia

wp_usersMasayı kontrol ettim ve sadece 2 satır vardı, ikisi de bekleniyordu. /uploadOlağandışı klasörde hiçbir şey yoktu (sadece gifler ve pngs ve jpegler)
Jeff Atwood

@Jeff Atwood Dosyalara ya da uzantılara baktınız mı? Tüm bu dosyalar medya kütüphanesinde listeleniyor mu?
fuxia

4
Görüntü dosyaları oldukça yaygın bir veri taşıma yöntemidir. Buraya bakın ve Tema İnceleme Ekibi de benzer bir TIFF sömürüsünü kullanarak Temalar ile karşılaştı.) Yani, evet: Medya Kütüphanesinin bir parçası olduğundan emin olmak için her birini kontrol ediyorum. (Kolay yüksek seviye tarama: tanımlanmış küçük resim boyutları bulunmayan görüntüleri kontrol edin.)
Chip Bennett

13

Hacklendiğinizi duyduğuma üzüldüm - öyle görünüyor ki iyi bir kurtarma işi yapmışsınız!

Dosya sisteminiz kulağa altın geliyor, burada yapabileceğiniz başka bir şey olduğunu söyleyemem.

Exploit Scanner'ın veritabanınızda herhangi bir komut dosyası, iframe, PHP (yalnızca değerlendirildiyse tehlikeli olsa da) veya başka olağandışı kod bulması durumunda bir uyarı vereceğini düşünüyorum.

Mesajlar ve yorumlar dışındaki tabloları kontrol edip etmediğini, /wp-admin/options.phphızlı bir bakış için göz atmaya değer olup olmadığını ve tuhaf bir şey tespit edip etmediğinizden emin değilim .

Ayrıca bir MySQL istemcisindeki kullanıcı tablonuzu da kontrol ederim (kullanıcılar veritabanında olabilir ancak yönetici tarafından görünmeyebilir).


kesinlikle beklenmedik bir şey olmadığından emin olmak için kullanıcılar tablosunda bir MySQL sorgusu çalıştırmak iyi bir fikirdir ve ben bunu yaptım. İyi bahşiş!
Jeff Atwood

8

Google Web Yöneticisi araçlarını iki şey için kontrol edin:

  • sitenizin tehlikeye atılmış olarak işaretlenmediğini doğrulayın ve varsa yeniden değerlendirilmesini isteyin
  • sitenizi Googlebot olarak kontrol edin ve yalnızca Googlebot’un görebileceği bir spam eklenmediğini doğrulayın - bunun bir örneği WP Pharma kesmek.

Ayrıca, temayı yeniden uygular veya çok dikkatli bir şekilde kontrol ederim. Birkaç PHP satırı çekirdek PHP işlevlerini yeniden tanımlayabilir, böylece veritabanından kötü niyetli kodları, özellikle wp_options anahtar / değer deposu tablolarını çıkarırlar.


evet, siteyi Google Web Yöneticisi Araçları üzerinden kesinlikle yeniden gönderdim ve şimdi "temizlenmiş" görünüyor.
Jeff Atwood

6

Veritabanını "iframe" için phpmyadmin üzerinden arayın veya veritabanını boşaltın ve metni arayın.

Ve kullanıcılar tablosunda görünmez kullanıcıları kontrol edin; Kullanıcıları WP Admin >> Users bölümünde görünmeyen tablolarda gördüm.

Temizlik Seçenekleri «WordPress Eklentileri , eski ve muhtemel hassas eklentilerden kaynaklanan çöplerin veritabanında bırakıldığını gösterecektir.

Temanızda da <head>etiket eksik , bu yüzden kötü bağlantıları kaldırmak için temayı düzenlediğiniz takdirde kontrol ederim.

Ve her zamanki gibi: Ve hack bir WordPress ve Sertleştirme WordPress'te bir arka kapı nasıl bulunur «WordPress Codex


5

"Kontrol etmem gereken başka bir şey var mı?" İşleminizi incelemeniz ve nasıl saldırıya uğradığınızı bulmanız (neredeyse kesin olarak zaman içinde ya da doğru bir şekilde yamalamadığınızdan) ve bunu da sadece belirtilerle düzeltmeyin.


5
Bunun WordPress güncellememesi ile yapmak zorunda şüphe (olduğu halde mümkün , sadece değil muhtemel ). WordPress'in kendisi neredeyse hiçbir zaman istismar vektörü değildir. Her zamanki vektörler güvensiz ana bilgisayar yapılandırması ve çalınan FTP bilgileridir.
Chip Bennett,

4

Bu bana bir kez oldu, mediatemple sızıntısı yüzünden. Enjekte edilen bağlantılar için veritabanını kontrol etmek için bir eklenti yazmak zorunda kaldım. Burada bir github özü olarak kapabilirsiniz .

Oldukça kullanıcı dostu, geri bildirim sağlayan ve veritabanınızı tamamladıktan sonra tekrar kontrol eden birkaç adım var.

İyi şanslar!


4

Müşteri sitelerimden birinde düzeltmek zorunda olduğum çok benzer bir hack yaşadım.

Dosya sisteminde kötü amaçlı komut dosyaları vardı (php base64_decode stuff). Bununla birlikte, 'gönderiler' ve 'yorumlar' tabloları veritabanından ödün verilmiş ve iframe kodu da bu veriler arasında dağılmıştır.

En azından DB’de birkaç arama yapardım, güvende olmak için. :)


3

Eklentilerinizi kontrol edin!, Şu ana kadar .org eklentilerinden 60 istismarın yayınlandığı bu yıl, hiç kimse bu tam zamanı gerçekten yapmadığı için gerçek sayının çok daha yüksek olacağından şüpheleniyorum.

Yalnızca bir eklentiniz olduğunu listelediniz, bir güvenlik deliği vardı (ne kadar sürdüğünden emin değil ve vektör olmayabilir).

wp-recaptcha-plugin Suistimal
çıktı: 2011-03-18
Exploit versiyonu: 2.9.8

Yazar 3.0 sürümüyle yeniden yazdığını ancak güvenlik düzeltme ekinden söz etmediğini belirtti.

http://www.wpsecure.net/2011/03/wp-recaptcha-plugin/

Günlüğü değiştir: http://wordpress.org/extend/plugins/wp-recaptcha/changelog/


2

Bir bulut sunucusu kullanıyorum ve rasgele tuhaf ssh port numaralarına sahip olduğum hiçbir ftp yok. Parolaları kırmak son derece zordur. Tüm kök erişimi tamamen reddedildi. WordPress'in sizin suçlu olmayacağına katılıyorum. Denetlenecek başka bir şey de ftp oturumlarının kapanmaması, kişisel bilgisayarınızdaki virüs (sitenize bir dosya yükleyebileceğinizi ve bu dosyayı yükleyenlerin aynı virüsü alabileceğini unutmayın), ayrıca şifrelerinizi genel sitelerde veya özel sitelerde saklamayın. siteler her zaman bir kelime belgesi veya not defteri kağıda asla onları doğru.

Son olarak, ana makinenize son zamanlarda güvenlik duvarı ayarları yapmaları gereken bir ihlali olup olmadığını sorun.


2

Dosyalarınızın tarihini kontrol edin. Hiçbir dosya, son düzenleme / yükleme işleminizden daha yeni bir değişiklik verisine sahip olmamalıdır!

Ama aynı zamanda bu sahte olabilir. Emin olmanın en basit yolu, tüm dosyaları orijinal yükleme dosyalarıyla karşılaştırmak (örneğin, hash karşılaştırması) olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.