Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##
- ## NanoHoneyPot V2 written 011317:0056 by BJP
- ##
- ## NanoHoneyPot V2 is a simple Arduino-based honeypot that
- ## utilizes the on-board serial port to produce a realistic
- ## looking 1980's era bank credit card processing gateway
- ## that has been seemingly exposed to the internet. The
- ## goal here is to lure would-be hackers into wasting their
- ## time on the promise of a big score. Properly deployed,
- ## this sketch also has an interesting educational value;
- ## you'll get to see just how quickly (and how often!) a
- ## system placed on the internet is subject to intrusion
- ## attempts.
- ##
- ## NanoHoneyPot V2 Features:
- ##
- ## Upper-case only text for added old-sk00l realism! :)
- ## Beautifully slow 1200 baud output!
- ## Archaic-looking fake error messages!
- ## Realistic input processing delay times!
- ## Scary FDIC anti-hacking deterrant message!
- ##
- ## Requirements:
- ##
- ## o A white hat. ;)
- ## o A bowl of popcorn.
- ## o A willingness to watch hackers fail.
- ## o An Arduino Uno or better.
- ## o A 1602-compatible 16x2 LCD screen (edit pins to taste..)
- ## o A Linux box of some sort running tcpser at 1200 bps:
- ## Ex: tcpser -I -i "s0=1" -tiI -d/dev/ttyACM0 -s1200 -p6400
- ## o The port of your choice opened on your router/firewall,
- ## and NAT'ed to port 6400 on the box running tcpser.
- ##
- ## Usage:
- ##
- ## Compile and push this sketch to an Arduino with a 16x2 LCD
- ## with the correct pinout for the LCD (see below)
- ## Then, connect the Arduino via USB to a Linux host.
- ## As root on the Linux host, run tcpser against the device
- ## node your Arduino ends up enumerating as (/dev/ttyACM0,
- ## probably) using 1200 bps as a port speed, and whatever
- ## TCP port you want. I'm using 6400 in my example. Then,
- ## at your router/firewall, expose port 23, and have any
- ## TCP/UDP traffic to port 23 redirected to the IP
- ## of your Linux box on port 6400. This will allow your
- ## Arduino honeypot to be visible to the world.
- ##
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(8,9,4,5,6,7);
- String user;
- String password;
- String dump;
- int attempts=0;
- void setup()
- {
- Serial.begin(1200);
- lcd.begin(16, 2);
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("NanoHoneyPot v2!");
- lcd.setCursor(0, 1);
- lcd.print("Status: Waiting");
- }
- void loop()
- {
- while (Serial.available()==0)
- {
- delay(100);
- }
- attempts++;
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("NanoHoneyPot v2!");
- lcd.setCursor(0, 1);
- lcd.print("Attempts:");
- lcd.print(attempts);
- showBanner();
- getLogin();
- getPassword();
- waitForInput();
- delay(342);
- Serial.println("0919-0FF: INVALID CVV ENTRY / 0 OF 394 RECORDS RETURNED ?REENTER");
- }
- void showBanner()
- {
- 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"));
- Serial.println(F("UNAUTHORIZED USE PROHIBITED BY LAW P.L. 81-797, 64 STAT. 783\n\n"));
- dump=Serial.readString();
- }
- void waitForInput()
- {
- while (Serial.available()==0) {}
- }
- void getLogin()
- {
- Serial.print(F("\nLOGIN: "));
- waitForInput();
- user=Serial.readString();
- user.trim();
- lcd.clear();
- lcd.setCursor(0, 0);
- lcd.print("U:"+user);
- }
- void getPassword()
- {
- Serial.print(F("PASSWORD: "));
- waitForInput();
- password=Serial.readString();
- password.trim();
- lcd.setCursor(0, 1);
- lcd.print("P:"+password);
- }
Add Comment
Please, Sign In to add comment