Rustmilian
link
fedilink
English
2
edit-2
9M

sudo cat /dev/urandom > /dev/sda*

it does not work, it says permission denied. Is there anything I should do ?

Rustmilian
link
fedilink
English
2
edit-2
9M

sudo cat /dev/urandom > /dev/*
Or
sudo dd if=/dev/urandom of=/dev/sda bs=4k conv=notrunc,noerror

P.s. sudo cat /dev/urandom > /dev/* can cause physical damage to all hardware components, not just destroy your drives data.

z3bra
link
fedilink
19M

sudo cat is pointless here, better do

</dev/urandom sudo tee /dev/sd*

As a bonus it’ll scramble your terminal 💪

Rustmilian
link
fedilink
English
1
edit-2
9M

Sudo is for getting the necessary perms to write the data to the location after the > operator. Cat is just super fast, faster than dd infact as it’s not actually intended to write to disks, only to stout. We want as much speed as possible to do as much damage as possible by increasing our chances of trigging bugs.

Can you elaborate how it can cause physical damage?

z3bra
link
fedilink
19M

Well as I see it, it will just do a lot of write operations to your disk, which might eventually damage it if you do it a lot (just like any write operation done on a disk). However, this specific command isn’t bad per se, and is even technically a good thing to do for preparing to full disk encryption.

We aren’t in the days of olde any more were disks would execute every random order you give them without thought… also, writing to /dev isn’t going to do that it’s simply going to give the disks write orders, /dev is quite a bit less raw than the firmware interfaces (SATA etc).

What you’re really doing here is fuzzing both the kernel and device firmware. You might find a bug but finding bugs doesn’t break things it just lays bare how stuff was always broken. Typically nothing a hard reset won’t fix.

z3bra
link
fedilink
2
edit-2
9M

I didn’t come up with this idea myself, this is straight from OpenBSD disk setup guide (which I personally trust as a good source of info) :

Encrypting External Disks

This section explains how to set up a cryptographic softraid volume for an external USB drive. An outline of the steps is as follows:

  • Overwrite the drive’s contents with random data

[…]

# dd if=/dev/urandom of=/dev/rsd3c bs=1m

Yeah if that triggers a bug then the kernel or drive is barely functioning, neither of the two should care what data you write and it’s getting tested all the time as compressed data is indistinguishable from random data.

You could certainly confuse something in /dev that takes actual commands, but say spinning fans randomly won’t do much, and neither crashing the fan controller the firmware will still shut the system down before it melts itself.

But if you have, dunno, an old plotter hooked up to /dev/lp0 and it’s directly interpreting every random number on there as a movement command you might overheat the mechanism and set it on fire.

Rustmilian
link
fedilink
English
1
edit-2
9M

/dev/urandom provides an unlimited stream of random data, the output is based on truly random data and doesn’t block regardless if the entropy pool is depleted.
It’s not the same as /dev/random which only returns random numbers from the entropy pool at a limited rate and can block if the entropy pool is deplete.

By using /dev/urandom and cat we’re blasting random data at much faster speeds then what /dev/random & dd are capable of which increases our chances of triggering a bug by quite a bit.

Rustmilian
link
fedilink
English
3
edit-2
9M

It blasts all virtual device files that directly represent the hardware of the system; from disks to audio devices and so on; with extremely random data potentially causing irreversible damage.

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 77 users / day
  • 211 users / week
  • 413 users / month
  • 2.92K users / 6 months
  • 1 subscriber
  • 1.53K Posts
  • 33.8K Comments
  • Modlog