Imao sam iskustva sa slicnim problemom.
U pitanju je bio neki kineski IFRAME code koji je vodio na neke kineske sajtove i bilo je pogodjeno na desetine sajtova.
Analizom cele situacije dosao sam do sledecih zakljucaka:
- Napadaci su se logovali preko FTP i to vrlo uredno sa user pass (bez broute force i sl) i to sa razlicitih stranih IP adresa!
- Spisak sajtova koji su bili pogodjeni su ukazivali da postoji pravilo i da je sve pocelo sa jednog mesta
- Maliciozni code je zarazio sve index.htm*, index.php, admin.php, login.php (i slicna cesta imena skripti) i to po celoj dubini direktorijuma
- Samo parce code-a koje je taj virus ubacivao je uglavnom bio JavaScript koji je preko eval() bio ispisivan u stranici
- Code koji se evaluirao u JavaScript je bio randomizovan tako da nije moglo da se uradi kasnije ciscenje po nekoj search paterni. Ipak svima zajednicko je da koriste kljucne reci "iframe" i "eval"
- Desavalo se da se u istu stranicu ubace i po nekoliko ovakvih linkova ali sa razlicitim "reklamama" sto je ukazivalo da su razlicite grupe hakera koristile iste FTP naloge!
- Ovakvi napadi se uglvanom izvode za vreme vikenda ili praznika kada je paznja sysadmina smanjenja
- Ukoliko vam se desi da ovako zarazene sajtove ne primetite na vreme a imate samo dnevni backup sadrzaja, nacicete se u problemu jer necete moci vratiti iz backup
Sta se tacno desilo i kako je doslo do svega ovoga?
Cela "frka" je nastala zbog sigurnostnog propusta u nama omiljenom Total Commanderu 7.0x i njegovom vrlo slabom algoritmu za kriptovanje passworda!
PS: Neposredno posle ovog dogadjaja i uvidevsi kakav je globalni problem nastao, cika Ghisler je izbacio beta verziju Total Commander 7.5 gde je modul za kriptovanje FTP pasworda zamenjen sa daleko sigurnijim AES 256 bitnim algoritmom. Nazalost, Total Commander 7.5 je vec nekoliko meseci u beta fazi.
Tacnije, kolega koji radi sa nama je koristio TC i imao je podesene FTP naloge za sve te sajtove koji su bili pogodjeni. Virus koji je najverovatnije dosao preko USB stick-a, bezobrazno je pokupio sve te naloge, dekodirao password i krenuo u zarazu! Obzirom da su u FTP logu na serveru bile prijavljene strane IP adrese, nagadjam da su ti kompromitovani user/pass prosledjeni negde sa strane kako bi ostali hakeri mogli da koriste.
Kako naci zarazene skipte (gledano iz ugla system administratora)?
Ovaj deo nije ni malo jednostavan i zahteva prilicno vremena i kopanja po skriptama.
Za pocetak, najjednostavnije je uraditi grep komandu nad sadrzajem celog web direktorijuma sa kljucnim recima "iframe", "eval" ili vec neku frazu iz ubacenog code-a, ka npr:
Code:
grep -ir "iframe" *
grep -lir "hotslotpot" *
Ova komanda ce vratiti dosta rezultata ukljucujuci i one validne gde stvarno postoje reci iframe ili eval a nisu deo malicioznog code-a. Zato je neophodno pazljivo pregledati sve rezultate u potpunosti.
Sledeca komanda je vrlo korisna za ovakve ali i slicne slucajeve. Komanda trazi sve fajlove koji su menjani npr u zadnjih 24h a iskljucuje imena koja se uglvanom automatski generisu od strane web servera ili aplikacije (webalizer,cache,assets):
Code:
/usr/bin/find /customers/* -type f -mtime -1 -ls | egrep -v "webalizer|cache|assets"
Za one ozbiljnije system administratore, ova komanda se moze staviti u CRON tako da svaki dan (ili vise puta dnevno) salje na email spisak menjanih fajlova "pa da vidimo ko sta tu bushi ..."
Sta dalje
Kao sto je spomenuto u prethodnim porukama, neophodno je ocistiti PC racunar od virusa. Zbog prirode sadasnjih virusa preporucujem full sistem reinstal!
Kada se lepo ocistite od virusa, zatraziti od hosting provijdera da vam promeni sve sifre za FTP, CP i MySQL ili uradite to sami kroz korisnicki interface jer "neko tamo" ima vasu sadasnju sifru.
Dodatno, pravite redovne backup vasih prezentacija!
Predjite na koriscenje drugih FTP clienata kao npr FileZilla.
Ja sam licno posle ovog dogadjaja presao na Mac OSX! Priznajem da mi fali Total Commander (i Ultra Edit) na OSX ali iskreno smucio mi se vise Windows!
Kako ocistiti zarazene stranice?
U mom slucaju ovo je bilo nemoguce jer je ubaceni code bio randomizovan i nije postojala mogucnost search/replace paterne

Jedino sto nam ostaje je da prebacimo cistu verziju stranice ili vratiti sadrzaj iz serverskog backup-a. Na moju srecu, imao sam 7 dana unazad backup pa je ovo bilo relativno lako vratiti. Zbog ove situacije, odlucili smo da sve backup arhive cuvamo citavih 45 dana unazad! Ovo nas je kostalo prilicno vremena dok smo uspostavili (rekurzivni inkrementalni kompresovani backup) i brdo gigabajta za storage kako bi to realizovali.
Ko je kriv za ovaj propust?
Ovo je klasican propust korisnika koji je bio zarazen virusom i ogromni propust u Total Commander 7.0x (i svim predhodnim verzijama) vezan za kriptovanje pasworda. Sam server nije imao nikakve veze sa ovim. Server je uredno pustio na FTP korisnika sa ispravnom sifrom i tu nema mnogo pomoci.