最近某重要活动,安全娱乐圈里流传出来了一些图片,说某公鸡队的teamserver被登录了,然后beacon全被删了。看截图是用的dogcs 4.4。
就凭这些就去吐槽别人开发的工具有后门,被反制全是开发工具的问题。。。真的麻了,婊子你要当,牌坊你也要立。。。。
后面大佬直接发声明再也不公开dogcs系列了,好好的4.5就这么被埋没了,真的无语了。
作为大佬的一名死灰级粉丝(没有见过大佬,但一直在分析大佬写的代码,偷学思路),笔者实在忍无可忍,决定公开之前的dogcs 4.4 patch补丁分析笔记(这份笔记早在2周前就已经分析完了,本不打算公开),为大佬声援一波,证实到底有没有放后门。分析花了有5天吧,业余时间就在分析。
社区内全是实实在在分享干货的大佬,投资自己,换来更多的回报,这门买卖并不亏。
github上看到巨佬发的DogCS_4.4,忍不住想去看下巨佬新增的代码是啥样子的。
首先便是拿原版的jar包与修改后的对比,diff结果显示以下文件存在变化。
•aggressor/Aggressor.class•aggressor/AggressorClient.class•aggressor/browsers/Connect.class•aggressor/browsers/Sessions.class•aggressor/dialogs/AboutDialog.class•aggressor/dialogs/ConnectDialog.class•aggressor/headless/Start.class•aggressor/MultiFrame.class•aggressor/TabManager.class•aggressor/windows/BeaconConsole.class•aggressor/windows/CredentialManager.class•aggressor/windows/DownloadBrowser.class•aggressor/windows/FileBrowser.class•aggressor/windows/Files.class•aggressor/windows/KeystrokeBrowser.class•aggressor/windows/ScreenshotBrowser.class•aggressor/windows/SecureShellConsole.class•beacon/BeaconC2.class•beacon/BeaconData.class•beacon/BeaconHTTP.class•beacon/BeaconPayload.class•beacon/BeaconSetup.class•beacon/CommandBuilder.class•beacon/jobs/DesktopJob.class•beacon/TaskBeacon.class•beacon/TaskBeaconCallback.class•beacon/Tasks.class•c2profile/MalleableHook.class•c2profile/MalleableStager.class•cloudstrike/NanoHTTPD.class•cloudstrike/WebServer.class•common/AssertUtils.class•common/AuthCrypto.class•common/Authorization.class•common/BeaconEntry.class•common/CommonUtils.class•common/Download.class•common/Helper.class•common/License.class•common/ListenerConfig.class•common/LoggedEvent.class•common/MudgeSanity.class•common/Requirements.class•common/Starter.class•common/Starter2.class•common/TeamSocket.class•dns/AsymmetricCrypto.class•dns/BaseSecurity.class•server/Beacons.class•server/Listeners.class•server/ManageUser.class•server/Resources.class•server/ServerUtils.class•server/TeamServer.class•sleeve/beacon.dll•sleeve/beacon.x64.dll•sleeve/dnsb.dll•sleeve/dnsb.x64.dll•sleeve/extc2.dll•sleeve/extc2.x64.dll•sleeve/hashdump.dll•sleeve/hashdump.x64.dll•sleeve/mimikatz-chrome.x64.dll•sleeve/mimikatz-chrome.x86.dll•sleeve/mimikatz-full.x64.dll•sleeve/mimikatz-full.x86.dll•sleeve/mimikatz-min.x64.dll•sleeve/mimikatz-min.x86.dll•sleeve/pivot.dll•sleeve/pivot.x64.dll•sleeve/screenshot.dll•sleeve/screenshot.x64.dll•ssl/SecureServerSocket.class•ssl/SecureSocket.class•stagers/BeaconBindStagerX64.class•stagers/BeaconBindStagerX86.class•stagers/BeaconDNSStagerX86.class•stagers/BeaconHTTPSStagerX64.class•stagers/BeaconHTTPSStagerX86.class•stagers/BeaconHTTPStagerX64.class•stagers/BeaconHTTPStagerX86.class•stagers/BeaconPipeStagerX86.class•stagers/ForeignHTTPSStagerX86.class•stagers/ForeignHTTPStagerX86.class•stagers/ForeignReverseStagerX64.class•stagers/ForeignReverseStagerX86.class•stagers/GenericBindStager.class•stagers/GenericDNSStagerX86.class•stagers/GenericHTTPSStagerX64.class•stagers/GenericHTTPSStagerX86.class•stagers/GenericHTTPStager.class•stagers/GenericHTTPStagerX64.class•stagers/GenericHTTPStagerX86.class•stagers/GenericStager.class•stagers/Stagers.class•resources/credits.txt•resources/ua.txt•resources/winvnc.x64.dll•resources/winvnc.x86.dll•scripts/default.cna
修改内容:•修改Version信息•修改UI风格,改为FlatIntelliJLaf•删除CS的文件完整性校验
原版:
修改版:
修改内容: 客户端界面显示的标题
原版:
修改版:
修改内容:
•修改连接按钮标题•修改帮助按钮标题,点击后弹出changelog
原版:
修改版:
修改内容:
•修复修改UI风格之后 JTable渲染Icon的bug•在界面上添加所有Beacon和在线Beacon元素
原版:
修改版:
修改内容:
•修改Logo图片•修改creds.txt里的致谢信息,并用bUTF8String函数加载
原版:
修改版:
修改内容:
•修改连接TeamServer窗口的标题信息•修改新建连接Profile界面的提示标题信息和默认的账号、密码、端口•删除HostNames、Alias Names按钮,增加Readme.md按钮
原版:
修改版:
修改内容: 无任何修改,编译器编译差异导致
修改内容: 无任何修改,编译器编译差异导致
修改内容: 无任何修改,编译器编译差异导致
修改内容: 新增whoami、cat命令
原版:
修改版:
修改内容: 删除暗桩
原版:
修改版:
修改内容: 修改下载文件管理页面的显示元素的顺序。
原版:
修改版:
修改内容: 无任何修改,编译器编译差异导致
修改内容: 无任何修改,编译器编译差异导致
修改内容: 删除暗桩。
原版:
修改版:
修改内容: 删除暗桩。
原版:
修改版:
修改内容: 新增Cat命令
原版:
修改版:
修改内容: 删除文件完整性检测。
原版:
修改版:
修改内容: 修改shouldPad属性为false
原版:
修改版:
修改内容: 删除了NULL jitter task的构造函数
原版:
修改版:
修改内容: 修改配置信息的异或密钥
原版:
修改版:
修改内容: 编译器差异,无变化。
修改内容:
•删除暗桩•修改命令生成逻辑
原版:
修改版:
修改内容: 编译器差异,无变化。
修改内容:
•修改Desktop、Hashdump、Screenshot、Logonpasswords的注入行为,由spawn改为注入自身所在进程,绕过360核晶•新增whoami、cat命令处理函数
原版:
修改版:
修改内容: 新增cat命令的命令执行处理回调
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 删除CS HTTP server this.sendError默认返回的状态提示信息。
原版:
修改版:
修改内容:
•修改URI checksum8编码的值•patch 信息泄露漏洞CVE-2022-23317
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 静态patch验证信息,设置解密密钥,完成破解。
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容:
•新增bUTF8String函数•修改从resource当中读取cobaltstrike.auth
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 删除文件完整性校验代码。
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 删除添加反病毒特征代码。
原版:
修改版:
修改内容: 修改beacon初始回连时,在eventconsole界面显示的信息。
原版:
修改版:
修改内容:
•修改读取beacon返回数据错误提示信息•修改授权信息•取消返回数据10240长度的限制
原版:
修改版:
修改内容: 删除判断系统启动环境。
原版:
修改版:
修改内容: 删除文件完整性校验不通过退出的暗桩。
原版:
修改版:
修改内容: 删除文件完整性校验不通过退出的暗桩。
原版:
修改版:
修改内容: 未完成开发的代码,没有什么实质性作用。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容:
•新增getResources方法•修改winvnc dll的路径
原版:
修改版:
修改内容:
•删除文件完整性校验暗桩•新增getTranscripts方法
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 删除文件完整性校验暗桩。
原版:
修改版:
修改内容: 修改TeamServer登录时服务端校验的头标志位。
原版:
修改版:
修改内容: 修改TeamServer登录时客户端发送的校验头标志位。
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 修改URI的结果为DogCsDogCs.js。
原版:
修改版:
修改内容: 修改URI的结果为DogCsDogCs.js。
原版:
修改版:
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
修改内容: 编译器差异,没有变化。
该DLL与外部third-party目录下的vnc dll相同。
该DLL与外部third-party目录下的vnc dll相同。
•bypass beaconEye•修改XOR key
同beacon.dll。
同beacon.dll。
同beacon.dll。
同beacon.dll。
同beacon.dll。
•修改动态加载的目的函数,从CorExitProcess改为CorExitThread•修改导入表ExitProcess为ExitThread
同hashdump.dll。
同hashdump.dll。
同hashdump.dll。
同hashdump.dll。
同hashdump.dll。
同hashdump.dll。
同hashdump.dll。
同beacon.dll。
同beacon.dll。
同hashdump.dll。
同hashdump.dll。
修改内容: 修改原来的致谢信息,改为自己定义的修改的特性列表。
原版:
修改版:
修改内容: 修改默认CS生成Stager、Beacon的UA头,改为自定义UA头
原版:
修改版:
修改内容: 新增FindAv插件
原版:
修改版: