以 pwndrop 为致敬命名,pwnlift 是一个简单的 dotnet 服务器应用程序,用于从桌面无需 C2 即可上传文件。 如果你具有控制台访问机器的权限,并需要将文件保存到离线环境进行分析(例如代码完整性策略文件),这将非常有用。

dotnet publish 构建项目,指定所需的目标运行时。例如,Windows 使用 dotnet publish -r win-x64,Linux 使用 -r linux-x64。如果你的服务器尚未安装 ASP.NET 运行时,只需使用
--self-contained true将其打包到构建中即可。
publish 文件夹复制到你的服务器。修改 appsettings.json 文件,填入你想要使用的 URL 和端口。
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:8080"
}
}
}
}
要使用 HTTPS,请定义端点、证书路径和证书密码。
{
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://*:8080"
},
"Https": {
"Url": "https://*:8443",
"Certificate": {
"Path": "contoso.com.pfx",
"Password": "pass123"
}
}
}
}
}
注意,启用 HTTPS 后,HTTP 端点会自动重定向到 HTTPS。
然后,直接运行 pwnlift 二进制文件。
$ ./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
所有上传的文件都会放入 Uploads 目录中。