CTF Resources

This is really just a place for me to remind myself of useful resources I’ve used when undertaking CTF challenges 🙂

Cryptography Resources:

Dcode – the essential site for deciphering and decoding messages
Cryptii – Modular online encoding, encryption and conversion tool
quipqiup – a fast and automated cryptogram solver

Network Resources:

netcat (nc) -a feature-rich network debugging and investigation tool

BBC micro:bit expoloration

On a whim I nipped out and bought the only BBC micro:bit in stock at PB Tech in New Plymouth as I was curious to have a play and see where it might fit in between Raspberry Pi’s and Arduino’s for teaching kids.

I thought turning it into a simple digital watch would be a fun place to start learning so, below is the result.

The virtual micro:bits, below, are interactive so click on the ‘shake’ button to simulate shaking it in real life to display the time.

The code can also be found in my Github repo, here.  It will be the most recent version if I have made changes and haven’t had time, or have forgotten, to update this post 🙂

Enjoy!

Pi-hole in a Docker Container on a Raspberry Pi

While I was disappearing down a rabbit hole investigating unbound as a DNS Privacy server, I came across Pi-Hole – A black hole for Internet advertisements.

I’ve always used uBlock Origin for ad blocking but that is a per client thing which is a bit of a hassle.

Pi-hole provides ad blocking for all clients on the network, seamlessly.  I just configure DNS on each client, via DHCP, to point towards the Pi-Hole server.

Obviously, I love Docker so it’s in a Docker Container on a Raspberry Pi.

Currently, I’ve sacrificed DNS privacy but I’ll work on that later in terms of getting Pi-hole to send all DNS queries through my own DNS server.

This is how I implemented it.  Obviously, these aren’t detailed instructions but more of a reference to jog my memory if I need it!

********************
Note: Substitute the IP address of the host that the Container is running on for ${IP} and ${IPv6}
********************

 

 

Raspberry Pi Docker Container to send all LAN DNS requests to Cloudflare’s 1.1.1.1 DNS over TLS

I wanted to implement this on a Raspberry Pi that I have running Docker.  However, I wasn’t able to find an image in Docker Hub for the ARM architecture that the Raspberry Pi uses so I made my own based on the x86-64 image, here.

  • Place the Dockerfile and unbound.conf in the same directory.
  • Docker file:

  • unbound.conf:

 

  • Build the Docker image:

 

  • Start a container as a daemon from the above image:

 

  • Configure all clients to point to the IP address of the Docker Host for DNS.

Install pip on OS X via Terminal


GUTE-URLS

Wordpress is loading infos from ahmadawais

Please wait for API server guteurls.de to collect data from
ahmadawais.com/install-pip-ma...

Get Stock Quote from Yahoo using Node-RED

School Coding Class – 003

After getting to know the children, over the last two sessions, and finding out their strengths, I’ve decided to take a little detour from Scratch to a slightly more guided programme on code.org.

The children can continue the course at home if they’d like to – they’ll just need to remember which step they are up to in class!  If they would like to save their progress then feel free to create an account for them.

The course we’ll be following is here 🙂

School Coding Class – 002

One of the children in the group came up with a solution to what we were exploring.   The solution was very close to what I first came up with in My Original Blog.  Coincidentally, that night, I was reading a blog called ‘Applying the Linus Torvalds “Good Taste” Coding Requirement‘.  It made me go back and examine my solution and explore other options in Scratch.

My next solution got rid of all of the conditional ‘If Then’ statements and utilised lists, instead.  I wouldn’t expect any of the children to come up with this solution but it has certainly been an interesting exercise for me as I explore Scratch, as well!

I’ve shared the code here.

Scratch Code for Challenge 1