¿Cómo se puede detectar lo que afecta el comportamiento de un programa inofensivo y convertirlo en un arma?

Estoy un poco confundido por el uso del término “armas” en la pregunta. Por lo general, eso significa que querrás usar lo que encuentres para refinarlo y producir un vehículo de ataque a partir de él.

Supongo, en contexto con la explicación de la pregunta, que realmente desea saber qué está haciendo, el impacto en el sistema y potencialmente otros sistemas en la red, evaluar el daño y neutralizar el problema.

Nuevamente, el contexto lo es todo, por lo que algunas de estas recomendaciones pueden ser apropiadas en su situación.

Siendo ese el caso, generalmente comenzaría por comprender lo siguiente:

  1. En general, desea pasar de la recopilación de información más volátil a la menos volátil cuando se trata de la respuesta a incidentes. Además, le recomiendo que siempre tenga en la cabeza que esto puede convertirse en litigio civil o acción penal. Esto significa que debe documentar la metodología y tener una comprensión muy firme de lo que está haciendo para no dañar el valor probatorio potencial.
  2. Capture un volcado de RAM. RAM es la parte más volátil de cualquier investigación del sistema. Antes de que juegues con un sistema infectado, querrás tomar lo que está activo en la memoria. FTK Imager Lite de AccessData se ejecuta desde una memoria USB y hará una imagen de RAM:

    http://accessdata.com/support/ad…

  3. ¿Hay puertos abiertos en el sistema que no se tienen en cuenta? En otras palabras, ¿hay procesos vinculados a puertos abiertos que no son parte del funcionamiento normal del sistema? No mencionas con qué sabor de Windows estás trabajando, pero como ejemplo, Foundstone tiene una herramienta llamada “FPort” que te ayudará en Win2K, NT y XP:

    http://www.mcafee.com/us/downloa…

  4. ¿Hay procesos que se ejecutan en el sistema que no son parte del funcionamiento normal del sistema? La herramienta Sysinternals es un gran comienzo para eso. También me gustaría ver el uso de la herramienta “Autoruns” que se encuentra aquí:

    http://technet.microsoft.com/en-…

  5. ¿Cuáles son los puntos finales involucrados con el acceso al puerto 81? ¿Cambian esos puntos finales? Nuevamente, hay una aplicación Sysinternals para eso:

    http://technet.microsoft.com/en-…

  6. Eche un vistazo a los comportamientos, procesos y tráfico conocidos que utilizan el puerto 81. Un recurso excelente para eso es el Centro de tormentas de Internet SANS. Puede ver información sobre el seguimiento reciente de la actividad en el puerto 81 aquí:

    http://isc.sans.edu/port.html?po…

  7. Tome capturas de paquetes del tráfico que sale del sistema afectado para su análisis. Por lo general, configuraría un analizador de protocolos (si se siente cómodo con Linux, puede usar TCPDump de manera muy efectiva para hacer esto) en un puerto span o espejo para recopilar pasivamente la información que sale del sistema. Si usa TCPDump, puede capturar en modo binario para usar en una variedad de programas para su posterior reproducción y análisis. Por lo general, haría esto y lo “mostraría” en la pantalla para captura binaria simultánea y visualización en tiempo real. Esto también lo ayudará a determinar qué protocolo se está enviando realmente al puerto 81: ¿Es HTTP en un puerto no estándar? ¿Control de bots de IRC? etc.

    Mucha gente no sabe que si se envían archivos binarios que se capturan a través de TCPDump, puede reproducir la captura binaria a través de una utilidad de tallado de archivos y tomar los archivos binarios para su análisis. Este es un enlace a la página TCPDump para comenzar:

    http://www.tcpdump.org/tcpdump_m…

  8. Una vez que haya recopilado la información de ejecución volátil del sistema, realice una imagen forense del sistema. Nuevamente, puede usar la herramienta AccessData para eso.
  9. Realice análisis estáticos y en vivo de los binarios afectados. Simplemente ejecutar “cadenas” en una pieza de malware puede darle una gran ventaja sobre lo que está haciendo el malware, cuál es su propósito y qué otros archivos cuentagotas y archivos modificados pueden existir. Si recuerdo correctamente, ProcExp tiene la capacidad de ejecutar un comando de “cadenas” en cualquiera de los procesos que ve.
  10. ¡Google es tu amigo! Una vez que haya recopilado suficiente información de lo anterior, úselo para buscar cadenas comunes, puntos finales, etc. para determinar con qué está tratando. A menos que se trate de un ataque dirigido solo a usted (a juzgar por los datos de tráfico SANS para el puerto 81, tal vez no), entonces puede encontrar a otros que se han ocupado de esto y obtener más información sobre exactamente qué es “eso”.

Algunas palabras de precaución. Usted menciona que no existe un conjunto de habilidades interno para analizar la información del proceso. Recuerde que si esto lleva a cualquier tipo de litigio, deberá tener en cuenta todas las acciones y la posible destrucción de evidencia. Si el incumplimiento potencial lo justifica, puede considerar usar un tercero que se especialice en esto y sepa lo que está haciendo. Este no es un complemento descarado, solo una palabra de precaución del que generalmente tiene que venir después y decirle a la gente que inadvertidamente desgarraron la evidencia.

Finalmente, generalmente recomiendo una reconstrucción completa de metal desnudo si es posible. De aquí en adelante, hasta que se realice una reconstrucción, este sistema es un sistema no confiable.