Annonce

Réduire
Aucune annonce.

Perl - Comment avoir Slowloris® sur Windows [XP - Seven - 8 - 8.1 - Vista] !

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Perl - Comment avoir Slowloris® sur Windows [XP - Seven - 8 - 8.1 - Vista] !


    Avant, tout c'est quoi Slowloris® ?


    Slowloris est un script écrit en Perl par Robert "RSnake" Hansen qui permet à une seule machine de faire tomber un serveur web en utilisant une bande passante minimale et d'effet de bords sur des services et des ports sans rapport.
    Slowloris utilise une attaque de type DoS (attaque par deni de service), il affecte en particulier les serveurs Apache 1.x et 2.x qui représentent 67% des serveurs sur le net.
    Slowloris essaye de garder beaucoup de connexions ouvertes avec le serveur et les conserve le plus longtemps possible. Il l'accomplit en ouvrant des connexions avec la cible et lui envoyant une requête partielle. Périodiquement il envoie des headers HTTP, mais sans terminer la requête. Les serveurs visés vont conserver leurs connexions ouvertes, remplissant leur pool de connexion concurrente, et finalement empêche des connexions ultérieures des clients.
    Le principe de ce petit script Perl est d’envoyer des requêtes HTTP partielles, à intervalle régulier, afin de garder les sockets ouverts. Slowloris initie donc une requête GET vers le serveur cible, il y a un échange entre les deux entités, comme le ferait n’importe quel client HTTP vers le serveur, or ici slowloris va faire en sorte que l’échange ne se termine jamais. Slowloris ne va pas envoyer les séquences attendues par le serveur mais lui fournira de temps en temps un en-tête bidon qui sera ignoré par le serveur, mais qui permettra de maintenir la connexion TCP ouverte, empêchant ainsi le socket d’être fermé. Le serveur devient rapidement saturé, aboutissant au déni de service.


    Pour exécuter un fichier codé en perl il faut avant tout télécharger Active perl.

    Capture3.jpg
    Next

    Capture4.jpg
    Accepter terms de license & Next

    Capture6.jpg
    Next

    Capture7.jpg
    Next

    Capture8.jpg
    Install


    Ensuite, il faut télécharger le script Slowloris®.
    Clique ici

    Capture13.jpg
    cd C:[Destinations de Slowloris]

    perl slowloris.pl.pl

    perl slowloris.pl.pl --dns [site web]

    Le reste á vous de gérer !

    Telechargement.jpg
    Edit _47 : Pas de lien direct vers des exécutables.
    Capture.PNG
    Capture2.PNG
    Fichiers attachés
    Dernière modification par Xen0nW0rms, 24 août 2015, 21h22.

  • #2
    Tes posts sont toujours aussi pro et grandioses à ce que je vois

    Merci beaucoup pour ton explication du procédé !!

    Mais comment on s'en protège ?
    Dernière modification par luffreezz, 24 août 2015, 21h40.
    Le monde est dévoré par l’ennui.

    Commentaire


    • #3
      Il y a certains hébergeurs qui offrent un service, pour se protéger des attaques DDOS. Mais ce sont des services payants, et ça ne protège pas á 100%.

      Commentaire


      • #4
        Salut,

        Il existe en effet des protections Cloud efficace qui vont dévier le réseau vers des machines supportant l'attaque permettant de ne pas saturer l'http cible.

        Elles ont un coût, certains services d'hébergement le proposent. Maintenant, avec un DOS basique de ce type, tu ne feras tomber que légèrement des petits sites hébergés dans de petits hébergeurs Free, et encore.

        Maintenant, imaginons que tu as une vraie attaque DDOS venant de tes propres machines ou voire même de bots qui vont automatiser la tâche et augmenter la charge en passant par un vaste réseau zombie (genre chine, Europe de l'Est, …).

        Le souci sera donc de désamorcer le processus le plus rapidement possible.

        On va vérifier les systèmes en réseau avec les commandes w ou uptime.

        Code:
        uptime
        On va savoir en Gbyte les valeurs externes d'utilisation de notre bande passante. Utile à beaucoup d'administrateurs surtout à l'époque avec le Download Loop des images qui faisait tomber le serveur entier.

        Ensuite, il nous faudra donc une fois localiser un transfert extérieur à notre domaine, localiser les IP entrantes afin de les placer dans nôtre Firewall. Là on va comprendre qu'un firewall et iptable ont toute leur importance.

        Code:
        netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort –nr
        Cela vous montrera les adresses IP (deuxième colonne) et le nombre total de connexions de chacun (premier). Si vous voyez, que vous avez trop de connexions de certaines adresses IP, vous pouvez les bloquer à l'aide de la commande suivante:

        Code:
        iptables -I INPUT -s  <IP/PORT>  -j DROP
        -I va bloquer ou blacklister cette IP et –D va débloquer l'IP
        On va bloquer une IP suivit de sa plage (l'ensemble du sous-réseau).

        Aussi, vous devez vous assurer qu'iptable est en place et fonctionne à l'aide de :

        Code:
        service iptables status
        Si iptables est arrêté, vous devez le démarrer:

        Code:
        service iptables start
        Un script fourni par OVH, mais connut permet de démarrer iptable à chaque fois, je vous fournis le lien : http://guide.ovh.com/firewall

        Vous pouvez regarder vos entrées actuelles en utilisant iptables :

        Code:
        iptables -L -n
        Après avoir ajouté toutes les entrées que vous souhaitez à la liste noire d'iptable, vous devez sauvegarder les données iptable sorte que iptable seraient chargés au prochain démarrage du serveur. Il peut être fait en utilisant la commande suivante:

        Code:
        service iptables save
        1. A savoir qu'il faut impérativement avoir audité son réseau auparavant pour arrêter les ports et service inutiles.
        2. Placer un pare-feu efficace qui filtre à l'entrée et automatiser iptable.
        3. Utiliser un service payant qui va dévier l'attaque et permettre à notre réseau à partir d'un cache de rester accessible.
        4. Faire des audits réguliers de ces systèmes et réseaux afin de rester maître de ses mises à jour et surtout de ses services. 80% des attaques sont dues à la défaillance d'un système, des réseaux ouverts qui tournent pour rien, autoriser sur le réseau que les personnes y travaillant, vérifier la présence de scans non permis,…



        Des attaques de qui ?

        La plupart du temps, l'attaque se fera, de l'intérieur soit par un exploit soit à l'aide de programmes affiliés tels que le très connus Trinoo.

        Ensuite, des attaques sont menées par bots, mais soyons honnête, ils n'attaqueront que de très grosses entreprises et pour monnayer de l'argent. Ils ne vont pas compromettre une attaque pour un site lambda de bidule.

        Et dernièrement, les petites attaques de script Kiddies qui utilisent essentiellement hulk, Slowloris, Hammer,HOIC,LOIC… Qui ne fera que piquer sauf s'ils se mettent à plusieurs. Sur de grosses plates-formes hébergées, ils seront lockés direct.

        Une attaque DOS ou DDOS c'est rigolo et pourtant.

        Sachant qu'une attaque DOS, c'est comme pour l'exemple de ce jeune de 15ans :
        " Si l'avenir du jeune homme est désormais entre les mains de la gendarmerie (il risque 5 ans de prison et 75 000 euros d'amende) certaines interrogations planent encore au sujet des moyens qui ont permis son arrestation."

        Les VPN ne servent à rien. Je vais te raconter une histoire véridique. La police sur un fait suspect peut demander l'ouverture de tous tes comptes et Email.
        Facebook open, E mail (FAI, Hotmail…) open … Puis saisis de ton Pc et condamnation avec grosse amende en prime. De la prison, tu n'en feras peut-être pas, mais tu bosseras toute ta vie pour rembourser.
        Voilà pourquoi les plus gros DDOSERS ne sont pas européens et que les plus forte attaque ne se font pas en Europe.

        Regarde ce graph., il relate les statistiques 2015.



        Les attaques sont surtout des Ddos SYN flood. Voici une définition par Kapersky.
        DDoS SYN flood: ensemble de scénarios d'attaques DDoS qui exploitent une particularité de la mise en œuvre du protocole TCP (Transmission Control Protocol, protocole de gestion des transmissions). L'établissement d'une connexion TCP suit trois étapes clés qui évoquent la poignée de mains. Le client envoie une requête SYN. Le serveur, qui reçoit la requête SYN, répond par un paquet SYN/ACK. Ensuite, le client envoie le paquet ACK et confirme ainsi la connexion. Dans le cadre d'une attaque SYN flood, l'attaquant envoie des paquets SYN mais n'exige pas le paquet de réponse SYN+ACK pour établir la connexion, ce qui oblige le serveur à consacrer ses ressources au traitement des données des requêtes et à l'envoie des paquets de réponse.
        Les attaques sont aussi importantes sur windows server que linux, alors n'amalgamons pas sur la grandeur de linux à ce niveau.

        Pour finir, une question que tu te pose certainement : pourquoi Chine et Etats unis ?

        Je te donne la réponse toute prête de viruslist :

        "Généralement, ce sont les ressources situées aux Etats-Unis et en Chine qui sont le plus souvent victimes d'attaques car les tarifs d'hébergement dans ces pays sont bas et on y trouve un nombre important de ressources."
        Leur conseil qui rejoint le mien : Auditer le réseau, placer un firewall, mise à jour,… et surtout
        "Un service de filtrage du trafic "poubelle" permet à une ressource en ligne de demeurer accessible pour ses utilisateurs légitimes, même lors d'une attaque puissante et de longue durée."
        Voila j'espère avoir répondu a ta question. Je pense qu'il est plus important d'apprendre à se défendre et comprendre à utiliser les réseaux que d'utiliser ce type de script mais ce n'est que mon avis personnel.


        Source : OVH, Wikipédia, Viruslist, Kapersky et moi-même.
        Dernière modification par DreAmuS, 25 août 2015, 06h42.

        Commentaire


        • #5
          Personnellement, je me protège de ce genre d'attaque par l'utilisation d'iptables et de fail2ban. J'ai aussi ajouté un script maison récupérant les ip bannies par fail2ban et les ajoutant à la DB gérant les bannissement de iptables (étant donné que fail2ban Semble perdre sa liste de bannissement au redémarrage).

          Je ne sais pas si ca suffirait pour bloquer une vraie DDOS mais le système semblé fonctionner. Je reçois plusieurs mails me prévenant de bannissement et ce tous les jours.

          Commentaire


          • #6
            Envoyé par DreAmuS Voir le message
            (...)

            Cela vous montrera les adresses IP (deuxième colonne) et le nombre total de connexions de chacun (premier). Si vous voyez, que vous avez trop de connexions de certaines adresses IP, vous pouvez les bloquer à l'aide de la commande suivante:

            Code:
            iptables -I INPUT -s  <IP/PORT>  -j DROP
            -I va bloquer ou blacklister cette IP et –D va débloquer l'IP
            On va bloquer une IP suivit de sa plage (l'ensemble du sous-réseau).
            Bonjour, à tous ...

            Excuse-moi, Dreamus, mais je corrige ton propos :

            => '-I' ne bloque pas ... L'écriture de l'option '-I' sert à insérer la règle en question en début de chaîne - dans ce cas-là, la chaîne INPUT, de la table par défaut nommée 'filter'.
            Ce qui sous-tend qu'on peut cibler toute autre chaîne, quelle soit une chaîne utilisateur ou pas.

            De même, on peut insérer une écriture, là où l'on veut, par l'ajout de l'écriture relative à la position désirée, telle que : '-I 6' ... qui ajoutera la règle à la ligne 6 de la chaîne choisie.

            => C'est la cible 'DROP' qui va avoir l'action de "bloquer" ... mais en réalité, elle ne bloque pas, au sens où l'humain l'entend, le signifie ; elle supprime les paquets réseaux qui répondent à la règle, en question, sans en avertir le logiciel source.

            => Pour finir, c'est l'écriture de l'option '-A' qui va ajouter en fin de chaîne ...


            Envoyé par DreAmuS Voir le message
            (...)

            Vous pouvez regarder vos entrées actuelles en utilisant iptables :

            Code:
            iptables -L -n
            (...)
            => Une petite précision :

            Code:
            iptables -L -nv
            L'option 'v' définit le mode verbeux ...

            Et, mieux, utiliser donc :

            Code:
            iptables -L -nv --line-numbers
            Je vous laisse découvrir la différence ;-)

            ----

            Pour le reste, merci pour les explications, et autres images ... je trouve cela tip-top !
            Dernière modification par _42_, 25 août 2015, 21h02.
            "Un hacker est un justicier du monde libre, du libre partage, de la libre information... "
            Quel slogan !
            Tout un programme ... une sacrée vision ... comme je les aime !

            Commentaire


            • #7
              Salut et merci pour ta correction. J'était debout à 4h du Mat et c'est vrai que j'ai taper in facto cette réponse vers 7h, j'ai du commettre des erreurs et j'en suis désolé.

              Tu a bien fait _42. C'est comme cela que l'on progresse en apportant des améliorations les uns les autres sur un sujet.

              A+

              Commentaire


              • #8
                Envoyé par Anonyme77 Voir le message
                (...) J'ai aussi ajouté un script maison récupérant les ip bannies par fail2ban et les ajoutant à la DB gérant les bannissement de iptables (étant donné que fail2ban Semble perdre sa liste de bannissement au redémarrage).
                (...).
                Un script de cet acabit - bash - :

                https://git.framasoft.org/hucste/too...ter/manage_ips

                (une version shell devrait bientôt exister !)
                "Un hacker est un justicier du monde libre, du libre partage, de la libre information... "
                Quel slogan !
                Tout un programme ... une sacrée vision ... comme je les aime !

                Commentaire

                Chargement...
                X