Détection d'attaque (flood)

Signaler
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012
-
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
-
Bonjour,

Je suis op off sur le serveur voilà/orange depuis peu et je ne connais pas grand chose au scripting MIRC.

J'arrive à me personnaliser mes remotes un peu mais sans trop aller loin.

J'aimerai savoir si il est possible de détecter une attaque de flood sur un salon ?

La plupart de celles que je vois sont de ce type là :

‹ionpovipret›  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team «

‹Hidesiphil95700›  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ®

En gros ils répètent a peu près la même chose avec des pseudos differents.

Y'a t'il une solution pour détecter ce type d'attaque et de faire une action sur les modes du salon ?

Mettre les modes +mi par exemple ?

Merci d'avance pour vos réponses.

19 réponses

Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

ils donnent une bien belle image de leur team ...

tu devrais utiliser un ON TEXT, mais la façon de l'utiliser dépend de ce qui est décrit plus bas

il aurait été interessant que tu colles vraiment leur procédé ... ils envoient plusieurs messages rapidement, ou alors chaque "bot" en envoie qu'un puis part ?
chacun de ces "bots" envoie exactement le même message ?

donne nous plus d'infos et nous essayerons de t'aider
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
ya aussi /mode #salon +f  [<nombre_messages>m#mi]:<secondes> qui peut t'aider, je pense...

Cordialement, uaip.
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
@uaip: ce mode n'est pas dispo sur les serveurs actuels (de vieux bahamut modifiés sauce Orance)

@Surfsp33: dans Psi ou Teamscript 4 tu as des détections assez efficaces. Tu peux détecter ces attaques sur deux "facettes", la première c'est le mec qui répète trop de fois la même chose de suite dans le même message, la seconde c'est la même phrase répétée plusieurs fois par des pseudos différents.
Quoiqu'il en soit, les détecteurs sont plutôt mal vus, et si tu es débutant, c'est déconseillé de te reposer sur des systèmes automatisés au lieu de faire ton boulot d'op à la main...
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Voilà une partie de l'attaque :

[21:49:07]  Join  Charda - [mailto:guest@710.748.594.556 guest@710.748.594.556] -[362]- #!entremecs.tchat!
[21:49:07] <Charda>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team
[21:49:07] <Charda>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC T
[21:49:07]  Join  emanparhowl04 - [mailto:guest@747.672.735.511 guest@747.672.735.511] -[363]- #!entremecs.tchat!
[21:49:07]   !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!!
[21:49:08]   !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice
[21:49:08]  Join  HOMGORMAR - [mailto:guest@537.720.738.652 guest@537.720.738.652] -[364]- #!entremecs.tchat!
[21:49:08] <HOMGORMAR>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC
[21:49:08] <HOMGORMAR>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team «
[21:49:08]  Join  eougerongar50 - [mailto:guest@1784036165.BG guest@1784036165.BG] -[365]- #!entremecs.tchat!
[21:49:08] × Pseudo Précédent : eougerongar50 ‹-› atchaparhor [mailto:*!*@1784036165.BG *!*@1784036165.BG]
[21:49:08] <eougerongar50>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice T
[21:49:08] <eougerongar50>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team
[21:49:08]  Join  otvoiichewo - [mailto:guest@605.741.595.679 guest@605.741.595.679] -[366]- #!entremecs.tchat!
[21:49:08] <otvoiichewo>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC T
[21:49:08] <otvoiichewo>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!
[21:49:08] <otvoiichewo>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice
[21:49:08]  Join  tteettemich - [mailto:guest@731.667.599.741 guest@731.667.599.741] -[367]- #!entremecs.tchat!
[21:49:08] <tteettemich>  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Ni
[21:49:08] ‹tteettemich›  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice Team ® AOC Team « !!!  !!! Nice T

Etc.. etc...

En fait c'est tout le temps des pseudos differents mais leur phrases commencent toujours pareil.
En gros il faudrait que le script détecte par exemple qu'au bout de 4 fois le même début de phrase d'affilé quelque soit le pseudo il passe en mode +mi .
le salon.

Qu'en pensez-vous ?
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Pada j'avais pas vu ta réponse : J'ai TS4 déjà mais le flood est tellement rapide que j'ai l'impression que çà ne le détecte pas, et il ne me propose que "Avertissement" "Kick" "Kickban".

Et tu dis que TS4 détecte la même phrase répétée plusieurs fois par des pseudos différents ? Il me semble pas l'avoir constaté encore mais c'est pas impossible.

Quoi qu'il en soit dans ce genre de situation seul les modes +mi sont efficase pour stopper le flood.
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Dans ce cas reste sur un truc simple, c'est pas utile de généraliser un remote super tordu qui va détecter tous les floods.
Un truc qui détecte "Nice Team" ou "AOC Team" suffirait non ?

on *:TEXT:*Nice*Team*:#:{ if ($me isop $chan) { mode $chan +im } }

Enfin, le débat dépasse le thread, mais ce n'est pas à des ops à galérer à remettre des sécurités parce qu'il n'y a plus de bots et de geos... On marche sur la tête...
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Ouai je sais bien mais bon vu qu'ils ont pas l'air motivé pour faire revenir les bots....

Par contre dès fois "Un truc qui détecte "Nice Team" ou "AOC Team" suffirait non ?" ca ne fonctionnera pas car ils font aussi du flood sur d'autre chose que leur team, ils ont aussi prit une dizaine de pseuso et faisait des HL en flood sur ces pseudo sans arrêt.

C'est pour ca que détecter que les 20 premiers caractères d'une phrases se répètent sur plusieurs ligne d'affilé par des pseudos differents serait pas mal. Mais après reste à voir si c'est pas trop compliqué à faire.

Sinon tant pis lol. En tout cas merci de me répondre si vite ^^
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Une question intéressante aussi, passent-il par proxy ? Gardent-ils toujours les mêmes pseudos (j'en doute) ?

Et PaDa, désolé je ne suis jamais allé sur Voila/Orange

Cordialement, uaip.
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Jamais la même IP , jamais le même pseudo.

Il faut bien compliquer un peu les choses lol
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
@uaip: Tu n'as rien raté ;)

@Surfsp33 : ce n'est pas très compliqué mais ca ne tient pas en 2 lignes non plus, et sachant que tout ça va changer bientôt, je n'ai pas envie de me prendre la tête à chercher un code qui marche. Cela dit, tu peux t'inspirer de cette source : http://mhc.magnetik.org/?p=flood en plus des sources de TS4 (qui sont sûrement un peu hard à exploiter, je m'en excuse)
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Oui en effet leur code est pas mal mais il fonctionne uniquement si c'est une même personne qui fait plus de 3 phrases en moins de 6 secondes.

ON *:TEXT:*:#:{
if (%flood. [ $+ [ $chan ] $+ . $+ [ $nick ] ]) {
inc %flood. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
if ((%flood. [ $+ [ $chan ] $+ . $+ [ $nick ] ] > 3) && ($me isop $chan)) kick $chan $nick Anti-flood : plus de 3 phrases en 6 secondes.
}
else set -u6 %flood. [ $+ [ $chan ] $+ . $+ [ $nick ] ] 1
}

Je suis pas sur que çà puisse fonctionner avec le type d'attaque que j'ai présenté.
Car ce sont des pseudos differents a chaque phrase.

Mais t'embête pas Pada, si c'est trop compliqué. Je vais essayer de trouver de mon côté ou si quelqu'un a un code magique à proposer ^^
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Oui oui, c'est à adapter.
Je te décris ce que je fais, je compte sur toi pour ne pas copier bêtement le code final, mais essayer de bien comprendre ce que je fais et lire le code, sinon ca n'a aucun intérêt.

Regarde, à chaque fois que quelqu'un parle, c'est la variable :
%flood. [ $+ [ $chan ] $+ . $+ [ $nick ] ]
Qui est changée. Donc c'est une variable qui prend en compte le salon et le pseudo. Si tu mets une variable uniquement sur le salon, et que tu ne prends plus en compte le pseudo, alors ca marchera comme ce que tu désirais au départ. Mais il faut bien voir que là, le but est de détecter les gens qui font des c/c par exemple, ce n'est pas tout à fait ce que tu veux. Mais bon, on obtient déjà ça :

ON *:TEXT:*:#:{
if (%flood. [ $+ [ $chan ] ]) {
inc %flood. [ $+ [ $chan ] ]
if
((%flood. [ $+ [ $chan ] ] > 3) && ($me
isop $chan)) kick $chan $nick Anti-flood : plus de 3 phrases en 6
secondes.
}
else set -u6 %flood. [ $+ [ $chan ] ] 1
}

Ensuite, il faudrait se débrouiller pour que ça détecte quand c'est plusieurs fois la même phrase de suite.
On se concentre sur les 20 premières lettres de la phrase, donc $left(la phrase,20). "La phrase", c'est $1-, mais on va enlever les couleurs, ce n'est pas rare que ce genre d'attaques se fasse avec des couleurs différentes. Donc $left($strip($1-),20)

On va à chaque tour stocker cela, et si la phrase d'après est identique, on continue. Sinon, on remet les compteurs à zéro.
Ca donne :

ON *:TEXT:*:#:{
if (%flood. [ $+ [ $chan ] ]) {
var %debut_phrase
$left($strip($1-),20)
if (%debut_phrase = %flood.phrase_d_avant) {
inc %flood. [ $+ [ $chan ] ]
}
else {
%flood.phrase_d_avant = %debut_phrase
}
if
((%flood. [ $+ [ $chan ] ] > 3) && ($me
isop $chan)) {
kick $chan $nick Anti-flood : plus de 3 phrases en 6
secondes.
}
}
else set -u6 %flood. [ $+ [ $chan ] ] 1
}

Bon, presque. Toi tu veux mettre un mode +mi plutot que kicker les pseudos. De plus, on ne va activer ces décomptes que si tu es op sur le salon :

ON *:TEXT:*:#:{
if ($me isop $chan) {
if (%flood. [ $+ [ $chan ] ]) {

var %debut_phrase
$left($strip($1-),20)

if (%debut_phrase = %flood.phrase_d_avant) {
inc %flood. [ $+ [ $chan ] ]

}

else {
set %flood.phrase_d_avant = %debut_phrase

set -u6 %flood. [ $+ [ $chan ] ] 1


}
if
(%flood. [ $+ [ $chan ] ] > 3) {
mode $chan +mi

}

}
else set -u6 %flood. [ $+ [ $chan ] ] 1
}
}

Bon ce n'est pas très bien codé, mais ca devrait marcher.
Si tu rencontres des erreurs ou que tu ne comprends pas quelque chose, n'hésite pas !
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

en plus simplifié, ça donnerait (je pense) :

ON @:TEXT:*:#:{
  if ($nick isop $chan) return
  ;if (!$timer($+(flood.,$nick))) $+(.timerflood.,$nick) 1 3 hdel AntiFloodSystem $nick
  ;tu peux rajouter ce timer si tu trouves que l'anti-flood est trop sévère. Ces bots ne passeront quand même pas qu'il soit présent ou pas.
  hinc -mu4 AntiFloodSystem $nick $iif($hget(AntiFloodMemoire,$nick) == $strip($1-),2,1)
  hadd -mu4 AntiFloodMemoire $nick $strip($1-)
  if ($hget(AntiFloodSystem,$nick) > 2) {
    mode $chan +mi
    $+(.timerMI.,$chan) 1 120 mode $chan -mi
  }
}

la table AntiFloodMemoire sert à vérifier si le pseudo se répète. Si c'est le cas, alors cela a plus de chance de ressembler à du spam.
S'il se répète ne serait-ce qu'une fois en moins de 3sec, c'est considéré comme du spam

idem que PaDa, si t'as des questions, n'hésite pas
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Peut-être un peu moins lisible pour un débutant, mais jolie amélioration ;-)
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Merci PaDa & ArKanis.

Désolé de ce retard mais le temps de bien comprendre le code de voir comment il fonctionne et de le laisser en test pour voir.

J'ai quelque peu modifier le code :

ON *:TEXT:*:#:{
  if (%flood. [ $+ [ $chan ] ]) {
    var %debut_phrase $left($strip($1-),20)
    if (%debut_phrase = %flood.phrase_d_avant) {
      inc %flood. [ $+ [ $chan ] ]
    }
    else {
      set %flood.phrase_d_avant = %debut_phrase
      set -u10 %flood. [ $+ [ $chan ] ] 1
    }
    if (%flood. [ $+ [ $chan ] ] > 4) {
      echo -a $timestamp �2;�3;8,13ATTENTION ATTAQUE DE FLOOD DÉTECTÉE SUR $chan !!!
    }
  }
  else set -u10 %flood. [ $+ [ $chan ] ] 1
}

Si je laisse le set ça ne fonctionne pas. Je l'enlève ca marche. Mais je ne sais pas pouquoi.

Je trouve çà parfait , sur ces quelques jours il a fonctionner à merveille.

Juste une question ? si je peux me permettre.

Il se déclanche aussi par contre quand c'est une même personne qui se répète. Il y a possibilité d'éviter çà ?

Encore merci à vous
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

enlève le = sur la ligne du set, il te fait bugguer ton code

pour déclarer une variable, on procède ainsi :
var %variable = valeur (locale)
set %variable valeur (globale)
Messages postés
9
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
29 mars 2008

j'ai peut etre ce qu'il te faut ma remote detecte les flood bot ( vu qu'il flood la meme seconde que leur arriver ) je suis owner du salon #fashions sur orange c'etai un ancien copain qui me l'avait filet ( goliath ) donc dit moi ce que tu souhaiterais quelle face ( sur ce forum ) et je te la filerais si tu me cherche je suis sur le salon #fashions
Messages postés
44
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
27 février 2012

Hello modserv,

Ben je cherche un système qui détecterai une attaque de clones/proxy en flood sur un salon.

Le système que PaDa et RCA ArKanis fonctionne mais ça ne détecte pas toutes les attaques.

Récemment il utilise pas la même procédure pour flooder et je n'ai aucune détection.

Je sais que le salon #!bordeaux! en à un très efficasse mais je ne sais pas qui l'a codé.

Merci d'avance en tout cas.

PS : Je suis sur le salon #!bordeaux! quasiment en permanance avec le pseudo Surfsp33.
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
Je ne prétends pas faire quelque chose d'exhaustif ou efficace, j'ai trop peu de matière pour coder un truc qui marche à tous les coups. Pour l'antiflood de !Bdx! j'avais dû l'avoir passé un moment, mais je sais pas si j'arriverai à le retrouver.
Au bout d'un moment, si on est envahi de floodeurs, on arrête de se reposer sur les remotes et on prend des dispositions appropriées, non ? :-) Bon courage en tout cas,