Advertisement
Guest User

Untitled

a guest
May 9th, 2017
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3.  
  4. # +-------------------------------------+
  5. # | Multi-Protocol Honeypot (MPH v0.1) |
  6. # |-------------------------------------|
  7. # | A feeble attempt at doing something |
  8. # | constructive with my time. |
  9. # |-------------------------------------|
  10. # | --- By: k0pp | SABS Coding --- |
  11. # | -- irc.system-abuse.net:+6697 -- |
  12. # +-------------------------------------+
  13.  
  14.  
  15. use warnings;
  16. #use strict qw(vars);
  17.  
  18. use IO::Socket;
  19. use Net::hostent;
  20. use Term::ANSIColor;
  21. use DBI::Mysqlsimple;
  22. use Data::Dumper;
  23. local $Data::Dumper::Purity = 1;
  24. my %config = (
  25. "ftp" => 21,
  26. "ssh" => 22,
  27. "telnet" => 23,
  28. "VNC" => 5900,
  29. "mysql_user" => '*********',
  30. "mysql_pass" => '*************',
  31. "mysql_db" => 'honey',
  32. "verbosity" => 1,
  33. );
  34.  
  35. my $db = DBI::Mysqlsimple->new($config{mysql_db},'127.0.0.1',$config{mysql_user},$config{mysql_pass});
  36. my $telnet = IO::Socket::INET->new( LocalAddr => 'localhost',
  37. Proto => 'tcp',
  38. LocalPort => $config{telnet},
  39. Listen => 1,
  40. Reuse => 1,
  41. );
  42. die("Cant start TELNET daemon.. $$") unless $telnet;
  43.  
  44. print "[TELNET honeypot waiting for connections...]\n";
  45. my ($aut, $pat) = '';
  46. while ($telnet = $telnet->accept()) {
  47. $telnet->autoflush(1);
  48. print $telnet "\n\nUser Access Verification\n\n";
  49. my $hostinfo = gethostbyaddr($telnet->peeraddr);
  50. fprintf $telnet,"Hi %s\n",$hostinfo;
  51. print $telnet "Username: ";
  52. $uat = <$telnet>;
  53. chomp $uat;
  54. if($uat =~ /([a-z]+)/i){$uat = $1;}
  55. print $telnet "\nOk.\n\nPassword: ";
  56. $pat = <$telnet>;
  57. chomp $pat;
  58. if($pat =~ /([a-z]+)/i){$pat = $1;} else { print "Pat fucked up..\n $pat\n\n";}
  59. print $telnet "\nWelcome\n\nCommand: ";
  60. while (my $body = <$telnet>) {
  61. chomp $body;
  62. #if($body =~ /([a-z\s]+)/i){$body = $1;print "BODY: $body ------------\n";}
  63. #telog($telnet->peerhost,"USA",$uat,$pat,$body);
  64. $db->do("INSERT INTO telnet (IP,country,user,pass,command) VALUES (?,?,?,?,?)", [$telnet->peeraddr,'usa',$uat,$pat,$body]);
  65. print "While: INSERT INTO telnet (IP,country,user,pass,command) VALUES (?,?,?,?,?), ['honkey','USA',$uat,$pat,$body])\n";
  66. printf "\n\nPrintf %s USA $uat $pat $body\n\n", $telnet->peeraddr;
  67. print $telnet "$body is not a recognized command\n";
  68. print $telnet "Command: ";
  69. }
  70. close $telnet;
  71. }
  72. $db->disconnect;
  73. sub telog {
  74. my ($ip,$country,$user,$pass,$command) = @_;
  75. $db->do("INSERT INTO telnet (IP,country,user,pass,command) VALUES (?,?,?,?,?)", [$ip,$country,$user,$pass,$command]);
  76. print "INSERT INTO telnet (IP,country,user,pass,command) VALUES (?,?,?,?,?), [$ip,$country,$user,$pass,$command])\n";
  77.  
  78. if($config{verbosity} == 1){
  79. print color 'bold red';
  80. # print "$_ " for @_;
  81. print color 'reset';
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement