恶意代码分析实战 — Lab 07-01

Lab 07-01

Advapi32.dll与 service服务创建开启有关

Wininet.dll与网络访问有关

Idapro载入,main函数调用StartServiceCtrlDispatcherA开启服务,然后调用sub_401040函数

进入函数,调用OpenMutexA来访问名为HGL345的互斥量,如果存在,则直接ExitProcess,不存在则CreataMutexA创建这个互斥量

OpenSCManagerA用于打开服务控制管理器句柄,方便修改和添加服务;GetCurrentProcess获取当前进程句柄,然后调用GetModuleFileNameA获取运行程序完整路径

然后CreateServiceA创建一个服务

Displayname 服务名称 Malservice

ipBinaryPathName保存程序完整路径

dwStartType,服务启动选项 service_auto_start = 2 自启动

dwServiceType,服务类型 service_win32_own_process = 0x10 独立进程运行

Xor edx,edx 清零

systemTime获取系统时间,包括year,week,hour,second,也就是现将这些参数置零

设置year = 2100,然后SystemTimeToFileTime系统时间转为文件时间

然后调用CreateWaitableTimerA ,SetWaitableTimer,WaitForSingleObject函数,等待时间为lpDueTime,是FileTime赋值而来,也就是说程序一直等待,知道2100年凌晨触发执行

执行时,CreateThread 创建20个线程,ipStartAddress参数保存创建哪些线程

双击StartAddress进入代码查看,InternetOpenA创建一个User-Agent = IE 8.0的线程,然后InternetOpenUrlA访问http://www.malwareanalysisbook.com 这个站点,访问结束后jmp跳转回来继续访问,会一直循环无退出

结论:

此恶意代码会创建一个Malservice的服务和HGL345的互斥量,然后一直潜伏等待,当时间来到2100年凌晨时,触发执行,创建20个线程,每一个都使用IE8.0代理不停的访问www.malwareanalysisbook.com站点,实现DDOS攻击的效果。

您可能还喜欢...