Advertisement
Guest User

Untitled

a guest
Feb 6th, 2012
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.18 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. if [ $# -ne 1 ]
  4. then
  5.   echo "Performs a number of encodings on the first argument string"
  6.   echo "Usage: `basename $0` {string}"
  7.   exit 1
  8. fi
  9.  
  10. printf "\n# String Scrambles:\n"
  11. printf "%-20s\t" 'Normal:'; echo "$1"
  12. printf "%-20s\t" 'Reversed:'; echo "$1" | rev
  13. printf "%-20s\t" 'Case Reversed:'; echo "$1" | tr '[A-Z][a-z]' '[a-z][A-Z]'
  14. printf "%-20s\t" 'ROT13:'; echo "$1" | gcipher -c Rot -k 13
  15. #printf "%-20s\t" 'Rot13:' ; python -c "print '''$1'''.encode('rot13')"
  16. printf "%-20s\t" 'GIE:'; echo "$1" | gcipher -c Gie
  17. printf "%-20s\t" 'Caesar:'; echo "$1" | gcipher -c Caesar
  18. printf "%-20s\t" 'Vigenere:'; echo "$1" | gcipher -c Vigenere -k vigenere
  19. printf "%-20s\t" 'Anagrams:'; wordplay -s "$1" | sort -u | sed -n '1h;2,$H;${g;s/\n/, /g;p}'
  20. # Due to both terminal and editor encodings, this is better executed on a non-UTF8 terminal:
  21. printf "%-20s\t" 'Leet (l334):'; echo "$1" | tr [a-z] [A-Z] | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' '4ß(Ð3ƒ9H1JK£MN0PQ®$7µVWX¥2' | sed 's_H_|-|_g;s_J_\_|_g;s_K_|{_g;s_M_|\\/|_g;s_N_|\\|_g;s_P_|°_g;s_Q_¶¸_g;s_V_\\/_g;s_W_\\/\\/_g;s_X_)(_g' #See http://www.albinoblacksheep.com/text/leet
  22.  
  23. printf "\n# Numerical Representations:\n"
  24. printf "%-20s\t" 'INT:'; echo -n "$1" | hexdump -ve '/1 "%03i"'; echo
  25. printf "%-20s\t" 'HEX:'; echo -n "$1" | hexdump -ve '/1 "%02x"'; echo
  26. printf "%-20s\t" 'OCT:'; echo -n "$1" | hexdump -ve '/1 "%02o"'; echo
  27. printf "%-20s\t" 'BIN:'; echo -n "$1" | xxd -b -g0 -c0 | cut -b10-56 | tr -d '\n '; echo
  28.  
  29. printf "\n# Passwords:\n"
  30. printf "%-20s\t" "CRYPT w/o SALT:"; echo -n "$1" | openssl passwd -crypt -stdin -salt 00
  31. printf "%-20s\t" "CRYPT w/ Random SALT:"; echo -n "$1" | openssl passwd -crypt -stdin
  32. printf "%-20s\t" "DES w/ CR SALT:"; echo -n "$1" | openssl passwd -crypt -stdin -salt CR
  33. printf "%-20s\t" "Shadow w/o SALT:"; echo -n "$1" | openssl passwd -1 -stdin -salt 00000000
  34. printf "%-20s\t" "Shadow w/ RANDOM SALT:"; echo -n "$1" | openssl passwd -1 -stdin
  35. printf "%-20s\t" "Apache w/o SALT:"; echo -n "$1" |  openssl passwd -apr1 -stdin -salt 00000000
  36. printf "%-20s\t" "Apache w/ RANDOM SALT:"; echo -n "$1" |  openssl passwd -apr1 -stdin
  37. printf "%-20s\t" "LM Password:"; python -c "import smbpasswd; print smbpasswd.lmhash(\"\"\"$1\"\"\")" #requires python-smbpasswd
  38. printf "%-20s\t" "NTLM Password:"; python -c "import smbpasswd; print smbpasswd.nthash(\"\"\"$1\"\"\")" #requires python-smbpasswd
  39.  
  40. printf "\n# Digest Hashes (newline not included):\n"
  41. #printf "%-20s\t" 'BINARY MD5:' ; echo -n $1 | openssl dgst -binary
  42. printf "%-20s\t" 'MD5:'; echo -n $1 | openssl dgst -md5
  43. printf "%-20s\t" 'MD4:'; echo -n $1 | openssl dgst -md4
  44. #printf "%-20s\t" 'MD2:'; echo -n $1 | openssl dgst -md2
  45. printf "%-20s\t" 'SHA1:'; echo -n $1 | openssl dgst -sha1
  46. printf "%-20s\t" 'SHA:'; echo -n $1 | openssl dgst -sha
  47. printf "%-20s\t" 'SHA224:'; echo -n $1 | openssl dgst -sha224
  48. printf "%-20s\t" 'SHA256:'; echo -n $1 | openssl dgst -sha256
  49. printf "%-20s\t" 'SHA384:'; echo -n $1 | openssl dgst -sha384
  50. printf "%-20s\t" 'SHA512:'; echo -n $1 | openssl dgst -sha512
  51. #printf "%-20s\t" 'MDC2:' ; echo -n $1 | openssl dgst -mdc2
  52. printf "%-20s\t" 'RIPEMD160:'; echo -n $1 | openssl dgst -ripemd160
  53. printf "%-20s\t" 'CRC32:'; python -c "import binascii; print binascii.crc32('''$1''') & 0xffffffff"
  54.  
  55. printf "\n# Web Encodings\n"
  56. printf "%-20s\t" 'URLQuote:'; python -c "import urllib; print urllib.quote('''$1''')"
  57. printf "%-20s\t" 'URLEscape:'; echo "$1" | recode ..HTML
  58. printf "%-20s\t" 'HTML HEX Entity:'; echo -n "$1" | hexdump -ve '/1 "&#x%02x;"'; echo
  59. printf "%-20s\t" 'HTML Entity:'; echo -n "$1" | hexdump -ve '/1 "&#%02i;"'; echo
  60. printf "%-20s\t" 'Javascript String'; echo -n "String.fromCharCode("; echo -n "$1" | hexdump -ve '/1 "%i,"' | sed 's_,$_)\n_'
  61. printf "%-20s\t" 'SQL String'; echo -n $1 | hexdump -ve '/1 "char(%i)+"' | sed 's_+$_\n_g'
  62.  
  63. printf "\n# UTF Encodings\n"
  64. printf "%-20s\t" 'UTF-7:'; echo $1 | iconv -t utf7
  65. printf "%-20s\t" 'UTF-8:'; echo $1 | iconv -t utf8
  66. printf "%-20s\t" 'UTF-16:'; echo $1 | iconv -t utf16
  67. printf "%-20s\t" 'UTF-32:'; echo $1 | iconv -t utf32
  68. printf "%-20s\t" 'Unicode:'; echo $1 | iconv -t unicode
  69. printf "%-20s\t" 'ASCII:'; echo $1 | iconv -t ascii
  70.  
  71. printf "\n# Encodings\n" #http://docs.python.org/library/codecs.html#standard-encodings
  72. printf "%-20s\t" 'Base64:'; echo -n $1 | openssl enc -e -base64
  73. #printf "%-20s\t" 'Base64:'; python -c "import base64; print base64.b64encode('''$1''')"
  74. printf "%-20s\t" 'Base32:'; python -c "import base64; print base64.b32encode('''$1''')"
  75. printf "%-20s\t" 'Base16:'; python -c "import base64; print base64.b16encode('''$1''')"
  76. #printf "%-20s\t" 'UUEncode:'; python -c "print repr('''$1'''.encode('uu_codec'))"
  77. #printf "%-20s\t" 'UUEncode:';; echo -n $1 | hexdump -ve '/1 "#%02x"' | tr '#' '%'
  78. printf "%-20s\t" 'UUEncode:'; python -c "import binascii; print binascii.b2a_uu('''$1''')" | tr -s '\n'
  79. printf "%-20s\t" 'Punycode:' ; python -c "print '''$1'''.encode('punycode')"
  80. printf "%-20s\t" 'Mime Quotable:' ; python -c "print '''$1'''.encode('quopri_codec')"
  81.  
  82. printf "\n# Compression Encodings\n"
  83. #printf "%-20s\t" 'Bzip2:' ; python -c "print repr('''$1'''.encode('bz2_codec'))" | sed "s_^'\(.*\)'\$_\1_"
  84. #printf "%-20s\t" 'Zlib (gzip):' ; python -c "print repr('''$1'''.encode('zlib_codec'))" | sed "s_^'\(.*\)'\$_\1_"
  85. printf "%-20s\t" '7z:' ; echo -n "$1" | 7z a dummy -tgzip -si -so 2>/dev/null | hexdump -ve '/1 "%02x"'| sed "s_\(..\)_\\\x\1_g"; echo
  86. printf "%-20s\t" 'Bzip2:' ; echo -n "$1" | bzip2 -f | hexdump -ve '/1 "%02x"'| sed "s_\(..\)_\\\x\1_g"; echo
  87. printf "%-20s\t" 'GZip:' ; echo -n "$1" | gzip -f | hexdump -ve '/1 "%02x"'| sed "s_\(..\)_\\\x\1_g"; echo
  88. printf "%-20s\t" 'Zip:' ; echo -n "$1" | zip 2>/dev/null | hexdump -ve '/1 "%02x"'| sed "s_\(..\)_\\\x\1_g"; echo
  89.  
  90. #printf "\n# OpenSSL Ciphers with empty passphrase, key and iv:\n"
  91. #for line in `openssl enc -h 2>&1 | sed -n '/Cipher Types/,//p' | grep -v -e "Cipher Types" -e "^$" | tr -s [:space:] '\n'`; do printf "%-20s\t" "$line:"; echo -n $1 | openssl enc -k "" -e -a -p -K 0 -iv 0 "$line" | sed -n '1h;2,$H;${g;s/\n/, /g;p}'; done
  92.  
  93. #printf "\n# All iconv Output Encodings ~= 1153:\n"
  94. #for line in `iconv -l`; do printf "%-20s\t" "$line"; echo -n $1 | iconv -t "$line" 2>/dev/null; echo; done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement