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 - Stuxnet

#261
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#262
XD buen reto .....
#263
ASM / Tutorial Básico del Lenguaje Ensamblador
Julio 08, 2012, 04:06:31 PM
Descripción básica de un sistema de cómputo

Unidades de información
Para que la PC pueda procesar la información es necesario que ésta se encuentre en celdas especiales llamadas registros.
Los registros son conjuntos de 8 o 16 flip-flops (basculadores o biestables).

Un flip-flop es un dispositivo capaz de almacenar dos niveles de voltaje, uno bajo, regularmente de 0.5 volts y otro alto comúnmente de 5 volts. El nivel bajo de energía en el flip-flop se interpreta como apagado o 0, y el nivel alto como prendido o 1. A estos estados se les conoce usualmente como bits, que son la unidad mas pequeña de información en una computadora.

A un grupo de 16 bits se le conoce como palabra, una palabra puede ser dividida en grupos de 8 bits llamados bytes, y a los grupos de 4 bits les llamamos nibbles.

Sistemas numéricos
El sistema numérico que utilizamos a diario es el sistema decimal, pero este sistema no es conveniente para las máquinas debido a que la información se maneja codificada en forma de bits prendidos o apagados; esta forma de codificación nos lleva a la necesidad de conocer el cálculo posicional que nos permita expresar un número en cualquier base que lo necesitemos.

Convertir números binarios a decimales

Trabajando en el lenguaje ensamblador nos encontramos con la necesidad de convertir números del sistema binario, que es el empleado por las computadoras, al sistema decimal utilizado por las personas.

El sistema binario está basado en únicamente dos condiciones o estados, ya sea encendido (1) o apagado (0), por lo tanto su base es dos.

Para la conversión podemos utilizar la formula de valor posicional: Por ejemplo, si tenemos el numero binario 10011, tomamos de derecha a izquierda cada dígito y lo multiplicamos por la base elevada a la nueva posición que ocupan:

Código: text
    Binario: 1       1       0       0       1

    Decimal: 1*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 1*2^4= 1+2+0+0+16=19 decimal.



El carácter ^ es utilizado en computación como símbolo de potenciación y el carácter * se usa para representar la multiplicación.

Convertir números decimales a binarios

Existen varios métodos de conversión de números decimales a binarios; aquí solo se analizará uno.

Naturalmente es mucho mas fácil una conversión con una calculadora científica, pero no siempre se cuenta con ella, así que es conveniente conocer por lo menos una forma manual para hacerlo.

El método que se explicará utiliza la división sucesiva entre dos, guardando el residuo como dígito binario y el resultado como la siguiente cantidad a dividir.

Tomemos como ejemplo el número 43 decimal.

Código: text
43/2 = 21 y su residuo es 1

21/2 = 10 y su residuo es 1

10/2 = 5 y su residuo es 0

5/2 = 2 y su residuo es 1

2/2 = 1 y su residuo es 0

1/2 = 0 y su residuo es 1


Armando el número de abajo hacia arriba tenemos que el resultado en binario es 101011.

Sistema hexadecimal

En la base hexadecimal tenemos 16 dígitos que van del 0 al 9 y de la letra A hasta la F (estas letras representan los números del 10 al 15). Por lo tanto, contamos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.

La conversión entre numeración binaria y hexadecimal es sencilla. Lo primero que se hace para una conversión de un número binario a hexadecimal es dividirlo en grupos de 4 bits, empezando de derecha a izquierda. En caso de que el último grupo (el que quede mas a la izquierda) sea menor de 4 bits se rellenan los faltantes con ceros.

Tomando como ejemplo el número binario 101011 lo dividimos en grupos de 4 bits y nos queda.

Código: text
10; 1011


Rellenando con ceros el último grupo (el de la izquierda):

Código: text
0010; 1011


Después tomamos cada grupo como un número independiente y consideramos su valor en decimal:

Código: text
 0010 = 2; 1011 = 11


Pero como no podemos representar este número hexadecimal como 211 porque sería un error, tenemos que sustituir todos los valores mayores a 9 por su respectiva representación en hexadecimal, con lo que obtenemos:

Código: text
2BH (Donde la H representa la base hexadecimal)


Para convertir un número de hexadecimal a binario solo es necesario invertir estos pasos: se toma el primer dígito hexadecimal y se convierte a binario, y luego el segundo, y así sucesivamente hasta completar el número.

Código ASCII
ASCII generalmente se pronuncia "aski", es un acrónimo de American Standard Code for Information Interchange.

Este código asigna a las letras del alfabeto, a los dígitos decimales del 0 al 9 y a varios símbolos adicionales un número binario de 7 bits (poniéndose el bit 8 en su estado de apagado o 0).

De esta forma cada letra, dígito o carácter especial ocupa un byte en la memoria de la computadora.

Podemos observar que este método de representación de datos es muy ineficiente en el aspecto numérico, ya que en formato binario nos basta un solo byte para representar números de 0 a 255, en cambio con el código ASCII un byte puede representar únicamente un dígito.

Debido a esta ineficiencia, el código ASCII es principalmente utilizado en la memoria para representar texto.

Método BCD
BCD es un acrónimo de Binary Coded Decimal.
En esta notación se utilizan grupos de 4 bits para representar cada dígito decimal del 0 al 9. Con este método podemos representar dos dígitos por byte de información.

Aún cuando este método es mucho mas práctico para representación de números en la memoria en comparación al ASCII, todavía se queda por debajo del binario, ya que con un byte en el método BCD solo podemos representar dígitos del 0 al 99, en cambio, en formato binario podemos representar todos los dígitos desde 0 hasta 255.

Este formato es utilizado principalmente para representar números muy grandes en aplicaciones mercantiles ya que facilita las operaciones con los mismos evitando errores de redondeo.

Representación de punto flotante

Esta representación esta basada en la notación científica, esto es, representar un número en dos partes: su mantisa y su exponente.

Poniendo como ejemplo el número 1234000, podemos representarlo como 1.123*10^6, en esta última notación el exponente nos indica el número de espacios que hay que mover el espacio hacia la derecha para obtener el resultado original.

En caso de que el exponente fuera negativo nos estaría indicando el número de espacios que hay que recorrer el punto decimal hacia la izquierda para obtener el original.

Proceso de creación de un programa

Para la creación de un programa es necesario seguir cinco pasos: Diseño del algoritmo, codificación del mismo, su traducción a lenguaje máquina, la prueba del programa y la depuración.

En la etapa de diseño se plantea el problema a resolver y se propone la mejor solución, creando diagramas esquemáticos utilizados para el mejor planteamiento de la solución.

La codificación del programa consiste en escribir el programa en algún lenguaje de programación; en este caso específico en ensamblador, tomando como base la solución propuesta en el paso anterior.

La traducción al lenguaje máquina es la creación del programa objeto, esto es, el programa escrito como una secuencia de ceros y unos que pueda ser interpretado por el procesador.

La prueba del programa consiste en verificar que el programa funcione sin errores, o sea, que haga lo que tiene que hacer.

La última etapa es la eliminación de las fallas detectadas en el programa durante la fase de prueba. La corrección de una falla normalmente requiere la repetición de los pasos comenzando desde el primero o el segundo.

Para crear un programa en ensamblador existen dos opciones, la primera es utilizar el MASM (Macro Assembler, de Microsoft), y la segunda es utilizar el debugger, en esta primera sección utilizaremos este último ya que se encuentra en cualquier PC con el sistema operativo MS-DOS, lo cual lo pone al alcance de cualquier usuario que tenga acceso a una máquina con estas características.

Debug solo puede crear archivos con extensión .COM, y por las características de este tipo de programas no pueden ser mayores de 64 kb, además deben comenzar en el desplazamiento, offset, o dirección de memoria 0100H dentro del segmento específico.

Registros de la UCP

La UCP tiene 14 registros internos, cada uno de 16 bits. Los primeros cuatro, AX, BX, CX, y DX son registros de uso general y tambien pueden ser utilizados como registros de 8 bits, para utilizarlos como tales es necesario referirse a ellos como por ejemplo: AH y AL, que son los bytes alto (high) y bajo (low) del registro AX. Esta nomenclatura es aplicable también a los registros BX, CX y DX.

Los registros son conocidos por sus nombres específicos:

Código: text
AX Acumulador

BX Registro base

CX Registro contador

DX Registro de datos

DS Registro del segmento de datos

ES Registro del segmento extra

SS Registro del segmento de pila

CS Registro del segmento de código

BP Registro de apuntadores base

SI Registro índice fuente

DI Registro índice destino

SP Registro del apuntador de la pila

IP Registro de apuntador de siguiente instrucción

F  Registro de banderas



Es posible visualizar los valores de los registros internos de la UCP utilizando el programa Debug. Para empezar a trabajar con Debug digite en el prompt de la computadora:

Código: text
C:\> Debug [Enter]


En la siguiente línea aparecerá un guión, éste es el indicador del Debug, en este momento se pueden introducir las instrucciones del Debug. Utilizando el comando:

Código: text
 - r [Enter]


Se desplegaran todos los contenidos de los registros internos de la UCP; una forma alternativa de mostrarlos es usar el comando "r" utilizando como parámetro el nombre del registro cuyo valor se quiera visualizar. Por ejemplo:

Código: text
- rbx


Esta instrucción desplegará únicamente el contenido del registro BX y cambia el indicador del Debug de " - " a " : " Estando así el prompt es posible cambiar el valor del registro que se visualizó tecleando el nuevo valor y a continuación [Enter], o se puede dejar el valor anterior presionando [Enter] sin teclear ningún valor.

Es posible cambiar el valor del registro de banderas, así como utilizarlo como estructura de control en nuestros programas como se verá mas adelante. Cada bit del registro tiene un nombre y significado especial, la lista dada a continuación describe el valor de cada bit, tanto apagado como prendido y su relación con las operaciones del procesador:

Código: text
Overflow

     NV = no hay desbordamiento;

     OV = sí lo hay

Direction

     UP = hacia adelante;

     DN = hacia atrás;

Interrupts

     DI = desactivadas;

     EI = activadas

Sign

     PL = positivo;

     NG = negativo

Zero

     NZ = no es cero;

     ZR = sí lo es

Auxiliary Carry

     NA = no hay acarreo auxiliar;

     AC = hay acarreo auxiliar

Parity

     PO = paridad non;

     PE = paridad par;

Carry

     NC = no hay acarreo;

     CY = Sí lo hay 


La estructura del ensamblador

En el lenguaje ensamblador las lineas de código constan de dos partes, la primera es el nombre de la instrucción que se va a ejecutar y la segunda son los parámetros del comando u operandos. Por ejemplo:

Código: text
(asm):
add al,[170]


Los corchetes en el segundo parámetro nos indican que vamos a trabajar con el contenido de la casilla de memoria número 170 y no con el valor 170, a esto se le conoce como direccionamiento directo.

Nuestro primer programa

Vamos a crear un programa que sirva para ilustrar lo que hemos estado viendo, lo que haremos será una suma de dos valores que introduciremos directamente en el programa:

El primer paso es iniciar el Debug, este paso consiste únicamente en teclear debug [Enter] en el prompt del sistema operativo.

Para ensamblar un programa en el Debug se utiliza el comando "a" (assemble); cuando se utiliza este comando se le puede dar como parámetro la dirección donde se desea que se inicie el ensamblado.

Si se omite el parámetro el ensamblado se iniciará en la localidad especificada por CS:IP, usualmente 0100H, que es la localidad donde deben iniciar los programas con extensión .COM, y será la localidad que utilizaremos debido a que debug solo puede crear este tipo específico de programas.

Aunque en este momento no es necesario darle un parámetro al comando "a" es recomendable hacerlo para evitar problemas una vez que se haga uso de los registros CS:IP, por lo tanto tecleamos:

Código: text
- a0100 [Enter]


Al hacer esto aparecerá en la pantalla algo como: 0C1B:0100 y el cursor se posiciona a la derecha de estos números, nótese que los primeros cuatro dígitos (en sistema hexagesimal) pueden ser diferentes, pero los últimos cuatro deben ser 0100, ya que es la dirección que indicamos como inicio.

Ahora podemos introducir las instrucciones:

Código: text
(asm):
0C1B:0100 mov ax,0002 ;coloca el valor 0002 en el registro ax
0C1B:0103 mov bx,0004 ;coloca el valor 0004 en el registro bx
0C1B:0106 add ax,bx ;le adiciona al contenido de ax el contenido de bx
0C1B:0108 int 20 ; provoca la terminación del programa.


No es necesario escribir los comentarios que van después del ";". Una vez digitado el último comando, int 20, se le da [Enter] sin escribir nada mas, para volver al prompt del debuger.

La última línea escrita no es propiamente una instrucción de ensamblador, es una llamada a una interrupción del sistema operativo, estas interrupciones serán tratadas mas a fondo en un capítulo posterior, por el momento solo es necesario saber que nos ahorran un gran número de lineas y son muy útiles para acceder a funciones del sistema operativo.

Para ejecutar el programa que escribimos se utiliza el comando "g", al utilizarlo veremos que aparece un mensaje que dice: "Program terminated normally". Naturalmente con un mensaje como éste no podemos estar seguros que el programa haya hecho la suma, pero existe una forma sencilla de verificarlo, utilizando el comando "r" del Debug podemos ver los contenidos de todos los registros del procesador, simplemente teclee:

Código: text
- r [Enter]


aparecerá en pantalla cada registro con su respectivo valor actual:

Código: text
AX=0006BX=0004CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000

    DS=0C1BES=0C1BSS=0C1BCS=0C1BIP=010A NV UP EI PL NZ NA PO NC

    0C1B:010A 0F DB oF


Existe la posibilidad de que los registros contengan valores diferentes, pero AX y BX deben ser los mismos, ya que son los que acabamos de modificar.

Otra forma de ver los valores, mientras se ejecuta el programa es utilizando como parámetro para "g" la dirección donde queremos que termine la ejecución y muestre los valores de los registros, en este caso sería: g108, esta instrucción ejecuta el programa, se detiene en la dirección 108 y muestra los contenidos de los registros.

También se puede llevar un seguimiento de lo que pasa en los registros utilizando el comando "t" (trace), la función de este comando es ejecutar línea por línea lo que se ensambló mostrando cada vez los contenidos de los registros. Para salir del Debug se utiliza el comando "q" (quit).

Guardar y cargar los programas

No sería práctico tener que digitar todo un programa cada vez que se necesite, para evitar eso es posible guardar un programa en el disco, con la enorme ventaja de que ya ensamblado no será necesario correr de nuevo debug para ejecutarlo.

Los pasos a seguir para guardar un programa ya almacenado en la memoria son:

- Obtener la longitud del programa restando la dirección final de la dirección inicial, naturalmente en sistema hexadecimal.
- Darle un nombre al programa y extensión
- Poner la longitud del programa en el registro CX
- Ordenar a Debug que escriba el programa en el disco.

Utilizando como ejemplo el programa del capítulo anterior tendremos una idea mas clara de como llevar estos pasos:

Al terminar de ensamblar el programa se vería así:

Código: text
0C1B:0100 mov ax,0002
0C1B:0103 mov bx,0004
0C1B:0106 add ax,bx
0C1B:0108 int 20


Para obtener la longitud de un programa se utiliza el comando "h", el cual nos muestra la suma y resta de dos números en hexadecimal. Para obtener la longitud del nuestro le proporcionamos como parámetros el valor de la dirección final de nuestro programa (10A) y el valor de la dirección inicial (100). El primer resultado que nos muestra el comando es la suma de los parámetros y el segundo es la resta.

El comando "n" nos permite poner un nombre al programa.

El comando "rcx" nos permite cambiar el contenido del registro CX al valor que obtuvimos del tamaño del archivo con "h", en este caso 000a, ya que nos interesa el resultado de la resta de la dirección inicial a la dirección final.

Por último el comando w escribe nuestro programa en el disco, indicándonos cuantos bytes escribió.

Para cargar un archivo ya guardado son necesarios dos pasos:

Proporcionar el nombre del archivo que se cargará.

Cargarlo utilizando el comando "l" (load).

Para obtener el resultado correcto de los siguientes pasos es necesario que previamente se haya creado el programa anterior.

Dentro del Debug escribimos lo siguiente:

Código: text
- n prueba.com
- l
- u 100 109


Código: text
0C3D:0100 B80200 MOV AX,0002
0C3D:0103 BB0400 MOV BX,0004
0C3D:0106 01D8 ADD AX,BX
0C3D:0108 CD20 INT 20


El último comando, "u", se utiliza para verificar que el programa se cargó en memoria, lo que hace es desensamblar el código y mostrarlo ya desensamblado. Los parámetros le indican a Debug desde donde y hasta donde desensamblar.

Debug siempre carga los programas en memoria en la dirección 100H, a menos que se le indique alguna otra.

Condicionales, ciclos y bifurcaciones

Estas estructuras, o formas de control le dan a la máquina un cierto grado de decisión basado en la información que recibe.

La forma mas sencilla de comprender este tema es por medio de ejemplos.

Vamos a crear tres programas que hagan lo mismo: desplegar un número determinado de veces una cadena de caracteres en la pantalla.

Código: text
    - a100
    0C1B:0100 jmp 125 ; brinca a la dirección 125H
    0C1B:0102 [Enter]

    - e 102 'Cadena a visualizar 15 veces' 0d 0a '$'

    - a125
    0C1B:0125 MOV CX,000F ; veces que se desplegara la cadena
    0C1B:0128 MOV DX,0102 ; copia cadena al registro DX
    0C1B:012B MOV AH,09 ; copia valor 09 al registro AH
    0C1B:012D INT 21 ; despliega cadena
    0C1B:012F LOOP 012D ; si CX>0 brinca a 012D
    0C1B:0131 INT 20 ; termina el programa.



Por medio del comando "e" es posible introducir una cadena de caracteres en una determinada localidad de memoria, dada como parámetro, la cadena se introduce entre comillas, le sigue un espacio, luego el valor hexadecimal del retorno de carro, un espacio, el valor de línea nueva y por último el símbolo '$' que el ensamblador interpreta como final de la cadena. La interrupción 21 utiliza el valor almacenado en el registro AH para ejecutar una determinada función, en este caso mostrar la cadena en pantalla, la cadena que muestra es la que está almacenada en el registro DX. La instrucción LOOP decrementa automáticamente el registro CX en uno y si no ha llegado el valor de este registro a cero brinca a la casilla indicada como parámetro, lo cual crea un ciclo que se repite el número de veces especificado por el valor de CX. La interrupción 20 termina la ejecución del programa.

Otra forma de realizar la misma función pero sin utilizar el comando LOOP es la siguiente:

Código: text
- a100
    0C1B:0100 jmp 125 ; brinca a la dirección 125H
    0C1B:0102 [Enter]
    - e 102 'Cadena a visualizar 15 veces' 0d 0a '$'
    - a125
    0C1B:0125 MOV BX,000F ; veces que se desplegara la cadena
    0C1B:0128 MOV DX,0102 ; copia cadena al registro DX
    0C1B:012B MOV AH,09 ; copia valor 09 al registro AH
    0C1B:012D INT 21 ; despliega cadena
    0C1B:012F DEC BX ; decrementa en 1 a BX
    0C1B:0130 JNZ 012D ; si BX es diferente a 0 brinca a 012D
    0C1B:0132 INT 20 ; termina el programa.



En este caso se utiliza el registro BX como contador para el programa, y por medio de la instrucción "DEC" se disminuye su valor en 1. La instrucción "JNZ" verifica si el valor de B es diferente a 0, esto con base en la bandera NZ, en caso afirmativo brinca hacia la dirección 012D. En caso contrario continúa la ejecución normal del programa y por lo tanto se termina.

Una última variante del programa es utilizando de nuevo a CX como contador, pero en lugar de utilizar LOOP utilizaremos decrementos a CX y comparación de CX a 0.

Código: text
- a100
    0C1B:0100 jmp 125 ; brinca a la dirección 125H
    0C1B:0102 [Enter]
    - e 102 'Cadena a visualizar 15 veces' 0d 0a '$'
    - a125
    0C1B:0125 MOV DX,0102 ; copia cadena al registro DX
    0C1B:0128 MOV CX,000F ; veces que se desplegara la cadena
    0C1B:012B MOV AH,09 ; copia valor 09 al registro AH
    0C1B:012D INT 21 ; despliega cadena
    0C1B:012F DEC CX ; decrementa en 1 a CX
    0C1B:0130 JCXZ 0134 ; si CX es igual a 0 brinca a 0134
    0C1B:0132 JMP 012D ; brinca a la dirección 012D
    0C1B:0134 INT 20 ; termina el programa


En este ejemplo se usó la instrucción JCXZ para controlar la condición de salto, el significado de tal función es: brinca si CX=0

El tipo de control a utilizar dependerá de las necesidades de programación en determinado momento.

Interrupciones

Definición de interrupción:

Una interrupción es una instrucción que detiene la ejecución de un programa para permitir el uso de la UCP a un proceso prioritario. Una vez concluido este último proceso se devuelve el control a la aplicación anterior.

Por ejemplo, cuando estamos trabajando con un procesador de palabras y en ese momento llega un aviso de uno de los puertos de comunicaciones, se detiene temporalmente la aplicación que estábamos utilizando para permitir el uso del procesador al manejo de la información que está llegando en ese momento. Una vez terminada la transferencia de información se reanudan las funciones normales del procesador de palabras.

Las interrupciones ocurren muy seguido, sencillamente la interrupción que actualiza la hora del día ocurre aproximadamente 18 veces por segundo. Para lograr administrar todas estas interrupciones, la computadora cuenta con un espacio de memoria, llamado memoria baja, donde se almacenan las direcciones de cierta localidad de memoria donde se encuentran un juego de instrucciones que la UCP ejecutará para después regresar a la aplicación en proceso.

En los programas anteriores hicimos uso de la interrupción número 20H para terminar la ejecución de nuestros programas, ahora utilizaremos otra interrupción para mostrar información en pantalla:

Utilizando Debug tecleamos:

Código: text
    - a100
    2C1B:0100 JMP 011D
    2C1B:0102 [ENTER]
    - E 102 'Hola, como estas.' 0D 0A '$'
    - A011D
    2C1B:011D MOV DX,0102
    2C1B:0120 MOV AH,09
    2C1B:0122 INT 21
    2C1B:0123 INT 20


En este programa la interrupción 21H manda al monitor la cadena localizada en la dirección a la que apunta el registro DX.

El valor que se le da a AH determina cual de las opciones de la interrupción 21H será utilizada, ya que esta interrupción cuenta con varias opciones.

El manejo directo de interrupciones es una de las partes mas fuertes del lenguaje ensamblador, ya que con ellas es posible controlar eficientemente todos los dispositivos internos y externos de una computadora gracias al completo control que se tiene sobre operaciones de entrada y salida. 

Fuente: Infierno Hacker
#264
Primeros pasos
Lo primero que aremos sera observar nuestra victima (el crackme), hasi que lo abrimos:


Lo primero que nos sale al correr el programa es esta molesta ventanita, mejor conocida como NAG, esta ventanita nos sale cuando no tenemos el programa registrado...


sigamos observando el crackme...
Lo que vemos es un textbox, un botón abajo... y al ultimo un label que dice "Sin Registrar"...
Me llamo la atencion el boton, porque esta desabilitado, le doy click... y no pasa nada, esto quiere decir que tendremos que habilitarlo :P...
Bueno ya basta de observar el crackme y vallamos a la mejor parte... OllyDBG

Con OllyDBG
Para empezar abrimos nuestro OllyDBG y decopilemos el crackme, nos saldra algo hasi:


Y ustedes diran ":O:O que instrucciones tan mas extrañas son esas.." pero la verdad son normales... ahorita veremos porque :P
Lo que aremos sera buscar todas las string's que allá en el programa así que hagamos lo siguiente:


Segundo click > Search For > All Referenced Text String
Le di hacia abajo, y me encontre con lo siguiente:


hay una instruccion en especial que me interesa... "IsDebuggerPressent", esta es una instruccion que se utiliza para todos los lenguajes de programacion y sirve para ver si el programa esta siendo debuggeado, ocea que si nosotros corremos nuestro programa en OllyDBG nos saldra lo siguiente:


Una ventanita que solo sale cuando esta siendo debuggeado el programa, no se preocupen esto se puede anular, ahorita les explico como...
Despues de picarle al boton "aceptar" se cerro el programa, corri denuevo el programa, y en lugar de picarle al boton, le pique a las tachitas pero salio lo mismo se cerro el programa. Esto es parte del programa, cuando detecta que el programa esta siendo debuggeado, se cierra el programa, para evitar que el programa sea crackiado.... pero esto no evita que el programa sea crackiado, lo unico que hace es molestar...
Continuemos!

Sigamos buscando strings... en este caso va a ser una en especial, la que hace que el programa se cierre cuando inicie el para evitar mas molestias y seguir crackiando nuestra aplicacion....
Como vimos, cuando detecta que esta siendo debuggeado sale un letrero con titulo "CrackMe!" y que dice "Cracker??" entonces busquemos eso en las string's...
Las encontre son las siguientes:


Damos click sobre cualquiera de las 2 (nos llevara casi a la misma parte, no importa sobre cual des click) y nos llevara a la siguiente zona:


Lo que les he mostrado es lo mas importante, les dire porque.
Para empezar vemos un salto (JE), ese es el salto que dice "Si es igual salto, si no no" entonces lo que hace hay es saltar si el programa esta siendo debuggeado lo que aremos sera parchar el codigo cambiando el JE por JMP

Les explicare algunas instrucciones usadas aqui:

Para empezar vemos las siguientes instrucciones:
Código: text
0040406F|  -  C745 8C AC3A4......   | Mov Dword PTR SS:[EBP-74], Prueba_D.0040...... |  UNICODE "CrackMe!"
00404081|  -  C745 9C 883A4......   | Mov Dword PTR SS:[EBP-64], Prueba_D.0040...... |  UNICODE "Cracker??!"

Que significa esto?? esto quiere decir que "CrackMe!" es el titulo de la ventana y que "Cracker??" es lo que dice en la ventana.

Código: text
0040409F|  -  FF15 2C104000   | CALL Dword PTR DS:[<&MSVBVM60.#595>] |  MSVBVM60.rtcMsgBox


Esta instruccion es la que hace que salga el mensage, si queremos que no salga este mensage podemos Nop'ear esta intruccion sin ningun error pero esto no va a evitar que se cierre el programa.

Código: text
004040C0|  -  FF15 10104000   | CALL Dword PTR DS:[<&MSVBVM60.__vbaEnd] |  MSVBVM60.__vbaEnd


Creo que con solo ver el "END" pueden dedusir que hace, lo que hace es cerrar la aplicacion vb... esta tambien la podemos nop'ear pero prefiero parchar el programa.

Bueno estas son algunas de las prinsipales instrucciones que aparecen en esta parte del codigo.
Continuemos!

Lo que aremos ahora sera hacer que el boton este activo para poder verificar nuestra clave.
Primero chequeemos cual es el nombre del boton, el nombre del boton es "Comprobar" pero como vemos, el boton inicia con la "C" subrayada esto quiere decir que su nombre seria "&Comprobar" ("&" en vb es para subrayar una letra) hasi que en la ventana prinsipal de OllyDBG precionemos:
Ctrl > B
Nos saldra la siguiente ventana:


Introducimos el nombre "&Comprobar", en mi caso solo puse "Comprobar" pero vean que tengo las dos opciones de abajo palomiadas.
Nos llevara a esta parte:


Principalmente vemos el nombre del boton que en este caso es "Command1" y 5 lineas mas abajo vemos lo que se ve en el boton "&Comprobar" (Comprobar).
Debajo podemos ver lineas que dicen "DB 04" "DB B0" etc.
Estas lineas son las propiedades del boton, TODAS LAS PROPIEDADES asi que podemos cambiarle todo ABSOLUTAMENTE TODO a nuestro gusto, en este caso queremos que el boton este activo.
Jugando con las propiedades me di cuenta que la propiedad de "Enabled" es la linea 11 contando hasia abajo del nombre del boton, ocea contamos 11 hacia abajo apartir de "&Comprobar", podemos ver que dice "DB 00" esto quiere decir que el boton esta enabled = false, porque ?? porque 0 es igual a false y 1 es igual a true, esto quiere decir que como el boton esta en "0" esta inactivo...
Lo que aremos nosotros sera poner que este activo, ¿Como hacer esto? pues oviamente cambiando el 0 por 1..


Damos segundo click > Binary > Edit o facilmente precionando
Ctrl + E
Y nos saldra una ventana como la siguiente:


Aqui es donde editamos el 0 por el 1.. (Cambiamos el segundo 0)
Y nuestro boton estara activo ahora.

Ahora eliminaremos la NAG, la ventana molesta que sale cuando iniciamos el programa. ¿Como hacer esto?
Busquemos en las string's el contenido de la ventana ("Tienes una version sin registrar"), damos doble click y nos enviara hasia aca:


Principalmente vemos el titulo de la ventana "CrackMe!" y despues vemos el contenido.
Un poco mas abajo vemos lo siguiente:
Código: text
00403FC8|  -  FF15 2C104000   | CALL Dword PTR DS:[<&MSVBVM60.#595] |  MSVBVM60.rtcMsgBox


Esta instruccion es la que nos manda la ventanita molesta del principio (NAG), lo que aremos sera nop'ear esta instruccion para que no salga la ventana..


Damos segundo click > Binary > Fill with NOPs
Y se quitara esa instruccion y nos saldra esto:


ocea que no nos saldra la ventana molesta (NAG).

Producto Final
Despues de realizar los cambios anteriores, si hisieron todo correctamente ya deberia estar nuestro programa listo para ser crackiado.
Ahora corramos el programa....
Prinsipalmente como siempre nos deberia salir la ventana molesta diciendonos que el programa no esta registrado blablabla, eso ya quedo en el pasado porque ya no nos salio.
Despues deberia detectar que el programa esta siendo debuggeado , pues en este caso no, porque lo parchamos asi que deberia correr sin ningun problema.
Despues hisimos que nuestro boton este activo y hasi deberia pasar, nuestro boton deberia funcionar.
Y listo nuestro programa esta preparado para ser crackiado :D:D.

Algunas instrucciones mas..
Aqui les van algunas otras instrucciones muy usadas:
Código: text
MSVBVM60.__vbaVarMove

Esta lo que hace es pasar el valor de una variante a otra.

Código: text
MSVBVM60.__vbaVarCopy

Copia el valor de una variante a otra.

Código: text
MSVBVM60.__vbaVarCmp

Compara dos variantes.

Estas solo son algunas de las muchas que hay.

CitarGreatz: IpKiss     &     w0rm
#265
un tutorial que explica detalladamente como  crear trainer específicamente como encontrar el address que está  dentro del ejecutable para crear un trainer genérico esto no tan solo  puede ser usado para juegos si no también para modificar(parchear) en  tiempo de ejecución.

Link del tutorial:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Autor: UND3R
Fuente: CrackSLatinoS
#266
GNU/Linux / Medusa
Julio 07, 2012, 11:54:12 AM

Lo instalaremos en Ubuntu:

1. abre la terminal y teclea esto.

Código: bash
sudo apt-get install medusa


no tienes que descargas libretas ni nada, todo ya viene con Ubuntu y en las ultimas versiones de Linux

2. para abrir o ejecutar medusa teclea esto en una terminal.

Código: bash
medusa


Con medusa puedes crackear por diccionario de una manera muy rápida los siguientes servicios.

Código: text
AFP
CVS
FTP
HTTP
IMAP
MS-SQL
MySQL
NetWare NCP
NNTP
PcAnywhere
POP3
PostgreSQL
REXEC
RLOGIN
RSH
SMBNT
SMTP-AUTH
SMTP-VRFY
SNMP
SSHv2
Subversion (SVN)
Telnet
VMware autenticacion Daemon (vmauthd)
VNC
Generico Wrapper


Como usar medusa: teclea en una terminal :

madusa -d

Con este comando pudieron ver los modulos adecuados a los cuales podemos atacar.

La sintaxis de una ataque normal seria así.

Código: bash
medusa -h www.victima.com -u usuario -P /home/stuxnet/crack_passwords.txt -M ssh -f


Donde esta -h You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login es el host o ip de la victima: -h 127.0.0.1, ahora la siguiente parte ? -u usuario? puede variar por que si tu te sabes el usuario simplemente colocas ?-u usuario? ahora si tambi?n intentas crackear el nombre de usuario hay tendr?a que ir la ruta del diccionario, ?-u /home/d14m4t3/crack_de_nombres_de_usuario.txt? recuerda, cambia la ruta ala tuya, ahora el siguiente paso, ?-P /home/d14m4nt3/crack_passwords.txt? es donde va a ir la ruta del diccionario de password, si tu te supieras la pass simplemente colocarias ?-P tupassword? seria raro que intentaras atacar por fuerza bruta y te supieras el pass y no el nombre de usuario jejeje.. ahora biene la ultima parte, ?-M ssh? este es el modulo al cual intentamos atacar, lo puedes reemplazar segun tu caso, telnet, ftp, ssh, HTTP, MySQL, MS-SQL.. etc.

parametros:

Código: text
-h -> el host victima
-v -> modo verbose (mas informacion level de 0 a 6 siendo el 6 mas alto)
-H -> si tenemos un archivo txt con una lista de hosts
-u -> el usuario al cual deseamos hacerle el cracking
-U -> un archivo txt con la lista de posibles usuarios (muy util si no sabemos que usuarios existen en el sistema)
-P -> Ubicacion del diccionario
-O -> Crea un archivo log
- e ns -> Verifica el password vacio o que ambos datos sean lo mismo
-M -> El modulo que deseamos emplear (sin la extension .mod)
-n -> por si el servicio esta corriendo en otro puerto diferente al default
-s -> Habilita ssl
-f -> detiene el ataque en el instante de encontrar un password valido
-b -> suprime los banners
#267
GNU/Linux / Editores hexadecimales
Junio 28, 2012, 11:56:23 AM
- Ghex, instalalo con sudo apt-get install ghex.

- Khexedit, te lo puedes descargar desde You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

- Okteta (omitid la bromas), lo instalas con sudo apt-get install okteta

- Wxhexeditor, puedes obtener un binario desde You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

- lfhex, lo instalas con sudo apt-get install lfhex.
#268
Phreak / Phone Remote Control V5.1
Junio 24, 2012, 08:56:03 PM

Phone Remote Control es un programa que te permitirá utilizar tu teléfono móvil para controlar las funciones básicas de diferentes programas utilizando, como vía de comunicación, una conexión Bluetooth o WIFI entre tu teléfono móvil y tu PC.Concretamente, con Bluetooth Remote Control podrás controlar las funciones básicas de programas como Winamp, Windows Media Player, PowerPoint, Media Player Classic, PowerDVD y Windows Media Center para Vista.

Para lograrlo, sólo tienes que instalar el programa en Windows, sincronizar tu dispositivo y establecer una conexión vía Bluetooth entre ambos periféricos.

Cuenta con Scripts para utilizar otras aplicaciones, que se pueden bajar de la Página oficial.

Requisitos
Para utilizar el control remoto del teléfono que usted necesita una conexión Bluetooth o WIFI y un PC equipado de Bluetooth o Wi-Fi de Java MIDP2.0 teléfono móvil.Requisitos para Windows
Teléfono de control remoto compatible con todas las soluciones Bluetooth y WIFI en el PC, y Windows 98, 2000, XP y Vista. El programa apoya las tres principales soluciones de Microsoft, Widcomm / Broadcom y Toshiba directa de la caja. Por lo tanto, ninguna necesidad de configuración de usuario! Todos los demás son apoyados a través de puerto COM de acceso:

* Microsoft Bluetooth solución
* Widcomm Bluetooth solución
* Toshiba Bluetooth solución (COM puerto detecta automáticamente)
* BlueSoleil Bluetooth solución (fácil paso a paso guía para configurar el puerto COM correcto)
* .Net Framework 1.1
* Todas las redes WIFI compatibles
* Probado en Seven "No compatible"

Requisitos para los teléfonos móviles

Java MIDP2.0 apoyo (Casi todos los teléfonos liberados desde 2005)
Bluetooth (con Java JSR-82) o WIFI.
Una gran cantidad de teléfonos móviles se liberan cada año. Es imposible mantener una lista actualizada de teléfonos compatibles. Pero si el teléfono está en libertad después de 2005, con Bluetooth o WIFI debe ser independiente del apoyo es de Nokia, Samsung, LG, SonyEricsson, Motorola, BlackBerry y otros fabricantes de teléfono.

IPhone no soportan Java MIDP2.0 y no es compatible

Enlaces Relacionados
ITunes

* Shows song name, artist & track time and UI objects
* Browse playlists, songs, artist, album and composers
* Search for songs
* Rank tracks
* Toggle shuffle
* Repeat track or library
* Play/pause, rewind, fast forward, change volume, previous/next track
* Mute

PowerPoint

* Shows next slide and slide notes
* Shows actual slides
* Play/stop presentation, previous/next slide
* Load recently used file
* Browse/Goto all/any slide
* Presentation time
* Scroll slide notes
* Vibrate when time expires

WinAMP

* Shows song name, artist & track time and UI objects
* Search for song and artists
* Play/pause, rewind, fast forward, change volume, previous/next track
* Toggle shuffle mode
* Change volume
* UI objects
* Toggle repeat mode

Windows Media Player

* Shows song name, artist & track time and UI objects
* Browse playlists and artists
* Rank tracks
* Toggle shuffle
* Repeat track or library
* Play/pause, rewind, fast forward, change volume, previous/next track
* Mute

Mouse mode

* Full support for controlling the PC mouse
* See the computer desktop on the phone
* Zoom in and out of the desktop
* B&W colors for faster response time
* Enter text

File Browser

* Allows launching of files

System

* Change system volume
* Start screensaver
* Lock workstation
* Shutdown Windows
* Start screensaver

Keymaps

* Acrobat Reader
* XingDVD Player
* Real Player
* ATI DVD Player
* BSplayer
* IrfanView
* Musicmatch Jukebox
* PowerDVD
* VLC Media Player
* Power Point (with keymap)
* WinAMP (with keymap)


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#269
Excelente Información
#270
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Hey si me hace falta cual me recomiendas, bueno antes de verlos y comprenderlos, en tu opinion asi de facil, grafico, y potente.
Aunke nada es facil, d todas formas quiero tu opinion.
Saludos.

Debugger que te recomiendo es el ollydbg , un heditor hexadecimal te recomiendo el HexWorkshop

vee esto son tutosd sobre el ollydbg You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#271

Un nuevo proyecto llamado CrowdRE tiene como objetivo hacer más fácil la ingeniería inversa de aplicaciones complejas trabajando en colaboración con otros usuarios. Normalmente, el proceso de revertir software a partir de un complicado binario puede consumir mucho tiempo, CrowdRE ayudará a acelerar este proceso a través del trabajo en equipo.

CrowdRE, que actualmente se considera en una etapa "alfa" del desarrollo, está disponible como un plug-in para IDA Pro 6.3.120531. Con el plug-in, un grupo de desarrolladores puede aplicar ingeniería inversa en una o más funciones de un binario y subir los resultados a un servidor en la nube que hace un seguimiento de todo en una base de datos central. Esto permite a los clientes beneficiarse de un trabajo que otros desarrolladores ya han completado y compartir los progresos que hacen con el resto de la comunidad. La base de datos permite cualquier búsqueda y cada función puede tener diferentes "commits" concurrentes.



La herramienta es libre y está siendo desarrollada por una empresa de seguridad llamada CrowdStrike. Georg Wicherski, investigador senior de seguridad de CrowdStrike, dice que el objetivo de la compañía es "ayudar a construir una base de datos pública de las funciones más conocidas para acelerar el análisis de componentes estándar", y agregó "también soportamos visibilidad de cambios basada en listas para dar a los usuarios control sobre quién más puede ver e importar sus contribuciones".

En los próximos días, los desarrolladores planean publicar una serie de entradas 'how-to', incluyendo vídeos en el blog oficial de CrowdStrike a fin de explicar los distintos casos de uso de CrowdRE. CrowdRE usa el servicio de autenticación de Google, así que se requiere una cuenta de Google para el registro.

Web del proyecto: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#272
No borro el tema solo por que es con fines educativos.

Tema Cerrado.
#273
Hacking / Re:Dorks SQL Injection
Junio 10, 2012, 01:52:27 PM
Buen aporte ,

los puedes poner con las etiquetas code
#274
Hacking / Top Post
Mayo 28, 2012, 08:29:52 PM

  • Este índice tiene el objetivo de destacar los posts más significantes del foro de hacking y quedará en constante actualización.

Documentación:


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login





Redes:


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login





Escáneo


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login





Explotación


  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
  • You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#275
Desde ya hace tiempo que la forma de obtener la contraseña de administrador de Windows desde Windows ha sido obteniendo un Hash encriptado en NTLM o LM desde el SAM remoto o local de Windows, una vez obtenido ese Hash hay que crackear la contraseñas por fuerza bruta mediante Rainbow Tables, lo que se demora mucho y se hace imposible si tiene más de 10 dígitos la  contraseña, por lo cual muchas veces se prefieres usar la técnica Pass the Hash que consiste en la posibilidad de autenticarse entre máquinas Windows sin necesidad de password, solamente con el Hash (No se preocupen si no entendieron, este es un mega resumen que da para escribir mucho más).

Ahora... Gracias a un investigador francés apodado "Gentil Kiwi" que ha descubierto una nueva técnica que consta de:

Dentro del LSA (Local Security Authority) de Windows existen dos proveedores de autenticación por defecto (Tspkg y Wdigest) que almacenan las credenciales de los usuarios de forma reversible. Realmente no por un fallo inadvertido, si no porque estos módulos proveen autenticación a otros esquemas que necesitan conocer la contraseña, no sólo el hash.

Sin embargo, esto facitita a un atacante la posibilidad de recuperar las contraseñas en texto claro si dispone de permisos de debug sobre el proceso del LSASS (grupo de adminitradores), algo que podría haber conseguido previamente, por ejemplo, mediante la explotación previa de una vulnerabilidad de escalado privilegios (accediendo como SYSTEM).

Pues bueno, ya mucho blah blah ahora manos a la obra:

1.- Nos descargamos la herramienta desarrollada por "Gentil Kiwi": You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

2.- Abrimos el CMD con privilegios de administrador:



3.- Ejecutamos mimikatz.exe desde la consola que abrimos anteriormente.

4.- Ahora ejecutamos una serie de comandos que entro a explicar después de la imagen:



(1) Damos privilegios sobre el proceso lsass.exe

Código: text
privilege::debug


(2) Inyectamos el proceso lsass.exe y la dll maliciosa sekurlsa.dll

Código: text
inject::process lsass.exe sekurlsa.dll


(3) Obtenemos las contraseñas de Inicio de Sesión

Código: text
@getLogonPasswords


(4) Es la contraseñas del usuario AADMIN, (5) La misma contraseña pero de otro inicio de sesión.

El método funciona en Windows XP, Vista y 7.
#276
Cursos de Ethical Hacking / Seguridad Informatica

Si alguna vez, pensaste formar parte de la seguridad informática, y desarrollar procesos de seguridad en distintos campos de la misma, esta es una excelente oportunidad para poderlo realizar. Si crees que el camino para llegar a tener estos conocimientos es arduo y complejo, estas en lo correcto; Pero hoy lo puedes hacer con ayuda de profesionales en el tema, que tienen como principio de vida, el compartir el conocimiento y habilidades que poseen,  en este caso, se enfocan a la seguridad informática, ethical hacking, programación, criptografía, ingeniería social, y un largo etc...

El día de hoy, ellos han empezado un nuevo proyecto, que esperan siente las bases para un proyecto mucho mayor, que esté al alcance, de toda aquella persona que desee aprender y compartir su conocimiento en el campo de la informática y seguridad informática.

   Nivel 1:  -Fundamentacion
   Nivel 2:  -Vulnerabilidades
   Nivel 3:  -Desarrollo de exploits
   Nivel 4:  -Pentesting Profesional

Hoy principalmente, estamos publicitando el Nivel 1, al cual puede acceder cualquier persona, con interés de aprender y tener unas bases mucho más solidas para desenvolverse en esté mundo de la seguridad informática; Aunque claro está, que si consideras que estas en un nivel más alto ó te interesa algún tema en especial de los niveles siguientes, puedes hacerlo, sin ningún tipo de restricción.

El Nivel 1, consta del siguiente temario, qué ha sido cuidadosamente escogido, para que al terminar el mismo, la persona en verdad tenga unos conocimientos básicos y sólidos para seguir sus estudios en temas de mucho más nivel.

NIVEL 1 : Fundamentacion

     • Lógica de Programación
     • Utilización de Sistemas Operativos linux (instalación, manejo y comandos)
     • Virtualización
     • Protocolos (ftp, smtp, ssh, telnet, pop3, http, dns, smb)
     • Herramientas Básicas Hacking (netcat, nmap, wireshark, tcpdum)
     • Redes (direccionamiento,  ip's dinamicas, ip's estaticas, redireccion de puertos)
     • Anonimato
     • Servidores Web
     • Google hacking 
     • Criptografia Básica
     • Ingenieria Social
     • Metadatos
     • Fases de un ataque
     • Recolección de información

Como pueden observar, el temario es muy bueno y en verdad sentará unas solidas bases en cuanto al conocimiento de seguridad informática se refiere; Como anteriormente se definió, esté es un proyecto que recién comienza, pero lo hace con la mayor seriedad posible y se espera, construir a partir de él, un proyecto mucho más grande y ambicioso en cuanto a cobertura se refiere.

Siguiendo la tónica de la información, por motivos de presupuesto y estabilidad para el proyecto, el curso necesita dar recursos mínimos para el sostenimiento del mismo, así que el costo del Nivel 1, es  accesible a todo tipo de persona, solo son $35 Dolares Americanos y aparte de todo el temario que acaban de ver, también al terminar el mismo Nivel, se dispondrá de un LABORATORIO FINAL en el cual, se pondrá a prueba todo lo aprendido durante el curso.

Para poder realizar la inscripción a los respectivos niveles, es necesario que lo hagan desde esté formulario:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

#277
Sera este el código original del Stuxnet

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#278
Bugs y Exploits / Samurai Web Testing FrameWork
Mayo 21, 2012, 11:35:23 PM

Samurai Web Testing FrameWork es una distribución GNU/Linux con tecnología Live CD, desarrollado con la idea de probar la seguridad de nuestros ambientes WEB. Esta distribución contiene las mejores herramientas de software libre y de software gratis (NO-Libre) enfocadas principalmente para hacer Pen-Testing (¿Ataques?) a páginas web.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#279
Hacking / Hacking Mexico Webcast Episodios [1-3]
Mayo 21, 2012, 01:13:38 AM


#280
En español

Contenido.

·  Tecnología de SWITCH
·  Tecnología de RUTEADOR
·  Donde usar Switch?
·  Donde usar un ruteador?
·  Segmentando con Switches y Ruteadores
o Segmentando LANs con Switch
o Segmentando Subredes con Ruteadores
o Seleccionando un Switch o un Ruteador para Segmentar
·  Diseñando Redes con Switches y Ruteadores
·  Diseñando Redes para Grupos de Trabajo
o Pequeños Grupos de Trabajo
§ Opción #1: Solución con Ruteador
§ Opción #2: Solución con Switch
o Grupos de Trabajo Departamentales
§ Respecto al tráfico de Broadcast
o Ruteo como Política Segura
§ Segmentación Física
§ Segmentación Lógica
·  Diseñando para Ambientes de Backbone
o Baja Densidad, Alta Velocidad en el Enlace Dentro de la Central de Datos
o Alta Densidad, Enlace de Alta Velocidad a la Central de Datos
o ATM para el Campus o el Backbone del Edificio
o Backbone Redundantes, Garantizan Disponibilidad de la Red
·  Diseñando para Acceso a WAN
·  El Futuro de los Switches
o Soporte Multimedia
·  Futuro del Ruteo
o Interfaces LAN y WAN
·  Sumario

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login