Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Debci

#251
Cita de: dantemc en 12 Marzo 2011, 19:52 PM
fragmentación del script?? te puede funcionar, depende que estés usando cómo ataque, es que el metasploit...

y tal ves ésto te sirva, aunque imagino que ya lo has visto
http://www.securitytube.net/video/579
En primer lugar, muchas gracias por tu tiempo y tu respuesta.

En segundo comentarte que el problema no está en la detección del payload, eso no tengo problema, la trava me la encuentro cuando no puedo hacer un DNS Spoof para llevar al otro PC a mi página, la que contiene el payload.

De alguna manera el equipo víctima consigue frustrar mi ARP Poison y el DNS Spoof de forma que el ataque queda un tanto inutil.

Saludos
#252
Según wikipedia:
CitarLos siguientes cinco pasos son efectuados para calcular el resumen del mensaje.

Paso 1. Adición de bits
El mensaje será extendido hasta que su longitud en bits sea congruente con 448, módulo 512. Esto es, si se le resta 448 a la longitud del mensaje tras este paso, se obtiene un múltiplo de 512. Esta extensión se realiza siempre, incluso si la longitud del mensaje es ya congruente con 448, módulo 512.
La extensión se realiza como sigue: un solo bit "1" se añade al mensaje, y después se añaden bits "0" hasta que la longitud en bits del mensaje extendido se haga congruente con 448, módulo 512. En todos los mensajes se añade al menos un bit y como máximo 512.

Paso 2. Longitud del mensaje
Un entero de 64 bits que represente la longitud 'b' del mensaje (longitud antes de añadir los bits) se concatena al resultado del paso anterior. En el supuesto no deseado de que 'b' sea mayor que 2^64, entonces sólo los 64 bits de menor peso de 'b' se usarán.
En este punto el mensaje resultante (después de rellenar con los bits y con 'b') se tiene una longitud que es un múltiplo exacto de 512 bits. A su vez, la longitud del mensaje es múltiplo de 16 palabras (32 bits por palabra). Con M[0 ... N-1] denotaremos las palabras del mensaje resultante, donde N es múltiplo de 16.

Paso 3. Inicializar el búfer MD
Un búfer de cuatro palabras (A, B, C, D) se usa para calcular el resumen del mensaje. Aquí cada una de las letras A, B, C, D representa un registro de 32 bits. Estos registros se inicializan con los siguientes valores hexadecimales, los bits de menor peso primero:
 palabra A: 01 23 45 67
 palabra B: 89 ab cd ef
 palabra C: fe dc ba 98
 palabra D: 76 54 32 10

Paso 4. Procesado del mensaje en bloques de 16 palabras
Primero definimos cuatro funciones auxiliares que toman como entrada tres palabras de 32 bits y su salida es una palabra de 32 bits.

Los operadores  son las funciones XOR, AND, OR y NOT respectivamente.
En cada posición de cada bit F actúa como un condicional: si X, entonces Y sino Z. La función F podría haber sido definida usando + en lugar de v ya que XY y not(x) Z nunca tendrán unos ('1') en la misma posición de bit. Es interesante resaltar que si los bits de X, Y y Z son independientes y no sesgados, cada uno de los bits de F(X,Y,Z) será independiente y no sesgado.
Las funciones G, H e I son similares a la función F, ya que actúan "bit a bit en paralelo" para producir sus salidas de los bits de X, Y y Z, en la medida que si cada bit correspondiente de X, Y y Z son independientes y no sesgados, entonces cada bit de G(X,Y,Z), H(X,Y,Z) e I(X,Y,Z) serán independientes y no sesgados. Nótese que la función H es la comparación bit a bit "xor" o función "paridad" de sus entradas.
Este paso usa una tabla de 64 elementos T[1 ... 64] construida con la función Seno. Denotaremos por T el elemento i-ésimo de esta tabla, que será igual a la parte entera del valor absoluto del seno de 'i' 4294967296 veces, donde 'i' está en radianes.

Código del MD5:
/* Procesar cada bloque de 16 palabras. */
para i = 0 hasta N/16-1 hacer

  /* Copiar el bloque 'i' en X. */
  para j = 0 hasta 15 hacer
    hacer X[j] de M[i*16+j].
  fin para /* del bucle 'j' */

/* Guardar A como AA, B como BB, C como CC, y D como DD. */
AA = A
BB = B
CC = C
DD = D

/* Ronda 1. */
/* [abcd k s i] denotarán la operación
     a = b + ((a + F(b, c, d) + X[k] + T) <<< s). */
/* Hacer las siguientes 16 operaciones. */
[ABCD  0  7  1] [DABC  1 12  2] [CDAB  2 17  3] [BCDA  3 22  4]
[ABCD  4  7  5] [DABC  5 12  6] [CDAB  6 17  7] [BCDA  7 22  8]
[ABCD  8  7  9] [DABC  9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12  7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

/* Ronda 2. */
/* [abcd k s i] denotarán la operación
    a = b + ((a + G(b, c, d) + X[k] + T) <<< s). */
/* Hacer las siguientes 16 operaciones. */
[ABCD  1  5 17] [DABC  6  9 18] [CDAB 11 14 19] [BCDA  0 20 20]
[ABCD  5  5 21] [DABC 10  9 22] [CDAB 15 14 23] [BCDA  4 20 24]
[ABCD  9  5 25] [DABC 14  9 26] [CDAB  3 14 27] [BCDA  8 20 28]
[ABCD 13  5 29] [DABC  2  9 30] [CDAB  7 14 31] [BCDA 12 20 32]

/* Ronda 3. */
/* [abcd k s t] denotarán la operación
    a = b + ((a + H(b, c, d) + X[k] + T) <<< s). */
/* Hacer las siguientes 16 operaciones. */
[ABCD  5  4 33] [DABC  8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
[ABCD  1  4 37] [DABC  4 11 38] [CDAB  7 16 39] [BCDA 10 23 40]
[ABCD 13  4 41] [DABC  0 11 42] [CDAB  3 16 43] [BCDA  6 23 44]
[ABCD  9  4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA  2 23 48]

/* Ronda 4. */
/* [abcd k s t] denotarán la operación
    a = b + ((a + I(b, c, d) + X[k] + T) <<< s). */
/* Hacer las siguientes 16 operaciones. */
[ABCD  0  6 49] [DABC  7 10 50] [CDAB 14 15 51] [BCDA  5 21 52]
[ABCD 12  6 53] [DABC  3 10 54] [CDAB 10 15 55] [BCDA  1 21 56]
[ABCD  8  6 57] [DABC 15 10 58] [CDAB  6 15 59] [BCDA 13 21 60]
[ABCD  4  6 61] [DABC 11 10 62] [CDAB  2 15 63] [BCDA  9 21 64]

/* Ahora realizar las siguientes sumas. (Este es el incremento de cada
   uno de los cuatro registros por el valor que tenían antes de que
   este bloque fuera inicializado.) */

   A = A + AA
   B = B + BB
   C = C + CC
   D = D + DD

fin para /* del bucle en 'i' */

Paso 5. Salida
El resumen del mensaje es la salida producida por A, B, C y D. Esto es, se comienza el byte de menor peso de A y se acaba con el byte de mayor peso de D.
http://es.wikipedia.org/wiki/MD5


Saludos
#253
Hoy he retomado mi aprendizaje, he vuelto a hacer unas cuantas pruebas con dos PC, en Lan, mi laptop y un netbook que tengo.

Software usado:

Metasploit Framework
NMAP
Hping
Ettercap
SET (Social Engineering Toolkit)

Mapa del laboratorio:

2 equipos conectados a través de WLAN

No hay un router que haga de firewall ni nada por el estilo, una conexión casera sin nada fuera de lo cotidiano.

El SO del atacante es Backtrack 4 R2 y el PC víctima tiene un Windows SP3

Tipo de ataque:

Se ha creado un servidor web con un APPLET infectado por un payload meterpreter, dejando el equipo atacante a la escucha de una conexión entrante.

La idea es "obligar" al equipo víctima a visitar dicha página, spoofeada de alguna conocida, para que quede infectado y lograr el control remoto del equipo víctima.

Problemas que se plantean:

Este ataque funciona perfectamente bajo el uso de Ettercap y si el equipo víctima no tiene el antivirus activado.
Cuando activo el antivirus en el equipo víctima, el ARP Spoof y el DNS spoof dejan de funcionar como deberían y en consecuencia el ataque no concluye con éxito.


Alguien tiene algún consejo para bypassear el Antivirus?
#254
Cita de: mansan[a] en  2 Marzo 2011, 22:19 PM
 Esta herramienta acaba de salir, como has conseguido hacerla pública :o?
Oh madre mia....
O es ironia o estoy muy muy muy perdido xD

Saludos
#255
Java / Re: Duda con Java
10 Marzo 2011, 00:18 AM
El problema es que se entiende por error algo de mas dificil aprendizaje, que se tenga mas control (y por consecuente) mas errores de programación al crear un APP, no quiere decir que sean fallos.

Con C++ se pueden hacer cosas que dificilmente se hace con Java, y te lo dice un amante de Java.

Saludos
#256
Java / Re: como abrir un pdf desde un JButtton
10 Marzo 2011, 00:14 AM
Te refieres a abrirlo y visualizarlo en un visor propio o abrirlo en el visor por defecto del equipo?

Si te refieres a lo segundo, tendrás que buscar como lanzar un programa lector de pdf y que como parámetro reciva el pdf que debe abrir.
Si te refieres a lo primero deberás buscarte un libreria PDF para java que te permita decodificar el contenido y expresarlo en algún control gráfico de tu interfaz.

Saludos
#257
Cita de: Alexis-CS en  7 Marzo 2011, 22:58 PM
Estaria bien... sobre todo cuando los picolos vieran mi 2100 Tuneao  ;-) ;-) ;-) ;-) :silbar:
:O que desgracia no?

Saludos
#258
Java / Re: Duda sencilla en Java
8 Marzo 2011, 00:32 AM
Cita de: Feedeex en  8 Marzo 2011, 00:23 AM
Gracias. Es cierto, olvide lo del IndexOf() que acababa de aprender :-X. Por cierto una pregunta más:

En los videotutoriales que estoy mirando (de Jesús Conde, por cierto) siempre tanto él manualmente como Netbeans inician con:

class nombre {
  public static void main(String[] args) {


Lo de class según lo que entendí tiene que tener relacion alguna con el nombre del Package , aunque a mi siempre me devuelve Incorrect Package no se porque (me funciona de todos modos).
Y ahora lo que sigue, entiendo que es el "menú por donde comenzar" el programa, no comprendo que hace public/private y por que el void (aunque supongo que lo del void es porque se le va a pasar más de un valor de diferentes tipos :huh:). Y después (String[] args) me recuerda a funciones en donde pasamos parámetros, pero acá no..
A ver si me pueden ayudar este poquito más que intento comprender el código por completo. Gracias.
Mira, de uno en uno.

Private y public se hace para que el intérprete no reserve tanta memoria, si no la vas a usar en un contexto externo pon private, así no se declara en todos los ámbitos y se aligera el programa.

void, es un tipo de dato, vacío o nulo en algún contexto, quiere decir que no devuelve ningún valor, si es int, tiene que devolver un int, si es float, un float...

String[] args son los parámetros de la función principal, los que recibe el programa por línea de comandos, para que me entiendas:

./miprogramajava argumento1

argumento1 estaría en el array, recuerda además que los primeros indices incluyen información relativa al contexto del programa.


Saludos ;)
#259
Caaaalma que no necesitamos desvirtuar mas temas por un estupidez, no seáis críos.

Respecto a tu problema, si quieres reírte de el de verdad, denunciale ;)


Saludos
#260
Que no pare nunca esta máquina de precisión, horno de conocimiento y forja de los nuevos revolucionarios del siglo!

Feliz décimo aniversario.

Saludos