wangtiankuo - 使用OD调试服务

先注册服务

在\HKEY_LOCAL_MACHINE\SYSTE\CurrentControlSet\services下新建项,在该项下面新建如下值,注意这些值的类型。

  • Description:服务的描述
  • DisplayName:服务显示的名字
  • ImagePath:服务程序所在路径
  • ObjectName:LocalSystem表示本地登录
  • ErrorControl:值为0x1
  • Start:值为0x2表示自动运行,值为0x3表示手动运行,值为0x4表示禁止运行
  • Type:应用程序为0x10,其他0x20

新建Enum项和Parameters项,Enum项不需要添加值,Parameters需要
Parameters项下面值的名称可以自己起,数据是服务程序的绝对路径,类型是REG_EXPAND_SZ。

启动服务

重启计算机,可以在服务中找到刚才注册的服务。

用OD调试服务

将服务程序的入口点改为CC,将OD设置为即时调试器,若有StrongOD插件,不要勾选Skip Some Exceptions。
启动该服务,会自动打开OD,并断在入口点处,将CC改为原来的数据就可以调试服务了。

总结

3个样本折腾了一周,总结一下。

分析样本之前要做的事情

  1. 拿到一堆样本之后不要直接就上手分析,看一下这一堆样本互相之间有没有联系。
  2. 运行样本,看样本都创建了什么进程,有什么行为,不要等分析到一半卡住了才想着要抓行为,抓包。
  3. 不要偷懒在同一个虚拟机里运行多个样本,这次长记性了吧,偷懒这一下,干扰分析进程至少1天。
  4. 拿样本中的字符串谷歌一下,也许这个样本别人已经分析过了,可以做参考,分析效率嗖嗖的。

    分析样本中要做的事情

  5. 把分析的过程记录下来,不要总想着分析完了写分析报告,分析了一会之后你就会忘记之前得到的信息。

  6. 要给自己规定时间,时间到了,就要开始把手上的信息总结一下,写报告,相当于整理思路了。

还悟到一件事情,写的分析报告是给客户看的,就不要写你是怎么分析的了,客户不在乎你是使用了什么调试方法才调试成功的,他想要的只是知道这个样本干了写什么,有没有收集信息,有没有联网,通信数据有没有加密,加密的话能不能解密,巴拉巴拉,反正就是与自身利益相关的东西。
如果学到什么新的分析技巧,就自己记录一下,不要写在分析报告里了。还有一点,以后遇到进程替换,请保持清醒的头脑,看到55就给他改成CC,我就不信断不下你。

看雪论坛 - [求助]如何用OD调试windows服务程序