首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
逆向工程
发新帖
1
1
[原创]破解某网络准入系统的多网卡连接检测机制(二)破解agent自动更新机制
发表于: 2026-5-18 16:42
1709
[原创]破解某网络准入系统的多网卡连接检测机制(二)破解agent自动更新机制
ranshaodexia
2026-5-18 16:42
1709
# 本文仅用于安全研究与技术学习,请勿用于任何违法用途。 书接上文。 上文最后提到,我将修改后的dll文件的MD5值也修改了,但还是无法通过检测,一看竟然又将原dll文件覆盖回来了。不是已经把MD5改过来了吗,按说应该通过校验了啊。查看发现存放MD5值的那个文件也被原文件覆盖回来了。那么现在的方向确定了,就是要破解agent自动更新的机制。 # 一、探究agent的自动更新机制 探究1:使用前文修改后的dll文件和新的MD5值,直接进行准入检测,可以通过检测,能够绕过多网卡检测机制。 探究2:在探究1的基础上,重启agent软件,检测不通过,发现dll文件和MD5值都被改回了原版本。即使不重启软件,agent每隔一段时间会向服务器发送心跳,同时也会在后台自动进行检测。一段时间后,就发现dll文件和MD5值就自动改回来了。 探究3:存储MD5值的文件夹名称叫update,怀疑软件重启时会将这个文件夹的内容与服务器进行同步。进一步发现agent安装根目录中有一个update.zip的压缩文件,打开一看,正是update文件夹中的内容。也就是说agent在启动时会与服务器进行同步,下载update.zip文件,然后解压覆盖update文件夹中的内容。 推测agent启动时更新的步骤: 1、与服务器同步下载update.zip。 2、解压至update文件夹进行覆盖。 3、将update文件夹中的所有MD5值与相对应的关键文件进行对比,相同的就跳过,不相同的就从服务器下载原版文件进行覆盖。 4、全部更新完成后,再正式启动agent的功能。 那么如何破解呢,最简单的办法就是,在解压文件的时候,不进行解压,直接返回解压成功即可。 # 二、逆向破解解压函数 步骤看着挺简单,但如何定位到这个函数呢。这一步我犯了愁,这么多dll文件,每个文件里面这么多函数,大部分还都是无法进行反编译的函数名,一个一个去找根本不现实。于是,抱着试试看的心态,我打开了上一篇中提到的那个供软件运维人员使用的工具箱。  里面的每一个工具都打开看看,说不定有什么线索。 其中有个“小助手日志查看”,里面的内容有点像wireshark一样,能够将实时的的agent的动作抓取下来,并给出一个简短的解释。这个东西就太好了,估计是给开发人员用的,按说这东西不应该打包安装在客户的电脑上,只有遇到问题时才应该由现场运维人员进行安装运行,然后由开发人员进行远程调试。这个东西将是后面我遇到任何问题时给我提供线索的工具。  这个日志查看工具,把agent运行的每一步都记录下来,而且记录了这一步用到了哪个dll文件以及其中的哪个函数。这简直就是像破解打开了一扇方便的大门啊! 于是利用这个工具,我抓取到了在agent启动时进行解压操作的那个dll文件(IsaManage.dll)及其函数名。通过IDA找到了具体的位置。当然在找的过程中,没有找到这个函数名,函数名应该是在编译时就去掉了,反编译没找出来,但通过查找string字符串的方式,还是定位到了具体的位置。之后就是NOP掉具体的解压操作,并返回解压成功。 这样,就再也不会解压update.zip了,无论从服务器怎么下载都没用了。于是我将这两个已修改的dll文件(MsacAssRuntimeCheck.dll和IsaManage.dll)以及它们在update文件夹中存储的MD5都改为了我的版本。从逻辑上来说,应该已经能够成功了吧。 但是,就在我满心欢喜启动检测的时候,发现得出的结果竟然跟上文中探究1和探究2中的结果一致,并且这次修改的dll文件和前文修改的dll文件也都还原了。这就让人有些崩溃了。 肯定是哪里还有我不知道的更新机制。 # 三、逆向破解自动更新 现在有点陷入了困难,我已经将解压操作绕过了,但IsaManage.dll文件还是被改回去了,通过日志工具抓取也没发现在解压前有更新文件的其他操作。难道说,还有其他别的函数在进行解压。嗯,大概率是这样的,但是我通过工具和其他手段短时间内是找不到这个函数的位置的。这可怎么办。 于是,从头开始梳理,发现在安装根目录,有一个update.zip.xml,存着update.zip的MD5值,这个xml文件是每次启动时从服务器下载下来的,修改这个文件没有意义。如果我将update.zip的MD5值的对比过程绕过,那么update.zip文件就再也不会更新了,那么update.zip中的所有MD5值只要我提前都改好了,无论它解压多少次,都会比对成功的。 那么这个update.zip文件的MD5值的比对操作,一定还在IsaManage.dll文件中,因为这一步是在解压前进行的,而根据日志,解压前只加载了这一个dll文件,其他文件都没加载。 于是就盯着这个dll文件,通过查找“update.zip”字段,定位到了具体的位置。将比对两个变量的汇编代码改成了自身比对自身,那么永远都是比对通过的,即永远不会下载新的update.zip文件了。 至此,破解完成! 作为新手,对IDA的使用还不是那么熟练,感谢AI的帮助!但是破解思路基本都是我自己的。最后贴个AI给我这次破解的评价,自夸一下,哈哈哈!  # 再次声明:本文仅用于安全研究与技术学习,请勿用于任何违法用途。
传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!!
收藏
・
1
点赞
・
1
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
wx_晨梦
期待更多优质内容的分享,论坛有你更精彩!
2026-7-16 05:33
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
2
)
YoungBai
雪 币:
1308
活跃值:
(1660)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
145
粉丝
2
关注
私信
YoungBai
2
楼
能把整个IsAgent打包分享下吗?或者是安装包.有时间研究一下.
2026-5-20 11:41
0
yuanyouran
雪 币:
286
活跃值:
(3090)
能力值:
( LV2,RANK:10 )
在线值:
发帖
5
回帖
184
粉丝
0
关注
私信
yuanyouran
3
楼
感谢分享
2026-5-20 14:41
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
ranshaodexia
4
发帖
2
回帖
10
RANK
关注
私信
他的文章
[原创]逆向 HanaAgent:一次 Electron 组件自还原机制的定位与禁用
297
[原创]破解某网络准入系统的多网卡连接检测机制(二)破解agent自动更新机制
1709
[原创]破解某网络准入系统的多网卡连接检测机制(一)破解多网卡检测但发现其他问题
3254
[原创]某PC单机游戏无限金币(新手初体验)
5589
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部