2019-2020-2 20175303 Chai Xuanda "Tecnología de contramedidas de red" Exp4 Análisis de código malicioso

2019-2020-2 20175303 Chai Xuanda "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 software malicioso, se refiere al software que infringe los derechos e intereses legales de los usuarios sin que los usuarios lo soliciten explícitamente o sin su permiso.
    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.
  • Características: El
    propósito malicioso es en
    sí mismo un programa de computadora
    que actúa a través de la ejecución
  • Categorías:
    Virus informáticos, gusanos, puertas traseras, troyanos, rootkits

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

  • Ingrese el siguiente comando y registre qué programas están conectados a la red cada cinco minutos. Una vez completado este comando, supervisará qué programas están utilizando la red cada 2 minutos y registrará los resultados en el archivo netstatlog.txt.
    schtasks /create /TN netstat5303 /sc MINUTE /MO 2 /TR "cmd /c netstat -bn > c:\netstatlog.txt"
    Los parámetros en el comando anterior son:
    TNla abreviatura de TaskName, el nombre de la tarea programada que creamos es netstat5303;
    scsignifica el método de temporización, completamos MINUTO en minutos;
    TRes Task Run, y el comando a ejecutar es netstat
    bnb, que muestra el archivo ejecutable. Nombre, n significa mostrar la IP y el puerto como un número;
    >significa redirigir la salida y almacenar la salida en un c:\netstatlog.txtarchivo

Cree un archivo de script llamado netstat5303.bat en la unidad C (abra el Bloc de notas, seleccione todos los formatos de archivo al guardar en la unidad d, el nombre termina con .bat y finalmente muévase a la unidad c), escriba lo siguiente:

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

Abra las herramientas de administración de búsqueda del panel de control, luego abra el programador de tareas, encuentre el nuevo plannetstat5303

Haga clic en Propiedades previstas, a continuación, 操作la pestaña dentro del 编辑lanzador, poner 程序或脚本el cmdcambionetstat5303.bat

En 常规la pestaña de garrapata 不管用户是否登录都要运行y使用最高权限运行

Después de ejecutar el programa, ábralo netstat5303.txt, puede ver el registro de red registrado en la operación planificada.

Abra Excel e importe el archivo txt desde Datos-> Desde texto

Asistente de importación Paso 1 Selección分隔符号

Paso 2 del Asistente de importación, seleccione todos los separadores

Después de importar los datos de la siguiente manera

Después de insertar 数据透视图, habrá la siguiente interfaz a la derecha, 周四arrástrela hacia abajo y

Tienes la siguiente perspectiva de datos

Analizar estadísticas

  • Proceso de solicitud común
    • MicrosoftedgeCP.exe: el archivo ejecutable del sistema operativo Windows que debe ser ejecutado por el propio navegador de Microsoft
    • svchost.exe: es un archivo de sistema en el sistema operativo Microsoft Windows y es el nombre de proceso de host común del servicio que se ejecuta desde la biblioteca de enlaces dinámicos (DLL).
    • SearchUL.exe: proceso de búsqueda de Cornaar
    • Excel.exe: proceso de Excel
    • WeChat.exe: WeChat
  • Otros procesos
    • 360wpsrv.exe: 360 Lo he desinstalado y todavía se está ejecutando en secreto.
    • Explorer.exe 、 Microsedge.exe 、 LenovoEMDriverAssist.exe 、 PhotoMaster.exe 等

2.1.2 sysmon

Vaya al sitio web oficial para descargar sysmon

Después de descargar, en la carpeta donde existe sysmon.exe, cree un nuevo archivo xml, que sea similar al archivo bat, escriba el siguiente código en el archivo:
que es excludeequivalente a la lista blanca, es decir, no grabar include相当于黑名单, grabar, onmatchlo que significa que la coincidencia
Driverloades el controlador El cargador
NetworkConnectes una conexión de red
CreateRemotecreada por un hilo remoto

<Sysmon schemaversion="10.42">
  <!-- 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>

Luego abra el símbolo del sistema como administrador e ingrese el siguiente comando en la carpeta sysmon.
Sysmon.exe -i sysmon.xml
Aparece la interfaz de instalación

Después de una instalación exitosa, parece sysmon startednormal

Complete el siguiente código después de la sección NetworkConnect del archivo sysmon.xml

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

El archivo de configuración debe actualizarse después de la modificación. Las instrucciones son:sysmon.exe -c sysmon.xml

Ver registro
① Ingrese en el cuadro de búsqueda del menú de inicio para eventabrir el visor de eventos.
② En el 应用程序和服务日志caso, ver Microsoft->Windows->Sysmon->Operational
③kali ejecuta la consola de MSF abierto el servicio de escucha, la máquina que ejecuta el segundo archivo de puerta trasera experimento generado, con el fin de obtener la línea de la máquina virtual de Windows kali.
④ Ver el registro del archivo de puerta trasera

  • Registro de creación de procesos La

    siguiente información se puede obtener de la figura:
镜像:D:\20175303 柴轩达\大三下\网络对抗\实验\ncat\20175303_backdoor.exe
描述:ApacheBench命令行实用程序
产品:Apache HTTP服务器
  • Registro de conexión de red generado después de volver a conectar: ​​La

    siguiente información se puede obtener de la figura:
程序:D:\20175303 柴轩达\大三下\网络对抗\实验\ncat\20175303_backdoor.exe
协议:tcp
源IP地址:192.168.0.1(Windows的IP)
目标IP地址:192.168.0.10(kali的IP)
目的端口:5303

2.2 Análisis de malware

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 desempaquetado (herramientas UPX, VMUnPacker, etc.)
    (1) Escaneo de archivos (virustotal), la tasa de detección de 56/70

    se puede ver en la siguiente figura:
  • 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) Identificación del formato de archivo (pied)

  • 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.

Como puede ver en la figura a continuación, ejecutar este archivo ejecutará muchos sufijos DDL, es decir, una biblioteca de enlace dinámico, que se utiliza para cargar dinámicamente el programa en la memoria para que el programa llame en tiempo de ejecución, por lo que es normal llamar a DDL.

Escanee los archivos de puerta trasera del shell, puede escanear el shell upx

(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 la funcionalidad del software agregando complementos. La compañía original incluyó UPX desempacando complementos, escáneres y desensambladores en la herramienta.

  • Información del encabezado del archivo, no hay información sospechosa obvia

  • Archivo DDL llamado: PE Explorer es más detallado que la visualización peid, indica qué funciones son llamadas por el archivo DDL

  • Información de la versión: similar a VirusTotal

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 de rastreo dinámico (Ollydbg, herramientas IDAPro, etc.)
    (1) Comparación de instantáneas (systracer)
    descarga e instalación de systracer

Haga clic en el lado derecho del software take snapshotdespués de que startse inicia la captura, haga clic en stopparada y almacenamiento.
Snapshot 1 (Snapshot # 1): el programa de puerta trasera no está portado
Snapshot 2 (Snapshot # 2):
el programa de puerta trasera está implantado Snapshot 3 (Snapshot # 3): ejecuta el programa de puerta trasera e implementa la
instantánea de backlink 4 (Snapshot # 4) en Kali : Ejecute el comando websnam_snap
Snapshot 5 (Snapshot # 5): ejecute el comando getuid

Haga clic en compareComparar instantánea 1 y Instantánea 2 en la esquina inferior derecha . Puede ver que el segundo programa de puerta trasera 20175303_backdoor.exe se ha agregado a la instantánea dos, y se han agregado y eliminado otros archivos.

En comparación con las instantáneas dos y tres, es decir, los cambios antes y después del inicio de la puerta trasera, el programa de puerta trasera se agrega al programa en ejecución en la instantánea tres.

Al mismo tiempo, se agregan muchos archivos ddl, es decir, biblioteca de enlaces dinámicos.

(2) Análisis de captura de paquetes (herramienta WireShark)
kali abre la consola msf para ejecutar el programa de escucha, y las ventanas se conectan nuevamente a
kali para obtener la ventana de comando e ingresa direl paquete de datos capturados

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

mkdir xxxPaquetes capturados después de la entrada

3 problemas encontrados en el experimento

Problema 1: La operación sysmon no tuvo éxito.
Solución: Referencia al paso exitoso de la operación sysmon de Yang Yuan. ¿Por qué estuvo mal antes? No está muy claro.
Problema 2: El systracer no pudo ejecutarse, incapaz de capturar los datos.
Solución: Resulta que no utilicé el código maestro de nube Le di la herramienta systracer, pero descargué una de 32 bits en el sitio web oficial, y luego la resolví después de volver a descargarla e instalarla.

4 pregunta respuesta

  • 1Si sospecha que hay un 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.
    Creo que schtasks, una tarea programada que viene con Windows, es muy útil. Siga la operación anterior y regístrela cada cinco minutos o incluso cada minuto, y luego importe los resultados a EXCEL para ver qué procesos representan más y si es un proceso sospechoso. .
    Solo realicé un examen preliminar, seleccioné los más sospechosos y, después de reducir el alcance, puede analizar estos procesos sospechosos.
    Análisis estático: VirusTotal y VirusScan son más convenientes para escanear
    Análisis dinámico: la herramienta SysTracer puede crear instantáneas y comparar y analizar diferentes instantáneas
  • 2 Si 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
    son creados por
    el proceso

5 experiencia experimental

Este experimento utilizó muchos dispositivos, y realmente hubo muchos problemas en mi computadora, y algunos tomaron mucho tiempo para resolverlos. Siento que lo principal para este experimento es usar la puerta trasera que he generado. Siempre he visto su información relevante y la he analizado. Pero, de hecho, si no está claro qué procesos son virus o troyanos, es posible que no pueda encontrarlo y no pueda analizarlo directamente. No puedo juzgar si es sospechoso por el nombre a través del registro o el software para registrar el proceso, porque veo el nombre del proceso normal y anormal, no hay diferencia, tal vez no aprendí la esencia de este experimento.

Supongo que te gusta

Origin www.cnblogs.com/cxd20175303/p/12720665.html
Recomendado
Clasificación