Pipe Stdout to other host

19 December, 2018

netcat lets you receive streams over your network.

I recently had the problem that I wanted to do a MySQL backup but the hosts disk was too full to store it. I only had SSH access and didn't want to make that backup with Datagrip, PhpMyAdmin or MySQL Workbench. So I had to be creative.

Through my pentesting experience I recalled that you can pipe all input output from and to another host. On PentestMonkey there are various examples on how you would achieve a so called "reverse shell". In our case we only want to pipe stdout to another host.

Now this is what I do - I open a netcat session on a host with enough diskspace like so:

nc -lnp 4444 > mysqldump.sql

And on the host where I want to retrieve the backup I'm entering

mysqldump databasename --host=localhost --user=root >& /dev/tcp/remotehost/4444 0>&1

Have fun emoji-wink

emoji-bulb You may need to provide a password

emoji-bulb Note, that this transfer is not encrypted whatsoever (And there are usually passwords in database dumps)

Author: Marcel Michelfelder


Add a comment

Want to get in touch?