-
-
[原创]在线安装包那些事
-
发表于: 2021-4-9 20:29 3774
-
前因
今天因某些需要,需要安装一款软件,访问官方下载其安装包,但下载完毕之后发现是在线安装包,仔细搜索无果,没找到其它安装程序,先安装用下吧,但可以提取下,用于之后的离线安装与收藏所用。
说明
此贴通过动态分析法,简单的分析与溯源在线安装包的网络行为。
常见的在线安装
软件官方策略考虑(例如:推广、更新、维护),一般在线安装是运行在线安装程序,进行一些配置后,下载最新的离线安装包到临时文件夹,并根据配置信息进行安装,之后删除离线安装包。
安全隐患
- 在线安装可能出现捆绑安装现象(在用户未知情况下安装一些非用户当前安装所知软件,例如:就只有安装解压软件的需求,但结果是解压软件安装完又安装了一个浏览器)
- 安装源被入侵:攻击者替换源安装程序,用户在不知情的情况下,安装了非官方软件,导致被入侵
- 安装环境存在限制:需有网络支撑,并此网络可访问下载源(就是可访问下载离线安装包的地址)
示例
CheatEngine72
- 备注:降低学习难度就不静态分析了,直接在火绒剑监控下进行安装,之后看看具体行为
- 安全考虑:在虚拟机内运行或实体机影子系统下(做好防护,避免运行的文件存在恶意行为,因防护不当造成损失)
- 安装时遇到的情况:出现了捆绑安装,但还好的是拦截到了
分析流程:
运行动态监控
- 运行在线安装包前,开启火绒剑监控
- 安装完毕后,关闭火绒剑监控
- 筛选:因属于全局行为监控,方便分析故筛选下,排除目前来看无用的监控
信息筛选
搜索输入
CheatEngine72
备注:正常情况下属于运行程序的文件名即可,但不排除进程做动态变名处理导致搜索结果与预期不符的现象
复制代码
,之后点击向下寻找(根据实际情况进行相关操作),找到需要的目标后(这里是:进程名为CheatEngine72.exe),选择并右键-包含某某
- 简单筛选后,直接看到了离线下载包,但因安装完毕,离线下载包已被清理了
寻找离线下载包链接
这里我是在运行前,使用fiddler 4开启了网络监控,用于捕获网络数据
离线安装包下载地址1https:
/
/
d2u4d080ckhplh.cloudfront.net
/
f
/
CheatEngine
/
CheatEngine72.exe
捆绑软件的下载地址12https:
/
/
d2u4d080ckhplh.cloudfront.net
/
f
/
Opera
/
files
/
OperaSetup.
zip
https:
/
/
d2u4d080ckhplh.cloudfront.net
/
f
/
AVAST
/
files
/
cookie_mmm_irs_ppi_005_888_a.
zip
软件安装时展示的宣传图片
备注:没想到是网络加载进来的12https:
/
/
d2u4d080ckhplh.cloudfront.net
/
f
/
AVAST
/
images
/
PNG2
/
EN.png
https:
/
/
d2u4d080ckhplh.cloudfront.net
/
f
/
Opera
/
images
/
pngs
/
V2
/
allBG
/
EN.png
反汇编分析
反汇编定位下载捆绑文件
调用文件追踪:
选择一个URL右键,转到-上一个引用
分析思路描述
开始动态分析主程序的时候,发现下网络断点失败,感觉可以,明明在线安装程序,为什么没有使用网络函数,后附加调试的时候发现,其网络程序是通过主程序释放的文件进行的,附加此程序,成功断下。
根据网络函数断下之后,溯源网络请求时找不到URL,fiddler监听并单步调试,发现访问下载地址出现问题,访问地址残缺,感觉是拼凑字符串进行访问的
就以域名为关键字搜索了下,成功断下
1 2 | d2u4d080ckhplh.cloudfront 根据域名信息进行搜索 |
继续运行,成功断下,并看到ce离线安装包下载地址
释放此断点开始正常下载后,又在下载捆绑文件时成功断下,并在堆栈信息看到了完成的连接内容
堆栈信息往上翻,看到了拼接目录信息
1 | 0019E914 00A734B8 L "/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip" |
堆栈信息继续网上翻--好久
看到了完整的下载引用信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 0019CD6C 0019CEEC L "es/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CD70 00518673 返回到 cheatengine72. 00518673 自 cheatengine72. 004146F0 0019CD74 00414778 cheatengine72. 00414778 0019CD78 0007030C 0019CD7C 00000020 0019CD80 00090352 0019CD84 02000001 0019CD88 0019CEEC L "es/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CD8C 00000020 0019CD90 0019CFA0 L "\\prod0\"" 0019CD94 0750C1B0 & "滥Q" 0019CD98 005B15C3 返回到 cheatengine72. 005B15C3 自 cheatengine72. 00518588 0019CD9C 0019CFA0 L "\\prod0\"" 0019CDA0 0750C1B0 & "滥Q" 0019CDA4 005195C4 返回到 cheatengine72. 005195C4 自 ??? 0019CDA8 00000000 0019CDAC 0051BCB3 返回到 cheatengine72. 0051BCB3 自 cheatengine72. 00516CE0 0019CDB0 0000007A 0019CDB4 00000020 0019CDB8 00000020 0019CDBC 0750C1B0 & "滥Q" 0019CDC0 0019CFA0 L "\\prod0\"" 0019CDC4 00513B5D 返回到 cheatengine72. 00513B5D 自 ??? 0019CDC8 00000020 0019CDCC 00000000 0019CDD0 0019CFA0 L "\\prod0\"" 0019CDD4 74AD4420 gdi32full. 74AD4420 0019CDD8 0019CF78 L "al\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CDDC 00000037 0019CDE0 0019CE70 L "Downloading \"https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CDE4 0019CEF8 L "kie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" = = & "; const SubKeyName, ValueName: String; var ResultStr: AnsiString): Boolean;" 0019CDE8 0019CEE0 L "ST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CDEC 0752B78C L "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0" 0019CDF0 00000011 0019CDF4 0019CE7C L "ading \"https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CDF8 04EF6B70 & "滥Q" 0019CDFC 00000000 0019CE00 00000002 0019CE04 025786D8 L "s\"" 0019CE08 025786AC L "Downloading \"%s\" to \"%s\"" 0019CE0C 00000FFF 0019CE10 0019CE70 L "Downloading \"https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CE14 00000000 0019CE18 00EF6E50 0019CE1C 0019CFAE 0019CE20 00001EC0 0019CE24 FFFFFFFF 0019CE28 0053CE98 cheatengine72. 0053CE98 0019CE2C FFFFFFFF 0019CE30 0019CE4C &L "Downloading \"https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" 0019CE34 00424419 返回到 cheatengine72. 00424419 自 cheatengine72. 00424880 0019CE38 006D16C8 cheatengine72. 006D16C8 0019CE3C 00000001 0019CE40 04F13E48 0019CE44 00406F16 返回到 cheatengine72. 00406F16 自 ??? 0019CE48 07567D82 L "od0\"" 0019CE4C 07567C4C L "Downloading \"https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip\" to \"C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\is-B7V3D.tmp\\prod0\"" |
到这里就不继续分析了意义不是很大了,之后就是反编译查看了,这里暂时不编写了。
扩展
UrlCanonicalizeW 函数解析
将URL字符串转换为规范形式:
1 2 3 4 5 6 | LWSTDAPI UrlCanonicalizeW( PCWSTR pszUrl, PWSTR pszCanonicalized, DWORD * pcchCanonicalized, DWORD dwFlags ); |
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [原创]物联网安全:基础篇 4231
- 威胁情报小课堂:阻止活跃勒索软件的感染 2221
- [翻译]发现利用 Facebook 和 MS 管理控制台实施的 Kimsuky APT 攻击 7128
- 威胁情报小课堂:LockBit Black 2120
- 威胁情报小课堂:Nitrogen 2105