打开ini文件,看到一个字符串,明显是加密过的,很容易猜想dll会对其进行解密

首先关注到ini文件的使用方式

可知ini文件需要放到system32目录下,该dll才可以正确运行

100010B3函数对读取的每一位做计算

不晓得这堆数据有什么用


然后分析到100014B6函数:

合理猜测当这些dll或者exe运行时,会调用该恶意代码


分析installer函数:

很常见的注册表键值操作以及文件操作


分析113D函数块:

这里有可能是作为控制端的后门回传

接下来就可以试着动态调一调会发生什么

记得把ini文件放到C:\Windows\System32目录下

变化如下:

但是,这个文件没有被复制,也没有修改,那恶意代码是如何控制它呢?分析一下这个dll

和原来程序一模一样啊!


问题1:恶意dll导出了什么

导出了一个和自己一样的spoolvxx32.dll


问题2:使用rundll32.exe安装这个恶意代码后会发生什么

A:系统原有的spoolvxx32.dll被覆盖

B:该恶意dll被写入了注册表

问题3:为了使得dll正常安装,ini文件应该放在哪里

C:\Windows\System32

问题4:代码如何驻留

注册表的写入



问题5:用户态Rootkit技术

不会,事后查询下

问题6:挂钩代码

不会

问题7:哪些进程执行这个恶意攻击

函数14B6中的所有进程


问题8:ini文件作用

保存一些恶意数据?不太知道


问题9:如何使用Wireshark来抓包分析



PLUS:

只把恶意代码的流程和驻留分析清楚了,剩下的细节需要从网络上学习

https://hunted.codes/writeups/challenges/practical-malware-analysis/practical-malware-analysis-lab-11-2/

用户态的Rootkit技术:

如果父进程是目标,那么暂停该线程;安装钩子;完成之后继续正常操作

13BD:suspend_proc_thread

12A3:prep_hook

1499:resume_proc_thread


在outlook中找到msimn.exe,拖入OD


加密解密的算法还是看到的那一个,从结果反着推也没有弄明白:

当a2 = 50的时候,为啥右边括号里的都会是33

所以,只能这么想:a2是一个常数(传进来的),所以右边括号里的数一定是个常数,那么异或的是一个定值,可以暴力跑出来哪个值是有意义的