
Kinderleichte Datei-Uploads
Benannt in Anlehnung an pwndrop, ist pwnlift eine einfache dotnet-Serveranwendung zum Hochladen von Dateien von einem Desktop ohne Verwendung eines C2. Nützlich, wenn du Konsolenzugriff auf einen Rechner hast und Dateien für die Analyse offline nehmen musst (z. B. Code Integrity Policy-Dateien).

dotnet publish und gib die benötigte Zielruntime an. Z. B. dotnet publish -r win-x64 für Windows oder -r linux-x64 für Linux.Falls auf deinem Server die ASP.NET-Runtime noch nicht installiert ist, packe sie einfach mit deinem Build mit
--self-contained true.
publish auf deinen Server.Ändere appsettings.json mit den URL(s) und Port(s), die du verwenden möchtest.
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:8080"
}
}
}
}
Um HTTPS zu verwenden, definiere den Endpunkt, den Zertifikatspfad und das Zertifikatspasswort.
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:8080"
},
"Https": {
"Url": "https://*:8443",
"Certificate": {
"Path": "contoso.com.pfx",
"Password": "pass123"
}
}
}
}
}
Beachte, dass der HTTP-Endpunkt automatisch auf HTTPS umleitet, wenn HTTPS aktiviert ist.
Führe dann einfach die Binärdatei pwnlift aus.
$ ./pwnlift
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:8080
info: Microsoft.Hosting.Lifetime[14]
Now listening on: https://[::]:8443
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Production
Alle Uploads werden im Verzeichnis Uploads abgelegt.