Browse Month: September 2018

Google FooBar – Level 2 – Gearing up for Destruction – Python

I’ve recently been learning Python and was invited to the Google Foobar challenge. Google Foobar is an invitation only event that appears if Google detects that you’ve been searching for Python or Java related topics. You can accept the even and complete 5 levels which if you complete you will be able to fill out your personal information for a chance at an interview at Google. My skills aren’t the best but I had some trouble figuring out some of the levels so I decided to publish my submissions in hopefully helping someone out.

Objective

To complete the Google Foobar Level 2 challenge, Gearing up for Destruction

Instructions

I found this puzzle very difficult since I did not understand much about gear ratio’s and the formulas associated with them. Your best bet is to read about Gear Trains on the Wikipedia page and follow along some of the formulas there and understand the concept of Gear Ratio’s.
Continue Reading

Google FooBar – Level 2 – Please Pass the Coded Messages – Python

I’ve recently been learning Python and was invited to the Google Foobar challenge. Google Foobar is an invitation only event that appears if Google detects that you’ve been searching for Python or Java related topics. You can accept the even and complete 5 levels which if you complete you will be able to fill out your personal information for a chance at an interview at Google. My skills aren’t the best but I had some trouble figuring out some of the levels so I decided to publish my submissions in hopefully helping someone out.

Objective

To complete the Google Foobar Level 2 challenge, Please Pass the Coded Messages

Instructions

When I first wrote the answer for this puzzle it worked on my computer but Google kept giving an error code around for:

I couldn’t figure out another solution to the puzzle. I ended up going a different route. Both my solutions are below but only the second will work. If anyone knows how to get the first solution to work please let me know. Continue Reading

How to Set the Time and TimeZone on the Raspberry Pi

I recently installed a fresh install of Raspbian on my Raspberry Pi 3 and when I was setting up my server I noticed that the time was not set correctly. I never have had this issue using Raspbian since it would automatically update the time and grab the current time from the internet. It was frustrating because the project I was working on needed the current current time as well as the timezone.

We will be setting the correct time with the Raspi-Config tool. The Raspi-Config tool is a tool that comes packaged with Raspbian which allows you to configure many options on your Raspberry Pi like overclocking, enabling/disabling Bluetooth as well as setting the correct timezone and grabbing the correct time from the internet.

Objective

To set the correct time on the Raspberry Pi and grab the correct time and timezone from the internet

Material

You will need the following:

Instructions

You can either open up a new terminal window if you are running a GUI version of Raspbian or you can SSH into your Raspberry Pi if you are running it headless. I was running Raspbian Stretch when I wrote this tutorial.

Open a new terminal window or connect to your Raspberry Pi over SSH and run the following command to get the current time on your Raspberry Pi:

Run the following command to open up Raspi-Config tools. This will allow us to make changes to our Raspberry Pi configuration:

<media>

Now navigate to 4. Localization Options and hit enter

Selecting Localization Options using Raspi-Config

Now select I2 Change Time Zone. You can now set your Time Zone which will automatically update the time as well if you are connected to the internet.

Setting the Time Zone on the Raspberry Pi

 

 

 

 

How to Hack a Router with RouterSploit on the Raspberry Pi

A majority of people do no update their routers or other IOT (Internet of Things) devices on their network, this is where RouterSploit comes in. RouterSploit will search a device for multiple known exploits and vulnerability and if any are given will give you access to these devices. RouterSploit will also check these device credentials and attempt to find if the device is using the default username and password. Updating your device firmware and changing passwords are the easiest and best way to protect your system from hackers, yet many people do not do these steps. also many older IOT devices like IP Cameras or printers might not even be supported anymore and these devices may have vulnerabilities that will never be patched and can compromise your whole network.

RouterSploit is a python script which will scan devices for multiple exploits and vulnerabilities and mainly focuses on embedded devices like IP cameras, routers and printers. You just need to set the target IP address and run the script and RouterSploit will do the rest. You can only check devices that are on your network, meaning you need to be connected to the same network as the device you are trying to hack. You can scan many routers, printers, IP cameras and any other devices that are on your network.

Using the Raspberry Pi to run RouterSploit makes it easy to check networks on the go. You can bring your Raspberry Pi over your friends house and connect into their network and check their network for any vulnerabilities. The Raspberry Pi is so cheap and easy to work with which makes it a great pen-testing tool to have. I will show you how to install RouterSploit on the Raspberry Pi and how to use the basic features of RouterSploit.

Objective

To install RouterSploit on the Raspberry Pi

Material

You will need the following:

Instructions

We’ll be installing the latest version of RouterSploit, which at the time of writing this article was 3.3. I will assume you are connecting to your Raspberry Pi over SSH. If you are working directly on the Raspberry Pi simply open up a terminal window and run the commands from there. I tested this using a Raspberry Pi 3 running Stretch but this should work for older versions as well. I also had the GUI running on my Raspberry Pi which may include some packages pre-installed. For example the lite version of Stretch will not have ‘git‘ installed and you will have to install ‘git‘ before running the ‘git‘ command. Continue Reading

How to Create a Simple Python Chatbot on the Raspberry Pi

I have recently been working on a new project that required scraping data from other websites and have been slowly learning python. I usually work with PHP but I knew python will work faster and better. I also have always wanted to create a simple chatbot that I can input text into and it would reply with something meaningful. Creating a chatbot with a huge database of words and actually understanding what is being said is not an easy task and is something that is way over my head. I was browsing Reddit and found out that you can get results in JSON format is you append ‘.json‘ to the end of the URL. This got me thinking, what if I search Reddit with a question or comment and pick a random search result and reply with one of the top comments. This would fill my urge in creating a chatbot and it would also be a good starting point if I ever wanted to go deeper into creating a database and store answers for the chatbot to get a personality of its own.

I figured the Raspberry Pi would be an easy starting point since I have a bunch of them laying around and it is already setup with a Python environment. You can easily replicate this in any Python environment but I tested out my chatbot on the Raspberry Pi.

Objective

To create a chatbot in Python on the Raspberry Pi that searches Reddit and replies using a Reddit comment

Material

You will need the following:

Instructions

Create a new file on the Raspberry Pi and call it main.py Continue Reading

Google FooBar – Level 2 – Lovely Lucky LAMBs – Python

I’ve recently been learning Python and was invited to the Google Foobar challenge. Google Foobar is an invitation only event that appears if Google detects that you’ve been searching for Python or Java related topics. You can accept the even and complete 5 levels which if you complete you will be able to fill out your personal information for a chance at an interview at Google. My skills aren’t the best but I had some trouble figuring out some of the levels so I decided to publish my submissions in hopefully helping someone out. This level was especially difficult since I didnt quite understand the approach to it and had to figure out the Fibonacci Sequence.

Objective

To complete the Google Foobar Level 2 challenge, Lovely Lucky Lambs

Instructions

This puzzle was a little tricky. I figured out the way to get the first half by doubling the values. The second part of the puzzle requires the knowledge of the Fibonacci Sequence and without knowing the Fibonacci Sequence and numbers you would be lost in this level.  You’ll notice that up on top of my code I return the number 8 as one of the answers if the total lambs is equal to 917503. This is the answer for ‘Test 9’ of the 10 tests that Google runs your code through. My code will not output the correct answer for Test 9 so I had to brute-force the answer. My code should work for this level to pass all 10 tests. Continue Reading