2019-2020-2 20175304 Liu Chaoyin "Tecnología de contramedidas de red" Exp4 Análisis de código malicioso

1 conocimiento básico

1.1 Concepto y clasificación de código malicioso

  • Definición:
    • También conocido como malware, se refiere al software que se ejecuta en las computadoras de los usuarios u otros terminales sin avisar claramente al usuario o sin su permiso, lo que infringe sus derechos legales.
    • Se refiere al código de computadora que se compila o configura intencionalmente, y representará una amenaza o amenaza potencial para la red o el sistema.
  • Caracteristicas:
    • Propósito malicioso
    • Programa de computadora
    • Efecto por ejecución
  • Categoría:
    • Virus informático
    • Gusano
    • Puerta trasera
    • Caballo de Troya
    • Rootkit
    • ... etc.

1.2 Método de análisis de código malicioso

  • Análisis estático
  • Análisis dinámico

1.3 Objetivos de práctica

  • Supervise el estado operativo del sistema para ver si se están ejecutando programas sospechosos.
  • Para analizar un malware, analice el software de puerta trasera generado en Exp2 o Exp3; la herramienta de análisis utiliza instrucciones nativas o sysinternals, systracer suite tanto como sea posible .
  • Suponiendo que siente que su anfitrión tiene un problema en el trabajo futuro, puede usar esta idea en el experimento, primero monitorear todo el sistema para ver si se pueden encontrar objetos sospechosos y luego analizar más a fondo los objetos sospechosos para confirmar su comportamiento y naturaleza específicos.

2 Practica contenido y pasos

2.1 Monitoreo de operación del sistema

2.1.1 tareas programadas de Windows schtasks

Requisitos: Use, como tareas programadas, para registrar cada minuto qué programas hay en su computadora y dónde está la IP externa conectada. Ejecútelo por un tiempo y analice el archivo para resumir los resultados del análisis. El objetivo es averiguar todos los programas conectados a la red, dónde están conectados y qué han hecho (solo puede adivinar si no captura paquetes). ¿Cree que es apropiado hacerlo? Si desea seguir analizando, puede capturar paquetes dirigidos.

Paso 1: Ingrese el siguiente comando y registre qué programas están conectados a la red cada cinco minutos. Una vez completado este comando, cada cinco minutos supervisará qué programas están utilizando la red y registrará los resultados en el archivo netstatlog.txt.

schtasks /create /TN 20175304netstat /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstatlog.txt"

Los siguientes son los significados de algunos parámetros:

  • TN: Nombre de la tarea, en este caso 20175304netstat
  • SC: SChedule type, MINUTE en este ejemplo, tiempo en minutos
  • MO: MOdifier
  • TR: Task Run, el comando a ejecutar es netstat -bn, b significa mostrar el nombre del archivo ejecutable, n significa mostrar la IP y el puerto con números
  • >: Envíe el resultado al archivo netstatlog.txt en la unidad c

Paso 2: Debido a que no se puede mostrar la fecha y hora registradas, es posible que no nos convenga juzgarlo. Si queremos mostrar la fecha y la hora, podemos usar el archivo bat batch para lograrlo.

①Cree un archivo c: \ netstatlog.bat bajo la unidad C, el contenido es:

date /t >> c:\netstatlog.txt
time /t >> c:\netstatlog.txt
netstat -bn >> c:\netstatlog.txt

② Abra el panel de control-> herramientas de gestión-> programador de tareas, encuentre nuestra tarea20175304netstat

③Seleccione la tarea, busque la operación, haga clic en la opción de atributo en todos los elementos

④ encontrar la ficha Acciones, haga doble clic en detalles, la caja original cmdel cambio c:\netstatlog.bat.

⑤ Abra el c:\netstatlog.txtarchivo en este momento , puede ver la información del tiempo.

Paso 3: Importar los datos para sobresalir

① Abra Excel, haga clic en la 数据pestaña 自文本, seleccione la forma de obtener datos externos , seleccione el estado de conexión de registronetstatlog.txt

② Seleccione el separador

③ Todos los separadores están seleccionados

FormatEl formato de datos de la columna es aceptable de forma predeterminada y luego haga clic en Finalizar, los datos se importan correctamente.

⑤ Busque la 插入pestaña y haga clic 数据透视图para generar un gráfico dinámico.

Paso 4: analizar datos estadísticos

  • Software de aplicación común (los cinco primeros):
    • [vmware.exe]: máquina virtual vmware
    • [QQ.exe] : QQ
    • [SearchUI.exe]: pequeño 娜
    • [QQPCTray.exe]: ama de llaves de la computadora Tencent
    • [Wechat.exe]: WeChat
  • Los procesos confiables restantes:
    • [TsService.exe]: elemento de servicio en segundo plano del navegador Tencent
    • [DownloadSDKServer.exe]: un proceso clave en el software de descarga Thunder
    • [DingTalk.exe]: DingTalk
    • [SGTool.exe]: programa de inicio acelerado del método de entrada Sogou
    • [360wpsrv.exe]: archivo ejecutable de fondo de pantalla 360
    • [AlibabaProtect.exe]: Módulo Alibaba Anti-Spy
    • [EXCEL.EXE]: el programa principal de Microsoft Excel
    • [ncat.exe]: herramienta de transferencia de archivos
    • [QQPCRtp.exe]: proceso de Tencent Computer Housekeeper, el proceso es proporcionar servicios de protección en tiempo real para QQ Computer Housekeeper
  • Proceso sospechoso:
    • [svchost.exe]: archivos del sistema en el sistema operativo Microsoft Windows

2.1.2 sysmon

  • Requisito: instale y configure la herramienta sysmon en sysinternals, establezca un archivo de configuración razonable y monitoree el comportamiento sospechoso de las cosas principales de su host. El análisis del registro real también debe ejercer su propia creatividad , combinado con el conocimiento previamente aprendido, como las instrucciones de procesamiento de texto de Linux. La dificultad del análisis radica en analizar la ley a partir de una gran cantidad de datos y descubrir los problemas. Todo esto depende del procesamiento posterior del filtrado de resultados, estadísticas, clasificación, etc., que depende de lo que usará.
  • Referencia: guía de aplicación de schtask y sysmon

Paso 1: En el sitio web oficial para descargar la herramienta sysmon

Paso 2: Cree un archivo de configuración sysmon.xml, escriba las siguientes instrucciones en el archivo:

<Sysmon schemaversion="4.12">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">chrome.exe</Image>
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>

    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

Paso 3: Abra la línea de comando como administrador e Sysmon.exe -i sysmon.xmlinstale sysmon siguiendo las instrucciones . Después de ingresar el comando, aparecerá un cuadro emergente, haga clic Agreepara instalar.

La instalación se realizó correctamente y el número de versión es 4.23.

Paso 4: modifique el archivo de configuración

  • El número de versión actualizado es 4.23
  • Agregar servicio de monitoreo a los puertos 5304, 443, 80
<Sysmon schemaversion="4.23">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">iexplorer.exe</Image>
      <SourcePort condition="is">137</SourcePort>
      <SourceIp condition="is">127.0.0.1</SourceIp>
    </NetworkConnect>

    <NetworkConnect onmatch="include"> 
      <DestinationPort condition="is">5304</DestinationPort>     
      <DestinationPort condition="is">80</DestinationPort>      
      <DestinationPort condition="is">443</DestinationPort>    
    </NetworkConnect>

    <CreateRemoteThread onmatch="include">
      <TargetImage condition="end with">explorer.exe</TargetImage>
      <TargetImage condition="end with">svchost.exe</TargetImage>
      <TargetImage condition="end with">winlogon.exe</TargetImage>
      <SourceImage condition="end with">powershell.exe</SourceImage>
    </CreateRemoteThread>
  </EventFiltering>
</Sysmon>

Paso 5: El archivo de configuración debe actualizarse después de la modificación, la instrucción es:sysmon.exe -c sysmon.xml

Paso 6: Ver el registro.

① Ingrese en el cuadro de búsqueda del menú de inicio para eventabrir el visor de eventos.

② en 应用程序和服务日志la siguiente vista Microsoft->Windows->Sysmon->Operational.

③ Ejecute el archivo de puerta trasera generado en el Experimento 2 y obtenga la línea de comando de Windows en la máquina virtual kali.

④ En este momento, puede ver el registro del archivo de puerta trasera.

  • Registro de creación de procesos:

La siguiente información se puede obtener de la figura:

  • Imagen: G: \ ncat \ 20175304_backdoor.exe

  • Descripción: utilidad de línea de comandos ApacheBench

  • Producto: servidor HTTP Apache

  • Registros de conexión de red generados después de volver a conectar:

Se puede obtener la siguiente información:

  • Programa: G: \ ncat \ 20175304_backdoor.exe

  • Protocolo: TCP

  • Dirección IP de origen: 192.168.0.107 (IP de Windows)

  • Dirección IP de destino: 127.0.0.1. (IP de Kali)

  • Puerto de destino: 5304

2.2 Análisis de malware

Requisitos: analice el software al ①iniciar la conexión, ② instalar en la máquina de destino, ③otras operaciones arbitrarias (como la migración del proceso o la captura de pantalla, lo importante es que esté interesado) El software de puerta trasera

(1) Qué entradas de registro se leen, agregan y eliminan

(2) Qué archivos se han leído, agregado y eliminado

(3) Qué IP externas están conectadas y qué datos se transmiten (análisis de captura)

Este experimento se centra en el " análisis ", no en "cómo usar un determinado software". El líder del equipo y la persona a cargo del proyecto requieren un poco más de detalle, y otros pueden enfocarse en el análisis.

2.2.1 Análisis estático

Existen principalmente los siguientes métodos de análisis:

  • Análisis de archivos (VirusTotal, herramienta VirusScan, etc.)
  • Reconocimiento de formato de archivo (peid, archivo, herramientas FileAnalyzer, etc.)
  • Extracción de cadenas (herramienta de cadenas, etc.)
  • Desmontaje (herramientas GDB, IDAPro, VC, etc.)
  • Descompilar (REC, DCC, herramientas JAD, etc.)
  • Análisis de estructura lógica (Ollydbg, herramientas IDAPro, etc.)
  • Empaque y desempaque (herramientas UPX, VMUnPacker, etc.)

Principalmente elijo los siguientes métodos y herramientas para el análisis

(1) Análisis de archivos (VirusTotal): tasa de detección 54/72

Puede ver la siguiente información de la información detallada en la figura a continuación:

  • El archivo es una utilidad de línea de comandos de ApacheBench

  • Notas bajo licencia de Apache License Version 2.0 (en adelante, "Licencia"); no puede usar este archivo a menos que se cumpla la licencia. Puede obtener una copia de la licencia en http://www.apache.org/licenses/License-2.0. A menos que lo exija la ley aplicable o el consentimiento por escrito, el software distribuido bajo la licencia se distribuye "tal cual" sin ningún tipo de autorización expresa. O garantías o condiciones implícitas. Consulte la licencia para el idioma específico que controla los permisos y restricciones de la licencia.

(2) Reconocimiento de formato de archivo (herramienta peid)

PEiD (PE Identifier) ​​es una herramienta de comprobación de shell muy conocida, su potente función puede detectar casi todos los shells y su número ha superado los 470 tipos y firmas de archivos PE.

  • Escanee el archivo de puerta trasera desempaquetado: la función principal de PEiD es verificar el shell, por lo que este archivo de puerta trasera no ha sido detectado por él.

(3) Descompilación y desmontaje (herramienta PE Explorer)

PE Explorer es un potente analizador visual de programas de Delphi, C ++, VB, que puede descompilar rápidamente programas ejecutables de 32 bits y modificar sus recursos. El software admite complementos. Puede mejorar las funciones del software agregando complementos. La compañía original incluyó UPX desempacando complementos, escáneres y desensambladores en la herramienta, que es muy fácil de usar.

  • Información del encabezado del archivo: parece inútil

  • Archivo DDL llamado: el archivo DDL visto con PE Explorer es más detallado que el que acabo de ver con peid, indica qué funciones son llamadas por el archivo DDL

  • Información sobre la versión: Muchos de los contenidos aquí se han visto en archivos de registro anteriores y en el sitio web de VirusTotal

  • Los directorios de datos, los encabezados de sección, la información de depuración, etc. tienen poca importancia para el análisis, por lo que no hay captura de pantalla

2.2.2 Análisis dinámico

Existen principalmente los siguientes métodos:

  • Comparación de instantáneas (SysTracer, Filesnap, herramientas Regsnap, etc.)
  • Análisis de captura de paquetes (herramienta WireShark, etc.)
  • Monitoreo de comportamiento (herramientas Filemon, Regmon, ProcessExplorer, etc.)
  • Sandbox (herramientas NormanSandbox, CWSandbox, etc.)
  • Depuración dinámica de trazas (herramientas Ollydbg, IDAPro, etc.)

(1) Análisis de captura de paquetes (herramienta WireShark)

  • dirPaquetes capturados después de la entrada

Puede ver la IP de origen, la IP de destino, el puerto de origen, el puerto de destino y los datos transmitidos desde el paquete de datos.

  • mkdir testPaquetes capturados después de la entrada

3 pregunta respuesta

3.1 Si sospecha que hay código malicioso en un host en el trabajo, pero solo adivine, todo lo que desea es monitorear lo que hace el sistema todos los días. Diseñe qué operaciones desea monitorear y qué método usar para monitorear.

Utilice las tareas programadas de Windows para registrar cada minuto y luego importe los resultados a EXCEL para ver qué procesos representan más y si son sospechosos. Después de seleccionar los más sospechosos, puede analizar estos procesos sospechosos después de reducir el alcance. Análisis estático: VirusTotal y VirusScan son más convenientes para el escaneo; análisis dinámico: la herramienta SysTracer puede crear instantáneas y comparar y analizar diferentes instantáneas.

3.2 Si se ha determinado que hay un problema con un programa o proceso, ¿qué herramientas tiene para obtener más información al respecto?

  • Use sysmon para ver qué archivos de registro creó el proceso
  • Use Wireshark para capturar paquetes, puede ver qué datos transmite el proceso

4 experiencia experimental

Este experimento es muy maniobrable y debe completarse junto con experimentos anteriores. Debido a que el archivo anterior fue inútil durante mucho tiempo, algunos se han eliminado y deben completarse nuevamente. Y el funcionamiento específico de este software utilizado en este experimento no se comprende muy bien, por lo que tomó mucho tiempo. Sin embargo, a través de este experimento, tengo una cierta comprensión del análisis del código malicioso, cómo resolver el código malicioso y cómo prevenirlo.

Supongo que te gusta

Origin www.cnblogs.com/lcyll/p/12731482.html
Recomendado
Clasificación