Advertisement
Doddy

Project Kakilles

Jan 4th, 2014
545
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 5.49 KB | None | 0 0
  1. #!usr/bin/perl
  2. #Project Kakilles 0.3
  3. #(C) Doddy Hackman 2014
  4.  
  5. use HTTP::Proxy;
  6. use HTTP::Proxy::BodyFilter::simple;
  7. use HTTP::Proxy::BodyFilter::complete;
  8.  
  9. my $port;
  10.  
  11. head();
  12.  
  13. if ( $ARGV[1] ne "" ) {
  14.     $port = $ARGV[1];
  15. }
  16. else {
  17.     $port = 8080;
  18. }
  19.  
  20. if ( $ARGV[0] eq "" ) {
  21.     sintax();
  22.     copyright();
  23. }
  24.  
  25. $SIG{INT} = \&copyright;
  26.  
  27. my $logs       = "logs.txt";
  28. my $leer_datos = "center.txt";
  29.  
  30. print "\n[+] Kakilles Online : $port ...\n";
  31.  
  32. my $server = HTTP::Proxy->new( port => $port );
  33. $server->host();
  34.  
  35. $server->push_filter(
  36.     mime     => undef,
  37.     response => HTTP::Proxy::BodyFilter::complete->new()
  38. );
  39.  
  40. $server->push_filter(
  41.     mime     => undef,
  42.     request  => HTTP::Proxy::BodyFilter::simple->new( \&enable ),
  43.     response => HTTP::Proxy::BodyFilter::simple->new( \&enable2 )
  44. );
  45.  
  46. $server->start();
  47.  
  48. sub enable {
  49.  
  50.     my @logs;
  51.  
  52.     my ( $self, $dataref, $message, $protocol, $buffer ) = @_;
  53.  
  54.     if ( $ARGV[0] =~ /p/ ) {
  55.  
  56.         if ( $message->content ne "" and $message->method eq "POST" ) {
  57.  
  58.             print
  59. "\n########################################################################\n";
  60.             print "[+] Method : " . $message->method;
  61.             print "\n[+] Content : " . $message->content;
  62.             savefile( $leer_datos, $message->content );
  63.             print
  64. "\n########################################################################\n";
  65.  
  66.             print "\n[+] Change ? [y/n] : ";
  67.             chomp( my $rta = <stdin> );
  68.  
  69.             if ( $rta =~ /y/ ) {
  70.  
  71.                 system_leida($leer_datos);
  72.  
  73.                 my $source = abrir();
  74.                 $message->header( "content-length" => length($source) );
  75.                 $message->content($source);
  76.  
  77.                 print "\n[+] Changed !\n";
  78.  
  79.             }
  80.         }
  81.     }
  82.  
  83.     if ( $ARGV[0] =~ /g/ ) {
  84.  
  85.         if ( $message->uri =~ /(.*)\?(.*)/ ) {
  86.  
  87.             print
  88. "\n########################################################################\n";
  89.             print "[+] GET : " . $message->uri;
  90.             savefile( $leer_datos, $message->uri );
  91.             print
  92. "\n########################################################################\n";
  93.  
  94.             print "\n[+] Change ? [y/n] : ";
  95.             chomp( my $rta = <stdin> );
  96.  
  97.             if ( $rta =~ /y/ ) {
  98.  
  99.                 system_leida($leer_datos);
  100.  
  101.                 my $source = abrir();
  102.  
  103.                 $message->uri($source);
  104.  
  105.                 print "\n[+] Changed !\n";
  106.  
  107.             }
  108.  
  109.         }
  110.  
  111.     }
  112.  
  113.     if ( $ARGV[0] =~ /a/ ) {
  114.  
  115.         print
  116. "\n########################################################################\n";
  117.         print "[+] User-Agent : " . $message->header("user-agent");
  118.         savefile( $leer_datos, $message->header("user-agent") );
  119.         print
  120. "\n########################################################################\n";
  121.  
  122.         print "\n[+] Change ? [y/n] : ";
  123.         chomp( my $rta = <stdin> );
  124.  
  125.         if ( $rta =~ /y/ ) {
  126.  
  127.             system_leida($leer_datos);
  128.  
  129.             my $source = abrir();
  130.  
  131.             $message->header( "user-agent" => $source );
  132.  
  133.             print "\n[+] Changed !\n";
  134.  
  135.         }
  136.     }
  137.  
  138.     if ( $ARGV[0] =~ /o/ ) {
  139.  
  140.         print
  141. "\n########################################################################\n";
  142.         print "[+] Cookie : " . $message->header("cookie");
  143.         savefile( $leer_datos, $message->header("cookie") );
  144.         print
  145. "\n########################################################################\n";
  146.  
  147.         print "\n[+] Change ? [y/n] : ";
  148.         chomp( my $rta = <stdin> );
  149.  
  150.         if ( $rta =~ /y/ ) {
  151.  
  152.             system_leida($leer_datos);
  153.  
  154.             my $source = abrir();
  155.  
  156.             $message->header( "cookie" => $source );
  157.  
  158.             print "\n[+] Changed !\n";
  159.  
  160.         }
  161.     }
  162.  
  163. }
  164.  
  165. sub enable2 {
  166.     my ( $j, $k, $l, $m, $n ) = @_;
  167.  
  168.     if ( $ARGV[0] =~ /c/ ) {
  169.  
  170.         if ( $$k ne "" ) {
  171.  
  172.             print
  173.               "\n##########################################################\n";
  174.             print "[+] Content : " . $$k;
  175.             savefile( $leer_datos, $$k );
  176.             print
  177.               "\n##########################################################\n";
  178.  
  179.             print "\n[+] Change ? [y/n] : ";
  180.             chomp( my $rta = <stdin> );
  181.  
  182.             if ( $rta =~ /y/ ) {
  183.  
  184.                 system_leida($leer_datos);
  185.  
  186.                 my $source = abrir();
  187.  
  188.                 $$k = $source;
  189.  
  190.                 print "\n[+] Changed !\n";
  191.  
  192.             }
  193.  
  194.         }
  195.  
  196.     }
  197.  
  198. }
  199.  
  200. # Functions
  201.  
  202. sub system_leida {
  203.     my $os = $^O;
  204.     if ( $os =~ /Win/ig ) {
  205.         system( "start " . $_[0] );
  206.     }
  207.     else {
  208.         system( "sudo gedit " . $_[0] );
  209.     }
  210. }
  211.  
  212. sub abrir {
  213.     open my $FILE, q[<], $leer_datos;
  214.     my $word = join q[], <$FILE>;
  215.     close $FILE;
  216.     chomp $word;
  217.     return $word;
  218. }
  219.  
  220. sub savefile {
  221.     unlink($leer_datos);
  222.     open( SAVE, ">>" . $_[0] );
  223.     print SAVE $_[1] . "\n";
  224.     close SAVE;
  225. }
  226.  
  227. sub head {
  228.     print "\n-- == Project Kakilles 0.3 == --\n";
  229. }
  230.  
  231. sub copyright {
  232.     print "\n-- == (C) Doddy Hackman 2014 == --\n\n";
  233.     exit(1);
  234. }
  235.  
  236. sub sintax {
  237.     print "\n[+] Sintax : $0 <options> <port>\n";
  238.     print "\n[?] Options ...\n\n";
  239.     print "-g : Form with GET\n";
  240.     print "-p : Form with POST\n";
  241.     print "-a : Edit User-Agent\n";
  242.     print "-c : Edit Content\n";
  243.     print "-o : Edit Cookie\n";
  244.     print "\n[+] Example : $0 -pc 666\n";
  245. }
  246.  
  247. # The End ?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement