Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 164

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 167

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 170

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 173

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 176

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 178

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 180

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 202

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 206

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 224

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 225

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 227

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 321

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 321

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 321

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.layout.php on line 321

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 54

Warning: Creating default object from empty value in /home/matthew/marichiba.com/wp-content/themes/platformpro/core/library/class.options.metapanel.php on line 47
Hacking Into Linux on Seagate GoFlex Home | Marichiba Consulting

I have wanted to hack into Linux on the Seagate GoFlex Home ever since I learned that it runs Linux. The GoFlex Home sucks. What I bought on the promise of a network-attached home backup solution turned into the worst storage product I have ever owned. Everything about my experience has been terrible, from the clunky app you have to install to connect to the network drive, to the unreliable connection that fails whenever the router is restarted. I have never– not once –gone to access the data on my GoFlex drive without having to restart it and troubleshoot why it isn’t connected to the network.

…which is why I have wanted to login to this little Linux machine with a 2TB drive, USB connector and Ethernet port. I am probably foolishly setting myself up for disappointment, but I want at least one experience that might redeem hours of wasted time and dashed hopes. My secondary motivation is that I need to wipe all my data off it before I sell it on eBay (the 2TB model still fetches $75-$100, presumably from people who are salvaging them for parts), and I have no intention of re-installing the craptastic Seagate dashboard app.
So let’s get going. Here’s what I think I’m going to need along the way.
  1. Instructions how to login to Linux on the GoFlex home.
  2. IP address for GoFlex Home and instructions.
  3. Location of files in the filesystem.
  4. Commands to delete existing files.
  5. Commands to zero out data on the drive to prevent data recovery by the next owner.

Instructions how to login to Linux on the GoFlex home

The archlinux.org website has a page on GoFlex Home. The Installation tab describes how to login to linux.  I need the IP address for the box and the root user info, which presumably I configured a long time ago.
The article mentions that I’ll need the numbers off the bottom of the box.
Product code: PGAM-BVQJ-RUYQ-xxxx
MAC address: xxx:c7:80
To login you need the IP address of the GoFlex. Installing the GoFlex Dashboard would provide a utility to give the IP address, but I don’t want to do the dashboard app.  A Seagate support article says that you can browse directly to the box by putting “http://goflex_home” into a web browser. Given my success with anything related to this product, I’m not surprised to find that this doesn’t work.
I do have the MAC address (stamped on the bottom of the box), and I found instructions how to lookup the IP from the MAC address.
At a command prompt:
arp -a
Returns the following (and a lot more):
Interface: 169.254.66.219 --- 0x10   Internet Address      Physical Address      Type   169.254.6.194         00-10-75-29-c7-70     dynamic
Opening this IP address in a browser brings up an admin page.
That looks more promising. I log in using the admin user I created a long time ago when I first set up the GoFlex Home.
At this point I found out that I can access files on the drive by clicking the Seagate Share button and browsing the directory structure. I wish I had discovered this long ago, and had completely avoided all contact with the Seagate Dashboard app. 
While I’m here, I use the web interface to create a new admin user, to take the place of the admin account I’m about to delete.
Name: admin
Password: admin1
Now, let’s SSH into the Linux prompt. Below are instructions from archlinuxarm.org.
  1. With the device on and online, SSH in to the GoFlex Home.
  2. Take note of the IP address associated with the device.
  3. Take note of the product key located on the bottom of the unit, it will be in the format XXXX-XXXX-XXXX-XXXX.
  4. Replacing USERNAME with the user you have set up in the Home’s web interface, and using that user’s password, SSH in:
    ssh USERNAME_hipserv2_seagateplug_XXXX-XXXX-XXXX-XXXX@GOFLEX_HOME_IP
For me, that becomes:
$ ssh admin_hipserv2_seagateplug_PGAM-BVQJ-RUYQ-xxxx@169.254.8.202
After a strangely long time, the box finally responds & asks for a password.
And there we go! I’m in.
I have to say, seeing a Linux prompt and poking around the filesystem is the most satisfying experience I have ever had with this thing.
Again following the instructions from archlinuxarm.org, I give myself root privileges.
$ sudo -E -s

Location of files in the filesystem

GoFlex is a little Linux server, so I expect to see my files stored in user directories in the home directory. Good news! That’s, in fact, the case.
I find directories for all the users I’ve previously set up on this box (admin, matthew & serina). I also see paths to services provided GoFlex, such as the path to an external USB drive, and paths to a backup directory.

Commands to delete existing files & users

Let’s delete all the old users.
The userdel command doesn’t appear to be present on the Linux installation. Manually deleting should be good enough. I won’t go through all the details, but the following is my plan of attack.
  • vi /etc/passwd & remove the lines associated with private user accounts.
  • vi /etc/group & remove all appearances of private users.
  • rm -Rf /home/matthew, serina

The drive appears to maintain some kind of cache under the directory GoFlex Home Public/.tmp. Trying to remove this folder produces Directory not empty warnings, and fails. Manually attempting to remove the files also fails. Oh well. I’ll just leave them there as a mystery to anyone who ever finds them.

Commands to zero out data on the drive to prevent data recovery by the next owner

I’m going to use the Linux dd command to create a giant file with 0s. You have to be in one of the user directories (or the shared 0common directory), to make sure that the file goes onto the partition with the bulk of space.
cd /home/0common
dd if=/dev/zero of=zero bs=100M count=10000
rm zero
This creates a file of all zeros, blocksize of 100MB, block-count of 10,000 — roughly 1TB. Then we remove the file so it’s not hanging around wasting space.

Fin

Here ends my unfortunate experience with the Seagate GoFlex home. At least we part on good terms, knowing a little more about what’s under the hood. Now off to eBay to unload it on someone else who hopefully has a better plan for a tiny Linux machine with a giant harddisk.
 

One Response to Hacking Into Linux on Seagate GoFlex Home

  1. Joel says:

    Looks like an interesting project. I have several GFH bases/drives to play with. Will look over better when I have time available. Great write up.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>