首页 > 其他分享 >实战攻防演练--利用微软自带Certutil命令ByPassAV上传C2

实战攻防演练--利用微软自带Certutil命令ByPassAV上传C2

时间:2023-10-20 10:55:23浏览次数:33  
标签:exe 加密 -- Certutil ByPassAV C2 txt 上传

Certutil

Certutil.exe是Windows操作系统中的合法程序,主要用于管理证书相关操作。它提供了转储和显示证书颁发机构(CA)的配置信息、配置证书服务、备份和还原CA组件,以及验证证书、密钥对和证书链等功能,然而,由于其功能强大,很多攻击者滥用Certutil.exe程序将其用于攻击辅助,常用于远程下载,但不知道它还能加密解密本地文件(不会报毒,可以用来ByPassAV)

实战使用前提

在实战中有一种这有的场景,通过前期打点获取到了网站的入口,上传webshell拿下服务器网站权限,WebShell只能上传写入,有杀软和网站限制,只能上传txt,这种情况我就通过本次实战案例,给大家演示一下整个ByPass过程

加密exe格式木马为txt格式

首先,使用viper平台准备好C2木马,这里通过 Certutil -encode 1.exe 1.txt 命令进行加密导出,这里会修改exe格式为txt, 同时我们通过type查看命令,查看1.txt,看到文件有如下特征

Certutil 加密导出的特征

-----BEGIN CERTIFICATE-----
TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAyAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAA5JBHdfUV/jn1Ff459RX+O
WoMEjn5Ff459RX6Of0V/jnQ96o58RX+OdD3ujnxFf45SaWNofUV/jgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAA==
-----END CERTIFICATE-----

切割TXT文件并拼接、解密

由于某些场景会限制文件上传大小,没办法通过WebShell上传写入,可以通过将txt切割分为多个后上传

新建一个文件夹,全部上传,上传后目录如下所示

使用copy命令执行copy 001.txt + 002.txt + 003.txt + 004.txt 2.txt 将txt合并,按顺序拼接为2.txt,这里拼接后的2.txt文件内容与加密的1.txt一致

之后我们将加密导出的 2.txt 用 Certutil 进行解密操作,执行Certutil -decode 2.txt C2.exe 命令后,还原为我们的C2木马

如下图所示,已经还原为C2木马,我们执行,查看是否可以上线

到此一步已经完成上线,可进行后续操作

标签:exe,加密,--,Certutil,ByPassAV,C2,txt,上传
From: https://www.cnblogs.com/Yichensec/p/GF_Certutil.html

相关文章

  • scanf读取String和char []的区别
     首先,c语言中没有string类型,直接用scanf读入string类型是不正确的。如:stringa;scanf("%s",a);//录入"asd"cout<<a;//输出后a是空正确方式:stringa;a.resize(8);scanf("%s",&a[0]);//录入"asd"cout<<a;//输出:asd 为......
  • 谈谈selenium4.0中的相对定位
    相对定位历史2021-10-13发布的selenium4.0开始引入,selenium3.X是没有的implementrelativelocatorforfind_element(#9902)4.10维护了下Improvenearrelativelocatorbehavior(#11290)其他都是文档、异常信息方面的处理实例演示D:\selenium\demo\relative......
  • 第六章 管理错误和异常
    trycatch异常处理throw:扔出异常catch:抓住异常代码放到try中,代码运行时会执行try语句。如果没有异常,这些语句将执行下去,直到运行结束;如果一旦出现异常则跳出try,去执行catch中的内容(可以多个catch同时存在)。示例:try{//有可能出现错误的代码}catch{......
  • PCB打板省钱小妙招,强烈建议收藏!
    很多PCB采购或工程师找PCB制造商做板的时候,觉得价格高,但是却不知道贵在哪里。是通过货比三家,选择价格最低的供应商?还是通过牺牲部分质量换取更低的成本?这些都不是最省钱的方式。如何在保证PCB高可靠的前提下合理优化成本?众所周知,PCB的制造成本取决多个因素,除在设计产品时应考虑这......
  • Python猴子补丁
    Python猴子补丁介绍猴子补丁是一种替换方法的方式。因为python是动态语言,所以我们在方法执行之前,可以将方法替换,以达到我们期望的结果。需要理解的是,python的方法在加上括号之前,代表的的只是方法的内存,可以被当做一个变量进行传递。使用#示例classTest:  a=1 ......
  • java集合框架及其特点
    常见的集合以及他们的特点有哪些呢java集合类主要由Collection和Map两个根接口派生出来的。Collection派生了List,Set,Queue这三个子接口。1、List代表有序可重复集合,可直接根据元素的索引来访问。ArrayList:排列有序,可重复底层使用数组速度快,增删慢线程不安全容量不够......
  • React学习笔记09- 事件处理
    React采用on+事件名的方式来绑定一个事件,注意,这里和原生的事件是有区别的,原生的事件全是小写onclick,React里的事件是驼峰onClick,React的事件并不是原生事件,而是合成事件。 事件回调的几种写法1.直接在组件内定义一个非箭头函数的方法,然后在render里直接使用onClick={......
  • 树的直径、重心、中心
    树的直径、重心、中心一、树的直径我们将一棵树\(T=(V,E)\)的直径定义为$max(u,v)(u,v∈V)$,即树中所有最短路径距离的最大值即为树的直径。求法:1)树形dp定义d1为从节点u到其子树中节点距离的最大值,d2为次大值,则\(diameter=max(d1+d2)\)特点:不可输出路径,但可以处理负边......
  • Springboot 配置 https 的后端服务
    由于项目需要,要实现https+wss服务,经过2天研究,终于通过Springboot配置成功https+wss服务,记录一下以此分享。1、生成ssl证书方法(注意-alias的名称要与application的名称一致),两个方法都可以。//keytool-genkey-aliasmyhttps-keyalgRSA-keysize2048-keystoreE:\test.p12......
  • 嵌套循环(九九乘法表;1-100奇数项和偶数项求和)
    #九九乘法表forminrange(1,10):forninrange(1,m+1):print("{0}*{1}={2}".format(n,m,(n*m)),end="\t")print()#换行 #1-100的总和,奇数项和,偶数项和sum_all=0sum_odd=0sum_even=0foriinrange(1,101):sum_all+=i......