Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

lunes, 21 de marzo de 2016

Curso de ensamblador en GNU/LINUX enfocado al hacking



   En este curso se enseña a programar en ensamblador, después se aplica a temas de ingeniería inversa y por último a detectar y explotar vulnerabilidades (desarrollo de exploits).

Cuando se esta en el mundo del hacking y la seguridad informática llega un momento donde quieres evolucionar y no usar herramientas de 3eras personas, llega un momento donde quieres desarrollar tus propias herramientas y/o analizar en busca de virus algun software.

Aprender ensamblador es un tema importantísimo  ya que es el lenguaje que entiende el procesador, cuando enfocas ese conocimiento a hacking es algo increíble porque le das instrucciones directas al procesador y el procesador al ser un ente lógico ejecutara las instrucciones que le demos, ademas de que el procesador no cuenta con un mecanismo de defensa para saber si una instrucción es maliciosa o no lo es, por ejemplo le podemos decir al procesador que nos habra una shell dentro de un sistema operativo remoto, por esta y otras razones mas aprender ensamblador es fundamental si quieres ser de los hackers mas destacatos y con mejores conocimientos.


La ingeniería inversa es el arte de descubrir como fue hecho cierto producto, la ingeniería inversa no solo aplica a la informática, por ejemplo una persona que come un pastel puede hacer ingeniería inversa para saber con que ingredientes fue hecho y asi descubrir sus secretos, en este curso que es de hacking utilizamos lo aprendido de programar en ensamblador para poder leer y descubrir como fue hecho un programa y asi poder descubrir fallos o incluso poder liberar programas de paga, además de analizar malware y procesos del sistema.

El Desarrollo de exploits es el tema elite en la seguridad informática. Pues es aquí donde esta el negocio mas grande de la seguridad informática ya que por desarrollar un exploit te pueden pagar desde 50 dolares hasta 500,000 dolares.
El desarrollar un exploit conlleva conocer de varios temas, cuando se quiere desarrollar un exploit para un sistema operativo es. Fundamental saber de ensamblador y análisis de programas, en este curso la 3era y ultima parte trata sobre como encontrar fallos y como explotarlos a nuestro beneficio.


  

Temario:
Clase 1 a clase 5 Programación en ensamblador:
Aquí aprenderemos las bases del lenguaje ensamblador haciendo programas que envíen mensajes en pantalla, sumas, restas, divisiones, multiplicaciones, ciclos, saltos, condicionales, Strings y veremos como utilizar librerías de c en nuestros programas de ensamblador.
Además de programar en ensamblador analizaremos los programas por medio de un "debugeador" llamado gdb para poder entender programas que querramos analizar y si es que no tenemos el código fuente de ese programa de esa manera entenderemos como fue construido ese programa.
Dicho de otro manera. Además de aprender a programar ensamblador aprenderemos a leerlo de programas que no fueron creados por nosotros.


Clase 6 Ensamblador enfocado al hacking:
En estas clases se ven temas de desarrollo de shellcodes, encoders y conexiones hacia maquinas remotas

Clase 7 a clase 9 Ingeniería inversa:
En esta sección del curso enfocaremos lo aprendido hacia temas de ingeniería inversa.
Qué es la ingeniaría inversa La ingeniería inversa es una técnica que se utiliza para averiguar como fue creado algo y a partir de ahí podemos hacer cosas como, cracks, análisis de malware entre varias cosas mas.


Clase 10 a clase 14 Desarrollo de exploits:
Encontrar vulnerabilidades en programas y sistemas operativos es una tarea complicada que requiere de ciertas bases y mucho análisis, en esta ultima parte del curso se aprenderá a detectar fallos de seguridad y explotarlos. Dando como resultado el desarrollar exploits.


Requisitos:
Contar con un equipo que permita virtualizar sistemas operativos GNU/Linux (minimo procesador cual core 2.0, 3 gb de ram, 30 gb disco duro)

Modalidad:

El curso se imparte de manera offline. Es decir; Pagas y se te envian las clases, y despues de ver cada clase puedes mandarnos un correo o consultarnos via telegram o facebook para responderte tus dudas.



Video muestra de varios temas del curso






Clase muestra del curso en la parte de aprender a programar en ensamblador



Clase muestra del curso en la parte de ingeniería inversa




Clase muestra de Exploits




Duración:aproximadamente 30 horas.
Costo por persona: 300 dólares 

Antes de hacer el pago, toma en cuenta que los videos estan protegidos por leyes internacionales en materia de derechos de autor, por lo que cada video que adquieras llevara una marca de agua con tu identificacion personal o pasaporte.

Medios de pago:
Puedes pagar con tarjeta de credito o debito a travez de paypal o incluso con dinero que tengas en tu cuenta de paypal dando click al siguiente botón.


 


Tambien puedes pagar el curso en 2 partes pagas la mitad (150 dolares) y ya que pase 1 mes y medio o se quiera adquirir las ultimas clases se paga la otra mitad












BITCOIN

Puedes pagar con bitcoins a la dirección
3HQEN4FhDEZW1pDcgeuWiRHZCqnTyN23z6



WESTERN UNION
Puedes pagar por medio de western union
Western Union - Depósito

Nombre: Rodolfo CeceÑa Solano
id: 1807945420
Dirección: País México, Estado Baja California, Ciudad Ensenada.





lunes, 2 de diciembre de 2013

Programacion de scripts con bash


Programando scripts en bash

Antes de empezar a tirar codigo :p adentremonos en un poco de pensamientos personales XD y despues un poco de teoría.

Cuando estas en el mundo del hacking y el pentesting llega un momento en el que es necesario y muy importante el hecho de que uno desarrolle sus propias herramientas o incluso que sepa leer lenguajes de programación para modificar y/o adecuar herramientas que tengamos en nuestro poder, particularmente me refiero a los scripts.

Ya tiene tiempo que tengo el entusiasmo de hacer un post sobre programación enfocada al hacking y pentesting y parece que hoy llego el día :D

Debo de mencionar que todos los ejemplos serán fotografías ya que de esa manera obligaré a todos a escribir el coódigo de nuevo para que no hagan solo lo copien :D de manera que si su script tiene algun error tendrám que identificarlo y repararlo por ustedes mismos :p

Bash:
Es el interprete de comandos que tienen la mayoría de las distribuciones linux (obiamente esto es una definición muy corta) entonces ya que es el interprete de la mayoría de las consolas de linux quiere decir que cuando estemos programando, bash entenderá los comandos de linux.

Antes de empezar a desarrollar nuestras herramientas hay que empezar con lo básico es decir aprendamos un poco de programación en bash.
Lo primero que necesitamos es saber es donde se encuentra el interprete de bash ¿espera el qué? jajaja bueno el interprete es el programa que entiende que es lo que estamos escribiendo en nuestro programa.

entonces para saber donde esta es interprete utilizemos el siguiente comando
which bash
Aqui vemos que la ruta donde se encuentra el interprete de bash es /bin/bash ahora ya podemos empezar a trabajar :D

hagamos nuestro primer programa que imprima un mensaje en pantalla

 ahora si empecemos en la 1er linea va la ubicacion del interprete y en las siguientes lineas el cuerpo de nuestro programa

 Aqui vemos que en la 1er linea mandamos llamar al interprete y las siguientes 4 lineas las usamos para documentar el programa, hasta la 6ta linea damos la instrucción de imprimir un mensaje en pantalla, pero todavía no terminamos hay que darle permisos de ejecución a nuestro archivo

Con el comando ls -l vemos que el archivo esta sin permisos de ejecución, (para permisos y comando chmod creo que hay bastante material en la red ), para ejecutar el script sería de la siguiente manera ./mensaje.sh

 Como vemos en la imagen, no es posible ejecutar el script ya que no tiene permisos de ejecucion entonces ahora demosle permisos puede ser:
chmod +x mensaje.sh
             Ó
chmod 775 mensaje.sh

de nuevo ponemos ls -la y vemos que el color de nuestro script cambio a verde ademas en la parte de la izquierda vemos una x lo cual quiere decir que ya puede ser ejecutado nuestro script
Listo script ejecutado exitosamente, bueno ahora que ya sebemos todos los pasos podemos irnos mas rápido, asi que demosle velocidad a esto :D

Veamos como declarar una variable e imprimirla en pantalla

Hacemos todo lo necesario para poder ejecutar el script y procedemos a ejecutarlo

Ahora veamos variables globales y variables locales
y aqui ejecutamos

Ahora veamos como recibir datos del teclado

Procedemos con la ejecución

Siguiente programa, hagamos un programa que detecta las teclas CTRL+c y usemos la "trampa" de bash

Procedemos a ejecutar la "trampa de bash"

Nuestro siguiente programa leerá un archivo

Aqui la ejecución

Creo que es un buen momento para mencionar las comparaciones aritmeticas en bash
-lt <
-gt >
-le <=
-ge >=
-eq ==
-ne !=

Teniendo ya conocimiento de las comparaciones artimeticas en bash hagamos otro tipo de cosas :)
hagamos  veamos como comprar valores de == en bash

Ejecutamos

Asi como hay operadores aritmeticos hay comparadores de cadena
= equal
!= not equal
< less then
> greater then
-n s1 string s1 is not empty
-z s1 string s1 is empty


Ejecutamos

Ahora veamos el ciclo for

Ejecutamos
También podemos ejecutarlo directamente desde la consola
Ahora hagamos un script para seleccionar en bash
Porcedemos con la ejecucion
Veamos otra manera de hacer elecciones, esta vez con case

Procedemos a ejecutarlo

Ahora veamos operaciones aritmeticas en bash
Procedemos a ejecutar

Por ultimo hagamos un script que detecte todas las ip que estan en uso en nuestra red
Ahora procedemos con la ejecución

Bueno esperemos tener una puequeña base de la programación de scripts en bash espero haya quedado todo entendido y este proximo año uno de sus propositos de año nuevo sea aprender algun lenguaje de scripting.