恶意代码分析实战 Lab7

lab07-011惯例静态分析一波结论::无加密,输入表两个关键dll,显示程序会有网络和注册表相关操作(ADVAPI32.dll和WININET.dll),kernel.dll导入了互斥量和线程相关操作,认识的dll和函数也就这些了再看看字符串...
摘要由CSDN通过智能技术生成

lab07-01

1惯例静态分析一波结论::无加密,输入表两个关键dll,显示程序会有网络和注册表相关操作(ADVAPI32.dll和WININET.dll),kernel.dll导入了互斥量和线程相关操作,认识的dll和函数也就这些了


再看看字符串


分析主函数:看两个关键参数(lpservicename和lpserviceproc)和两个关键函数(startservicectrldispatcher和sub_401040),startservocectrldispacher函数将主线程链接到服务控制管理器,说明lab07-01要作为服务程序运行,服务名字是MalService,开始运行地址是sub_401040,所以分析一下sub_401040就可以知道他在干嘛.


双击跳转到401040处,看程序流程图分析一波:

首先是openmutex检查互斥量HGL345是否存在,存在这说明已经有一个恶意程序在运行了,所以就直接就结束程序,如果不存在则createmutex创建这个互斥量

然后是打开openscmanager得到服务控制管理器句柄备用

然后getcurrentprocess得到进程句柄备用

然后getmodulefilename得到当前进程路径名备用

然后createservice把前面备用的都当参数传进去了创建了个malservice'服务,注意参数0x02(dwstarttype)是自启动

然后systemtimetofiletime将系统时间转换为文件格式备用,其中年设置为2100其他都是0(2010年1月1日00:00)然后他把这个时间传给了setwaitabletimer

然后createwaitabletimer创建同步定时器对象,对象句柄备用

然后setwaitabletimer激活(使用前两个备用作为关键参数)

最后waitforsingleobject等待定时器对象处于信号状态或超时间间隔结束(FFFFFFFFh这么长时间等到啥时候),只有等待成功返回0那么程序就接着做,否则跳转去sleep了(依照参数要等到2100年1月1日吃啊处于信号状态)

那么成功等待之后做啥呢:

首先设置了14h大小的循环控制变量,然后createthread创建线程 14h次就也转去睡觉了.那么这些线程做啥:看startaddress



就做一件事一直链接加载这个网址http://www.ma

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值