首页
社区
课程
招聘
[原创]在线安装包那些事
发表于: 2021-4-9 20:29 3740

[原创]在线安装包那些事

2021-4-9 20:29
3740

目录

前因

今天因某些需要,需要安装一款软件,访问官方下载其安装包,但下载完毕之后发现是在线安装包,仔细搜索无果,没找到其它安装程序,先安装用下吧,但可以提取下,用于之后的离线安装与收藏所用。

说明

此贴通过动态分析法,简单的分析与溯源在线安装包的网络行为。
常见的在线安装
软件官方策略考虑(例如:推广、更新、维护),一般在线安装是运行在线安装程序,进行一些配置后,下载最新的离线安装包到临时文件夹,并根据配置信息进行安装,之后删除离线安装包。

安全隐患

  • 在线安装可能出现捆绑安装现象(在用户未知情况下安装一些非用户当前安装所知软件,例如:就只有安装解压软件的需求,但结果是解压软件安装完又安装了一个浏览器)
  • 安装源被入侵:攻击者替换源安装程序,用户在不知情的情况下,安装了非官方软件,导致被入侵
  • 安装环境存在限制:需有网络支撑,并此网络可访问下载源(就是可访问下载离线安装包的地址)

示例

CheatEngine72

  • 备注:降低学习难度就不静态分析了,直接在火绒剑监控下进行安装,之后看看具体行为
  • 安全考虑:在虚拟机内运行或实体机影子系统下(做好防护,避免运行的文件存在恶意行为,因防护不当造成损失)
  • 安装时遇到的情况:出现了捆绑安装,但还好的是拦截到了

分析流程:

运行动态监控

  • 运行在线安装包前,开启火绒剑监控
  • 安装完毕后,关闭火绒剑监控
  • 筛选:因属于全局行为监控,方便分析故筛选下,排除目前来看无用的监控

信息筛选

搜索输入
CheatEngine72
备注:正常情况下属于运行程序的文件名即可,但不排除进程做动态变名处理导致搜索结果与预期不符的现象
复制代码
,之后点击向下寻找(根据实际情况进行相关操作),找到需要的目标后(这里是:进程名为CheatEngine72.exe),选择并右键-包含某某

  • 简单筛选后,直接看到了离线下载包,但因安装完毕,离线下载包已被清理了
  • 寻找离线下载包链接
    这里我是在运行前,使用fiddler 4开启了网络监控,用于捕获网络数据
    离线安装包下载地址

    1
    https://d2u4d080ckhplh.cloudfront.net/f/CheatEngine/CheatEngine72.exe


    捆绑软件的下载地址

    1
    2
    https://d2u4d080ckhplh.cloudfront.net/f/Opera/files/OperaSetup.zip
    https://d2u4d080ckhplh.cloudfront.net/f/AVAST/files/cookie_mmm_irs_ppi_005_888_a.zip


    软件安装时展示的宣传图片
    备注:没想到是网络加载进来的

    1
    2
    https://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
);

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-5-25 10:29 被梦幻的彼岸编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//