人人都可写cs插件之安全进程识别
字数 911 2025-08-09 22:00:49
Cobalt Strike插件开发:安全进程识别工具
0x00 前言
在渗透测试过程中,当Cobalt Strike (CS)上线后,快速识别目标主机上运行的安全软件是至关重要的。虽然有在线查询等方式,但开发一个一键式工具会更加高效。本文将详细介绍如何从零开始开发一个CS插件,用于识别常见安全软件的进程。
0x01 实现原理
C#可执行文件实现
核心代码通过C#编写,主要功能包括:
- 接收命令行参数
- 枚举系统进程
- 与预定义的安全软件进程列表比对
- 输出匹配的安全软件信息
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("");
System.Console.WriteLine("Author: 西米");
System.Console.WriteLine("Github: https://gitee.com/git63/cobalt-strike-plug-in-unit.git");
System.Console.WriteLine("");
if (args.Length != 1)
{
System.Console.WriteLine("ximi_cs -autoSafety");
}
if (args.Length == 1 && (args[0] == "-autoSafety"))
{
Console.WriteLine("");
Console.WriteLine("-安全软件进程识别-");
Console.WriteLine("");
av_nameCheck();
}
Console.ReadKey();
}
// 安全进程识别
private static void av_nameCheck()
{
av_name pavname = new av_name();
Dictionary<string, string> av_dicnName2 = pavname.dicavname();
Process[] procs = Process.GetProcesses(Environment.MachineName);
Console.WriteLine("=存在安全进程====(Security software processes exist)");
for (int i = 0; i < procs.Length; i++)
{
string processname = procs[i].ProcessName;
foreach (var key in av_dicnName2.Keys)
{
if (processname.Equals(key))
{
Console.WriteLine(key + ":" + av_dicnName2[key]);
}
}
}
Console.WriteLine("=END=");
}
}
CS插件集成方式
在Cobalt Strike中,可以通过多种方式集成这个功能:
- 直接执行命令:使用
bshell、bpowerpick等函数执行命令行指令 - 反射式DLL:编写为Reflective DLL,使用
bdllspawn加载 - 普通DLL:编写为标准DLL,使用
bdllinject或bdllload加载 - .NET程序集:使用
bexecute_assembly在内存中执行 - 独立EXE:上传EXE文件并用
bexecute执行
0x02 插件结构
插件主要包含两个文件:
main.cna- 定义插件的目录结构和基本框架信息收集.cna- 包含安全进程识别的具体实现
0x03 支持的安全软件列表
该插件支持识别以下安全软件的进程:
// 进程名称与对应软件
av_dicnName.Add("ZhuDongFangYu", "360主动防御");
av_dicnName.Add("360tray", "360安全卫士");
av_dicnName.Add("360sd", "360杀毒");
av_dicnName.Add("a2guard", "a-squared杀毒");
av_dicnName.Add("ad-watch", "Lavasoft杀毒");
av_dicnName.Add("cleaner8", "The Cleaner杀毒");
av_dicnName.Add("vba32lder", "vb32杀毒");
av_dicnName.Add("MongoosaGUI", "Mongoosa杀毒");
av_dicnName.Add("CorantiControlCenter32", "Coranti2012杀毒");
av_dicnName.Add("F-PROT", "F-PROT杀毒");
av_dicnName.Add("CMCTrayIcon", "CMC杀毒");
av_dicnName.Add("K7TSecurity", "K7杀毒");
av_dicnName.Add("UnThreat", "UnThreat杀毒");
av_dicnName.Add("CKSoftShiedAntivirus4", "Shield Antivirus杀毒");
av_dicnName.Add("AVWatchService", "VIRUSfighter杀毒");
av_dicnName.Add("ArcaTasksService", "ArcaVir杀毒");
av_dicnName.Add("iptray", "Immunet杀毒");
av_dicnName.Add("PSafeSysTray", "PSafe杀毒");
av_dicnName.Add("nspupsvc", "nProtect杀毒");
av_dicnName.Add("SpywareTerminatorShield", "SpywareTerminator杀毒");
av_dicnName.Add("BKavService", "Bkav杀毒");
av_dicnName.Add("MsMpEng", "Microsoft Security Essentials");
av_dicnName.Add("SBAMSvc", "VIPRE");
av_dicnName.Add("ccSvcHst", "Norton杀毒");
av_dicnName.Add("QQ", "QQ");
av_dicnName.Add("f-secure", "冰岛");
av_dicnName.Add("avp", "卡巴斯基");
av_dicnName.Add("KvMonXP", "江民杀毒");
av_dicnName.Add("RavMonD", "瑞星杀毒");
av_dicnName.Add("Mcshield", "麦咖啡");
av_dicnName.Add("egui", "NOD32");
av_dicnName.Add("kxetray", "金山毒霸");
av_dicnName.Add("knsdtray", "可牛杀毒");
av_dicnName.Add("TMBMSRV", "趋势杀毒");
av_dicnName.Add("avcenter", "Avira(小红伞)");
av_dicnName.Add("ashDisp", "Avast网络安全");
av_dicnName.Add("rtvscan", "诺顿杀毒");
av_dicnName.Add("ksafe", "金山卫士");
av_dicnName.Add("QQPCRTP", "QQ电脑管家");
av_dicnName.Add("Miner", "流量矿石");
av_dicnName.Add("AYAgent.aye", "韩国胶囊");
av_dicnName.Add("patray", "安博士");
av_dicnName.Add("V3Svc", "安博士V3");
av_dicnName.Add("avgwdsvc", "AVG杀毒");
av_dicnName.Add("ccSetMgr", "赛门铁克");
av_dicnName.Add("QUHLPSVC", "QUICK HEAL杀毒");
av_dicnName.Add("mssecess", "微软杀毒");
av_dicnName.Add("SavProgress", "Sophos杀毒");
av_dicnName.Add("fsavgui", "F-Secure杀毒");
av_dicnName.Add("vsserv", "比特梵德");
av_dicnName.Add("remupd", "熊猫卫士");
av_dicnName.Add("FortiTray", "飞塔");
av_dicnName.Add("safedog", "安全狗");
av_dicnName.Add("parmor", "木马克星");
av_dicnName.Add("beikesan", "贝壳云安全");
av_dicnName.Add("KSWebShield", "金山网盾");
av_dicnName.Add("TrojanHunter", "木马猎手");
av_dicnName.Add("GG", "巨盾网游安全盾");
av_dicnName.Add("adam", "绿鹰安全精灵");
av_dicnName.Add("AST", "超级巡警");
av_dicnName.Add("ananwidget", "墨者安全专家");
av_dicnName.Add("AVK", "GData");
av_dicnName.Add("ccapp", "Symantec Norton");
av_dicnName.Add("avg", "AVG Anti-Virus");
av_dicnName.Add("spidernt", "Dr.web");
av_dicnName.Add("avgaurd", "Avira Antivir");
av_dicnName.Add("vsmon", "ZoneAlarm");
av_dicnName.Add("avpe", "Kaspersky");
av_dicnName.Add("cpf", "Comodo");
av_dicnName.Add("outpost", "Outpost Firewall");
av_dicnName.Add("rfwmain", "瑞星防火墙");
av_dicnName.Add("kpfwtray", "金山网镖");
av_dicnName.Add("FYFireWall", "风云防火墙");
av_dicnName.Add("MPMon", "微点主动防御");
av_dicnName.Add("pfw", "天网防火墙");
av_dicnName.Add("S", "在抓鸡");
av_dicnName.Add("1433", "在扫1433");
av_dicnName.Add("DUB", "在爆破");
av_dicnName.Add("ServUDaemon", "发现S-U");
av_dicnName.Add("BaiduSdSvc", "百度杀软");
av_dicnName.Add("SafeDogGuardCenter", "安全狗");
av_dicnName.Add("safedogupdatecenter", "安全狗");
av_dicnName.Add("safedogguardcenter", "安全狗");
av_dicnName.Add("SafeDogSiteIIS", "安全狗");
av_dicnName.Add("SafeDogTray", "安全狗");
av_dicnName.Add("SafeDogServerUI", "安全狗");
av_dicnName.Add("D_Safe_Manage", "D盾");
av_dicnName.Add("d_manage", "D盾");
av_dicnName.Add("yunsuo_agent_service", "云锁");
av_dicnName.Add("yunsuo_agent_daemon", "云锁");
av_dicnName.Add("HwsPanel", "护卫神·入侵防护系统(状态托盘)");
av_dicnName.Add("hws_ui", "护卫神·入侵防护系统 - www.huweishen.com");
av_dicnName.Add("hws", "护卫神·入侵防护系统 服务处理程序");
av_dicnName.Add("hwsd", "护卫神·入侵防护系统 监控组件");
av_dicnName.Add("hipstray", "火绒");
av_dicnName.Add("wsctrl", "火绒");
av_dicnName.Add("usysdiag", "火绒");
0x04 使用说明
- 将插件文件上传到Cobalt Strike服务器
- 通过
load命令加载插件 - 使用插件提供的命令执行安全进程检测
- 查看输出结果,识别目标主机上运行的安全软件
0x05 注意事项
- 中文环境下可能会出现乱码问题
- 插件需要根据实际需求定期更新安全软件进程列表
- 在某些安全软件保护下,枚举进程可能会被拦截
- 建议在多种环境下测试插件的兼容性
0x06 扩展建议
- 可以增加进程路径检测,提高准确性
- 可以添加服务检测功能,识别以服务形式运行的安全软件
- 可以集成驱动检测功能,识别已加载的安全驱动
- 可以添加自动更新功能,定期从远程服务器获取最新的安全软件特征
通过这个插件,渗透测试人员可以快速了解目标主机的安全防护情况,为后续的攻击策略制定提供重要参考。