转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> MySql >> 正文
联机的Linux的系统分析(第二部分)(第一版)         ★★★★

联机的Linux的系统分析(第二部分)(第一版)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2364 更新时间:2009/4/22 20:45:22
0xc02c20bc <sys_call_table+32>: 0xc0138930 0xc01445c0

 

0xc01217c0是sys_ni_call系统调用地址, 0xc011ac50是sys_exit地址调用地址.

 

如果信任来自Syetem.map文件或者ksyms文件的地址那么我们可以比较所有的地制值.当然入侵者不会改变所有的系统观调用地址值.比如sys_read,sys_getdents,sys_write这些普通进程.

 

例2.活动进程列表

 

为了能得到整个运行进程的列表我们必须找出init_task_union结构体.这个结构体指明了第一个进程的描述符,这个被称为"process 0" 或者 "swapper".

 

# cat Symbol.map | grep init_task_union

c02da000 D init_task_union

 

下一步是如何找出整个结构体.其实init_task struct可以在源代码中的sched.h头文件中被找到,同时task_struct这个结构体也可以在这个头文件中被找到.

 

#define INIT_TASK(tsk)                                   

{                                                 

    state:      0,                       

    flags:      0,                        

    sigpending: 0,                        

    addr_limit: KERNEL_DS,                  

    exec_domain:    &default_exec_domain,     

...

    run_list:   LIST_HEAD_INIT(tsk.run_list), 

    time_slice: HZ,                     

    next_task:  &tsk,                      

    prev_task:  &tsk,                         

    p_opptr:   &tsk,                        

...

对于我们进程描述符中的重要部分是prev_task和next_task..它们可以帮助我们建立进程列表. next_task指向进程的下一个进程的描述符, prev_task指向被插入的最后一个进程的描述符.

 

在下面,我列举了进程描述符的片断,这些是在地址: 0xc514c000处被找到的.

 

(gdb) x/180x 0xc514c000

...

0xc514c040:     0x00000000 0xffffffff     0x00000004      0xc1be0000

0xc514c050:     0xc4dac000 0xc5ea8e40     0xc5ea8e40      0xc02c56d4

...

0xc514c070:     0x00000001 0x00001ace     0x00001ace      0x00000000

...

0xc514c230:     0xffffffff 0xffffffff     0x61620000      0x00006873

0xc514c240:     0x00007974 0x00000000     0x00000000      0x00000000

...

说明:

0xc1be0000 is the next_task

0xc4dac000 is the prev_task

0x00001ace is the process PID = 6268 in decimal format

0x61620000 and 0x00006873 is the name of process (the comm table in the struct) = "bash" in this particular example

 

打印出进程的下一个描述符我们这么做:

(gdb) x/180x 0xc1be0000

 

从每个进程描述符的信息我们可以建立所有活动进程的列表.

 

3. 总结

 

本文的目的是介绍一些数据收集,基本和高级分析的方法.特别地,我将精力聚焦在我们强行关闭系统后丢失数据上.这个部分的定性分析何事后措施很难完成,我们必须对每个步骤都非常小心并且要保证纪录(文档)每个细节.我们也可以看到用软件收集过程的好处和弊端.在最后我向你介绍了如何在Linux系统中进行收集操作,其实你完全可以将这些步骤移植到其他操作系统上.未来将有一篇指导你如何在Windows操作系统中收集入侵数据的文章.

 

参考:

  • Adore-ng rootkit, http://stealth.7350.org/rootkits/
  • Alessandro Rubini, Jonathan Corbet. Linux Device Drivers, 2nd Edition. O''''Reilly; 2001.
  • Dan Farmer, Wietse Venema. Column series for the Doctor Dobb''''s Journal. http://www.porcupine.org/forensics/column.html.
  • Daniel P. Bovet, Marco Cesati. Understanding the Linux Kernel, 2nd Edition. O''''Reilly; 2002.
  • Kernel source code. http://www.kernel.org/
  • Linux manual pages.
  • National Institute of Standards and Technology. Computer Security Incident Handling Guide. http://csrc.nist.gov/.
  • 上一页  [1] [2] [3] [4] [5]  下一页


    [MySql]联机的Linux的系统分析(第一部分)(第一版)  
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台