Forum Hacker!!!!!

Started by Percherie, June 04, 2004, 03:05:30 PM

Previous topic - Next topic

Percherie

Bon là c plus de la rigolade, depuis 3 jours il ce passe des choses trés bizarre sur mon forum

02/06 - Suppression du compte Araknide
03/06 - Suppression du compte AST
04/06 - Suppression du compte Azarelle

Donc chaque jour une personne supprime des comptes de membres (on me previent à chaque fois) et une chose est à remarquer : c'est par ordre alphabetique

Je pensse que ça ce fait par "brutforce", une personne doit tester tous les mots de passe grace à un dictionnaire mais je n'ai aucune information d'erreur  ou de modération particulière sur le forum

De mon coté, les mots de passe des admin été déjas compliqué (combinaison de chiffre+lettre+caractère spéciaux) et ne pose pas de problème

La liste des membres est innacésible pour les visiteurs, donc la personne qui fait ça est ou à été enregistré sur le forum, d'ailleur je vais créer un compte bidon pour vérifier si le hacker applique une liste de membres déjas récupérer ou si il met à jour sa liste

Aprés confirmation de mes soupson (qui sont déja de 95%) j'interdirai l'accés du forum au visiteur et je regarderai de prés les personnes qui ce connect au jour le jour mais je ne pensse pas que ça reglera le problème puisque le champs pour ce connecter sera de toute façon dispo (normal koi)


Bon suite à ça j'aimerai qu'on me dise :
- Si y a des failles actuellement sur le forum et comment régler ça
- Avoir dans le rapport de modération la suppression des comptes, surtout si c'est un membre qui le fait (avec ip, heure et autre info)
- Avoir dans le log erreurs les tentative d'intrusion

Voilà, faite au plus vite avant que l'ecatombe continue

Ps : je vous tiendrait au courant au fil du temp et des evenements
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Alexandre P.

Je communique ça immédiatement dans l'aide en anglais.

(N'empêche, t'es safe pour un moment, P, c'est encore loin :P  Oui oui, je sors...)
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Percherie

Je suis "safe"?? pige pas...

Sinon je me suis fait un script basique pour pouvoir reattribuer les msg des membres supprimé, car même aprés l'ouverture d'un compte avec le même nom, les msg reste en "mode invité"

Bon attention, je previent que je suis pas fortiche en php et le code peut etre fortement simplifé et optimiser pour eviter les surcharge du processeur du serveur mais ça marche.

Il faut creer 3 fichiers, le premier peut importe son nom mais pour les deux autres c'est trés important de respecter les consignes


<?
//Ancien pseudo
$posterName = "azarelle";
//Nouvelle ID
$ID_MEMBER = "789";
//Nouveau couriel
$posterEmail = "[email protected]";
//Nouveau pseudo
$new_posterName = "araknide";
$n = 0;

   //connection à Mysql et à la base telechargement
require "connect.php";
$db = connecte_db();
 
   //récupération des données des msg (yabbse_messages) qui seront utiliser dans la boucle 'while'
   $requete = "SELECT * FROM yabbse_messages WHERE posterName='$posterName'";
   $result_posterName = mysql_query ($requete,$db);

    //Tant qu'il existe des réponse la boucle 'while' continue
while ($donnee = mysql_fetch_object($result_posterName))
    {
$n = $n+1;
$str_requete = "UPDATE `yabbse_messages` SET `ID_MEMBER` = '$ID_MEMBER', `posterEmail` = '$posterEmail', `posterName` = '$new_posterName' WHERE `posterName` = '$posterName'";
mysql_query($str_requete, $db);
}
echo "$n messages modifiés";
?>
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Percherie

fichier connect.php



<?php
function ezine_mysql_die($error "")
{
if (empty(
$error))
{
  
$mysqlError mysql_error();
if (!empty(
$mysqlError))
{
     echo 
"Réponse serveur SQL : ".$mysqlError;
}
 }
 else
    echo 
"Réponse serveur SQL : ".$error;
 echo 
"<br><a href=\"javascript:history.go(-1)\">BACK</a>";
 exit;
 }
function 
connecte_db()
{
// Paramètre de connexion serveur
require "conf.php";
  
$db mysql_connect($host,$login,$password) or ezine_mysql_die();
mysql_select_db($base,$db);
return 
$db;
}
?>




fichier conf.php


<?php
// configuration de ma base
$host "localhost";
$login"votre login";
$base "nom de la base";
$password "mot de passe";
?>




Les 3 fichiers doivent etre impérativement placer dans le même dossier pour fonctionner

Pour récupérer les informations qui faut pour le premier fichier faite une visite dans votre base de donnée et cherchez ce qui vous manque

- ID membre : on peut le trouver facilement en regardant le lien pour visionner le nouveau membre (ex  : u=275)
- Ancien Nom : Il faut le connaitre ou faire une petite recherche
- Nouveau Nom : Bien indiquer le pseudo utiliser pour l'inscription
- Email : voir profil du membre

Une fois la mise à jour effectué, j'ai fait indiquer le nbr de msg mis à jour, il manque plus qu'a mettre à jour le profil du membre en question en ajoutant au nbr de msg déjas posté depuis la nouvelle inscription à ceux de l'ancienne inscription

Penssez aussi à mettre à jour la date d'inscription sinon les stats peuvent sortir des abération matériel (mais pas mathématique) comme 150 msg posté par jour, pour celà regardez le msg le plus ancien en regardant la liste complette des msg poster dans le profil du membre en question

Voilà, je me suis pas donné la peine de créer une interface avec formulaire et mise à jour du profil... vus le peut de nbr de fois où j'en ai l'utilité



Voilà sinon Feho, tient moi au jus pour la sécurité et tous le reste
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Alexandre P.

Ton problème a été soumis ici: http://www.simplemachines.org/community/index.php?topic=12018.0

1) Aucun bogue connu concernant ceci avec SMF Beta 5 Publique.

2) Vérifie ton journal d'erreurs.  Les tentatives de connexion à un compte d'administration devraient s'y trouver, s'il y a.

3) Les modifications suivantes ajouteront chaque suppression de compte au journal de modération.

Dans /Sources/ManageMembers.php, recherche (aux alentours de la ligne 774) :
function deleteMembers($users)
{
global $db_prefix, $sourcedir, $modSettings;

Ajoute à la ligne au dessous
global $user_info;

if (!is_array($users))
log_error($users . ' has has his account deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');
else
log_error(implode(',' $users) . ' have had their accounts deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');
(Énorme merci à Grudge pour cette réponse.)

Quote from: Percherie on June 04, 2004, 07:45:15 PM
Je suis "safe"?? pige pas...
Je voulais dire par là que tu n'es pas le suivant sur la liste de ton mystérieux hacker, lol.  Tu es sauf pour le moment :)

Pour ton script, je vais y jeter un oeil.  Il a l'air très intéressant et utile :)
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Percherie

J'ai appliquer les modif mais il semble qu'une erreur ce soit glisser

voici mon code :

function deleteMembers($users)
{
global $db_prefix, $sourcedir, $modSettings;
global $user_info;

if (!is_array($users))
log_error($users . ' has has his account deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');
else
log_error(implode(',' $users) . ' have had their accounts deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');


Le problème semble venir de la dernière ligne

log_error(implode(',' $users) . ' have had their accounts deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');


Sinon pour l'ebauche de script que j'ai sortie, autant qu'on bosse un peut dessus et si les develloppeur le trouve utile, pourquoi ne pas l'integrer aux fonction de base du forum, C pratique en cas de hacking mais ça n'arrive pas normalement ou si un membre, un modo ou un admin à supprimer un compte

Mais perso c'est une fonction pratique mais qu'on utilise rarement, en gros je l'utilise en temp normal 1 ou 2 fois par ans
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Percherie

Parmis les compte qui sont passer inaperçu, y a eu Artteck qui etait juste aprés Araknide mais ne s'etait pas connecté entre temp pour s'en rendre compte

Je sais qu'il y avait plusieur membre d'on le pseudo commencé par - @ ou =, ils ont aussi disparu, au total il y en a prés d'une dizaine
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Meriadoc

Quote from: Percherie on June 05, 2004, 04:20:08 AM
J'ai appliquer les modif mais il semble qu'une erreur ce soit glisser


Le problème semble venir de la dernière ligne

log_error(implode(',' $users) . ' have had their accounts deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');

si tu n'as pas trouve le problem, je crois que c'est a implode() et tu peux exchange le code avec ca:

log_error(implode(',', $users) . ' have had their accounts deleted. It was deleted by ' . $user_info['name'] . ' (ip: ' . $user_info['ip'] . ')');

il n'y a pas juste un comma...
If I know the way home and am walking along it drunkenly, is it any less the right way because I am staggering from side to side? : Leo Tolstoy
Everything I know I learned from Calvin and Hobbes.
And patience is about the most useful thing you could ever have.  That and backups. : [Unknown]
If I choose to send thee, Tuor son of Huor, then believe not that thy one sword is not worth the sending. : Ulmo, Lord of the Waters - Unfinished Tales, by J.R.R. Tolkien

Percherie

Merci, grudge m'a aussi répondu en PM hier matin, j'ai fait un test avec un compte bidon et le script marche parfaitement.

En attendant, il n'y a plus de suppression depuis que la liste des membres commençan par A viens d'etre eliminer, j'espère qu'il ne vas pas s'attaquer au compte Admin

Dans le doute je pense créer un petit fichier pour chaque admin qui une fois lancé modifiera directement leur qualité de membres soit en Admin, soit en Membres et ceci alternativement à chaque utilisation

ça permettrait temporairement de désactiver son role d'admin et en cas de besoin on le réactive pour faire une maintenance, a moins que je mette ça dans les commande CRON pour désactiver les admin toutes les heures et on les actives manuellement
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Percherie

#9
J'ai fait une recherche sur les faille sur SMF et j'ai réussi à en trouver une : [not at all related, post this link again and you will be temporarily banned.]

En visitant d'autre site, j'ai regarder aussi les faille pour YabbSE 1.5.5 et même si ça ne concerne plus [glow] et [shadow] maintenance ça concerce quote

Peut etre faudrait il controler le script de chaque BBcode pour verifier ça

A chaque fois c'est une récupération de cookies et d'information de session donc je sens que je vais réellement supprimer tous les admin (même moi) pour réactiver ça manuellement à la demande en attendant confirmation de l'equipe
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Advertisement: