首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这个perl恶意软件与更改"$0“有什么关系?

这个perl恶意软件与更改"$0“有什么关系?
EN

Stack Overflow用户
提问于 2013-11-11 15:03:33
回答 2查看 447关注 0票数 6

我们在周末入侵了我们的服务器,我正在试图追踪入侵者的踪迹。他们似乎运行了一个perl脚本,导致一个名为init的www数据进程以100%的速度运行。不幸的是,我没有perl的专业知识,所以我不知道这是在做什么:

代码语言:javascript
运行
复制
 6 my $processo =("atd","sendmail: accepting connections","rpc.idmapd","syslogd -m 0","/sbin/udevd -d","/sbin/init");
# ...
24 use IO::Socket;
25 use Socket;
26 use IO::Select;
27 chdir("/tmp");
28 $servidor="$ARGV[0]" if $ARGV[0];
29 $0="$processo"."\0"x16;;
30 my $pid=fork;
31 exit if $pid;

在我看来,第29行的指令是为了隐藏这个过程。它到底是做什么的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 15:09:48

来自perldoc perlvar

在一些(但不是全部)操作系统上,分配给$0的操作系统修改了ps程序所看到的参数区域。在某些平台上,您可能需要使用特殊的ps选项或不同的ps来查看更改。修改$0作为指示当前程序状态的方法比隐藏正在运行的程序更有用。

所以是的,你的说法是正确的。它试图掩盖它是如何在ps中出现的。

票数 11
EN

Stack Overflow用户

发布于 2013-11-11 16:29:47

这一行似乎是故意混淆的:

代码语言:javascript
运行
复制
my $processo =("atd","sendmail: accepting connections","rpc.idmapd","syslogd -m 0","/sbin/udevd -d","/sbin/init");

它相当于:

代码语言:javascript
运行
复制
my $processo = "/sbin/init";
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19909424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档