Htbrdd

honeypot pi

Jan 14th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ##
  2. ## NanoHoneyPot V2 written 011317:0056 by BJP
  3. ##
  4. ## NanoHoneyPot V2 is a simple Arduino-based honeypot that
  5. ## utilizes the on-board serial port to produce a realistic
  6. ## looking 1980's era bank credit card processing gateway
  7. ## that has been seemingly exposed to the internet. The
  8. ## goal here is to lure would-be hackers into wasting their
  9. ## time on the promise of a big score. Properly deployed,
  10. ## this sketch also has an interesting educational value;
  11. ## you'll get to see just how quickly (and how often!) a
  12. ## system placed on the internet is subject to intrusion
  13. ## attempts.
  14. ##
  15. ## NanoHoneyPot V2 Features:
  16. ##
  17. ## Upper-case only text for added old-sk00l realism! :)
  18. ## Beautifully slow 1200 baud output!
  19. ## Archaic-looking fake error messages!
  20. ## Realistic input processing delay times!
  21. ## Scary FDIC anti-hacking deterrant message!
  22. ##
  23. ## Requirements:
  24. ##
  25. ## o   A white hat. ;)
  26. ## o   A bowl of popcorn.
  27. ## o   A willingness to watch hackers fail.
  28. ## o   An Arduino Uno or better.
  29. ## o   A 1602-compatible 16x2 LCD screen (edit pins to taste..)
  30. ## o   A Linux box of some sort running tcpser at 1200 bps:
  31. ## Ex: tcpser -I -i "s0=1" -tiI -d/dev/ttyACM0 -s1200 -p6400
  32. ## o   The port of your choice opened on your router/firewall,
  33. ##     and NAT'ed to port 6400 on the box running tcpser.
  34. ##
  35. ## Usage:
  36. ##
  37. ## Compile and push this sketch to an Arduino with a 16x2 LCD
  38. ## with the correct pinout for the LCD (see below)
  39. ## Then, connect the Arduino via USB to a Linux host.
  40. ## As root on the Linux host, run tcpser against the device
  41. ## node your Arduino ends up enumerating as (/dev/ttyACM0,
  42. ## probably) using 1200 bps as a port speed, and whatever
  43. ## TCP port you want. I'm using 6400 in my example. Then,
  44. ## at your router/firewall, expose port 23, and have any
  45. ## TCP/UDP traffic to port 23 redirected to the IP
  46. ## of your Linux box on port 6400. This will allow your
  47. ## Arduino honeypot to be visible to the world.
  48. ##
  49.  
  50. #include <LiquidCrystal.h>
  51.  
  52. LiquidCrystal lcd(8,9,4,5,6,7);
  53. String user;  
  54. String password;      
  55. String dump;
  56. int attempts=0;
  57.  
  58. void setup()
  59. {
  60.   Serial.begin(1200);  
  61.   lcd.begin(16, 2);
  62.   lcd.clear();
  63.   lcd.setCursor(0, 0);    
  64.   lcd.print("NanoHoneyPot v2!");
  65.   lcd.setCursor(0, 1);
  66.   lcd.print("Status: Waiting");  
  67. }
  68.  
  69. void loop()
  70. {
  71.     while (Serial.available()==0)
  72.     {
  73.       delay(100);
  74.     }
  75.    
  76.     attempts++;
  77.     lcd.clear();
  78.     lcd.setCursor(0, 0);    
  79.     lcd.print("NanoHoneyPot v2!");
  80.     lcd.setCursor(0, 1);
  81.     lcd.print("Attempts:");
  82.     lcd.print(attempts);  
  83.     showBanner();
  84.     getLogin();
  85.     getPassword();
  86.     waitForInput();
  87.     delay(342);    
  88.     Serial.println("0919-0FF: INVALID CVV ENTRY / 0 OF 394 RECORDS RETURNED   ?REENTER");    
  89.    
  90. }
  91.  
  92. void showBanner()
  93. {
  94.   Serial.println(F("\n\n\n\n\n\n\n\n\n\n\n\n\n\nFDIC COLUMBIA SAVINGS AND LOAN CC PROC TELEHUB\n\n"));
  95.   Serial.println(F("UNAUTHORIZED USE PROHIBITED BY LAW P.L. 81-797, 64 STAT. 783\n\n"));
  96.   dump=Serial.readString();
  97. }
  98.  
  99. void waitForInput()
  100. {
  101.   while (Serial.available()==0) {}
  102. }
  103.  
  104. void getLogin()
  105. {
  106.   Serial.print(F("\nLOGIN: "));
  107.   waitForInput();
  108.   user=Serial.readString();
  109.   user.trim();  
  110.   lcd.clear();
  111.   lcd.setCursor(0, 0);
  112.   lcd.print("U:"+user);
  113. }
  114.  
  115. void getPassword()
  116. {
  117.   Serial.print(F("PASSWORD: "));        
  118.   waitForInput();
  119.   password=Serial.readString();  
  120.   password.trim();
  121.   lcd.setCursor(0, 1);
  122.   lcd.print("P:"+password);
  123. }
Add Comment
Please, Sign In to add comment