elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Temas
Páginas: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39
371  Seguridad Informática / Seguridad / Reverse Engineering Mentoring enfocado al malware en Windows en: 19 Septiembre 2012, 00:28 am
Curso online para el análsis de archivos enfocado a la ingeniería inversa de malware.
Consta de 4 módulos, incluye ejemplos prácticos con códigos para compilar y posteriormente decompliar y estudiar el ejecutable.
Se utilizan herramientas de código libre y sin restricciones, versiones free.

http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentoring:

http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentoring_Lesson_001
http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentoring_Lesson_002
http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentoring_Lesson_003
http://scratchpad.wikia.com/wiki/Reverse_Engineering_Mentoring_Lesson_004


Saludos.
372  Seguridad Informática / Seguridad / Cómputo Forense Reloaded - Porque todo deja rastro en: 15 Septiembre 2012, 01:45 am
Video tutoriales sobre análisis forense de sistemas de la Campus Party:

1.-


2.-


La información no desaparece en el mayor de los casos...  :rolleyes:
373  Seguridad Informática / Seguridad / Evitar infecciones desde Java y FlashPlayer en: 3 Septiembre 2012, 15:18 pm
Abro éste tema para aquellos usuarios que no saben bien para que sirven estos programas, de los cuales se encuentran vulnerabilidades a diario y que al estar desactualizados pueden agravar la posibilidad de una infección del sistema.
También comentar que éstas vulnerabilidades pueden infectar desde el navegador las tres plataformas principales, Windows, Linux y Mac.
A través de una falla en Java por ejemplo se puede vulnerar un equipo independientemente de la plataforma utilizada. Los "atacantes" lo saben bien, la técnica es conocida como "drive-by-download" y tan sólo hace falta visitar un sitio previamente comprometido para caer en la red. De ésta forma se puede camuflar un troyano pasando inadvertido a muchas soluciones antivirus actuales, la aplicación se ejecuta con extensión ".jar" para pasar a cargarse en memória y finalmente crear un ejecutable cargado en el disco.
Para comprobar si tienes actualizados dichos programas puedes visitar su página oficial o bien visitar sitios web creados por algunas compañias para verificar si éstos componentes de tu sistema están actualizados a su última versión.

Comprobación en la web oficial:

Java: http://www.java.com/es/download/

FlashPlayer: http://get.adobe.com/es/flashplayer/
(Recuerda destildar el instalador de McAfee Security Scan si no lo quieres en tu sistema)

Comprobación en web anónima:

http://www.isjavaexploitable.com/

http://zulu.zscaler.com/research/java_version.html

Si quieres más información sobre Java y Flash:

Java: http://es.wikipedia.org/wiki/Java_%28lenguaje_de_programaci%C3%B3n%29

Flashplayer
: http://es.wikipedia.org/wiki/Adobe_Flash_Player

Otros programas que nos pueden ayudar a buscar programas desactualizados:

Vulnerabilidades en el sistema:

http://secunia.com/vulnerability_scanning/online/

http://www.f-secure.com/en/web/home_global/protection/free-online-tools/free-online-tools

Vulnerabilidades en el navegador
:

https://browsercheck.qualys.com/

https://www.botfrei.de/browsercheck/

También hay que destacar que si se encuentra una vulnerabilidad no parcheada (0-day) tanto en Java como en FlashPlayer se aconseja "desactivar" la aplicación por el momento hasta que se tenga una actualización disponible.

Saludos.
374  Seguridad Informática / Seguridad / Tutorial de análisis del PC con OTL de OldTimer. en: 10 Agosto 2012, 23:00 pm
Hola a todos, subo este tutorial para analizar el PC con la herramienta OTL de OldTimer con la que podremos generar un log y subir al foro. Es similar a la herramienta Hijackthis pero el log generado extrae más información. Discupad si hay algún error ortográfico, volveré a revisarlo.
El autor original es "emeraldnzl" y desde el foro de Infomalware junto con "Netsurfer" realizamos la traducción de la guia al español y algunas traducciones del propio programa.




Tabla de contenidos:

 -   Introducción.
 -   Enlace para descargar OTL.
 -   Información del resultado.
 -   Exploración estándar.
 -   Ejemplo de salida.
 -   Procesos.
 -   Modulos.
 -   Servicios.
 -   Controladores/Drivers.
 -   Registro estándard.
 -   Internet Explorer
 -   Firefox
 -   O1 a O22 incluyendo O24
 -   O10
 -   O27 Image File Execution Options
 -   O28 Shell Execute Hooks
 -   O29 Security Providers
 -   O30 Lsa
 -   O31 Modo seguro
 -   O32 Archivos Autorun en discos locales.
 -   O33 MountPoints2
 -   O34 BootExecute
 -   O35 shell spawning values
 -   O36 appcert dlls
 -   O37 Asociación de archivos.


  -   Pre-defined Custom Scan Command Example
  -   Quick Reference of available Directives & Commands

        :processes
        :OTL
        :Services
        :Reg
        :Files
        :Commands

    Switches
    Commands/Switches
    CleanUp


OTL es una herramienta para el diagnóstico y la eliminación de malware.

Nota importante!: Aunque OTL es principalmente una herramienta de diagnóstico, la misma tiene una capacidad avanzada para eliminar programas maliciosos. Si usted no entiende las instrucciones en este tutorial, favor de solicitar la asistencia de un experto en la eiminación de programas maliciosos que ofrecen su ayuda gratis en uno de los foros que se indican abajo. Tenga mucho cuidado al desarollar y ejecutar uno de los códigos. El uso inapropiado de OTL puede causar la pérdida de sus datos o causar que éste no arranque.


Enlaces de descarga (versión actual 3.2.69.0):

http://oldtimer.geekstogo.com/OTL.exe

Para usuarios que no puedan ejecutar archivos con extensión .exe, pueden descargar OTL con una extensión .com o .scr que a efectos es lo mismo.

http://oldtimer.geekstogo.com/OTL.com
http://oldtimer.geekstogo.com/OTL.scr

Ejecutando OTL (ejecutar como administrador):



Ventana principal:



Configurando OTL para un análisis óptimo y/o personalizado:

  • Asegurese de cerrar todas sus ventanas antes de ejecutarlo y dejelo correr sin interrumpirlo asta que termine el Análisis.
  • Hacer doble click en el icono "OTL.exe" para ejecutarlo.
  • Cuando la ventana principal aparezca, marcar las siguienes opciones:  Abajo de: "Tipo de Análisis" cambielo a Resultado Minimo.
  • Marcar las opciones: Buscar LOP y Buscar Purity.
  • Copia y pega el siguiente texto abajo de la barra azul de "Análisis Personalizados":

    Código:
    netsvcs
    drivers32
    %SYSTEMDRIVE%\*.*
    %systemroot%\*. /mp /s
    CREATERESTOREPOINT
    %systemroot%\system32\*.dll /lockedfiles
    %systemroot%\Tasks\*.job /lockedfiles
    %systemroot%\System32\config\*.sav
    %systemroot%\system32\drivers\*.sys /180
    /md5start
    eventlog.dll
    scecli.dll
    netlogon.dll
    cngaudit.dll
    sceclt.dll
    ntelogon.dll
    logevent.dll
    iaStor.sys
    nvstor.sys
    atapi.sys
    IdeChnDr.sys
    viasraid.sys
    AGP440.sys
    vaxscsi.sys
    nvatabus.sys
    viamraid.sys
    nvata.sys
    nvgts.sys
    iastorv.sys
    ViPrt.sys
    eNetHook.dll
    ahcix86.sys
    KR10N.sys
    nvstor32.sys
    ahcix86s.sys
    nvrd32.sys
    /md5stop

  • Presione el boton Asegurarse de no cambiar el resto de la configuración a menos que te lo solicitemos, el análisis no tardará mucho.
  • Una vez termine se abrirán dos archivos, OTL.Txt y Extras.Txt. Éstos aparecerán grabados en el mismo lugar en que OTL.exe fue guardado.
  • Copiar y pegar el contenido del informe en el tema de tener que abrir uno en el foro.

Una vez que OTL haya completado su primer análisis, guardará una copia del resultado en un documento de texto y guardará en la misma carpeta donde se ejecutó. A menos que se incluya el informe "Extras" en la configuración, solamente se producirá el informe OTL.txt en escaneos siguientes.

En el caso del informe correspondiente a una reparación, el mismo se grabará en la carpeta:
    _OTLMoved Files reflejando la fecha y hora en la que se crea. En la mayoría de los casos, C:_OTLMoved Files.


* Encabezado.

Este es un ejemplo del encabezado de un registro:

Código:
OTL logfile created on: 10/08/2012 16:54:08 - Run 3
OTL by OldTimer - Version 3.2.56.0     Folder = C:\Documents and Settings\Administrador\Mis documentos\Descargas
Windows XP Professional Edition Service Pack 3 (Version = 5.1.2600) - Type = NTWorkstation
Internet Explorer (Version = 8.0.6001.18702)
Locale: 0000040A | Country: España | Language: ESP | Date Format: dd/MM/yyyy
 
2,00 Gb Total Physical Memory | 1,37 Gb Available Physical Memory | 68,38% Memory free
5,85 Gb Paging File | 5,07 Gb Available in Paging File | 86,76% Paging File free
Paging file location(s): C:\pagefile.sys 4092 4092 [binary data]
 
%SystemDrive% = C: | %SystemRoot% = C:\WINDOWS | %ProgramFiles% = C:\Archivos de programa
Drive C: | 99,83 Gb Total Space | 15,76 Gb Free Space | 15,78% Space Free | Partition Type: NTFS
Drive D: | 170,60 Gb Total Space | 129,15 Gb Free Space | 75,70% Space Free | Partition Type: NTFS
Drive F: | 195,32 Gb Total Space | 126,03 Gb Free Space | 64,53% Space Free | Partition Type: NTFS
Drive G: | 3,80 Gb Total Space | 0,99 Gb Free Space | 26,09% Space Free | Partition Type: FAT32
Drive K: | 931,51 Gb Total Space | 473,93 Gb Free Space | 50,88% Space Free | Partition Type: NTFS
 
Computer Name: DESKTOP | User Name: Administrador | Logged in as Administrator.
Boot Mode: Normal | Scan Mode: Current user | Quick Scan
Company Name Whitelist: On | Skip Microsoft Files: On | No Company Name Whitelist: On | File Age = 30 Days

Descripción del log generado por líneas:

Primera línea: Indica la fecha en que se creó el registro, la hora del día y cuantas veces OTL se a ejecutado.
Nota: la fecha se mostrará en el formato establecido por el usuario en el Panel de control.
Se utilizará esta información para determinar si el escaneo es el actual, y no uno antiguo.
Segunda línea: Muestra la versión d OTL y su ubicación en el disco. El número de versión es particularmente importante. Una versión no actualizada no tendrá la funcionalidad actual y puede arrojar un resultado equivocado a la hora de evaluar un registro. De igual forma, la ubicación de OTL en el disco puede ser de gran importancia, especialmente si el mismo no se encuentra en un lugar permanente.
Tercera línea: Muestra la versión de Windows activa en el equipo, y el tipo de sistema de archivo. Esta información es muy útil para determinar si otras herramientas son compatibles con el ordenador del usuario.
Cuarta línea: Indica la versión del Explorador de Windows (Internet Explorer). La versión 8 puede causar problemas en algunos equipos.
Quinta línea: Nos muestra el país, idioma y el formato de fecha que el sistema operativo está utilizando. Puede ser útil en la preparación de las respuestas. Para obtener una lista de las siglas utilizadas clic ---> Aquí.
Sexta línea: Le indica la cantidad de memoria (RAM) que el ordenador posee. A menudo esto puede ayudar a explicar muchos de los síntomas.
Nota: El informe de la cantidad de memoria puede aparecer más baja de lo que realmente está en la máquina. Esto sucede por varias razones. El ordenador puede que no pueda acceder a toda la memoria disponible; defectos en los modulos de memoria o su base; o algo que previene al inicio del ordenador reconocer la misma. Sistemas con más de 4GB de memoria, reflejarán el máximo de 4 GB.
Líneas séptima y octava: El archivo "Pagefile.sys" es un archivo utilizado por Windows para almacenar temporalmente aquella información que se intercambia entre el sistema y la memoria física de la computadora. Así se amplía la capacidad de memoria de la computadora a través de una memoria virtual, la que no dispone de un componente tangible, sino que es creada por Windows para mejorar el funcionamiento del equipo. El tamaño del archivo fluctúa basado en la necesidad del sistema.
Novena línea: Le indica el medio ambiente del sistema; desde donde funciona la unidad del sistema, la raíz del mismo y ubicación de los archivos de programas.
Las líneas siguientes: Le indica las unidades en que el equipo está dividido, su tamaño y el espacio libre disponible. Que tipo de unidad es y si está subdividido. Puede encontrar una situación donde existe muy poco espacio libre en el disco duro (para un sistema óptimo, debe ser mayor del 15%). De ser menor, esto puede afectar la habilidad del fucionamiento de las herramientas. Si el espacio libre es muy bajo, digamos del 5%, entonces hay una posibilidad de que el ordenador no inicie cuando se ejecuta una herramienta. OTL siempre informará el estado de las unidades C: a la I, independientemente de si están o no instalados. Cualquier unidad desde la J: a la Z:, será informado solo si están presentes.

El informe continúa con un grupo de líneas que indican el nombre del equipo, el usuario actual y el nivel al cual se ha conectado. Esto nos permite saber si el usuario tiene el permiso apropiado para ejecutar una reparación.
Luego de esto, existe otro grupo de líneas que indican la configuración utilizada en el escaneo, tal y como ; el modo de arranque del ordenador; si sólo se configuró el usuario actual o todos los usuarios; escaneo en sistemas de 64-bit; si la lista de compañías reconocidas fue omitida o no; y otros.

OTL agrega anotaciones a determinadas entradas del registro:

21:52:15 | 01,216,000 | ---- | M - el último de los caracteres entre los corchechetes [.] será permanente M para indicar si el archivo fue modificado, o C para para indicar si el archivo fue creado.

Todo escaneo, excepto por los que se realizan por la edad de archivos y análisis de aquellos sin la firma de compañías reconocidas, mostrará la fecha de la última modificación de los archivos. Los dos análisis mostrarán la fecha de creación de ambos, el archivo y la carpeta. Existen tipos de infecciones que ajustan la fecha de modificación para tratar de ocultarse o mezclarse con otros archivos o carpetas. De esta manera, y mediante el análisis de las fechas de creación y modificación, podemos identificar a este tipo de infección. Si los archivos o carpetas muestran una fecha modificada en el 2003, pero fueron creados en el 2010, entonces esto es una indicación de que debemos realizar una evaluación más profunda de estos archivos. Una evaluación profunda de los resultados de escaneo nos ayudará a identificar las infecciones de forma efectiva.

18:25:02 | 1609,916,416 | -HS- | M] () -- C:hiberfil.sys -

Luego del tamaño del archivo, aparecerán los siguientes atributos son:

R - Readonly - Leer solamente
H - Hidden - Oculto
S - System - Sistema
D - Directory - Carpeta

SRV - (NMSAccessU) -- C:Program Files (x86)CDBurnerXPNMSAccessU.exe() - Esta línea indica que el archivo no está digitalmente firmado por una empresa. De estar digitalmente firmado, el nombre de la empresa aparecería dentro del paréntesis final. La mayoría de archivos maliciosos no tendrán nombre de empresa (aunque algunos sí, para ocultarse). Tenga en consideración que no todos los archivos sin nombre de empresa son malos, como muestra el ejemplo de arriba.

15:54:00 | 00,000,000 | ---D | M - Esta línea muestra un directorio (D) que se ha modificado (M) en 2009/03/10.

El tamaño de las carpetas siempre será cero según demuestra este ejemplo. Si hubiera sido un archivo, el atributo no sería una D y el tamaño del archivo normalmente sería mayor de cero, aunque también se pueden encontrar archivos con un tamaño cero. En este caso, el ejemplo es una carpeta y la fecha en que se muestra es la fecha de modificación.

Áreas de análisis estándar


RPC - procesos
MOD - módulos
SRV - servicios (O23 en HJT)
DRV - controladores
Registro estándar
IE - configuración del explorador (Internet Explorer)
FF - configuración del explorador (FireFox)
O1 a O24 - Estas líneas son similaresal registro de Hijackthis
O27 Opciones en la Ejecución de la imagen del archivo
O28 Ganchos de ejecución en la base de Windows (shell)
O29 Proveedores de seguridad
O30 Servicios de autenticación. (LSA)
O31 Modo de Inicio Seguro
032 Archivos de arranque automático en el disco
O33 Configuración de las unidades de almacenamiento
O34 Programas que se ejecutan al inicio
O35 Asociación de los archivos .com y .exe de la base del sistema
Bibliotecas (Librería) de Enlace Dinámico (.dll)
037 Asociación de los archivos .com y .exe de la base del sistema


Análisis de archivos y carpetas

Registro adicional - Se obtiene automáticamente durante el escaneo inicial de OTL. Realiza los siguientes análisis y coloca el resultado en el registro "Extras.txt". Este escaneo adicional sólo se ejecutará automáticamente la primera vez que OTL.exe se ejecute, mediante el cual se obtiene el primer análisis. Subsiguientemente, si desea ver estos resultados necesitará instruir a el usuario a que marque una de estas dos opciones: "Listado Minimo" o "Todos" en el grupo de registro adicional antes de hacer un scaneo de lo siguiente:

Asociación de archivos
Shell Spawning
Centro de Seguridad
Aplicaciones autorizadas (si se ejecuta en un sistema operativo no-Vista)
Reglas del "Firewall" en vista (si se ejecuta en un Vista o los sistemas operativos anteriores)
Lista de Programas Instalados
Vista de Sucesos (últimos 10 errores en cada área cubierta por la aplicación)

Existen dos formas de solicitarle al usuario que presente el Escaneo Estándar, "Resultado Completo" o "Resultado Mínimo". Además se puede utilizar la opción de listado minimo o "Todos" en cada uno de los escaneos standár selecionado con el grupo particular de scaneo.

Nota: Selecionando "Resultado Completo", la fecha hora del archivo se incluirán al principio de la línea, mientras que selecionando "Resultado Mínimo" sólo se incluirá el nombre del archivo, ubicación y nombre de la empresa. El resultado el escaneo concerniente a los procesos, módulos, servicios, controladores y análisis de archivos, se reflejará ordenados por fecha de archivo, sin embargo, en el caso de análisis personalizado, se ordenarán por ubicación y nombre de archivo. En los sistemas operativos de 64 bits, los elementos de 64 bits se enumerarán primero, y subsiguientemente los elementos de 32-bit dentro de la misma agrupación.

La lista de compañías reconocidas es una lista de más de 600 archivos (actualmente) de Microsoft que se consideran seguros, y que se filtrarán fuera de todos los análisis si el análisis incluyera esta opción. Al elegir la opción "Todos" en cualquier de estos análisis, se apagará el filtro y el resultado incluirá todos los achivos en el systema en el análisis.

Nota 2: Si usted va a utilizar un análisis personalizado asegúrese de que presione el botón Analizar. Si se cambia la opción de "Análisis Mínimo" se aplicará la configuración predeterminada.

También hay comandos adicionales personalizados y predefinidos que se pueden utilizar en análisis personalizados:

Nota: Con la excepción del comando HijackThisBackups, el resultado del escaneo utilizando los siguientes comandos se puede copia/pegar directamente en la sección de :OTL en una reparación para su eliminación.

HijackThisBackups - se enumeran todas las copias de apoyo producidas por Hijackthis
netsvcs - listas de entradas bajo HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost - netsvcs
msconfig - listas de entradas bajo HKEY_LOCAL_MACHINEsoftwaremicrosoftshared toolsmsconfig
safebootminimal - listas de entradas bajo HKEY_LOCAL_MACHINEsystemcurrentcontrolsetcontrolsafebootMinimal
safebootnetwork - listas de entradas bajo HKEY_LOCAL_MACHINEsystemcurrentcontrolsetcontrolsafebootNetwork
activex - listas de entradas bajo HKEY_LOCAL_MACHINEsoftwaremicrosoftactive setupinstalled components
drivers32 - listas de entradas bajo HKEY_LOCAL_MACHINEsoftwareMicrosoftWindows NTCurrentVersionDrivers32

Nota: De forma predeterminada, cada uno de los análisis predefinidos utilizará el filtro de companías reconocidas. Para anular esta acción e incluir todos los archivos en cualquiera de estos análisis debe incluir el codigo /all al final del comando (ejemplo: netsvcs /all).

Ejemplo de los resultados

Procesos

Muestra procesos que se estan ejecutando en su equipo.

========== Processes (SafeList) ==========

Estándar:
PRC - [2009/11/11 00:03:54 | 00,529,408 | ---- | M] (OldTimer Tools) -- C:OldTimer ToolsOTL.exe

Mínimo:
PRC - C:OldTimer ToolsOTL.exe (OldTimer Tools)

Módulos

========== Modules (SafeList) ==========

Estándar:
MOD - [2009/04/28 10:05:56 | 00,715,264 | ---- | M] (Agnitum Ltd.) -- c:Program FilesAgnitumOutpost Firewallwl_hook.dll

Mínimo:
MOD - c:Program FilesAgnitumOutpost Firewallwl_hook.dll (Agnitum Ltd.)

Servicios

Muestra servicios ejecutandose en el equipo.

========== Win32 Services (SafeList) ==========

Estándar:
SRV:64bit: - [2008/01/20 21:52:15 | 01,216,000 | ---- | M] (Microsoft Corporation) -- C:Program FilesWindows Media Playerwmpnetwk.exe -- (WMPNetworkSvc)
SRV - [2009/09/06 12:38:06 | 00,071,096 | ---- | M] () -- C:Program Files (x86)CDBurnerXPNMSAccessU.exe -- (NMSAccessU)

Mínimo:
SRV:64bit: - (WMPNetworkSvc) -- C:Program FilesWindows Media Playerwmpnetwk.exe (Microsoft Corporation)
SRV - (NMSAccessU) -- C:Program Files (x86)CDBurnerXPNMSAccessU.exe ()

Controladores (Drivers)

Muestra Controladores ejecutandose en el equipo. Nota: Los controladores no se muestran de forma predeterminada en un examen rápido. Se deben seleccionar y ejecutar con el botón Analizar.

========== Driver Services (SafeList) ==========

Estándar:
DRV:64bit: - [2009/02/10 16:14:00 | 00,399,384 | ---- | M] (Agnitum Ltd.) -- C:WindowsSysNativedriversafwcore.sys -- (afwcore)
DRV - [2009/09/28 20:57:28 | 00,007,168 | ---- | M] () -- C:WindowsSysWOW64driversStarOpen.sys -- (StarOpen)

Mínimo:
DRV:64bit: - (afwcore) -- C:WindowsSysNativedriversafwcore.sys (Agnitum Ltd.)
DRV - (StarOpen) -- C:WindowsSysWOW64driversStarOpen.sys ()

Registro estándar

========== Standard Registry (SafeList) ==========

Internet Explorer

========== Internet Explorer ==========

Esta sección muestra los ajustes del navegador IE Internet:

Citar
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Default_Page_URL = http://go.microsoft.com/fwlink/?LinkId=69157
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Default_Search_URL = http://go.microsoft.com/fwlink/?LinkId=54896
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Default_Secondary_Page_URL = [binary data]
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Extensions Off Page = about:NoAdd-ons
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Local Page =
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Search Page = http://go.microsoft.com/fwlink/?LinkId=54896
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Security Risk Page = about:SecurityRisk
IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Start Page = http://www.microsoft.com/isapi/redir.dll?p...ER}&ar=home
IE - HKLMSOFTWAREMicrosoftInternet ExplorerSearch,CustomizeSearch = http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchcust.htm
IE - HKLMSOFTWAREMicrosoftInternet ExplorerSearch,CustomSearch = http://uk.red.clientapps.yahoo.com/customi...fo/bt_side.html
IE - HKLMSOFTWAREMicrosoftInternet ExplorerSearch,Default_Search_URL = http://www.microsoft.com/isapi/redir.dll?p...amp;ar=iesearch
IE - HKLMSOFTWAREMicrosoftInternet ExplorerSearch,SearchAssistant = http://ie.search.msn.com/{SUB_RFC1766}/srchasst/srchasst.htm
IE - URLSearchHook: {18944614-1340-4483-bac9-6778840b9970} - C:Program FilesTalkTalk Mail Toolbartalktalkmailtb.dll (AOL LLC.)

IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Default_Search_URL = http://www.google.com/ie
IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Local Page =
IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Page_Transitions = 1
IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Search Page = http://www.google.com
IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Start Page = http://www.aol.co.uk/talktalk
IE - HKCUSOFTWAREMicrosoftInternet ExplorerSearch,Default_Search_URL = http://www.google.com/ie
IE - HKCUSOFTWAREMicrosoftInternet ExplorerSearch,SearchAssistant = http://www.google.com/ie
IE - URLSearchHook: {18944614-1340-4483-bac9-6778840b9970} - C:Program FilesTalkTalk Mail Toolbartalktalkmailtb.dll (AOL LLC.)
IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyEnable" = 0
IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyOverride" = *.local
IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyServer" = 0.0.0.0:80

En cuanto a algunos artículos en el ejemplo anterior podemos ver:

    IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Default_Page_URL = http://go.microsoft.com/fwlink/?LinkId=69157
    MSN, página por defecto principal de IE.

    IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Default_Search_URL = http://go.microsoft.com/fwlink/?LinkId=54896
    Bing, Motor de búsqueda principal de IE por defecto.

        IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Extensions Off Page = about:NoAdd-ons
        Una de las características menos conocidas de Internet Explorer 7 es el modo de la opcion de "No Add Ons" . Esta página se utiliza cuando el modo de No Add Ons está en funcionamiento.

        IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Local Page =
        página local está en blanco. Otro ajuste similar es =C:WINDOWSSystem32blank.htm.

        IE - HKLMSOFTWAREMicrosoftInternet ExplorerMain,Security Risk Page = about:SecurityRisk
        Informa al usuario de no navegar con la configuración de seguridad actual, ya que pueden ser perjudiciales para el equipo. Ver aquí para una lista común sobre: direcciones.

        IE - HKLMSOFTWAREMicrosoftInternet ExplorerSearch,CustomSearch = http://uk.red.clientapps.yahoo.com/customi...fo/bt_side.html

    Página web de Yahoo
    BHO relacionados con Yahoo.

    IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Start Page = http://www.aol.co.uk/talktalk

    Indica la página de inicio predeterminada..

    IE - HKCUSOFTWAREMicrosoftInternet ExplorerMain,Search Page = http://www.google.com
    Google se establece como una página de búsqueda principal.

    IE - HKCUSOFTWAREMicrosoftInternet ExplorerSearch,Default_Search_URL = http://www.google.com/ie
    ndica el conjunto de Google.com/ie como un motor de búsqueda predeterminado.


Proxy /Configuración settings.

    IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyEnable" = 0
    = 0 indica que el servidor proxy está inhabilitado (ajustar el valor de 'ProxyEnable "igual a" 1 "para el proxy habilitado o '0 'para inabilitado).

    IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyOverride" = *.local
    indica que Internet Explorer no va a usar el proxy para todas las direcciones de red interna.

    IE - HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings: "ProxyServer" = 0.0.0.0:80
    No es una IP regular pero 0.0.0.0 significa "cada IP que proporciona el equipo". Escucha en el loopback (127.0.0.1), así como la dirección de red interna. Muchas aplicaciones de AV crean un servidor de proxy para filtrar las salidas de correos..

Firefox:

========== FireFox ==========

Esta área muestra los ajustes del navegador Firefox a Internet.

Citar
FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0007-ABCDEFFEDCBA}:6.0.07
FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA}:6.0.12
FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0013-ABCDEFFEDCBA}:6.0.13
FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0014-ABCDEFFEDCBA}:6.0.14
FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0015-ABCDEFFEDCBA}:6.0.15
FF - prefs.js..extensions.enabledItems: jqs@sun.com:1.0
FF - prefs.js..extensions.enabledItems: {20a82645-c095-46ed-80e3-08825760534b}:1.1
FF - prefs.js..extensions.enabledItems: {ABDE892B-13A8-4d1b-88E6-365A6E755758}:1.0
FF - prefs.js..extensions.enabledItems: {B13721C7-F507-4982-B2E5-502A71474FED}:2.2.0.102
FF - prefs.js..extensions.enabledItems: {972ce4c6-7e08-4474-a285-3208198ce6fd}:3.0.14
FF - prefs.js..network.proxy.no_proxies_on: "localhost"

FF - HKLMsoftwaremozillaFirefoxExtensions{20a82645-c095-46ed-80e3-08825760534b}: c:WINDOWSMicrosoft.NETFrameworkv3.5Windows Presentation FoundationDotNetAssistantExtension [2009/06/23 22:50:00 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaFirefoxExtensionsjqs@sun.com: C:Program FilesJavajre6libdeployjqsff [2009/03/10 15:54:00 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaFirefoxExtensions{ABDE892B-13A8-4d1b-88E6-365A6E755758}: c:program filesrealrealplayerbrowserrecordfirefoxext [2009/09/06 17:41:17 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaMozilla Firefox 3.0.14extensionsComponents: C:Program FilesMozilla Firefoxcomponents [2009/09/23 09:12:35 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaMozilla Firefox 3.0.14extensionsPlugins: C:Program FilesMozilla Firefoxplugins [2009/09/23 09:12:35 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaNetscape Browser 8.0.3.4ExtensionsComponents: C:Program FilesNetscapeNetscape BrowserComponents [2009/09/23 09:12:35 | 00,000,000 | ---D | M]
FF - HKLMsoftwaremozillaNetscape Browser 8.0.3.4ExtensionsPlugins: C:Program FilesNetscapeNetscape BrowserPlugins [2009/09/23 09:12:34 | 00,000,000 | ---D | M]

Tomando algunos elementos en el ejemplo anterior podemos ver:
.


    FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0007-ABCDEFFEDCBA}:6.0.07
    FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0012-ABCDEFFEDCBA}:6.0.12
    FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0013-ABCDEFFEDCBA}:6.0.13
    FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0014-ABCDEFFEDCBA}:6.0.14
    FF - prefs.js..extensions.enabledItems: {CAFEEFAC-0016-0000-0015-ABCDEFFEDCBA}:6.0.15

    estos están relacionados con la Consola de Sun Java
    .

    FF - prefs.js..extensions.enabledItems: jqs@sun.com:1.0

    es un complemento para inicio rápido de Java
    .
    FF - prefs.js..extensions.enabledItems: {20a82645-c095-46ed-80e3-08825760534b}:1.1

    Asistente de Microsoft .NET Framework para Firefox
    .
    FF - prefs.js..extensions.enabledItems: {ABDE892B-13A8-4d1b-88E6-365A6E755758}:1.0
    Real Player
    .
    FF - prefs.js..extensions.enabledItems: {B13721C7-F507-4982-B2E5-502A71474FED}:2.2.0.102
    Skype
    .



O1 hasta e incluyendo O22 O24

Esta lista es muy similar a un registro de HijackThis y la referencia a HijackThis Tutorial & Guia se recomienda para artículos 01 a través de 020 y también el tema 024.

010 Esto requiere una explicación adicional: a diferencia de HijackThis, OTL eliminará las entradas de catálogo que se incluyen en la reparación y a continuación, reordena la pila de winsock por lo que no habrá un eslabón roto de la cadena LSP, es decir, usted puede utilizar OTL para corregir estos elementos.

Opciones de Ejecución de una imagen de archivo O27

Elementos de listas bajo Opciones de ejecución de archivos de HKey_Local_MachineSoftwareMicrosoftWindows NTCurrentVersionImage File Execution Options

Explicación aquí.

O28 Hooks de ejecución en shell

HKey_Local_MachineSOFTWAREMicrosoftWindowsCurrentVersionExplorerShellExecuteHooks

Estos se cargan cada vez que inicie un programa (mediante el Explorador de Windows o por llamar a la función de ShellExecute(Ex)). Este módulo de inicio como los otros módulos DLL de inicio es notificado del programa que usted inicia y que puede realizar cualquier tarea adicional antes que el programa en realidad inicie.

O29 proveedores de seguridad

Listas de elementos bajo HKey_Local_MachineSYSTEMCurrentControlSetControlSecurityProvidersSecurityProviders

    O29 - HKLM SecurityProviders - (xlibgfl254.dll) - .Trashes [2008/11/03 13:08:10 | 00,000,000 | -H-D | M]
    O29 - HKLM SecurityProviders - (digiwet.dll) - File not found


Estos son ejemplos de los malos. Tenga mucho cuidado! porque elementos legítimos se muestra aquí también.

O30 Lsa

Listas de elementos bajo HKEY_LOCAL_MACHINEsystemcurrentcontrolsetcontrollsa

    O30 - LSA: Authentication Packages - (C:WINDOWSsystem32opnnLbaA.dll) - C:WINDOWSSystem32opnnLbaA.dll File not found



Lo anterior es un ejemplo de una mala.

Nota: Los elementos LSA 32 bits comparados a 64 bits:

O30:64bit: - LSA: Authentication Packages - (msv1_0) - C:WindowsSysNativemsv1_0.dll (Microsoft Corporation)
O30 - LSA: Authentication Packages - (msv1_0) - C:WindowsSysWow64msv1_0.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (kerberos) - C:WindowsSysNativekerberos.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (msv1_0) - C:WindowsSysNativemsv1_0.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (schannel) - C:WindowsSysNativeschannel.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (wdigest) - C:WindowsSysNativewdigest.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (tspkg) - C:WindowsSysNativetspkg.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (kerberos) - C:WindowsSysWow64kerberos.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (msv1_0) - C:WindowsSysWow64msv1_0.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (schannel) - C:WindowsSysWow64schannel.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (wdigest) - C:WindowsSysWow64wdigest.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (tspkg) - C:WindowsSysWow64tspkg.dll (Microsoft Corporation)

Para los elementos que se encuentran en la rama de HKLMSystem del registro, hay sólo un valor, pero será interpretado de forma diferente por aplicaciones de 32 bits y aplicaciones de 64 bits. En los ejemplos anteriores se puede ver que las interpretaciones de 64 bits se verá a los archivos en la carpeta Sysnative (las carpetas system32 de 64 bits) y las interpretaciones de 32 bits se verá en la carpeta syswow64 (la carpeta system32 de 32 bits). Si elimina cualquiera de estos elementos afectará a las operaciones tanto de 32 bits y de 64 bits. Eliminación de una o de las otras líneas parecidas se elimina el elemento de la ubicación del registro único pero sólo se movera el archivo de la línea seleccionada. A continuación si desea quitar ambos archivos para la coincidencia de elementos parecidos como estas, entonces incluya las dos en la reparación. Es importante comprender donde están ubicados los elementos en el registro para determinar si un elemento de registro único es leído por las aplicaciones de 32 bits y de 64 bits. Lo que usted podría encontrar en una situación como ésta es que el archivo apuntado por la interpretación de 32 bits es malo, pero la interpretación de 64 bits está muy bien (la mayoría de malware sólo afecta a aplicaciones de 32 bits debido a que el sistema operativo de 64 bits no permite cambios en sus archivos). Dado que el valor del registro es compartido por ambos no desea eliminarlo debido a que podría causar problemas en el sistema.

Ahora tome este ejemplo de los elementos LSA anteriores:

O30:64bit: - LSA: Authentication Packages - (msv1_0) - C:WindowsSysNativemsv1_0.dll (Microsoft Corporation)
O30 - LSA: Authentication Packages - (msv1_0) - C:WindowsSysWow64msv1_0.dll ()
O30:64bit: - LSA: Security Packages - (kerberos) - C:WindowsSysNativekerberos.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (msv1_0) - C:WindowsSysNativemsv1_0.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (schannel) - C:WindowsSysNativeschannel.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (wdigest) - C:WindowsSysNativewdigest.dll (Microsoft Corporation)
O30:64bit: - LSA: Security Packages - (tspkg) - C:WindowsSysNativetspkg.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (kerberos) - C:WindowsSysWow64kerberos.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (msv1_0) - C:WindowsSysWow64msv1_0.dll ()
O30 - LSA: Security Packages - (schannel) - C:WindowsSysWow64schannel.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (wdigest) - C:WindowsSysWow64wdigest.dll (Microsoft Corporation)
O30 - LSA: Security Packages - (tspkg) - C:WindowsSysWow64tspkg.dll (Microsoft Corporation)

En este ejemplo se puede ver que se ha comprometido el archivo msv1_0.dll para la interpretación de 32 bits. Debería ser un archivo de Microsoft, pero en este caso ha sido sustituido por un archivo desconocido. En esta situación usted desea eliminar sólo el archivo de C:WindowsSysWow64msv1_0.dll pero NO la entrada del Registro. También habría que sustituir el Msv1_0.dll malo con uno válido, ya que se requiere para soporte de aplicaciones.

O31 Modo Seguro a prueba de fallos (SafeBoot)

Listas de elementos bajo HKEY_LOCAL_MACHINEsystemcurrentcontrolsetSafeBoot

Archivos de O32 Autorun en las unidades

Acceso a un dispositivo removible infectado, como una thumb drive o unidad flash a través de "Mi PC" (al hacer clic en la unidad) hará que un autorun.inf se ejecute.

Dependiendo de la ejecución automática /configuración de reproducción automática, entonces, el usuario puede ser engañado en ejecutar un archivo incorrecto, cuando le aparece un diálogo en la inserción Haciendo clic en un icono en el "usar este programa para ejecutar" un programa no legítimo agrega al archivo autorun.inf en esa unidad que se puede ejecutar.

Algunos malware agrega archivos autorun.inf en la raíz de todas las unidades lógicas.

O33 MountPoints2

Listas de elementos bajo HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMountPoints2

O34 BootExecute

Listas de elementos bajo HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager

O35 shell spawning values

En la base de windows en la listas de valores para .com y .exe configuración del registro (no otras extensiones).

Elementos de O35 (como cualquier otro elemento en el análisis de registro) simplemente se pueden colocar en la sección de :OTL, de una reparación, (en los del registro de Extras no puede).

Con la infecion de Win police Pro se verá un nombre de archivo en lugar de la "% 1" % *. Si lo ves, entonces incluir estas líneas en la reparación.

O36 appcert dlls

Lista de elementos bajo HKEY_LOCAL_MACHINEsystemcurrentcontrolsetcontrolsession managerappcertdlls key

Asociaciones de archivos de O37 (para valores comfile y exefile )

Listas de archivo de asociaciones de valores para la configuración del registro de .com y .exe de la base de windows.

Las asociaciones de archivos en la base de windows están íntimamente entrelazadas. Los elementos de O35 muestran los valores de la base de windows (.com y .exe) y los elementos de O37 muestran las asociaciones de archivo (.com y .exe).

Puede ver estos valores si se ejecuta el análisis de registro extra, pero cuando no puede verlos entonces estos valores pueden estar ocultos. La línea de O37 le ofrece la capacidad para ver esto incluso cuando no se ejecuta el análisis de registro adicional.

El valor de la Asociación de archivo es un valor predeterminado único que apuntará al valor de la base de windows. Es el valor de la base de windows donde se pueden configurar ejecutables adicionales para ejecutar tipos de archivo específicos a través de la asociación. Por ejemplo la Asociación de archivos del usuario para los archivos .exe debe estar apuntando a .exe pero el malware puede cambiarlo para que apunte a una nueva clave de desove que está cargando un "archivo malo". El archivo debe aparecer en los análisis de archivo, pero sólo mover ese archivo y no fijar el valor de la Asociación creará una situación donde no se pueden ejecutar archivos .exe.

Cuando ponga elementos para eliminación aquí, OTL establecerá a cualquier usuario .com HKLM o configuración de asociación de archivo .exe de vuelta a los valores predeterminados, pero elimina .com con cualquier usuario o las claves de asociación de archivos .exe y siempre establece el shell HKLM desove de configuración a la normalidad.

Nota: Si la clave de desove está en la rama del usuario del registro, a continuación, siempre se eliminará automáticamente, pero que necesitará quitar el archivo por separado. El archivo debe aparecer en los análisis de archivo y usted puede hacerse cargo de allí. Si la clave de desove aparece con el error de Reg: error de clave y es el malware y, a continuación, también debe incluir una línea en la sección :REG para eliminarlo de la sección HKLM sólo por seguridad.

Ejemplo de la eliminación de un valor incorrecto de la sección HKLM.

:reg
[-hkey_local_machinesoftwareclasses"badfile"]

y tenga cuidado del archivo desde los análisis de archivo o de la sección :Files

Actualizado: 05.01.2015
375  Seguridad Informática / Análisis y Diseño de Malware / Malware Analyst´s Cookbook and DVD en: 31 Julio 2012, 14:06 pm

TOOLS AND TECHNIQUES FOR FIGHTING MALICIOUS CODE


Consejos prácticos que los autores han previsto para la comprensión y la lucha contra el malware. El libro no hace una mezcla de todos los conocimientos existentes sobre el tema, pero presenta numerosas herramientas y enfoques originales. El DVD que viene con el texto ofrece un montón de secuencias de comandos útiles y herramientas no disponibles en ningún otro lugar.

Adverténcia: El archivo que descargas con el DVD contiene ejemplos prácticos con malware real. Aunque todo viene explicado hay que tener ojo con los ejecutables infectados a manipular!!!

Titulo: Malware Analysts Cookbook and DVD:

PDF: http://lh.rs/drpcMJptEIm5
PDF y DVD: http://thepiratebay.se/torrent/6851543/

Más información:
http://www.malwarecookbook.com/
http://www.malwarecookbook.com/?p=119
376  Seguridad Informática / Seguridad / Evitar que se instalen barras de navegación de terceros al instalar programas. en: 22 Julio 2012, 10:18 am
Uno de los muchos problemas con los que me he encontrado al echarle un vistazo a equipos de amigos y familiares es que al abrir cualquier navegador tienen entre 3 y 5 barras de navegación que se añaden como plugin al instalar algunos programas.
Para el ejemplo utilizaré el downloader de Softonic, el cual descarga el programa y al lanzarlo nos muestra una guía paso a paso en la que nos dan la opción de añadir un complemento para el/los navegador/es. Por supuesto hay otros muchos programas que utilizan la misma técnica, es simplemente publicidad que recibiremos, de algun lado tendrán que sacar beneficios, pobrecitos!!!

Os pongo el ejemplo de mis primos, donde al instalar un programa, si viene en español apenas leen, solo dan a siguiente, siguiente hasta finalizar la instalación, si viene en ingles pues next, next sin leer nada hasta exit (mis primos no son una excepción ehh)...

Expongo las capturas del downloader, si es el caso se añadirán más ejemplos.

Primer paso del instalador:


Pasando a modo personalizado para poder destildar los casilleros correspondientes de instalación de basura:


Aqui ya destildado ya podemos proceder a instalar el programa de forma segura:


Cada cierto tiempo cambian el esponsor, supongo el que de más dinero es el que sale en sus instaladores.
Casi todos los instaladores de éste tipo y que sean de compañias medio/conocidas nos darán ésta opción de eliminar la instalación de barras de publicidad.

Saludos.
377  Seguridad Informática / Seguridad / Tutorial de análisis de sistemas con AVZ Antiviral Toolkit de Kaspersky en: 21 Julio 2012, 02:08 am

** Faltan algunas descripciones que en breve se añadirán y subirlo al ftp para descarga en pdf, mientras quien quiera probar puede analizar su equipo y subir un log al sub-foro de seguridad!!!


Guia de análisis de sistemas con AVZ Antiviral Toolkit de Kaspersky

AVZ es una herramienta de análisis avanzada que se va actualizando periódicamente desde la base de datos de Kaspersky. Se creó con el objetivo de analizar un equipo a fondo de la misma forma que lo suele hacer un antivirus, pero a su vez contiene una buena cantidad de opciones para extraer datos generando log´s para su posterior examen.
Desde Kaspersky utilizan AVZ para los usuarios que usan sus productos de seguridad y aun así están infectados. Desde la página oficial ofrecen un breve tutorial al respecto que puede serle útil a usuarios con soluciones de Kaspersky. Desde este link podemos ver la guia:

http://support.kaspersky.com/sp/faq/?qid=208279710

Con ésta herramienta podemos analizar nuestro sistema en busca de infecciones de todo tipo, tanto en sistema de archivos, registro y sectores de arranque en discos. También es capaz de realizar consultas y extraer mucha información del equipo a analizar que nos será de utilidad.
Como opciones podemos encontrar la detección de ganchos (modos: User y Kernel), típicos de los Rootkit (API hooking) y posterior bloqueo de éstos.

Otro elemento es el análisis extendido de la heurística, donde se pueden encontrar infecciones sin tener un firma catalogada que lo delate, ya sea por comportamiento, inyección, etc.
Contiene una opción para bloquear la ejecución de medios extraibles (AVZGuard).
Aunque es opcional es muy aconsejable instalar un driver específico para el análisis exhaustivo del equipo (AVZPM), una vez eliminadas las infecciones encontradas se desactiva y listo, ya que AVZ no instala nada en el equipo, es portable.

Citar
Advertencia:
Esta herramienta no es para jugar, puedes utilizar todas y cada una de las opciones de análisis, saca tus log´s de registro, pero intenta no hacer modificaciones ni eliminar nada a lo loco a no ser sepas lo que estas haciendo o un moderador/administrador del foro te lo indique.

Descargar AVZ:

Link: http://z-oleg.com/avz4.zip
Plugins (descargar solo en caso necesario...):
AVZ_SE: http://z-oleg.com/avz_se.zip
AVZ4_The_Bat: http://z-oleg.com/avz4thebat.zip
Wiki.ru: http://ru.wikipedia.org/wiki/AVZ
Guia rápida: http://support.kaspersky.com/sp/faq/?qid=208279710


Actualizar AVZ (recomendado actualización automática):

Automático: Desde el menú principal: File --> Database Update (De esta forma no hace falta descargar el archivo “base”).
Manual: El contenido de la carpeta Base tiene que ser "substituido" en la carpeta principal del AVZ (donde lo descargaste). El archivo “base” son las actualizaciones                                                                          
Link: http://z-oleg.com/secur/avz_up/avzbase.zip (este archivo son las últimas actualizaciones)



Una vez actualizado iniciamos el programa desde "AVZ.exe".

Comenzaremos instalando un driver específico para la monitorización del sistema (no hay que descargar nada):



En el menu superior, ir hasta la pestaña AVZPM y activar el driver desde la primera casilla.
Yo en mi caso ya lo instalé, cuando ya se acabe de analizar y eliminar si hubiera algo, se desinstala el AVZ.
Recuerda desintalarlo, pues si luego analizas con otras tools (sobre todo anti-rootkit) te advertirán de este driver, aunque con omitir el aviso ya está.

Ventana principal:



- Menu principal;  
      
- File:  

   - Start/Pause/Stop scanning: Inicia, pausa o detiene el análisis del sistema.
-------------------------------------
   - System Analysis: Análisis independiente sobre áreas específicas del sistema de archivos con opciones para procesos y servicios. Guarda un log en formato html (htm).
   - System Restore: Opciones de restauración de las configuraciones originales de windows (cambio de extensiones en ficheros, configuraciones de I.Explorer, entrar en modo seguro, desbloquear administrador de tareas y registro, reemplazo de DNS,etc).
   - Backup: Opción de hacer un respaldo de ficheros de configuración esenciales para el buen funcionamiento de Windows (configuraciones SPI/LSP, asociación de archivos, configuración de I.Explorer, el Firewall, drivers y servicioos, protocolo TCP/IP). Estos respaldos se realizan en formato de archivo .reg y serán guardados en la carpeta ...avz4\Backup.
   - Disc Inspector:
   - Troubleshooting wizard:
-------------------------------------
   - Standard scripts: Scripts pre-establecidos. Dependiendo del script utilizado veremos que en la ventana del AVZ se nos darán los datos correspondientes que podremos salvar a un log y subirlo al foro, por ejemplo.
   - Custom scripts: Trabajar con un script creado, nos dará la opción de ejecutarlo y revisar la sintaxis del código.
-------------------------------------
   - Database Update: Actualizar la base de firmas automáticamente.
-------------------------------------
   - View souspicious objects list: Ver listado de archivos sospechos (se genera después de un análisis).
   - Save log: Guardar un log de registro de los datos proporcionados por AVZ
   - Clear log: Limipar el log de registro creado.
-------------------------------------
   - Infected Folder Viewer: Ver listado de carpetas infectadas.
   - Quarantine Folder Viewer: Ver carpeta de objetos sospechosos en cuarentena.
   - Copy files to Quarantine by inputting their list:
   - Automatic Qaurantining:
-------------------------------------
   - Delayed File Deleting: Opción para eliminar archivos.
-------------------------------------
   - Save configuration profile: Guarda un perfil creado en función de los parámetros modificados para el análisis.
   - Load configuration profile: Carga un perfil guardado previamente
-------------------------------------
   - Exit: Salir y cerrar AVZ.

- Service:  
   - Process Manager:
   - Services and Drivers Manager:
   - Kernel Space Modules Viewer:
   - Injected DLLs Manager:
-------------------------------------
   - Registry Search:
   - File Search:
   - Cookies Search:
-------------------------------------
   - Autoruns Manager:
   - IE Extensions Manager (BHOs, Toolbars):
   - Control Panel Applets (CPL) Manager:
   - Windows Explorer Extensions Manager:
   - Printing System Extensions Manager:
   - Task Schaeduler Jobs Manager:
   - Protocolos and Handlers Manager:
   - Downloaded Program Files Manager:
-------------------------------------
   - Winsock SPI (LSP,NSP,TSP) Manager:
   - Hosts File Manager:
   - Open TCP/UDP Ports Viewer:
   - Shared Resources and Network Sessions Manager:
-------------------------------------
   - System Utilities:
      - Regedit - Registry editor
      - MsConfig - System setup
      - SFC -  Check system files
-------------------------------------
   - Check file by Trusted Objects Database
   - Check file authenticity by Microsoft Security Catalogue
   - Compute MD5 hash of a file

-  AVZGuard:  
   - Enable AVZGuard:
   - Run application as trusted:
   - Disable AVZGuard:

- AVZPM:
   - Install extended monitoring driver:
   - Delete extended monitoring driver:
   - Delete and unload extended monitoring driver:

-  Help: Archivo de ayuda incluido en inglés.
 
  Identificación de unidades y carpetas a selecionar para el análisis.

- Search scope:
Identificación unidades de discos y carpetas a selecionar para el análisis.



- File types: Configuración del tipo de archivos a analizar (dejar por defecto).  

                                                                                 

- Search parameters: Aquí se configuran diferentes parámetros divididos en apartados:



* Análisis heurístico (Heuristic analysis): Selección del análisis heurístico pudiendo utilizar el análisis extendido.
* Módulo anti-rootkit (AntiRootkit):
* Verificación de modificaciones en SPI (Service Provider Interface):
* Search for keyloggers:
* Search for TCP/UDP ports used by Trojan horses:
* Fix system errors automatically

Activar:
* Fix SPI/LSP errors automatically (Winsock Service Provider)
* Search for TCP/UDP ports used by Trojan horses
* Fix system errors automatically (opcional)


- Automatic actions:

Enable malware removal mode: Al habilitar éste módulo, AVZ eliminará directamente las infecciones detectadas en función de la configuración elegida. Podemos elegir que elimine lo encontrado o nos pregunte que hacer.



Para cada tipo de malware encontrado durante el análisis tendremos tres opciones automáticas.
Viruses, AdvWare, Spy/Spyware y Dialer/PorWare lo dejaremos en “Remove” para que elimine los archivos infectados, pero para HackTool y RiskWare, pues bueno puede ir en función de si tienes algunos crack´s o keygen´s y éste los detectará y avisará al usuario de que el archivo “puede” tener un riesgo alto.
Que advierta no quiere decir que esté infectado, de ahí que por defecto venga como “Report Only”. Si no sueles usar éste tipo de archivos, es mejor modificar la opción y que elimine lo que encuentre.
 Opcionalmente tenemos dos opciones destildadas que podemos añadir si queremos que envie los archivos sospechosos a la cuarentena o enviar los archivos infectados a la carpeta por defecto “Infected”.

 * Log;

En la ventana del log´s podremos ir viendo conforme se analiza el equipo todos los datos que va encontrando, una vez terminado podemos utlizar los botones del panel derecho para:

   - Guardar un log en un lugar predeterminado.
   - Ver los objetos detectados en el análisis del equipo.
   - Limpiar el campo del log de los datos genarados.
   - Actualizar la base de datos (otra forma...).



Log de ejemplo solo con las cabeceras (Este log lo hice sin actualizar la base de datos para que se vea la advertencia, en tal caso actualizar y volver a escanear el PC):

Citar
Attention !!! Database was last updated 07/08/2011 it is necessary to update the database (via File - Database update)
AVZ Antiviral Toolkit log; AVZ version is 4.35
Scanning started at 22.08.2011 19:12:05
Database loaded: signatures - 293350, NN profile(s) - 2, malware removal microprograms - 56, signature database released 07.08.2011 20:12
Heuristic microprograms loaded: 388
PVS microprograms loaded: 9
Digital signatures of system files loaded: 290168
Heuristic analyzer mode: Medium heuristics mode
Malware removal mode: disabled
Windows version is: 5.1.2600, Service Pack 3 ; AVZ is run with administrator rights
System Restore: Disabled

Terminado de configurar clickamos sobre el boton y esperamos a que analice el sistema...
Donde más se puede demorar el tiempo de análisis es cuando configuremos al máximo nivel el análisis extendido de heurística. Una vez terminado guardamos el log.

Opcionalmente el administrador/m-oderador que lleve tu tema puede pedirte otros datos más concretos como procesos en ejecución, drivers instalados, contenido del archivo Hosts de Windows, etc.
De todas las opciones que se pidan se guradará un log desde el icono y se subirá el reporte al tema.
Aquí una guia de como sacar esa información desde la herramienta AVZ (desde el menu principal del AVZ):



*   Procesos en ejecución: Service --> Process Manager
*   Servicios y drivers: Service --> Services and drivers manager
*   Autorun: Service --> Autoruns Manager
*   Hosts: Service --> Hosts file Manager
*   Conexiones: Service --> Open TCP/UDP Ports Viewer


Si hacen falta añadir otras opciones de configuración se irá añadiendo a este tema, para no tener la información desperdigada.

Saludos.


EHN
378  Seguridad Informática / Seguridad / Como eliminar el troyano Flamer (32 y 64 bits) en: 20 Julio 2012, 21:26 pm
Herramienta de BitDefender para eliminar este nuevo malware, está disponible para sistemas de 32 y 64 bits.

x32: http://labs.bitdefender.com/wp-content/plugins/download-monitor/download.php?id=TrojanFlamer_BDRemovalToolDropper_x86.exe

x64: http://labs.bitdefender.com/wp-content/plugins/download-monitor/download.php?id=TrojanFlamer_BDRemovalToolDropper_x64.exe


Link: http://labs.bitdefender.com/2012/05/cyber-espionage-reaches-new-levels-with-flamer/

Cualquier tema relacionado con una infección con éste malware abrir un nuevo tema.

Saludos.
379  Seguridad Informática / Seguridad / Tutorial de análisis del PC con SysInspector de ESET en: 18 Julio 2012, 19:15 pm
Breve tutorial de análisis con la herramienta SysInspector de Eset.

Link: http://www.eset-la.com/support/sysinspector.php

Versión en Español;   
ESET SysInspector 32-bit:    http://download.eset.com/download/sysinspector/32/ESN/SysInspector.exe
ESET SysInspector 64-bit:    http://download.eset.com/download/sysinspector/64/ESN/SysInspector.exe
   
Versión en Ingles;    
ESET SysInspector 32-bit:    http://download.eset.com/download/sysinspector/32/ENU/SysInspector.exe
ESET SysInspector 64-bit:    http://download.eset.com/download/sysinspector/64/ENU/SysInspector.exe



ESET SysInspector es un software gratuito desarrollado por ESET que permite recolectar información crítica relacionada a determinadas
actividades que se realizan en un sistema operativo. Extrae todos los datos posibles, para poder tener un mayor control de que aplicaciones
están ejecutándose, el uso de librerías, quien las utiliza, conexiones de red y alguna cosilla más que iremos viendo sobre la marcha.

“ESET SysInspector está concebido como herramienta de análisis y no como herramienta
de desinfección o reparación de los daños ocasionados por códigos maliciosos u otras aplicaciones”

No necesita privilegios de Administrador para ser ejecutado, pero la cantidad y
detallle de información que suministre dependerá de los permisos que posea el usuario que lo ejecute.

Ejecutando ESET SysInspector : hay que aceptar el acuerdo de licencia…



• Interfaz principal:



El metodo de filtrado utilizado consiste en mostrar los procesos/datos asignando un color según su peligrosidad:

Verde: Aplicación conocida (fiable)
Naranja: Aplicación dudosa o con modificaciones en el archivo original (no por ello un virus)
Rojo: Vendría a ser un proceso no reconocido o peligroso (no por ello un virus).

En la ventana de la izquierda nos mostrará toda la información obtenida del sistema. Haremos un click sobre la descripción que queramos visualizar y en la ventana de la derecha podrás ver todo lo relacionado a ese proceso/archivo.
Arriba a la derecha tenemos un menú para administrar los log´s, filtrado por elementos, comparativas…



Para cualquier duda puedes consultar el archivo de “ayuda” incluido, accediendo al Menu/Ayuda (superior/derecha) o pulsando F1.

• Procesos en ejecución :



Todos los procesos que actualmente se ejecutan en tu Pc estarán aquí (algunos Rootkit pueden no aparecer…). Haremos un click sobre un proceso aleatorio o sospechoso y en la ventana de la derecha, abajo nos mostrará información sobre quien utiliza la aplicación, su PID (identificador de proceso), modo de ejecución (administrador, usuario…).
Haciendo doble click sobre el proceso, nos mostrará las dependencias del archivo (archivos de librerías utilizados y otros relacionados con él).
Es “muy importante” fijarse en los archivos que crean conexiones externas, como son: svchost.exe, lsaas.exe, al clickar sobre ellos, en la ventana de información nos mostrará las IP´s que utiliza en las conexiones y el estado (listen, established, etc). Estas IP´s tendrán que ser las normales de tu red (ejemplo: 127.0.01; 0.0.0.0).
Si utilizas maquinas virtuales se asignara una diferente (ejemplo: 10.02.0.14)
Sobre svchost.exe, hay que mencionar que puedes tener múltiples instancias en ejecución, pues cada uno sirve para una tarea diferente (actualizaciones, red…), pero nunca con diferente nombre, es decir "svcchost.exe", "svhost.exe" pues esto te indicaría la presencia de un “troyano” o similar.

• Conexiones de red :




En éste apartado podremos observar que programas crean una conexión, divididas por el protocolo utilizado (TCP/UDP). Dependiendo de los programas utilizados mostrará más o menos conexiones, pero para una pc normal de casa, sólo tendrían que haber las conexiones utilizadas por el sistema operativo ( System, lsaas.exe, svchost.exe y alg.exe), suponiendo que el navegador y todo programa que se conecte a internet estén cerrados. Las IP´s contenidas en ésta categoría tendrían que ser las normales utilizadas en tu red, ( 0.0.0.0 , 127.0.0.1 ,192.168.x.x), ésta última puede variar en función de tu proveedor de internet (ISP).
Un dato importante sería el asociar cualquier proceso que corre en la máquina con su identificador (PID).
Para entenderlo mejor haremos lo siguiente : ve a <Inicio> y clicka en <Ejecutar>, en ésa ventana escribe cmd y pulsamos <Intro> para acceder a la consola de comandos.
Usaremos el comando netstat. Para dudas escribir “netstat ?”. Escribiremos “netstat –aon” (un espacio entre netstat y -aon) y pulsamos <Intro> para poder ver las conexiones activas. Nos encontramos ante cinco descripciones donde se nos muestra el protocolo que utiliza en la conexión, direcciones IP remota y local, el estado y el PID. Si tienes algún P2P conectado, mejor ciérralo pues te vas a volver loco con tanta conexión. Siempre tendrás alguna conexión en estado “Listening” (Escuchando), que son normalmente <svchost> y <lsaas> en los diferentes puertos utilizados (135; 443; 139;1025) . También mostrará las conexiones establecidas (Established) que son las que nos interesan, como son el navegador, el ftp y todo lo que se conecte a Internet:



Si algún proceso mostrado en Eset-SysInspector te resulta sospechoso, no tienes más que poner el nombre del proceso en “Google” (ejemplo: svchost.exe) y buscar información sobre el proceso. Hay páginas Web dedicadas a esto. Cuando Google te muestre los links referentes al proceso, busca que pertenezcan a los siguientes enlaces pues son bastante fiables:

http://www.alegsa.com.ar/index.php
http://www.processlibrary.com/es/
http://www.file.net/

• Entradas de registro importantes:



En este apartado se extraen algunas entradas del registro, sobre todo las relacionadas con:
- Programas de arranque junto al S.O
- Configuraciones del navegador
- Listado de drivers con asociación de archivo
- Algunas configuraciones del antivirus instalado
- Configuraciones de la red.

• Servicios:



Conexiones con dispositivos, instancias internas del S.O, etc.
Muestra la descripción del proceso, ruta en disco, modo de inicio, estado del dispositivo, descripción del servicio y nombre de la compañía/empresa.
Los servicios normales utilizados por el S.O y aquellas aplicaciones conocidas estarán marcadas en verde.
Hay que tener en cuenta que ciertos drivers/servicios pueden aparecer de color naranja o incluso rojo y no por ello quiere decir que el sistema esté infectado. En estos casos nos veremos obligados a buscar en google información sobre el nombre del proceso, carpeta de instalación y sobre todo si se trata de un servicio esencial del S.O, en este caso no se debería desactivar.
Para gestionar los servicios en Windows, haremos uso del comando “services.msc” en Inicio --> Ejecutar



Para desactivar algún servicio haremos click sobre el proceso y si da la opción desde el menú contextual, procederemos a “desactivar” el servicio. Se puede dar el caso de que no muestre la opción, entonces clickamos sobre “Propiedades” en ese mismo menú contextual, y ahora podremos elegir la opción de detener o incluso eliminarlo.
Es muy importante que verifiques que el servicio no lo ejecute ninguna aplicación de Windows o otros programas, es preferible informarse bien y luego realizar la acción.

• Controladores:



Aquí podremos ver todos los drivers/controladores de los dispositivos, ya estén en “ejecución” o “detenidos”.

• Archivos críticos:




En esta sección podremos ver tres apartados: <win.ini>, <system.ini> y el archivo de <hosts>. Los analizaremos por separado pues éstos son muy importantes para el buen funcionamiento del sistema. La carga de controladores, etc, que hacen los archivos <win.ini> y <System.ini> los podremos ver en la “Utilidad de configuración del sistema”. Para esto haremos click en “Inicio”, clickamos en “Ejecutar”, en la ventana nueva escribiremos msconfig y aceptamos. Ahora veremos una ventana como ésta :



<win.ini> : Este archivo es leído por Windows al iniciar el sistema. Contiene datos acerca del hardware instalado y el entorno actual utilizado (escritorio, etc). En el log de SysInspector tendrían que estar todas las entradas marcadas en verde, pues Eset las reconoce como verdaderas. Cualquier entrada en color rojo tendría que ser revisada y/o corregida.
<system.ini> : Este archivo también se carga al iniciar Windows y está directamente relacionado con <msconfig>. La tarea principal es la de mostrarle a Windows los archivos de los controladores instalados (drivers). En el log de Eset también tendrían que estar en verde todas las entradas.
<hosts> : Dependiendo del tipo de infección (en caso hipotético) este archivo será modificado para redireccionar y/o modificar todas las peticiones de tu navegador. En el log de Eset solo tendría que aparecer una línea con la dirección de tu red (normalmente 127.0.0.1) y marcada en verde. (dependerá también del tipo de red o redes configuradas, esto como administrador tendrás que averiguarlo por tu cuenta).



Dejo un ejemplo de un análisis en la computadora infectada de un amigo:



Esta es de una infección posterior:



Como podemos ver, aparte de la línea marcada en verde “127.0.0.1 localhost”, hay otras entradas que no son validas que son las marcadas en rojo. Ahora para comprobarlo manualmente abriremos el archivo de hosts en la siguiente ubicación: C:\WINDOWS\System32\drivers\etc, para abrirlo haz doble click y elige abrir con el bloc de notas. Veras un archivo de texto como éste:



• System Scheduler Tasks:



En esta sección se enumerarían las tareas programadas en el S.O. Si no tienes ninguna tarea cotidiana, aparecerá en blanco…

• Información del sistema:



• Detalles del archivo:



• Ejemplos:

Esto es un ejemplo de un análisis con entradas marcadas en color rojo (supuestamente sospechosas), pero no es por ninguna infección, al no estar reconocido en las bases de datos de Eset este es un servicio de dudosa procedencia y de ahí que lo filtre como peligroso.
En esta captura podemos observar varios procesos en ejecucuión que SysInspector toma como sospechosos.
Ahora tocaría buscar info sobre esos procesos para ver que aplicación se encarga de ejecutarlas. Estos procesos son de un SAI (Sistema de Alimentación Ininterrumpida). En el casillero de abajo/derecha podrás ver cierta información interesante sobre cada proceso, dependencias…





Creo no haber olvidado nada, en cualquier caso se ampliaría o modificaría

Reconocimiento - NoComercial (by-nc): Se permite la generación de obras derivadas siempre que no se haga un usocomercial. Tampoco se puede utilizar la obra original con finalidades comerciales.

Con la colaboración de Skapunky.
Un saludo.
380  Programación / Programación C/C++ / Sobre los "Heap" en Windows en: 18 Julio 2012, 18:54 pm
Hola a todos estuve buscando información sobre los heap de Windows, me resultó curioso y encontré un texto bastante explicativo al respecto, también se incluyen referéncias hacia la msdn y wiki por alguna duda en concreto. Se incluye un programa para ver los heap de cada proceso, en sí la herramienta no tiene mucho misterio.


* Referencias:

+ http://msdn.microsoft.com/en-us/library/aa366711%28v=vs.85%29.aspx

+ http://msdn.microsoft.com/en-us/library/aa366750%28v=vs.85%29.aspx

+ http://en.wikipedia.org/wiki/Dynamic_memory_allocation

Introduccion al heap de Windows:

En Windows Vista el tipo de heap que las aplicaciones usan por defecto es el llamado low-fragmentation heap. Esta situacion es diferente a la que
nos podemos encontrar en otras versiones de Windows. Pero, ¿Que es esto del low-fragmentation heap?¿Que beneficios aporta?

En este post voy a intentar despejar estas incognitas al mismo tiempo que doy una vision global de como funciona el Heap de Windows.
En Windows el heap tiene dos niveles bien diferenciados. El primero de ellos se llama el back end Allocator, mientras que el segundo nivel se deno
mina front end Allocator.

El back end Allocator proporciona una implementacion sencilla y flexible. Estableciendo un paralelismo con el campo de la algoritmica podriamos decir que el back end allocator es una especie de “Uninformed allocator” en el sentido de que no trata de dar ventaja a unas situaciones respecto a otras. El back end allocator organiza la memoria que gestiona en diferentes segmentos que reserva a traves de las funciones del sistema operativo destinadas al tratamiento de la memoria virtual (vg. ZwAllocateVirtualMemory). Estos segmentos contienen las diferentes reservas de memoria que los usuarios requieren. El heap tiene una granularidad (normalmente de ocho bytes, lo que quiere decir que toda reserva de memoria en el heap sera necesariamente de tamaño multiplo de ocho) que asegura el alineamiento y simplifica la gestion. Para cada bloque existe una cabecera con diversa informacion.

La cabecera indica el tamaño del bloque y el tamaño del bloque anterior. De esta forma los bloques contiguos estan enlazados entre si. La cabecera tambien indica si un bloque de memoria esta en uso o libre. Con esta informacion el back end allocator es capaz de unir los bloques libres contiguos para formar bloques mas grandes y para de esta forma combatir la fragmentacion.  El back end allocator gestiona otras dos estructuras de importancia. Un array de listas doblemente enlazadas que agrupan bloques libres de igual tamaño y un bitmap que indica si para una entrada del array anterior la lista doblemente enlazada contiene o no bloques disponibles. Con estas dos estructuras el back end allocator es capaz de mantener el heap sin una fragmentacion excesiva, puesto que es capaz de elegir el mejor bloque de los libres disponibles para satisfacer la demanda de un usuario.

Hay peticiones de memoria que por ser demasiado grandes no son gestionadas por este sistema de listas. En estos casos la peticion de memoria se satisface directamente a traves de las funciones de gestion de memoria virtual del sistema operativo. Ademas de los aspectos basicos sobre la algoritmia del back end allocator que he descrito antes, este allocator permite diferentes modos de funcionamiento dependiendo de los flags usados en la creacion del heap y en el momento de una reserva concreta por parte del usuario. Por ejemplo, el heap puede ser inicializado con sincronia interna o sin sincronia en caso de que el usuario gestione la sincronia por su cuenta. El heap tambien puede crecer segun sus necesidades o tener un tamaño fijo. Puede tener activadas diferentes opciones de depuracion. O puede tener asignada una direccion fija asignada por el usuario. Este ultimo caso de uso muy poco comun pero muy util para mapear heaps sobre ficheros mapeados en memoria, pudiendo compartir el heap entre varios procesos.
Esta es la tecnica usada por muchos componentes de Windows para el paso de mensajes de gran tamaño. El ejemplo mas clasico es la comunicacion que se establece entre el CSRSS y los procesos del subsistema. Otras de las funcionalidades no demasiado conocidas que proporciona algunas implementaciones del heap de windows es la posibilidad de cifrar las cabeceras de los heaps mediante un XOR con un numero aleatorio obtenido en el momento de creacion del propio heap.

El front end Allocator es una capa por encima del back end allocator que pretende proporcionar algoritmos que se adapten a las necesidades especificas de diferentes aplicaciones. Windows proporciona dos front end allocators diferentes. El primero de ellos se denomina Look Aside List allocator y el segundo se denominar Low Fragmentation allocator. Tambien se puede dedicir no usar ninguno de los dos Frond End Allocators disponibles. La mayor parte de las versiones de Windows usan el Look Aside List Allocator como Front end allocator por defecto, pero Windows vista usa el Low Fragmentation heap como Front end Allocator, y parece que las sucesivas versiones de sistemas operativos NT seguiran esta misma linea. De los dos front end allocators disponibles, el Look Aside list allocator es el mas sencillo. El Look Aside list allocator cuenta con un array de listas enlazadas que son thread-safe. Estas listas se basan en una estructura de datos de caracter general conocida como “sequenced singly linked list”. Cuando un usuario lleva a cabo la peticion de un nuevo bloque, el look aside list allocator trata de satisfacer la peticion usando estas listas. Si la peticion no se puede satisfacer entonces se intenta satisfar a traves del back end allocator. Cuando el usuario libera un bloque de memoria, el look aside list allocator guarda el bloque para poder atender posteriormente nuevas peticiones. Si el front end allocator no puede gestionar el bloque en sus listas, entonces pide al back end allocator su liberacion. Este allocator proporciona algunas ventajas respecto al uso del back end allocator, pero tambien plantea algunos problemas. La principal de las ventajas es que para satisfacer una peticion de reserva a traves del Look Aside List allocator no es necesario bloquear el heap, puesto que las listas que usa son seguras. Esto nos proporciona un mayor rendimiento en entornos multithread, puesto que el back end allocator serializaria las peticiones de los usuarios. La principal desventaja es que los bloques gestionados por el look aside list allocator no son liberados y permanencen en uso desde el punto de vista del back end allocator. En esta situacion los bloques libres contiguos no pueden ser unidos. Por tanto, el look aside list allocator proporciona un rendimiento mayor pero tambien provoca una mayor fragmentacion del heap.


El low fragmentation heap allocator pone sobre el tapete un algoritmo relativamente complejo que pretende aunar las ventajas tanto del Look Aside List allocator como del algoritmo expuesto por el back end allocator. Una de las primeras cosas que diferencia este allocator es la granularidad variable. Si en el back end allocator ( y por ende en el Look Aside allcoator) la granularidad del heap es normalmente de ocho bytes, y es asi independientemente de los tamaños de las reservas de los usuarios, el low fragmentation allocator tiene una granularidad variable, que aumenta gradualmente al aumentar los tamaños de las peticiones. Esto le permite gestionar mejor los bloques de memoria, haciendo a veces pequeños gastos extra de memoria, pero evitando la fragmentacion y acelerando el proceso de reserva. Este allocator gestiona las reservas de memoria de diferentes tamaños de forma indpendiente. De esta forma solo tiene que sincronizar el acceso para alojos del mismo tamaño. Pero esto tambien le obliga a implementar objetos mas complejos para satisfacer las peticiones de un mismo tamaño. Si alguno de los que han comenzado a leer esto ha llegado hasta aqui y ademas ha programado drivers para
versiones antiguas de Windows, seguramente recuerde las estructuras del kernel conocidas como zonas. Una zona es, simplificando mucho, un heap en el que las reservas son de un tamaño fijo establecido en el momento de creacion de la zona. Bien, basicamente el low fragmentation heap redondea el tamaño de la peticion de reserva conforme a la granularidad que le toca y seguidamente lleva a cabo la reserva en una zona. Al definir zonas de memoria especificas para los diferentes tamaños de reserva intenta minimizar la fragmentacion aunque aumenta la cantida de memoria que necesita para las esturcturas de control. La granularidad variable permite minimizar el numero de tamaños de reserva minimizando asi el numero de zonas que es necesario gestionar. El ultimo punto clave que diferencia el low fragmentation heap es la gestion de la sincronia. El Look Aside List allocator basa su sincronia en las listas enlazadas que hemos comentado, que son una estructura de datos de uso general. El back end allocator basa su sincronia en un objeto de
sincronia estandar, una sección critica. En cambio, el low fragmentation heap implementa internamente su propia sincronia , no apoyandose en objetos proporcionados por el sistema operativo o en estructuras de datos genericas. Uno de los objetivos de esta implementacion es el poder saber si el hilo que lleva a cabo la reserva esta viendose obligado a esperar por otro hilo que esta llevando a cabo otra rerseva del mismo tamaño. Cuando un hilo se ve obligado a esperar por primera vez, entonces el low fragmentation heap generara una zona auxiliar para uso exclusivo de este hilo, evitando que en el futuro se vuelva a tener que esperar. Al disponer de una granularidad variable las posibilidades de colision aumentan pero disminuyen la cantidad de estructuras que potencialmente se podrian llegar a duplicar.

Uniendo todos los aspectos expuestos sobre el low fragmentation allocator, podemos ver que pretende minimizar la perdida de rendimiento debido a la serializacion en entornos multithread, y lo hace detectando las situaciones de colision y solucionandolas mediante estructuras auxilieras. Al mismo tiempo intenta minimizar la fragmentacion mediante el uso de zonas. El low fragmentation heap plantea cosas interesantes pero es dificil saber a priori cual es el front end allocator adecuado para una aplicacion dada. En la practica los desarrolladores deberan probar los diferentes allocators para sus aplicaciones con el fin de averiguar cual es el que le proporciona mejores resultados. Una de las ventajas que he visto empiricamente es que este allocator suele comportarse mejor con aplicaciones cuyo uso de memoria es bastante determinista. Cuano el uso de memoria es herratico, entonces no parece haber una diferencia apreciable entre ninguno de los dos front end heaps. El low fragmentation heap hace mas visibles los bugs, pero tambien mas dificiles de analizar debido a que su funcionamiento es menos determinista.

Por otro lado actualmente no existen (o al menos yo no las conozco) pruebas de concepto que exploten overlows u otro tipo de erroresen low fragmentation heaps. Claro que esta situacion se me antoja efimera, puesto que no he visto mayor problema en hacerlo. Y aqui pongo el punto y final a esta pequeña introduccion al heap de windows. He intentando centrarme ligeramente en el punto de vista del programador

Autor del texto: 48 bits

Para poder leer los Heap cargados en la memoria, podemos hacer uso de esta tool:



Peso: 1,54 MB
S.O: XP/Vista/7
Link: http://securityxploded.com/ProcHeapViewer.php
Descarga directa: http://securityxploded.com/getfile_plus.php?id=7211
Dentro de la carpeta encontrarás la versión para instalar y la versión portable.
Mas info: http://securityxploded.com/ProcHeapViewer.php (en Ingles)

Páginas: 1 ... 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines