Over the last 30 hours i have been watching 3 hackers/scriptkiddies trying to hack into one of my servers, between them they have made some 132,000 login attempts to the Administrator (system) account on my linux server. why did i watch them for 30 hours and not block them? i'll explain that later, first lets talk about the difference between a hacker and a scriptkiddie.
A scriptkiddie is a snotty nosed 13 year old that download Ytunnel and uses it to kick you off yahoo chat or crash your yahoo messenger. they just use a script, he is a wanna be hacker to look cool for his mates.
There are three types of hacker, the ones you never hear about until they go to jail. (real hackers), security hackers, (hackers turned good guys), and the hacker that tells you he is going to hack your hotmail or website and never does. (because he cant hack his way out of a wet paper bag with an axe)
So why didnt i block 3 scriptkiddies from trying to hack into the Administrator account on my server?
Well i know they are not Hackers because they all made one fundemental mistake, one that tells me they are scriptkiddies that have no idea what they are doing with the script they are using to try and hack the server.
Linux servers do not have a system Administrator account, only Windows machines do. so for 30 hours they tried to get into the system Administrator account that does not even excist.
if they where smart they would have used 30 seconds to do a whois to lookup the server and see what system it is and use the correct system account name to try and hack into an not waste 30 hours.
============= important you read below=============
This got me thinking, 132,000 attempts on one account name, divided by 3 people is 44,000 different passwords they each could have used, thats a lot more than the normal 2000-4000 you would see used.
if your password is easy to remember, its most likely on that list of 44,000
so the whole point of this post is to help you to learn how to make strong passwords that are easy for you to remember as most people don't know how.
you need a formulae thats easy for you to remember and one you can apply to different passwords used for different things. you do not need a mile long password to be strong.
But first a word about online MD5 hash generators and crackers.
Never ever use an online MD5 generator, all you are doing is making your strong password public and giving it to hackers.
how this con works. you think of a strong password, enter it in the online generator, you walk away with your new md5 hash, and the generator owner walks away with your strong password you entered and the hash for it, and puts it on his MD5 hash cracker site list and sells your password for $10 to whoever enters your MD5 hash. you did all the work, he keeps the cash and you get hacked and wonder how when your password was 100% strong. now you know how.
password formulae
a strong password needs to contain symbols there are 26 letters on a keyboard, and 30 symbols, i use 3 different formulae depending on where i am logging in. The 30 symbols will generate 810,000 different formulae, times them by the 44,000 passwords used by the hackers above and it makes 39 billion passwords all 90% strong or higher.
i will teach you how you can join 20,000 different websites with 20,000 different passwords and login to all 20,000 sites without forgetting a single password. How? read on
choose 4 symbols any 4 and remeber them, start your password with 2 of them. like this
$%
choose a name, not your own i'll use my dogs, Max, but wow its only 3 letters long and anyone can guess it? sure they gotta guess one of 810,000 formulae too remember.
this formulae uses 4 symbols $% at the start and #^ at the end
so start with
$%M
then use the standard @ for the a
$%M@
drop the last letter and replace with the 3rd symbol of your formulae
$%M@#
and now add the last symbol of your formulae
$%M@#^ = 95% strong from using my dogs name Max and not a mile long
any generic name used needs to have the vowles change for symbols like a=@ e=3 i=1 o=0 u=^
so to login into 20,000 sites without having to remember the password use this.
but only the first 6 letters of the domain name. take boonex.com
it would be using this formulae
$%B00n3#^ 100% strong
expertzzz.com would be
$%Exp3r#^ 100% strong
! " £ $ % ^ & * ( ) _ + - = < . , : ; @ ' ~ # [ { ] } \ | ` =30 symbols choose any 4 to make 2 pair
Cheers
for example .. few months back some kid askd for my ip .. and i told him that it was 127.0.0.1 and he told me to save my documents and to wait i said ok .. and the convo went liek this :
me:what you gona do ?
him : im gona restart ur pc !!!
me : hokay ...
* then i had one big grin on my face wating something to happen 5 seconds later he went offline .. can u gues see more
I run a program called log-guardian (PERL) http://www.tifaware.com/perl/log-guardian/ (except I can't get in right now) that watches log files for patterns and performs an action if/when the pattern matches.
I have my system watching the "secure" log for ssh and ftp transactions - see more
great post for securing passwords.
idea to including to include one or two characters of the website name too is great. In case someone finds password of one site, he won't be able to acces others as other site passwords would have difference in characters. but in case u include too many characters from website name, it might not help ;-)
30 hours...
Sammie... sammie...
:-p
CyberXing
i will teach you how you can join 20,000 different websites with 20,000 different passwords and login to all 20,000 sites without forgetting a single password. How? read on
choose 4 symbols any 4 and remeber them, start your password with 2 of them. like this
$%
***** Dictonary attacks will always start with a letter, but some letters are commonly replaced with a symbol see more
nice post, however i think, that your passwords are very short for nowadays computers and password generators.
In general, longer passwords means much better security (even without special characters).
So as a suggestion, i'd extend your pass formula to some constant suffix/prefix (8 alphanum characters), which would then hopefully make it 100% attack proof.
Anyway, log files and some nice ban utility on your server is also good to have. I use fail2ban on my servers and it works see more
re read it, you'll see i recommend using 6 letters from the domain +4 symbols, dropping the last letter of the domain = 9 in all.
9 sounds good. i use 16 myself :P
here's a pass strength meter, if someone wants to check his password: http://www.passwordmeter.com/
Not saying that this site in particular will do anything with it, but just remember, if you have to ask someone if your password is good, you just reduced its ability to be strong.
Keypass is free & it is beyond awesome IMHO.
Great post though Sammie.
PC
Before you post how to join 20,000 sites, can you PLEASE teach us how to protect our site from these attacks,
cheers :-)
Now if I can just get that "welcome admin" off my front pages to stop inviting visitors to come try to log into my admin panel...
If you register at a malicious site, then the admin knows your first two and the last two characters of all your passwords. So then the passwords have actually only the strength of a password with five letters.
Or if someone knows that you are using some leetspeak presentation of the domain name in letter 2 to 7 and only special characters in letter 1,2,8,9 then he can also exclude many possible passwords.
i used very basic and symplistic demo's i made people think, now they can go away and think of the other see more
And of course, reliable admins will hash the password right away. So nobody would ever see the plain password. But you never know if they are see more
There is nothing wrong with generating a completely random password for something like a hosting account and storing it somewhere safe, such as your wallet. If you're not bringing your wallet around with you, I think you should be afraid for more than your email.
With hosting accounts in particular, you could always set up a set of SSH passphrase-protected see more
You may already be able to install it by apt or yum depending on your distro.