Introduction: Wireless DeadDrop

Picture of Wireless DeadDrop

After doing the usb dead drop project i quickly thought about other deaddrop type projects. The main constraint for the usb deaddrop project was the use of having to physically plug it in. The prospect of having the ability to do this wirelessly was very intriguing. So I did a bunch of research and asked around and finally found this solution. 

The wireless deaddrop project was the solution that i was able to create for the least amount of money. There are many routers that will do this a bit easier but they cost at minimum $150. 

Why a Deaddrop?
The name comes from the old spy technique of sharing files, from wikipedia:
"A dead drop or dead letter box is a method of espionage tradecraft used to pass items between two individuals using a secret location and thus does not require them to meet directly. Using a dead drop permits a case officer and agent to exchange objects and information while maintaining operational security. The method stands in contrast to the live drop, so called because two persons meet to exchange items or information."

Deaddrop style projects seek to take information and files out of the general internet stream and make them available in a way that requires going to a physical location. This sort of file sharing is much more personable than just grabbing files from the internet. It is also a good way to share sensitive files as it can be obscured and even utilize encryption.

WARNING: This project involves flashing a router, which could break said router, and give you emotional hardship and having to learn how to telnet into a router. (FUN!) I'm not responsible for breaking your router or that you might gain experience on the linux command line that may be totally useless.

Step 1: Supplies

Picture of Supplies

A TP-Link WR703N router
This router is a cheap little guy that has the ability to run OpenWRT. It's pretty powerful for the price. I had version 1.6 for this. 

1 USB drive
I used a 2GB one

A Computer with ssh access, i used a mac but a linux or windows would work too. 
An ethernet cable

Wifi





Step 2: Install OpenWRT to the Router Part 1

First off, we want to install OpenWRT to the router, openwrt is open source software that allows you to do all kinds of fun router stuff. Their site has a full run down of the WR703N. and the cool stuff you can do with it. 

Before you start, you have to download the right .bin to install onto the router, the one on the OpenWRT site is fine, but i found one with more driver support out of the box here: http://www.madox.net/blog/projects/tp-link-tl-wr703n/ (Note the file is in a .7z which will need to be unzipped)

I first installed the one from openWRT and then upgraded with madox's version above. 

Step 3: Installing OpenWRT to the Router Part 2

Picture of Installing OpenWRT to the Router Part 2

To install first, plug your router into your computer's ethernet port, and make sure the router has power via usb

Then in your web browser go to 192.168.0.1 with the credentials admin/admin (it should have this info on the back of the router)

If you are lucky, it will be in english, if not (like me) it will be in chinese. You will want to click on the last menu item on the left and then the third one down in the submenu. You should see a menu like in the photo.

Pay attention to the build number, "Build 120925" means that you have a 1.7 version of the router and this tutorial will not work. 

In the file select box, select the .bin to upgrade the router. Then select the button that looks like it would be "OK" (see image notes)

if all goes well, you'll get a loading box, and the router will reset. After it fully resets, you should get to the openWRT menu at 192.168.1.1


Step 4: Exploring OpenWRT: Set the IP Address

Picture of Exploring OpenWRT: Set the IP Address

If all went well, you should see a login menu, there is no password right now, so it will prompt you to do that. 

After you set the password, you will want to set the ip of the router to a different one so you can use it along side your home network. 

go to the network menu > click edit on the LAN interface > and set the IPv4 network to 192.168.0.1 and save those settings. This will take a bit and force you to go to 192.168.0.1 to access the router now. 


Step 5: Exploring OpenWRT: Enable Ssh

Picture of Exploring OpenWRT: Enable Ssh

next lets enable ssh
Go to System > Adminstration
Set interface to unspecified, set the port, 22 is standard, allow ssh and allow the root user to ssh into the router.

Now go to a terminal and type 
ssh root@192.168.0.1
you should be prompted for you password and then you'll be given a command line prompt like the one below.




Step 6: Expanding the Storage

The storage on our little router isn't much so we can expand it. We are going to do this with a usb drive. 

First, we need to format the usb drive to ext4. you could do this with fdisk, but fdisk confuses me and makes my brain hurt so i did this using gparted. gparted is native to linux, so you all on linux have the advantage here.

For the rest of us, gparted has made a live cd which you can grab here: http://gparted.sourceforge.net/

Burn that to a disk, and then with your usb plugged in run it.

Take the first partition and leave a little extra left, i left 128mb and format that to ext4, then formate the rest to linux-swap which you can use with the router. 

Step 7: Expanding the Storage Part 2

Picture of Expanding the Storage Part 2

Now that you have a perfect usb drive, you can transfer the root of the router to it. 

SSH into the router and run the following to make sure you have what you need installed:

opkg install kmod-fs-ext4 block-mount

(opkg is the package manager for OpenWRT)

Then you can transfer the root of the router to the usb drive with the following commands:

mkdir -p /mnt/sda1 (make a directory to mount the usb drive to)
mount /dev/sda1 /mnt/sda1 (mount the drive to that directory)
mkdir -p /tmp/cproot (make a temp directory for the root directory) 
mount --bind / /tmp/cproot (mount root to the temp directory)
tar -C /tmp/cproot -cvf - . | tar -C /mnt/sda1 -xf - (transfer the temp copy of root to the usb drive)
umount /tmp/cproot (unmount the tmp root)
umount /mnt/sda1 (unmount the usb drive)

Next, you need to change the fstab to mount the root directory when the router restarts.

open the /etc/config/fstab file and change

option target /home 

to 

option target /

and change

option enabled 0

to

option enabled 1

Then reboot the router. Once the router fully reboots, you can run df -h and if it worked, you'll see the following. If it shows you something different, then you need to follow the steps again (from the formatting) and try again

I got all my directions for this here: http://en.code-bude.net/2013/02/16/how-to-increase-storage-on-tp-link-wr703n-with-extroot/

Step 8: Make the Router a Client WIFI Point

Picture of Make the Router a Client WIFI Point

As of right now, to login and do this, you will have needed to physically have a connection to the router via an ethernet cable. OpenWRT allows one to make a wifi network that connects to our wireless network and broadcast its own wireless network, at the same time. This will be useful for the messing with the router so you can access the internet while you are hacking away.

First lets get the router to connect to your base wifi. 

go into Network >> Wifi and click "Scan"

The router will find your wifi and you can select it from a list. Click "Join Network", enter the passkey if needed and leave all the settings the same and make sure the mode is "Client" Save and Apply those settings and you should see a number greater than one in the bit rate. To test if this is working, connect your router via ethernet, and turn off your wifi, you should be able to get to the internet. 

Next we want to create a wifi hotspot from the router. 

Go into Network >> Wifi and select "Add"
Set the ESSID, i did DEADDROP for our project, make sure the mode is "Access Point" and select network LAN

Save those settings, and you should see on your wifi scanning the network you just created. You should be able to connect to that network and get full internet access. 

Step 9: Enable Samba Share

Picture of Enable Samba Share

Now you should have the following:
A hacked router that is broadcasting its own wireless network from which you can access the internet without connecting an ethernet cable.

The last step for our router is to enable filesharing, I decided the best way to do this was through samba, as samba is easily supported by mac, linux and windows. 

First ssh into the router and run opgk install samba, that should install all your necessary dependencies. I followed the instructions here: http://wiki.openwrt.org/doc/howto/cifs.server

O
nce samba is installed, you should be able to access from the web client the settings which is much easier than doing it via CLI. 
Go to Services >> Network Shares, here you define the names and the name of the shared directory. Make sure the directory you are sharing is chmod'd to 777 

After that is done, the samba share should just show up on mac. Look into how to access samba shares on windows and linux if you can't see it right away. There is also samba share apps for android, not sure about iphone. 

Step 10: Next Steps

Now that you have a router that acts as a wireless deaddrop, you might want to find ways to make it even more wireless. My suggestion is to implement a solar charging situation that would allow one to leave the router somewhere hidden and have it be accessible to everyone.

Anyway, good luck and Happy Hacking! Please post your own projects in the comments!

Comments

damavox. (author)2016-08-13

Why do this instead of using the piratebox. same idea, more features, easier setup.

Malkaris (author)damavox.2016-08-15

I think this 'ible might have predated pbox, but I agree it's what all the cool kids are doing now.

barbeecol (author)2016-03-07

Lovely Stuff

nicholassscott (author)2015-05-29

Thumbs up for the stuff.... Great ..

undanganpernikahan (author)2015-03-22

What is the different of Wireless Deaddrop and ordinary WiFi?

Mattef (author)2013-09-28

Thank you for this nice tutorial.
I came along with it till I have to set up the samba-server.
How do I actually create the samba users and give them acces to the filesystem?

At the OpenWrt-Wiki it only says:
"Create samba users by adding them to /etc/passwd and /etc/group then using smbpasswd to set passwords and add to samba. Setup shared directories permissions according to your needs using chown and chmod. Any unknown usernames used for authentication against samba are mapped to a guest login silently by default."

Can you explain me please how I set up the samba user step by step?
That would be very nice!

claudiopolis (author)2013-08-20

Nice warning :-)
I have a TP-Link TL-ML 3020 and had some thoughts on something similar. But after reading your warning it's all clear to me. I really have to stop learning totally useless things. ;-)

flashcactus (author)claudiopolis2013-09-05

Well, knowing the linux console is not totally useless. A lot of gadgets are powered by it. I personally prefer logging into the shell of my qnap NAS to change the permissions for a file instead of using its slow browser-based interface. Who knows, maybe someday you'll actually use linux as your main OS. Maybe you're aready using it in such a way.

AnthonyBriggs (author)2013-09-04

Just finished setting mine up, although I haven't set up the dead drop connection yet (I don't want people in my street leeching my internet).

I did have some trouble with the usb part in step 7, but just needed to install a couple of extra usb-related packages. I think they were kmod-usb2 and kmod-usb-storage, but don't quote me on that - I followed instructions on http://wiki.openwrt.org/doc/howto/usb.essentials and http://wiki.openwrt.org/doc/howto/usb.storage

I also needed to install luci-app-samba to get the fancy interface, and needed to restart samba via command line to get everything going.

DanNixon (author)2013-09-02

Having "every" mobile device play media without having to use additional software (I assume you mean browser based playback) may still be in the realms of fantasy for now.

keastes (author)2013-08-19

WARNING! the router you linked to is the 702, not the 703. this will not work with openWRT. i just found this out as i accidentally ordered it. reason is that this doesnt have a large enough flash to hold openWRT and its derivatives.

frenzy (author)keastes2013-08-19

jeeze, sorry about that, i just updated the link!

keastes (author)frenzy2013-08-23

rereading what i wrote, i should probably mention that i ordered this before i knew this ibile existed, turns out amazon takes any search for the 703 and puts the 702 as the first item. thus my Oh, Sh**.

XTL (author)frenzy2013-08-20

The 3020 should also work well

keastes (author)XTL2013-08-21

http://wiki.openwrt.org/toh/start anything under "supported hardware" and that has a USB port should work. but it doesnt really state what form factor everything is, unless you follow every link.

REALMSMAN (author)2013-08-20

This seems like a lot of unnecessary stuff to do when you can just get an old $40 windows phone with and 8 gig micro sd card and create a virtual wifi connection that broadcasts and bridge it to the active wireless connection. Then just set the shares and permissions then give whoever the location and password and your done.It even can be connected to the free campus wifi so it can be accessed via the net as well via something like hamachi.

frenzy (author)REALMSMAN2013-08-23

Please post an instructable about that! i'd love to see easier implementations of this kind of project.

zephc (author)2013-08-20

Sry if this is a dumb question, but:

>A hacked router that is broadcasting its own wireless network from which you can access the internet without connecting an ethernet cable

Why do we want this thing to provide internet access? Shouldn't it just be a wifi accessible storage device?

frenzy (author)zephc2013-08-23

Basically i make it have internet at first so when i ran into problems i could look them up with the same computer, later you disable this.

shrmasubramaniam (author)2013-08-23

It is a good one which will be usefull every one in the world https://www.instructables.com/files/deriv/F84/GQYW/HKM949UG/F84GQYWHKM949UG.THUMB.jpg

iamfrankenstein (author)2013-08-23

I experience trouble with some cheap usb sticks. changing the order of the partition seems to fix it for now (Still testing). If anybody else experiences the same problem please respond, i like to know why.

MikeKulls (author)2013-08-22

This one. It would be worth mentioning for Windows users to get an ssh client they can download Putty for free

MikeKulls (author)MikeKulls2013-08-22

Oops. Meant to say nice one not this one. Damn swype :)

pabell (author)2013-08-21

This is basically your version of a Piratebox.http://daviddarts.com/piratebox/

zerode (author)2013-08-20

This is a great idea. For something comparable, check out http://daviddarts.com/piratebox/?title=PirateBox

The great thing would be to make this solar powered and hide it in a public space

cogliostro666 (author)2013-08-20

Similar to PirateBOX project.

iamfrankenstein (author)2013-08-20

For more information (but slightly out dated) about a real hack box:
http://www.minipwner.com/index.php/minipwner-build

marciocattini (author)2013-08-20

Okay this is awesome, you have my respect sir!! I had to vote for this!

Explaining this project for some users out there who couldn't see the application of such thing, say you leave this at a strategic point, you can upload files using samba to the usb drive and your friends can access the wireless point and download those files with ease, or share files of their own with you. This could be messages, word files, assignments, etc. Make it a private wireless connection (invisible) and put it in a secret location say the middle of campus!

Imagine this at a student hall!! With more storage I could see uni students sharing assignments or even having a secret message board =) and being able to use even their phones to access that storage when they come within range to the wireless signal!

I know this is wrong but it is awefully ingenious!

I'm gonna use this to share a hard drive accross the network so everybody at home can access music, movies, content, from their video games, cellphones, computers, etc.

Great tutorial!

craigthecoder (author)2013-08-20

While it might have been nice to include the same information about "what" and "why" in this project, frenzy DOES make reference to the USB dead drop which has a thorough explanation on the first page. It takes an extra click or two, but the info is available.

dwream (author)2013-08-20

The question has been asked but not answered: why a DeadDrop? This Instructable is clever, well illustrated, and clearly written. I believe that I could walk in your footsteps and make one. But why?

bremus (author)2013-08-20

So what is a DeadDrop, how would I use it?

About This Instructable

189,291views

832favorites

License:

Bio: I'm a full stack web developer focusing on security and privacy.
More by frenzy:Cómo hacer una placa iluminada con teclas de un tecladoUna funda para tu dispositivo, hecha de un traje de buceoDead Drop inalámbrico
Add instructable to: