lunes, 22 de agosto de 2016

Defacement Parte I

Defacement Es una palabra inglesa  que significa desconfiguración y es un término usado en informática para hacer referencia a la deformación  o cambio producido de manera intencionada en una pagina web por un atacante que haya obtenido algun tipo de acceso a ella, bien por algun error de programacion, por algun bug en el servidor o por alguna mala administracion de este.El autor de un defacement  se denomina defacer.

https://es.wikipedia.org/wiki/Defacement

Teniendo una definicion clara de lo que es defacement ahora tocaremos los difrentes ataques que se realizan, de  antemano les comento que los videos publicados no seran de mi autoria pero sirven de referencia para empezar en el area  y cuando sea de mi autoria se los hare saber .

Ataques efectivos para un buen defacement.

Ataques por inyeccion sql : Es una técnica para modificar  cadena de consulta   de una base de datos el sqli  explota las posibles vulnerabilidades  donde las consultas se pueden ejecutar  con los datos válidos. Con esta técnica se puede obtner las tablas de la base de datos de la pagina víctima y lo que es mas importante acceso a la tabla de usuarios y contraseñas. Ejemplo de pagina vulnerable a este ataque.
https://omsi-security.blogspot.mx/2014/06/pwned-desdezeroradiocom.html. pueden descargar la bd para estudiar su estructura .

                           Herramientas para ejecutar este tipo de vulnerabilidades

 Buscar las fallas de sqli implica  tener que escanear las paginas web victimas, la mejor forma de hacerlo es tener que usar scanners automatizados y acontinuacion enlisto las tools.

 SQLIer toma una URL vulnerable e intenta obtener toda la información necesaria para explotar la vulnerabilidad de inyección SQL por si mismo, no requiriendo ninguna intervención del usuario. Descargar SQLIer.

SQLMAP - Es una herramienta de  prueba de penetracion  de código abierto  que automatiza el proceso de detectar y explotar  los errores de inyeccion sql.  http://sqlmap.org/
Video expliccativo de como usarlo:


 SQL Power Injection Injector
SQL Power Injection ayuda a un auditor a inyectar comandos SQL en una página web. Su fuerza principal radica en la capacidad de automatizar inyecciones SQL tediosas utilizando para ellos múltiples procesos.


 

 
 
 
 
 



miércoles, 9 de julio de 2014

OMSICLIENT PYTHON CON MYSQL

Queridos lectores hoy les traigo en lo que  estube trabajando durante 3 semanas, en tiempos libres me puse a jugar un rato con python y mysql
trata sobre  llevar el control de clientes, orientado mas a servicios informaticos  si tienen un negocio asi aprobechenlo descarguen el codigo  y la bd  y por cualquier dudo estamos asus ordenes. 

CODIGO DE OMSICLIENT
#! /usr/bin/env python
# -*- coding: utf8 -*-
#*** este codigo podra distribuirse y modificarse  siempre y cuando respecte
 #la autoria.
import time
import os
import sys
import string
import MySQLdb

#**********************************************************OMSI***********************************************************
def conexionBd():

    HOST = "localhost"
    USER = "aqui va usuario de bd"
    PASSWD = "aqui va contraseña de bd"
    BD = "Nombre de la BD"

    try:
        conectar = MySQLdb.connect(HOST, USER, PASSWD)
        conectar.select_db(BD)

        except MySQLdb.Error, e:
            print "Error: base de datos no encontrado...",e
        menu = raw_input()
        os.system("clear")
        opcUsuario()       

    return conectar

#**********************************************************OMSI***********************************************************
def funRegistrar(conectar):

    print "\n\nIntroduzca los datos:\n"
    nombre = raw_input("Nombre: ")
    apellido = raw_input("Apellido:")
    calle = raw_input("Calle:")
    colonia = raw_input("Colonia:")
    pueblo = raw_input("Pueblo:")
    email = raw_input("Email:")
    telefono =  raw_input("Telefono:")
    cantidad_pc = raw_input("Cantidad PC:")
    marca =  raw_input("Marca:")
    modelo = raw_input("Modelo:")
    color = raw_input("Color:")
    fallos = raw_input("Fallos:")
   
    cursor = conectar.cursor()    

    sql = "INSERT INTO contactos (nombre,apellido,calle,pueblo,email,telefono,cantidad_pc,marca,modelo,color,fallos,colonia) VALUES ('"+nombre+"','"+apellido+"','"+calle+"','"+pueblo+"','"+email+"','"+telefono+"','"+cantidad_pc+"','"+marca+"','"+modelo+"','"+color+"','"+fallos+"','"+colonia+"')"
    try:
            cursor.execute(sql)
        conectar.commit()

        except MySQLdb.Error, e:
            print "Erro: " + sql
            print e

    print "Datos guardados correctamente."
    conectar.close()
    menu = raw_input()
    os.system("clear")
    opcUsuario()

#**********************************************************OMSI***********************************************************

def funConsultar(conectar):

    nombre = raw_input("\nIntroduzca un nombre para la búsqueda: ")
    nombre = (nombre.upper())
    cursor = conectar.cursor()
     sql="SELECT * FROM contactos WHERE nombre='"+nombre+"'"
     resultados = 0

       try:
            cursor.execute(sql)
        resultado = cursor.fetchall()
        for datos in resultado:
            ide = datos[0]
                    nombre = datos[1]
            apellido = datos[2]
            telefono = datos[6]
            cantidad_pc = datos[7]
            marca = datos[8]
            modelo = datos[9]
            fallos = datos[11]
            fecha = datos[13]

            resultados= int(resultados)
            resultados = resultados + 1
            print"\n----------------------------\n"
            print " ID: %s\n Nombre: %s %s\n Telefono: %s\n cantidad_pc: %s\n Marca: %s\n Modelo: %s\n Fallos: %s\n fecha Registro: %s"%(ide, nombre, apellido, telefono, cantidad_pc, marca, modelo, fallos, fecha)
        conectar.commit()

        except MySQLdb.Error, e:
            print "Erro: " + sql
            print e

    print "\n\nSe ha  encontrado %d resultados"%resultados
    conectar.close()
    menu = raw_input()
    os.system("clear")
    opcUsuario()
   

#**********************************************************OMSI***********************************************************
def funModificar(conectar):
   
    print "\n\nDigite sus datos:\n"
    ide = raw_input("ID de contactos a Modificar: ")
    nuevo_nombre = raw_input("Nuevo nombre: ")
    nuevo_nombre = (nuevo_nombre.upper())
    cursor = conectar.cursor()

    sql = "UPDATE contactos SET nombre='"+nuevo_nombre+"' WHERE id='"+ide+"'"
    try:
            cursor.execute(sql)
        conectar.commit()

        except MySQLdb.Error, e:
            print "Erro: " + sql
            print e   

    print "La modficacion  se ha realizado correctamente."
    conectar.close()
    menu = raw_input()
    os.system("clear")
    opcUsuario()


#**********************************************************OMSI***********************************************************
def funEliminar(conectar):

    print "\n\nIntroduzca sus datos:\n"
    ide_eliminar = raw_input("ID a Eliminar: ")
    cursor = conectar.cursor()

    sql = "DELETE FROM contactos WHERE id='"+ide_eliminar+"'"
    try:
            cursor.execute(sql)
        conectar.commit()

        except MySQLdb.Error, e:
            print "Erro: " + sql
            print e   

    print "La eliminacion a sido completado."
    conectar.close()
    menu = raw_input()
    os.system("clear")
    opcUsuario()

#**********************************************************OMSI***********************************************************
def funMostrarTodos(conectar):

    resultados = 0
    cursor = conectar.cursor()
     sql="SELECT * FROM  contactos;"

       try:
            cursor.execute(sql)
        resultado = cursor.fetchall()
       
        for datos in resultado:
            ide = datos[0]
                    nombre = datos[1]
            direccion = datos[2]
            email = datos[3]
            telefono = datos[4]
            resultados= int(resultados)
            resultados = resultados + 1
            print"----------------------------------"
            print " ID: %s\n Nombre: %s\n Direccion: %s\n Email: %s\n Telefono: %s"%(ide, nombre, direccion, email, telefono)
        conectar.commit()

        except MySQLdb.Error, e:
            print "Erro: " + sql
            print e

    print "\n\n encontrados %d resultados"%resultados
    conectar.close()
    menu = raw_input()
    os.system("clear")
    opcUsuario()
   

#**********************************************************OMSI***********************************************************
def opcUsuario():

    os.system("clear");
    print (80 * '=')
    print "=======OMSICLIENT V.1========"
    print (80 * '=')
    opc = raw_input("Seleccione la opcion deseada\n\n[1] - Registrar\n[2] - Consultar\n[3] - Modificar\n[4] - Eliminar\n[5] - Mostrar Todos\n[6] - Salir\n")

    try:
        opc = int(opc)
        if opc<1 opc="" or="">6:
            os.system("clear");
            print "Opcion invalida: Verifique el valor insertado"   
            time.sleep(2)
            opcUsuario()
    except:
        os.system("clear");
        print "Opcion invalida: Verifique el valor insertado"
        time.sleep(2)
        opcUsuario()

    if opc == 1:
        conectar = conexionBd()
        funRegistrar(conectar)

    elif opc == 2:
        conectar = conexionBd()
        funConsultar(conectar)

    elif opc == 3:
        conectar = conexionBd()
        funModificar(conectar)

    elif opc == 4:
        conectar = conexionBd()
        funEliminar(conectar)

    elif opc == 5:
        conectar = conexionBd()
        funMostrarTodos(conectar)

    elif opc == 6:
        sys.exit()


#**********************************************************OMSI***********************************************************
if __name__=='__main__':
    opcUsuario()   


BASE DE DATOS DE LA APLIACION

--
-- Base de datos: `agenda`

CREATE TABLE IF NOT EXISTS `contactos` (
`id` int(10) unsigned NOT NULL,
  `nombre` varchar(80) COLLATE utf8_spanish_ci NOT NULL,
  `apellido` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
  `calle` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
  `pueblo` varchar(150) COLLATE utf8_spanish_ci NOT NULL,
  `email` varchar(40) COLLATE utf8_spanish_ci NOT NULL,
  `telefono` int(15) NOT NULL,
  `cantidad_pc` int(15) NOT NULL,
  `marca` varchar(80) COLLATE utf8_spanish_ci NOT NULL,
  `modelo` varchar(80) COLLATE utf8_spanish_ci NOT NULL,
  `color` varchar(80) COLLATE utf8_spanish_ci NOT NULL,
  `fallos` text COLLATE utf8_spanish_ci NOT NULL,
  `colonia` varchar(200) COLLATE utf8_spanish_ci DEFAULT NULL,
  `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;

ESERO Y LES GUSTE CUALQUIER DUDA PODRAN CONTACTARME POR FACEBOOK 
O POR SKYPE:omsi.org.mx

si necesitan el codigo original mandeme un mensaje y se lo envio completo saludos y bendiciones

jueves, 19 de junio de 2014

pwned desdezeroradio.com

Buen dia a todos ,  hoy les voy a publicar  hacerca de   la pagina  desdezeroradio.com me tome la molestia de testearlo un rato , y resulto vulenerable a injeccion sql. madare un aviso al administrador de la pagina para que  corriga el error si en dado caso no logra hacerlo estaremos asus ordenes. sin tanto bla bla bla mostraremos los hechos.

Vulnerabilidad: injeccion sql 
BD: murueta_desdezero
Tabla : usuarios
descargar:https://mega.co.nz/#!o1Al0QpS!5YHoj4kiuI4n6j31ugmp1lsH7t8ZdCfqgW6bcCh3Dhc

Si tienen una cuenta en esta pagina por favor cambien sus contraseña  ya que sus datos seran expuesto  saludos y hasta la proxima.

lunes, 9 de junio de 2014

PWNED WINDOWS 8.1

Buen dia lectores  hoy les traigo  un tutorial  que realize esta semana de como acceder  a windows 8.1 con dos vulnerabilidades   utilizando metasploit   de kali linux.  espero que les guste saludos y bendiciones .



Ver en pantalla completa   Dar click aqui

domingo, 8 de junio de 2014

PYTHON PROGRAMMING FOR HACKERS

Me da gusto formar parte de este Blog, y sobre todo darle las gracias a los colegas que hacen crecer la comunidad.
Cuando iniciamos en el mundo de la programación queremos saciar nuestra sed, y por mas que nos esforzamos no lo podemos conseguir de la noche a la mañana, Algo muy interesante que le traigo a todos aquellos que quieren programar con un lenguaje robusto y sobre todo aplicado a redes, pues le ha de caer como anillo al dedo.

Decidí crear la entrada con el nombre de "PYTHON PROGRAMMING FOR HACKERS"
porque si seguimos paso a paso con la lectura de estos libros podremos podemos convertirnos en verdaderos hackers.

Por cuestiones de tiempo solo dejo los siguientes link's su contenido pueden echarle un vistaso online.
El ultimo enlace lo dejo a un Juanker.

 VER EN PANTALLA COMPLET    Foundations of Python Network Programming, es un libro escrito por: Brandon Rhodes and Jhon Goerzen.

Gray Hat Python, By:  Justin Seitz

Solo me resta decir Saludos!!!

sábado, 31 de mayo de 2014

Guia para kali Linux

Aqui les traigo una Guia para kali linux    espero y les guste saludos










viernes, 23 de mayo de 2014

Ataques a BB. DD., SQL Injection


1. SQL Injection

Mediante la inyección SQL un atacante podría realizar entre otras cosas las siguientes acciones contra el sistema:

Descubrimiento de información (information disclosure): Las técnicas de in- yección SQL pueden permitir a un atacante modificar consultas para acceder a registros y/o objetos de la base de datos a los que inicialmente no tenía acceso.
Elevación de privilegios: Todos los sistemas de autenticación que utilicen credenciales almacenados en motores de bases de datos hacen que una vulnerabilidad de inyección SQL pueda permitir a un atacante acceder a los identificadores de usuarios más privilegiados y cambiarse las credenciales.

Denegación de servicio: La modificación de comandos SQL puede llevar a la ejecución de acciones destructivas como el borrado de datos, objetos o la parada de servicios con comandos de parada y arranque de los sistemas.
Asimismo, se pueden inyectar comandos que generen un alto cómputo en el motor de base de datos que haga que el servicio no responda en tiempos útiles a los usuarios legales.

Suplantación de usuarios: Al poder acceder al sistema de credenciales, es posible que un atacante obtenga las credenciales de otro usuario y realice acciones con la identidad robada o “spoofeada” a otro usuario.






Ver en pantalla completaDar click Aqui