Hola que tal...

Soy [Z]tuX y bien, solo quiero decir que por el momento estare ausente con el blog... pero despues volveré... xD Es mas que nada por la escuela xD Por eso, pero bueno en cuanto pueda actualizare vale :D

Un Saludo amigo lector xD








Hola, que tal!!
Bien el dia de hoy hice este code, una "Agenda" en Python, usando una base de datos previamente creada, la base de datos en este caso se llama "contactos" y esta base de datos tiene una tabla que contiene campos para "Nombre" y "Teléfono"...

Bien dejare el code del "Programa", es importante que para que funcione tengan instalado MySQL en su ordenador, Python 2.x [Obvio] , tener la libreria de MySQL para python, que en una distro GNU/Linux Ubuntu se instalaría así:

apt-get install python-mysqldb

En fedora sería algo como:
yum install MySQL-python.i686

También es necesario haber creado la base de datos con el Nombre que quieran, solo importante dentro de la tabla crear los campos "nombre" y "telefono"... Mas o menos asi xD:

create database contactos;
use contactos;
create table contactos(nombre varchar(50),pass varchar(25));

Eso seria la base de datos para poder hacer funcionar nuestro "Programa"...
Ahora si Aquí el code...

#!/usr/bin/Python

import MySQLdb

def agregar(server,user,passwd,bd):
db = MySQLdb.connect(server,user,passwd,bd)
cursor = db.cursor()
name = raw_input('[+]Nombre: ')
telefono = raw_input('[+]Telefono: ')
cursor.execute("insert into contactos (nombre,telefono) values ('%s','%s')"%(name,telefono))
print 'Datos agregados correctamente...'
cursor.fetchall()
cursor.close()
run()
def ver (server,user,passwd,bd):
try:
db = MySQLdb.connect(server,user,passwd,bd)
ztux = db.cursor()
ztux.execute("select * from %s "%(bd))
a = ztux.fetchall()
for i in a:
print i
ztux.close()
run()
except:
print '[*]Error al conectarse a la base de Datos...'
run()

def buscar(server,user,passwd,bd):
try:
db = MySQLdb.connect(server,user,passwd,bd)
buscar = raw_input('[+]Nombre del contacto: ')
ztux = db.cursor()
ztux.execute("select * from %s where nombre='%s'"%(bd,buscar))
a = ztux.fetchall()
print a
ztux.close()
run()
except:
print '[*]Error al conectarse a la base de Datos...'
run()

def editar(server,user,passwd,bd):
try:
db = MySQLdb.connect(server,user,passwd,bd)
print '[1]Nombre\n[2]Telefono'
opc =raw_input('Que desas editar: ')
if opc=='1':
editar = raw_input('[+]Nombre del contacto a editar: ')
cambiar = raw_input('[+]Escribe el nombre del nuevo contacto: ')
ztux = db.cursor()
ztux.execute("update %s set nombre='%s' where nombre='%s'"%(bd,cambiar,editar))
ztux.close()
run()
elif opc=='2':
editar = raw_input('[+]Nombre del contacto a editar: ')
cambiar = raw_input('[+]Escribe el nuevo numero del contacto: ')
ztux = db.cursor()
ztux.execute("update %s set telefono='%s' where nombre='%s'"%(bd,cambiar,editar))
ztux.close()
print 'Contacto Actualizado...'
run()
else:
print 'Opcion Incorrecta...'
run()

except:
print '[*]Error al conectar a la base de Datos...'
run()

def borrar(server,user,passwd,bd):
try:
db = MySQLdb.connect(server,user,passwd,bd)
borrar = raw_input('[+]Nombre del contacto: ')
ztux = db.cursor()
ztux.execute("delete from %s where nombre='%s'"%(bd,borrar))
ztux.close()
print '[+]Contacto borrado con exito...'
run()
except:
print '[*]Error al conectar a la base de Datos...'

def run():
print '-------------------------'
print ' Agenda | [Z]tuX v1.0 '
print '-------------------------'
print '''
[1] Agregar contacto
[2] Ver contactos
[3] Buscar Contacto
[4] Editar Contacto
[5] Borrar contacto
[0] Salir
''' #CONFIGURAR AQUI#
server='localhost' #Servidor MySQL
user='root' #Usuario MySQL
passwd='toor' #Passwd MySQL
bd='contactos' #Nombre de Base de Datos
#################
opc = raw_input('> ')
if opc =='1':
agregar(server,user,passwd,bd)
elif opc =='2':
ver(server,user,passwd,bd)
elif opc =='3':
buscar(server,user,passwd,bd)
elif opc=='4':
editar(server,user,passwd,bd)
elif opc=='5':
borrar(server,user,passwd,bd)
elif opc=='0':
return 0
else:
print 'Opcion Incorrecta...'
run()
run()

Eso es todo!Alguna Duda?
Comenta, si vas a modificar el Code, coloca algunos créditos por ahí Vale? xD
Probado en Ubuntu 11.04 y Python 2.7
[Z]tuX!!
Hola que tal!!Pues el titulo es claro, qui dejo el code de un escaner de puertos usando TKinter...Bien aqui el code:
#!/usr/bin/python
# -*- coding: cp1252 -*-
#SIMPLE ESCANER DE PUERTOS EN PYTHON - [Z]tuX
from Tkinter import *
import socket

def escanear():
port = Port.get()
host = Host.get()
ZtuX = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
ZtuX.connect((host,port))
Show = Label(App, text ="[+]Puerto %s Abierto :D" %(port), bg="black",fg ="white")
Show.grid(row= 20, column = 5)
except:
Show = Label(App, text ="[+]Puerto %s Cerrado :("%(port), bg="black",fg ="white")
Show.grid(row= 20, column = 5)

App = Tk()
#Aqui se encuentra el Titulo de la ventana, Background y tamaño
App.title("Escaner de Puertos by [Z]tuX")
App.maxsize(width="300",height="120")
App.minsize(width="300",height="120")
App.configure(background="black")

#Declaramos 2 variables, una de tipo String y otra tipo Integer
Host = StringVar()
Port = IntVar()

Label(App,bg="black").grid(row=3)

Label(App,text="Host: ",bg="black",fg="red").grid(row=4,column=4)
entry = Entry(App,width=35,textvariable=Host,bg="black",fg="red").grid(row=4,column=5)

Label(App,text="Port: ",bg="black",fg="red").grid(row=8,column=4)
entry = Entry(App,width=35,textvariable=Port,bg="black",fg="red").grid(row=8,column=5)

Button(text="Escanear",bg="black",fg="red",activebackground="red",command=escanear).grid(row=15,column=5)
Label(App,bg="black").grid(row=20)
App.mainloop()

CAPTURA DE COMO LUCE:


Saludo[OS]
Hola que hay!!
El dia de hoy mostrare una herramienta muy Interesante: Xplico....
Bien esta herramienta nos va a permitir leer el trafico de una red, tomando una captura del trafico de la red ya sea leyendo un archivo .pcap o un sniffing en vivo.

Bien antes que nada para usar esta herramienta, tenemos que instalarla, si usas Backtrack esta herramienta ya esta incluida, pero para este "Tutorial" la vamos a instalar desde 0, en una maquina corriendo con Ubuntu 11.04... Pero lo pasos son los mismos con otra distro [Debian o derivada de]

Bien poder usar esta herramienta es necesario tener instalado un servidor web en nuestro Ordenador y esto lo logramos mediante los siguientes comandos:

sudo apt-get install apache
sudo apt-get install php5

RECOMENDACION: Si quieres tener un servidor web "completo" recomiendo que instales lo siguiente:

sudo apt-get install mysql-server-5.1 apache2 php5 php5-mysql libapache2-mod-auth-mysql

Esto es opcional solo si quieres tener tu servidor web con Apache, PHP,  MySql, Util si eres web master xD


Bien regresando al Tema, una vez instalado Apache y PHP en el ordenador, vamos a ir a la pagina http://www.xplico.org/download y vamos a descargar el paquete para Ubuntu, aunque este paquete es también para debian, Linux Mint, etc... si usas otra distro necesitaras bajar el source y compilarlo tu mismo...


En este caso no lo compilare ya que tenemos ya un paquete para nuestra distro....
Una vez descargado el paquete, lo colocamos en un lugar visible, el Escritorio [Desktop] por ejemplo...
El archivo que descargue se llama xplico_0.6.1_i386.deb 

Para poder instalarlo necesitaremos tener gdebi instalado, lo hacemos mediante la terminal escribiendo:

sudo apt-get install gdebi


Y una vez instalado gdebi ahora si podremos instalar el paquete, nos situamos en el lugar donde esta el paquete, en mi caso en el escritorio [Desktop] y tecleamos en la terminal:

sudo gdebi [Nombre_del_Paquete] 

En mi caso el paquete se llama xplico_0.6.1_i386.deb, así que en la terminal pondria algo como:
sudo gdebi xplico_0.6.1_i386.deb 


Yeah! Hasta aquí hemos terminado de instalar lo que necesitamos, ahora viene lo interesante... El análisis del trafico de un red con Xplico...

En concreto esta Tool va a decodificar todo el tráfico de una red ya sea mediante un fichero .pcap o un sniffing en tiempo real, donde nosotros podremos especificar la interfaz de red con la que vamos a hacer el sniffing [eth0, wlan0, etc...], después de capturar el tráfico se arrancara un modulo el cual va a organizar todo el tráfico para que lo podamos leer y comprender; e-mails en un lado, imágenes/fotos, poder hasta escuchar conversaciones [voIP], entre otras...

El tráfico lo recoge en modo RAW [Modo bruto] y a través del decodificador que tiene, va a tratar de reconstruir todo el trafico y es así como es posible que veamos o escuchemos toda la información...

Ahora si manos a la obra... Vamos a iniciar nuestro servidor web Apache, lo hacemos mediante el comando:
sudo /etc/init.d/apache2 start

Después vamos a correr el servidor de Xplico, lo hacemos con el comando:
sudo /etc/init.d/xplico start


Ahora mediante nuestro Web Browser vamos a ir a: http://localhost:9876
Esto quiere decir que nos conectaremos a nuestro servidor web a través del puerto 9876, por lo que en seguida nos aparecerá una ventana de Log In como la siguiente:


El user y el Password por default son xplico, y entramos (^^) Esto se pone bueno LOL!!
Una vez que entramos podremos ver que tenemos a la izquierda un menú, vamos adar click en "New Case".
Colocamos el nombre del caso y si queremos ponemos una referencia del mismo, arriba podemos elegir entre un archivo .pcap o un sniffing en vivo...
Para esta ocasión lo haremos con un sniffing en Vivo, asi que seleccionamos "Live acquisition" y damos click en "Create"...

Nos aparecerá que el Caso se a creado algo similar a esto:

Bien ahora si, damos click en el nombre de nuestro caso, en mi caso (xD) es ZtuX... y damos click en la parte izquierda en Nueva sesión [New Session] y colocamos un nombre para la misma...
Le pondré en este caso Prueba...


Y ahora bien, empezaremos con el sniffing, damos click en el nombre que le dimos a la sesión  y seleccionamos la interfaz con la que queremos hacer el sniffing... Puede ser eth0, o eth1 o wlan0, ustedes debe de saber cual es...


Y damos click en "Start", nos mostrara un cartel que dice: Listening at interface: eth0, en mi caso...
También subiendo un archivo .pcap nos apareceria algo como esto:

Y bien pues se esta haciendo el sniffing en este momento de la red... En el caso de que subamos un archivo lo empezara a decodificar...

Naveguemos por Internet un rato, descarguemos archivos, veamos vídeos por Youtube, etc...
Y bien cuando finalizamos el sniffing hacemos click en stop y ahora si, vamos a ver que hay...

Podemos analizar los DNS, Chats, sesiones de login en shells, etc... simpre y cuando se hallan capturado, mostrare una captura que se obtuvo al mostrar los DNS


Y ahora, les decía que podían reconstruir las webs visitadas, aquí un claro ejemplo de, se logro obtener una recreación de la misma...


Interesante no?
Eso es todo, puedes aun sacar mas datos con esta tool, pruebenlo ustedes mismos y verán que los impresionara esta herramienta... xD
Alguna duda comenta xD

By [Z]tuX