freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Cobalt Strike--使用c#生成的payload进行免杀
2021-03-21 20:51:51


1616330497_60573f016591ff28a630a.png!small?1616330495652

一、使用c#进行免杀--复现

一、首先启动cs的服务端和客户端

此过程略

二、生成C#的payload

1.生成c#的payload

首先创建一个监听

1616330708_60573fd4832d862bfc014.png!small?1616330706820

再生成一个payload

1616330721_60573fe1dbeabe94dae20.png!small?1616330720173

输出选择c#的

1616330731_60573feb5fb30b366e050.png!small?1616330729630

其实和其他payload生成是一样的,输出到桌面上

1616330740_60573ff43915be4fda798.png!small?1616330738427

打开之后发现生成成功

1616330751_60573fffc90072dc058d6.png!small?1616330750126

三、找到一个模板进行免杀

这里是我用的荔枝给我发的模板,他说很老了,但是我们只是为了复现去掌握他的方法,免杀被杀了但是不能扼杀我们的思路

我们进行操作:

将原来生成的payload给注释掉,然后把刚才生成的payload复制进去

一定要注意一点,字节数一定要相同

1616330762_6057400a4f4d23475161e.png!small?1616330760909

还要注意一点就是,要将buf改成shellcode,要不然下面转换文件的时候会报错

1616330771_605740131b98a1e114da9.png!small?1616330769642

四、将cs文件(c#文件)转换成exe文件、

模板前面给出了要执行的命令和位置

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shellcodeLauncher.exe shellcodeLauncher.cs

注意:需要一个.net环境

下面有一个csc.exe

咱们将刚才生成的东西给进行放到.net下,进行转换成exe文件

1616330780_6057401cb82ff50bbdf98.png!small?1616330779475

目录:C:\Windows\Microsoft.NET\Framework64\v4.0.30319

然后使用csc命令进行转换:

csc.exe /unsafe /out:chaosec.exe shellcodeLauncher.cs

1616330789_60574025b2e8c055e9a47.png!small?1616330787937

发现生成成功

1616330798_6057402ee487821d03bc1.png!small?1616330797339

csc命令详解:

out:是指定生成后exe的文件名称

/unsafe:是使用非安全模式来编译代码,非安全模式的代码允许其操作内存地以及这些地址上的直接,会引起不安全代码的执行,有安全风险,所以是定为不安全模式

运行查看是否能正常上线

1616330813_6057403d81b5e5e8f17fb.png!small?1616330811854

发现可以成功上线

在检测一下他的免杀效果

发现过腾讯管家是没问题的

1616330824_60574048449ba162523ed.png!small?1616330823355

五、定时任务安排

刚才运行的时候,发现一直有这个弹窗,所以很鸡肋,我们要借助windows上面的定时任务进行持久上线

1616330833_6057405135ec84781b853.png!small?1616330831408

1.定时任务介绍:

定时任务的参数:

schtasks ( schdule task:计划任务)

schtasks /create /RL HIGHEST /F /RU "SYSTEM" /TN "WindowsS" /TR "C:/chaosec.exe" /SC DAILY /MO 1 /ST 00:00

/RL:设置任务的运行级别。有效值为LIMITED和HIGHEST。默认为LIMITED。

/F∶如果指定的任务已存在,则强制创建任务并禁止警告的值。

/Ru∶指定运行任务的用户上下文。

/TN:指定唯—标识计划任务的名称。

/TR:指定要在计划的时间运行的任务的路径和文件名。

/SC:指定计划频率,DAILY为每天。

/MO:对于MINUTE,HOURLY,DAILYWEEKLY有效,可选参数,默认为1.

/ST:指定运行任务的开始时间,格式为HH : mm ( 24小时制)。

2.操作:

首先将chaosec.exe放到c盘下

1616330846_6057405e110b3e456d1dd.png!small?1616330844385

3.执行命令.

发现成功

1616330855_605740676550b3fd2c8e1.png!small?1616330853807

4.查看计划任务

schtasks /query |findstr "WindowsS" //这里我命令执行不可以,那么我们就直接用图形化查看,发现创建成功

1616330866_6057407228a14f16b71fd.png!small?1616330864376

5.立刻运行,执行、删除会话

schtasks /run /TN "chaosec"

schtasks /delete /F /TN "chaosec"

1616330879_6057407f928b6d214d5fb.png!small?1616330877708

发现成功上线

1616330888_605740883604076113b98.png!small?1616330886867

# 渗透测试 # 黑客 # 内网渗透 # Cobalt strike # shellcode免杀
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者