dogcs 4.4 patch补丁分析
2022-8-5 15:52:37 Author: yougar0x00的赛博时空(查看原文) 阅读量:20 收藏


声明

最近某重要活动,安全娱乐圈里流传出来了一些图片,说某公鸡队的teamserver被登录了,然后beacon全被删了。看截图是用的dogcs 4.4。

15ffdda9976abff4675d31fc7bfde67.jpg


就凭这些就去吐槽别人开发的工具有后门,被反制全是开发工具的问题。。。真的麻了,婊子你要当,牌坊你也要立。。。。
后面大佬直接发声明再也不公开dogcs系列了,好好的4.5就这么被埋没了,真的无语了。

image.png


作为大佬的一名死灰级粉丝(没有见过大佬,但一直在分析大佬写的代码,偷学思路),笔者实在忍无可忍,决定公开之前的dogcs 4.4 patch补丁分析笔记(这份笔记早在2周前就已经分析完了,本不打算公开),为大佬声援一波,证实到底有没有放后门。分析花了有5天吧,业余时间就在分析。

加入我们的社区

社区内全是实实在在分享干货的大佬,投资自己,换来更多的回报,这门买卖并不亏。

a1af86d9b64f082b359d441479123ca.jpg

前言

github上看到巨佬发的DogCS_4.4,忍不住想去看下巨佬新增的代码是啥样子的。

文件对比

首先便是拿原版的jar包与修改后的对比,diff结果显示以下文件存在变化。

aggressor/Aggressor.classaggressor/AggressorClient.classaggressor/browsers/Connect.classaggressor/browsers/Sessions.classaggressor/dialogs/AboutDialog.classaggressor/dialogs/ConnectDialog.classaggressor/headless/Start.classaggressor/MultiFrame.classaggressor/TabManager.classaggressor/windows/BeaconConsole.classaggressor/windows/CredentialManager.classaggressor/windows/DownloadBrowser.classaggressor/windows/FileBrowser.classaggressor/windows/Files.classaggressor/windows/KeystrokeBrowser.classaggressor/windows/ScreenshotBrowser.classaggressor/windows/SecureShellConsole.classbeacon/BeaconC2.classbeacon/BeaconData.classbeacon/BeaconHTTP.classbeacon/BeaconPayload.classbeacon/BeaconSetup.classbeacon/CommandBuilder.classbeacon/jobs/DesktopJob.classbeacon/TaskBeacon.classbeacon/TaskBeaconCallback.classbeacon/Tasks.classc2profile/MalleableHook.classc2profile/MalleableStager.classcloudstrike/NanoHTTPD.classcloudstrike/WebServer.classcommon/AssertUtils.classcommon/AuthCrypto.classcommon/Authorization.classcommon/BeaconEntry.classcommon/CommonUtils.classcommon/Download.classcommon/Helper.classcommon/License.classcommon/ListenerConfig.classcommon/LoggedEvent.classcommon/MudgeSanity.classcommon/Requirements.classcommon/Starter.classcommon/Starter2.classcommon/TeamSocket.classdns/AsymmetricCrypto.classdns/BaseSecurity.classserver/Beacons.classserver/Listeners.classserver/ManageUser.classserver/Resources.classserver/ServerUtils.classserver/TeamServer.classsleeve/beacon.dllsleeve/beacon.x64.dllsleeve/dnsb.dllsleeve/dnsb.x64.dllsleeve/extc2.dllsleeve/extc2.x64.dllsleeve/hashdump.dllsleeve/hashdump.x64.dllsleeve/mimikatz-chrome.x64.dllsleeve/mimikatz-chrome.x86.dllsleeve/mimikatz-full.x64.dllsleeve/mimikatz-full.x86.dllsleeve/mimikatz-min.x64.dllsleeve/mimikatz-min.x86.dllsleeve/pivot.dllsleeve/pivot.x64.dllsleeve/screenshot.dllsleeve/screenshot.x64.dllssl/SecureServerSocket.classssl/SecureSocket.classstagers/BeaconBindStagerX64.classstagers/BeaconBindStagerX86.classstagers/BeaconDNSStagerX86.classstagers/BeaconHTTPSStagerX64.classstagers/BeaconHTTPSStagerX86.classstagers/BeaconHTTPStagerX64.classstagers/BeaconHTTPStagerX86.classstagers/BeaconPipeStagerX86.classstagers/ForeignHTTPSStagerX86.classstagers/ForeignHTTPStagerX86.classstagers/ForeignReverseStagerX64.classstagers/ForeignReverseStagerX86.classstagers/GenericBindStager.classstagers/GenericDNSStagerX86.classstagers/GenericHTTPSStagerX64.classstagers/GenericHTTPSStagerX86.classstagers/GenericHTTPStager.classstagers/GenericHTTPStagerX64.classstagers/GenericHTTPStagerX86.classstagers/GenericStager.classstagers/Stagers.classresources/credits.txtresources/ua.txtresources/winvnc.x64.dllresources/winvnc.x86.dllscripts/default.cna

JAVA端

aggressor/Aggressor.class

修改内容:修改Version信息修改UI风格,改为FlatIntelliJLaf删除CS的文件完整性校验

原版:

image.png
image.png


修改版:

image.png
image.png

aggressor/AggressorClient.class

修改内容: 客户端界面显示的标题
原版:

image.png


修改版:

image.png

aggressor/browsers/Connect.class

修改内容:

修改连接按钮标题修改帮助按钮标题,点击后弹出changelog

原版:

image.png


修改版:

image.png

aggressor/browsers/Sessions.class

修改内容:

修复修改UI风格之后 JTable渲染Icon的bug在界面上添加所有Beacon和在线Beacon元素

原版:

image.png


修改版:

image.png
image.png

aggressor/dialogs/AboutDialog.class

修改内容:

修改Logo图片修改creds.txt里的致谢信息,并用bUTF8String函数加载

原版:

image.png


修改版:

image.png

aggressor/dialogs/ConnectDialog.class

修改内容:

修改连接TeamServer窗口的标题信息修改新建连接Profile界面的提示标题信息和默认的账号、密码、端口删除HostNames、Alias Names按钮,增加Readme.md按钮

原版:

image.png
image.png


修改版:

image.png
image.png

aggressor/headless/Start.class

修改内容: 无任何修改,编译器编译差异导致

aggressor/MultiFrame.class

修改内容: 无任何修改,编译器编译差异导致

aggressor/TabManager.class

修改内容: 无任何修改,编译器编译差异导致

aggressor/windows/BeaconConsole.class

修改内容: 新增whoami、cat命令
原版:

image.png


修改版:

image.png

aggressor/windows/CredentialManager.class

修改内容: 删除暗桩
原版:

image.png


修改版:

image.png

aggressor/windows/DownloadBrowser.class

修改内容: 修改下载文件管理页面的显示元素的顺序。
原版:

image.png


修改版:

image.png

aggressor/windows/FileBrowser.class

修改内容: 无任何修改,编译器编译差异导致

aggressor/windows/Files.class

修改内容: 无任何修改,编译器编译差异导致

aggressor/windows/KeystrokeBrowser.class

修改内容: 删除暗桩。
原版:

image.png


修改版:

image.png

aggressor/windows/ScreenshotBrowser.class

修改内容: 删除暗桩。
原版:

image.png


修改版:

image.png

aggressor/windows/SecureShellConsole.class

修改内容: 新增Cat命令
原版:

image.png


修改版:

image.png

beacon/BeaconC2.class

修改内容: 删除文件完整性检测。
原版:

image.png


修改版:

image.png

beacon/BeaconData.class

修改内容: 修改shouldPad属性为false
原版:

image.png


修改版:

image.png

beacon/BeaconHTTP.class

修改内容: 删除了NULL jitter task的构造函数
原版:

image.png
image.png


修改版:

image.png

beacon/BeaconPayload.class

修改内容: 修改配置信息的异或密钥
原版:

image.png


修改版:

image.png

beacon/BeaconSetup.class

修改内容: 编译器差异,无变化。

beacon/CommandBuilder.class

修改内容:

删除暗桩修改命令生成逻辑

原版:

image.png


修改版:

image.png

beacon/jobs/DesktopJob.class

修改内容: 编译器差异,无变化。

beacon/TaskBeacon.class

修改内容:

修改Desktop、Hashdump、Screenshot、Logonpasswords的注入行为,由spawn改为注入自身所在进程,绕过360核晶新增whoami、cat命令处理函数

原版:

image.png
image.png
image.png
image.png


修改版:

image.png
image.png
image.png
image.png
image.png

beacon/TaskBeaconCallback.class

修改内容: 新增cat命令的命令执行处理回调
修改版:

image.png

beacon/Tasks.class

修改内容: 编译器差异,没有变化。

c2profile/MalleableHook.class

修改内容: 编译器差异,没有变化。

c2profile/MalleableStager.class

修改内容: 编译器差异,没有变化。

cloudstrike/NanoHTTPD.class

修改内容: 删除CS HTTP server this.sendError默认返回的状态提示信息。
原版:

image.png
image.png
image.png


修改版:

image.png
image.png
image.png

cloudstrike/WebServer.class

修改内容:

修改URI checksum8编码的值patch 信息泄露漏洞CVE-2022-23317

原版:

image.png
image.png


修改版:

image.png
image.png

common/AssertUtils.class

修改内容: 编译器差异,没有变化。

common/AuthCrypto.class

修改内容: 编译器差异,没有变化。

common/Authorization.class

修改内容: 静态patch验证信息,设置解密密钥,完成破解。
原版:

image.png


修改版:

image.png

common/BeaconEntry.class

修改内容: 编译器差异,没有变化。

common/CommonUtils.class

修改内容:

新增bUTF8String函数修改从resource当中读取cobaltstrike.auth

原版:

image.png


修改版:

image.png
image.png

common/Download.class

修改内容: 编译器差异,没有变化。

common/Helper.class

修改内容: 删除文件完整性校验代码。
原版:

image.png


修改版:

image.png

common/License.class

修改内容: 编译器差异,没有变化。

common/ListenerConfig.class

修改内容: 删除添加反病毒特征代码。
原版:

image.png


修改版:

image.png

common/LoggedEvent.class

修改内容: 修改beacon初始回连时,在eventconsole界面显示的信息。
原版:

image.png


修改版:

image.png

common/MudgeSanity.class

修改内容:

修改读取beacon返回数据错误提示信息修改授权信息取消返回数据10240长度的限制

原版:

image.png
image.png
image.png


修改版:

image.png
image.png
image.png

common/Requirements.class

修改内容: 删除判断系统启动环境。
原版:

image.png


修改版:

image.png

common/Starter.class

修改内容: 删除文件完整性校验不通过退出的暗桩。
原版:

image.png


修改版:

image.png

common/Starter2.class

修改内容: 删除文件完整性校验不通过退出的暗桩。
原版:

image.png


修改版:

image.png

common/TeamSocket.class

修改内容: 未完成开发的代码,没有什么实质性作用。

dns/AsymmetricCrypto.class

修改内容: 编译器差异,没有变化。

dns/BaseSecurity.class

修改内容: 编译器差异,没有变化。

server/Beacons.class

修改内容: 编译器差异,没有变化。

server/Listeners.class

修改内容: 编译器差异,没有变化。

server/ManageUser.class

修改内容:

新增getResources方法修改winvnc dll的路径

原版:

image.png


修改版:

image.png
image.png

server/Resources.class

修改内容:

删除文件完整性校验暗桩新增getTranscripts方法

原版:

image.png


修改版:

image.png

server/ServerUtils.class

修改内容: 编译器差异,没有变化。

server/TeamServer.class

修改内容: 删除文件完整性校验暗桩。
原版:

image.png


修改版:

image.png

ssl/SecureServerSocket.class

修改内容: 修改TeamServer登录时服务端校验的头标志位。
原版:

image.png


修改版:

image.png

ssl/SecureSocket.class

修改内容: 修改TeamServer登录时客户端发送的校验头标志位。
原版:

image.png


修改版:

image.png

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

修改内容: 修改URI的结果为DogCsDogCs.js。
原版:

image.png


修改版:

image.png

stagers/ForeignHTTPStagerX86.class

修改内容: 修改URI的结果为DogCsDogCs.js。
原版:

image.png


修改版:

image.png

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

修改内容: 编译器差异,没有变化。

DLL端

resources/winvnc.x64.dll

该DLL与外部third-party目录下的vnc dll相同。

resources/winvnc.x86.dll

该DLL与外部third-party目录下的vnc dll相同。

sleeve/beacon.dll

bypass beaconEye修改XOR key

image.png
image.png

sleeve/beacon.x64.dll

同beacon.dll。

sleeve/dnsb.dll

同beacon.dll。

sleeve/dnsb.x64.dll

同beacon.dll。

sleeve/extc2.dll

同beacon.dll。

sleeve/extc2.x64.dll

同beacon.dll。

sleeve/hashdump.dll

修改动态加载的目的函数,从CorExitProcess改为CorExitThread修改导入表ExitProcess为ExitThread

image.png
image.png

sleeve/hashdump.x64.dll

同hashdump.dll。

sleeve/mimikatz-chrome.x64.dll

同hashdump.dll。

sleeve/mimikatz-chrome.x86.dll

同hashdump.dll。

sleeve/mimikatz-full.x64.dll

同hashdump.dll。

sleeve/mimikatz-full.x86.dll

同hashdump.dll。

sleeve/mimikatz-min.x64.dll

同hashdump.dll。

sleeve/mimikatz-min.x86.dll

同hashdump.dll。

sleeve/pivot.dll

同beacon.dll。

sleeve/pivot.x64.dll

同beacon.dll。

sleeve/screenshot.dll

同hashdump.dll。

sleeve/screenshot.x64.dll

同hashdump.dll。

其他

resources/credits.txt

修改内容: 修改原来的致谢信息,改为自己定义的修改的特性列表。
原版:

image.png


修改版:

image.png

resources/ua.txt

修改内容: 修改默认CS生成Stager、Beacon的UA头,改为自定义UA头
原版:

image.png


修改版:

image.png

scripts/default.cna

修改内容: 新增FindAv插件
原版:

image.png


修改版:

image.png

文章来源: http://mp.weixin.qq.com/s?__biz=MzU5NTg1NzIzNg==&mid=2247484803&idx=1&sn=8249f10fd0eac54b60f2134da97fc7b0&chksm=fe6adfb8c91d56ae9896e4918eb218b7b02012f53979c382415d8f34ea9059bb68af608e796f#rd
如有侵权请联系:admin#unsafe.sh