actualidad sobre consultoria, normas y seguridad de la informacion
Guias, procesos y manuales sobre Ethical Hacking
Mostrando entradas con la etiqueta windows. Mostrar todas las entradas

Instalación de metasploit (Linux-Windows)


Hola Gente hoy veremos como instalar Metasploit Framework individualmente de un distro contenedora como son Kali, Backtrack, Etc...

INSTALACIÓN METASPLOIT LINUX (CENTOS 64BITS)

Primero que todo descargamos nuestra versión de Metasploit desde la web oficial para nuestro linux en este caso una distro CntOS 6.3 de 64 bits.

En la web encontraremos lo siguiente selecionamos y descargamos.


[antony@localhost ~]$wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run

Una vez descargado otorgamos permisos de ejecución al archivo.


[antony@localhost ~]$chmod +x metasploit-latest-linux-x64-installer.run

Ejecutamos para iniciar la instalación.


[antony@localhost ~]$sudo ./metasploit-latest-linux-x64-installer.run

A continuación se inicia el wizard de instalación.




Hacemos clic en Forward y continuamos con la instalación.




Seleccionamos la ruta de instalación yo optare por la recomendada o default.

Ahora podemos seleccionar si queremos registrar Metasploit como un servicio. De esta manera automáticamente se inicia cada vez que se enciende la máquina.

Nos pide deshabilitar antivirus y firewall para evitar conflictos.


En la siguiente ventana nos pedira seleccionar el puerto SSL de conexion por default es el 3790.

en la siguiente ventana nos pedira generar el certificado SSL y su caducidad. selecionamos que si y en mi caso dejo todo x defecto.
A continuación Metasploit Comenzara a instalarse.


Una vez finalizada la instalación nos pedira acceder a la interfaz web de Metasploit.

En esta nos encontramos con un formulario web en la cual podremos solicitar una licencia de uso a la comunidad. recordemos que metasploit tiene una version pro paga. esta es completamente gratuita soportada por la comunidad de Metasploit.
LLenamos el formulario enviamos y recibimos nuestra licencia





INSTALACIÓN DE METASPLOIT EN WINDOWS 64BITS

Aca tratare de no enfatizar mucho ya que la instalación es similar a la de linux  nos toparemos con las mismas ventanas que lo explicado anteriormente algo común para los amantes windows ;)

En el sitio de descarga mencionado anteriormente descargamos la version para sistemas windows con arquitectura de 64bits

Al igual que en los sistemas linux debemos tener desactivado cualquier AV o Firewall que se encuentre activo. y seguimos los pasos al igual que sistemas basado en unix.




Al igual que en linux entraremos a la interfaz web:
el cual igualmente nos llevara al mismo formulario en la url: localhost:3790/users/new





Read more

Analisis de Malware usando Sysinternals System Monitor (Sysmon)

Sysmon: es una herramienta diseñada por Mark Russinovich y Thomas Garnier diseñado para ejecutarse en segundo plano dentro del sistema Windows, registrando todos los detalles relacionados con la creación de procesos, conexiones de red y cambios en archivos en tiempo de ejecución. todo esto mediante la recopilación de los eventos que genera el uso de los agentes Windows Event Collection o SIEM

Cuya información nos puede ser necesaria en una solución de problema o análisis forense. pero en esta oportunidad como tomar la información como complemento en un laboratorio de análisis de malware.

Instalación
descargar la herramienta desde aqui
Teniendo ya extraida la herramienta entramos a modo consola nos ubicamos donde extraimos y ejecutamos el sgt comando para instalarla.
sysmon -i -n
El parametro i instala la herramientas y drivers
El parametro n solicita las conexiones de red
además de capturar los procesos y eventos de creación de archivos temporales.

Para ver los eventos capturados por el Monitor de sistema, abra Visor de sucesos del sistema ("eventvwr.exe") nos dirigimos a registro de aplicaciones y servicios.  y navegamos por la carpeta /Microsoft/Windows/Sysmon/Operational. en sistemas antiguos los eventos se escriben en el registro de sucesos del sistema

Uso del Monitor de sistema para rastrear una infección

Para experimentar con el Monitor de sistema, vamos usar como laboratorio un sistema infectado con una variante de Pandemiya malware Tenía curiosidad por cómo el Monitor de sistema compararía con otras herramientas que uso en el laboratorio, es decir, el monitor de procesos y Wireshark

Después de activar las herramientas, me encontré con pand.exe nuestro ejecutable malicioso, haciendo doble clic sobre. El monitor del sistema muestra el siguiente evento:
ProcessId 3936
Image C:\Users\REM\Desktop\pand.exe
CommandLine "C:\Users\REM\Desktop\pand.exe"
Hash EF91785633465F1C6F133068832943378D02A22B
ParentProcessId 1336
ParentImage C:\Windows\Explorer.EXE
ParentCommandLine C:\Windows\Explorer.EXE
Como se puede observar el malware se ejecuto por primera vez como pand.exe (ID del proceso 3936.) y su matriz era Explorer.exe (ID 1336) El suceso registrado incluye el hash SHA1 del archivo malicioso. Puede consultar los datos de amenazas asociadas a este hash utilizando servicios en línea como  TotalHash y VirusTotal .
Si quisiera utilizar un algoritmo de hash diferente, se podría haber especificado esta opción de configuración al instalar el Monitor de sistema con la opcion -h por defecto es SHA1

Para la comparación, aquí están los hechos relevantes capturados por el monitor de procesos, que presenta una perspectiva coherente en el Explorador de Windows
Otro hecho relevante registrado por el Monitor de sistema es capturada a continuación. Muestra pand.exe (ID del proceso 3936) el lanzamiento de una gjswaxr.exe proceso hijo con nombre (ID del proceso 3964) desde C:\ProgramData

ProcessId 3964
C:\ProgramData\gjswaxr.exe
CommandLine "C:\ProgramData\gjswaxr.exe" /sd 3936
Hash EF91785633465F1C6F133068832943378D02A22B
ParentProcessId 3936
ParentImage C:\Users\REM\Desktop\pand.exe
ParentCommandLine "C:\Users\REM\Desktop\pand.exe"

Tenga en cuenta que el hash de gjswaxr.exe es identico al de pand.exe. Esto sugiere que el programa malicioso se copió en C:\ProgramData\ y se asignó un nombre diferente. También podemos ver en el caso del Monitor de sistema que gjswaxr.exe fue lanzado con el parámetro "/ sd 3936", que corresponde a la ID de pand.exe proceso padre.

A continuación se muestra un conjunto correspondiente de los eventos en el registro de Monitor de procesos. Usted puede ver los detalles similares, incluyendo la línea de comandos del nuevo proceso y la ID del proceso de su padre. Debido a que el monitor de procesos registra más tipos de eventos que los que maneja el Monitor de sistema, podríamos haber visto otros datos en el registro del monitor de procesos, como la creación del archivo gjswaxr.exe por pand.exe. 

Mirando más en los eventos capturados por el Monitor de sistema, podemos ver la siguiente actividad asociada con el Explorador de Windows, que está representado por el proceso Explorer.EXE (ID 1336):
ProcessId 1336
Image C:\Windows\Explorer.EXE
Protocol tcp
SourceIp 192.168.132.130
SourcePort 49161
DestinationIp 192.168.175.134
DestinationPort 80
DestinationPortName http
El explorador de Windows está iniciando una conexión de puerto TCP 80 a la IP 192.168.175.134. Como era de esperar, el monitor de procesos captura esta actividad, así, como se muestra en la siguiente imagen:Wireshark muestra una perspectiva coherente de la actividad, lo que confirma que la conexión es una petición HTTP
Hay mucho más para el análisis de este ejemplar de malware, pero vamos a envolverla hasta ahora, dado que mi objetivo era empezar a experimentar con el Monitor de sistema.
La utilidad de Monitor de sistema En los experimentos de laboratorio hasta el momento, el Monitor de sistema no proporcionaba una gran cantidad de valor más allá de los detalles que ya se podía ver usando el monitor de procesos. Sin embargo, resulta útil contar con múltiples herramientas que proporcionan información similar de ligeramente diferentes puntos de vista. A veces, una utilidad ofrece una mejor idea de lo que podía deducir de otra herramienta. (Cuando se utiliza el Monitor de sistema, tenga en cuenta que al igual que otras utilidades de Sysinternals estas no tratan de ocultarse de malware.


Fuente:http://digital-forensics.sans.org/blog/2014/08/12/sysmon-in-malware-analysis-lab



Read more

Rutinas para la detección del uso de máquinas virtuales

A continuación puede encontrar tres rutinas para la detección de ambientes virtualizados que hacen uso del software VMware, Oracle VM VirtualBox, Windows Virtual PC o QEMU, y cuyo enfoque es para el sistema operativo Windows. La detección es realizada buscando valores por defecto en la configuración de las tarjetas de red (dirección MAC), valores localizados en el registro, y a través de Windows Management Instrumentation (Que finalmente es traducido también en valores encontrados en el registro).

Detección a través de la dirección MAC

Se obtiene la dirección MAC de todas las tarjetas de red y se compara con prefijos predeterminados por cada software:

Fabricante
Prefijo
VMware
00:05:69:xx:xx:xx
VMware
00:0C:29:xx:xx:xx
VMware
00:1C:14:xx:xx:xx
Oracle VM VirtualBox
08:00:27:xx:xx:xx
Windows Virtual PC
00:03:FF:xx:xx:xx
QEMU
52:54:00:xx:xx:xx

La rutina puede ser observada a continuación:

BOOL mac_test()
{
 unsigned char MACData[8];
 WKSTA_TRANSPORT_INFO_0 *pwkti;
 DWORD dwEntriesRead;
 DWORD dwTotalEntries;
 BYTE *pbBuffer;
 NET_API_STATUS dwStatus = NetWkstaTransportEnum(NULL, 0, &pbBuffer, MAX_PREFERRED_LENGTH, &dwEntriesRead, &dwTotalEntries, NULL);
 pwkti = (WKSTA_TRANSPORT_INFO_0 *)pbBuffer;
 for (DWORD i = 1; i < dwEntriesRead; i++) {
  swscanf((wchar_t *)pwkti[i].wkti0_transport_address, L"%2hx%2hx%2hx%2hx%2hx%2hx", &MACData[0], &MACData[1], &MACData[2], &MACData[3], &MACData[4], &MACData[5]);
  if ((MACData[0] ==  0 && MACData[1] ==  5 && MACData[2] == 105) || // VMware
   (MACData[0] ==  0 && MACData[1] == 12 && MACData[2] ==  41) || // VMware
   (MACData[0] ==  0 && MACData[1] == 28 && MACData[2] ==  20) || // VMware
   (MACData[0] ==  0 && MACData[1] == 80 && MACData[2] ==  86) || // VMware
   (MACData[0] ==  8 && MACData[1] ==  0 && MACData[2] ==  39) || // Oracle VM VirtualBox
   (MACData[0] ==  0 && MACData[1] ==  3 && MACData[2] == 255) || // Windows Virtual PC
   (MACData[0] == 82 && MACData[1] == 84 && MACData[2] ==   0)) { // QEMU
   dwStatus = NetApiBufferFree(pbBuffer);
   return TRUE;
  }
 }
 dwStatus = NetApiBufferFree(pbBuffer);
 return FALSE;
}

Detección a través del registro de Windows

Se obtiene el valor de la cadena "0" en la clave "HKLM\SYSTEM\CurrentControlSet\Services\Disk\Enum", y se busca valores predeterminados por cada software:
La rutina puede ser observada a continuación:
Fabricante
Prefijo
Oracle VM VirtualBox
VBOX
Windows Virtual PC
DiskVirtual
Windows Virtual PC
VIRTUAL
QEMU
QEMU
BOOL reg_test()
{
 HKEY hKey;
    CHAR szBuffer[1024];  
    ULONG hSize = sizeof(szBuffer);
    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SYSTEM\\CurrentControlSet\\Services\\Disk\\Enum", 0, KEY_READ, &hKey) == ERROR_SUCCESS) {
        if (RegQueryValueEx(hKey, "0", NULL, NULL, (unsigned char *)szBuffer, &hSize) == ERROR_SUCCESS) {
            if (strstr(szBuffer, "VBOX") != NULL ||
    strstr(szBuffer, "VMware") != NULL ||
    strstr(szBuffer, "DiskVirtual") != NULL ||
    strstr(szBuffer, "VIRTUAL") != NULL ||
    strstr(szBuffer, "QEMU") != NULL) {
                RegCloseKey(hKey);
                return TRUE;
   }
        }
        RegCloseKey(hKey);
    }
 return FALSE;
}

Detección a través de Windows Management Instrumentation 

El procedimiento realizado es similar a los dos anteriores, se busca valores predeterminados a través del uso de WMI. Dichos valores son obtenidos a través de WQL, usando las siguientes consultas y valores predeterminados por cada software:

SELECT Version FROM Win32_BIOS

Fabricante
Prefijo
Oracle VM VirtualBox
VBOX
Windows Virtual PC
A M I - 8000914
QEMU
BOCHS

SELECT Model FROM Win32_ComputerSystem

Fabricante
Prefijo
VMware
VMware
Oracle VM VirtualBox
VirtualBox
Windows Virtual PC
Virtual Machine
QEMU
BOCHS

SELECT DeviceID FROM Win32_CDROMDrive

Fabricante
Prefijo
QEMU
QEMU
Oracle VM VirtualBox
VBOX

SELECT PNPDeviceID FROM Win32_DiskDrive

Fabricante
Prefijo
VMware
VMware
Oracle VM VirtualBox
VBOX
Windows Virtual PC
DISKVIRTUAL
QEMU
QEMU

SELECT Description FROM CIM_LogicalDevice

Fabricante
Prefijo
VMware
VMware
Oracle VM VirtualBox
VirtualBox
La rutina aunque un poco más compleja pero no menos importante puede ser observada a continuación:



BOOL wmi_test()
{
 CHAR buffer[64];
 CHAR value[256];
 PSTR objects[5][6] =   {{"Win32_BIOS", "Version", "VBOX", "BOCHS", "A M I  - 8000914", NULL},
       {"Win32_ComputerSystem", "Model", "VirtualBox", "Bochs", "VMware", "Virtual Machine"},
       {"Win32_CDROMDrive", "DeviceID", "VBOX", "QEMU", NULL, NULL},
       {"Win32_DiskDrive", "PNPDeviceID", "VBOX", "QEMU", "VMware", "DISKVIRTUAL"},
       {"CIM_LogicalDevice", "Description", "VirtualBox", "VMware", NULL, NULL}};
 HRESULT hres;
    hres = CoInitializeEx(0, COINIT_MULTITHREADED); 
    if (FAILED(hres))
        return FALSE;
    hres = CoInitializeSecurity(NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL);
    if (FAILED(hres)) {
        CoUninitialize();
        return FALSE;
    }
    IWbemLocator *pLoc = NULL;
    hres = CoCreateInstance(CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID *) &pLoc);
 
    if (FAILED(hres)) {
        CoUninitialize();
        return FALSE;
    }
    IWbemServices *pSvc = NULL;
    hres = pLoc->ConnectServer(_bstr_t(L"ROOT\\CIMV2"), NULL, NULL, 0, NULL, 0, 0, &pSvc);
    if (FAILED(hres)) {
        pLoc->Release();     
        CoUninitialize();
        return FALSE;
    }
    hres = CoSetProxyBlanket(pSvc, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL, RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE);
    if (FAILED(hres)) {
        pSvc->Release();
        pLoc->Release();     
        CoUninitialize();
        return FALSE;
    }
 for (int i = 0; i < 5; i++) {
  IEnumWbemClassObject* pEnumerator = NULL;
  
  memset(buffer, 0, 64);
  strcpy(buffer, "SELECT * FROM ");
  strcat(buffer, objects[i][0]);
  hres = pSvc->ExecQuery(bstr_t("WQL"), bstr_t(buffer), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator);
  if (FAILED(hres)) {
   pSvc->Release();
   pLoc->Release();
   CoUninitialize();
   return FALSE;
  }
 
  IWbemClassObject *pclsObj;
  ULONG uReturn = 0;
  while (pEnumerator) {
   HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
   if (0 == uReturn)
    break;
   VARIANT vtProp;
   wchar_t wcstring[256];
   mbstowcs(wcstring, objects[i][1], 256);
   hr = pclsObj->Get(wcstring, 0, &vtProp, 0, 0);
   
   memset(value, 0, 256);
   strcpy(value, _bstr_t(vtProp.bstrVal).operator char *());
   
   for (int j = 2; j < 6; j++) {
    if (objects[i][j] == NULL)
     continue;
    if (strstr(value, objects[i][j]) != NULL) {
     VariantClear(&vtProp);
     pclsObj->Release();
     pEnumerator->Release();
     pSvc->Release();
     pLoc->Release();
     CoUninitialize();
     return TRUE;
    }
   }
        
   VariantClear(&vtProp);
   pclsObj->Release();
  }
  pEnumerator->Release();
 }
    pSvc->Release();
    pLoc->Release();
    CoUninitialize();
    return FALSE;
}

Pruebas Finales

Haciendo uso del anterior código y ejecutando las tres rutinas de forma consecutiva:



int main(int argc, char* argv[])
{
 printf("MAC Address Test: %d\n", mac_test());
 printf("Registry Test: %d\n", reg_test());
 printf("Wmi Test: %d\n", wmi_test());
 return 0;
}

Se obtiene el siguiente resultado (True indica detección exitosa):
Fabricante
MAC Test
REG Test
WMI Test
VMware
True
True
True
Oracle VM VirtualBox
True
True
True
Windows Virtual PC
True
True
True
QEMU
True
True
True
Windows 7 Sin virtualizar
True
False
True

Código fuente

El archivo comprimido contiene cuatro archivos:
vmtest.c: Recopilación de las rutinas.
StdAfx.cpp, StdAfx.h: Código necesario para la compilación.
vmtest.exe: Ejecutable de prueba

Fuente
http://www.sinfocol.org/


Read more

Un linux que lee aplicaciones de windows

Pues si, este linux lee aplicaciones de windows. Agarra un archivo .exe y lo ejecuta perfectamente.
Claro esta que no emula a todos lo .exe pero si una gran mayoria.
Encima es Live CD, lo que quiere decir que lo
pueden probar sin instalar asbsolutamente nada y si no te gusta solo pierdes un CD. Para el que no lo sepa, solo tienen que arrancar desde CD al encender el ordenador. Esta puede ser una buena opción para los usuarios de windows que quieran cambiarse a linux, ya que ademas parece facil de usar.

Se me olvidaba decirlo, está disponible en varios idiomas, entre ellos el español.

SLAX Standard Edition v 5.1.8.1--------------------------------------

SLAX SE is a pocket operating system providingque provee del colection ancho del software útil el ambiente del sistema de Xwindow y del tablero del escritorio de KDE.
--------------------------------------
192 MB : Ftp : Http : Bittorrent
--------------------------------------
Special SLAX versions
--------------------------------------
Alguna gente prefiere versiones modificadas de SLAX, diseñadas para proporcionar una cierta funcionalidad adicional. Aun cuando SLAX es modular y permite que la gente la amplíe fácilmente, yo está lanzando estas modificaciones especiales al uso Linux de los principiantes de la ayuda. Aquí puedes ver algunos pequeños ejemplos de lo que pueden ser estructura los milagros sobre base de SLAX.

SLAX KillBill Edition v 5.1.8.1
-----------------------------------------------
SLAX KB es un sistema operativo pocket PC con la capacidad de funcionar con aplicaciones de Windows nativo en Linux. Contiene KDE, wine, dosbox and qemu.
-----------------------------------------------
Download: 204 MB : FTP : Http : Bittorrent
-----------------------------------
SLAX Server Edition v 5.1.8.1
-----------------------------------
SLAX SRV es un sistema operativo Pocket PC con muchos servicios del Internet listos para utilizar. Incluye el DNS, DHCP, el HTTP, el ftp, MySQL, el smtp, POP3, el IMAP y SSH.
-----------------------------------
Download: 192 MB : Ftp : Http : Bittorrent
--------------------------------------
Minimalistic SLAX versions
----------------------------------------
Estas ediciones son muy especiales en su tamaño. una cabe en una memoria de 128 MB y la otra cabe incluso en una de 50 MB
estar enterado que estas ediciones están modificadas con peso liviano, le faltará muchas de las bibliotecas para funcionar muchos módulos de SLAX.
------------------------------------------
SLAX Popcorn Edition v 5.1.8
------------------------------------------
SLAX PE Cabe incluso en una flash memory de 128 MB contiene solamente el tablero del escritorio de XFce, Mozilla Firefox, señal-MMX, Gaim, AbiWord..
------------------------------------------
Download:115 MB : Ftp : Http : Bittorrent
------------------------------------------
SLAX Frodo Edition v 5.1.8
------------------------------------------
------------------------------------------
La edición de SLAX Frodo es la base de la consola para el resto de los lanzamientos de SLAX. No contiene casi cualquier cosa, solamente aviso y conductores de comando de trabajo completo de Linux.
------------------------------------------
Download:53 MB : Ftp : Http : Bittorrent
------------------------------------------
SLAX Boot CD v 5.1.8
------------------------------------------
http://www.slax.org/ss/download/th_boot.png[/img]
------------------------------------------
El CD del cargador de SLAX se utiliza para Bootear SLAX de los dispositivos del USB en las computadoras que no pueden Bootear desde el USB directamente. Puede también ser utilizado para botear SLAX del archivo de la ISO en disco.
y ni que hablar de su diminuto peso.
-------------------------------------------
Download: 5 MB : Ftp : Http : Bittorrent[img]


Read more