你玩过网游吗?
组队、分工、配合——坦克拉怪,输出打伤害,治疗加血。一套配合下来,再难的BOSS也能推倒。
那你想过没有:黑客攻击,能不能也像打BOSS一样,组队配合?
有人做到了。它叫Mythic。
Mythic是一个跨平台、支持多人协作的命令控制框架,由安全研究员Cody Thomas开发。
简单说:它是一个能让多个黑客同时干活、分工配合的C2平台。
和Cobalt Strike这种“单机版”不一样,Mythic天生就是为团队设计的:
· 多人同时登录:几个黑客可以一起操作 · 权限分级:谁可以干什么,分得清清楚楚 · 操作留痕:谁干了什么、什么时候干的,全记下来 · 实时同步:A拿下的机器,B马上就能看到
想象一个场景:
红队接到任务,要渗透一家大公司。5个人,3天时间。
以前怎么干?各自为战,你扫你的,我打我的,最后手动汇总——累死。
Mythic的做法是:
所有人登录同一个Mythic服务器。左边列表是所有的被控机器,右边窗口是命令执行区,下面有聊天室。
· 小A负责钓鱼,把人骗进来 · 小B负责维持连接,保证机器不掉线 · 小C负责提权,把普通用户变成管理员 · 小D负责横向移动,从一台跳到另一台 · 小E负责找数据、打包、撤退
小B提权成功,小D马上就能看到那台机器有了管理员权限,直接跳板过去。
全程不用喊“你搞完了吗?轮到我了吗?”
Mythic的设计哲学是:把能拆的都拆开,让你自己拼。
Mythic的植入物不是写死的,而是以“代理”的形式存在。你想要什么功能,装对应的代理插件就行:
· apfell:macOS用的 · poseidon:macOS另一个版本 · athena:Windows用的 · zeus:Linux用的 · 还有几十个社区开发的
HTTP、HTTPS、DNS、WebSocket、SMB——想要什么协议,装什么插件。
有的代理是Python写的,有的是Go写的,有的是C#写的。Mythic用“翻译层”把它们统一起来,你在界面上操作,不用管底层是什么语言。
进入Mythic后,能干的事很多:
信息收集
· 当前用户、权限、系统版本 · 网络配置、域信息 · 进程列表、杀毒软件
提权
· 一键扫漏洞 · 打特定提权模块
横向移动
· 远程执行命令 · 传文件 · 抓密码
权限维持
· 加计划任务 · 写注册表 · 装服务
Mythic有个其他C2框架没有的功能:把所有人的操作全记下来。
· 小A什么时候上传了文件 · 小B什么时候执行了命令 · 小C什么时候提了权
全有日志,带时间戳,带操作人。
有什么用?
第一:复盘
打完收工,导出日志,就知道整个攻击过程是怎么走的——从哪进、怎么跳、最后拿了什么。
第二:培训
新人跟着看老手的操作,比看十遍教程都管用。
第三:写报告
正规红队演练要出报告。Mythic自动生成操作记录,省一半时间。
第一步:部署
git clone https://github.com/its-a-feature/Mythic
cd Mythic
sudo ./install_docker_ubuntu.sh
sudo make
第二步:启动
sudo ./start_mythic.sh
浏览器访问 https://你的IP:7443,注册账号。
第三步:装代理插件
点“Agent”→“Install”,选你想用的代理,比如athena(Windows用)。
第四步:生成payload
点“Payloads”→“Create”,选监听器、选代理,生成exe文件。
第五步:发出去
钓鱼、破解软件、U盘丢停车场——方式很多。
第六步:上线
目标一跑,左边“Callbacks”里就会出现一个新会话。点进去,就能执行命令了。
某次大型红队演练,目标是金融公司。5人团队,3天时间。
Day1上午:
小A发钓鱼邮件,小B架好Mythic服务器。下午3点,有人点链接,第一个agent上线。
Day1下午:
小C查看agent信息——普通用户权限。跑提权模块,半小时后拿到SYSTEM。
Day2上午:
小D用SYSTEM权限横向移动,拿下文件服务器。文件服务器上有域管理员会话,用抓密码模块扒出域管理员hash。
Day2下午:
小E用域管理员hash登录域控,种agent。目标达成。
Day3:
导出Mythic日志,写报告,收工。
全程5个人配合,没吵过一句架。 Mythic的实时同步和操作审计,让团队协作像打游戏一样顺畅。
Mythic是红队协作的天花板。
它不是一个人在战斗,而是一个团队在打仗。分工配合、实时同步、操作留痕——全都有。
如果你想体验真正的团队作战,今天就去装一个Mythic。
安装命令:
git clone https://github.com/its-a-feature/Mythic
cd Mythic
sudo ./install_docker_ubuntu.sh
sudo make