Profiling User Passwords On Social Networks
Profiling User Passwords On Social Networks
Tom Eston
The information contained in or accompanying this document is intended only for the use of the stated recipient and may contain information that is confidential and/or privileged. If the reader is not the intended recipient or the agent thereof, you are hereby notified that any dissemination, distribution, or copying of this document is strictly prohibited and may constitute a breach of confidence and/or privilege. If you have received this document in error, please notify us immediately. Any views or opinions presented are solely those of the author and do not necessarily represent those of SecureState, LLC.
Synopsis This is a whitepaper on how to determine passwords for social network accounts through information posted on the profiles of social network users. Author Name Tom Eston Table of Contents Background ............................................................................................................................................................. 3 Password Selection Theory ..................................................................................................................................... 3 Examples of Common Passwords Found on Social Networks ................................................................................ 4 Methods to Determine Passwords ......................................................................................................................... 5 Tools ........................................................................................................................................................................ 5 How Social Networks Are Not Helping The Problem .............................................................................................. 9 Defenses and Prevention ...................................................................................................................................... 10 About The Author ................................................................................................................................................. 11 References and Related Links.12 Revision Title 1.3 Date August 31, 2010
Background
Social networks have recently reached a pinnacle of popularity. Facebook has reached 500 million users, and there are now an estimated 105 million users on Twitter. Social networking sites have become so popular that they have outpaced technology that most of us take for granted such as email. For example, a recent study performed by Nielsen Online1 showed that social networks are now the fourth most popular online activity, even ahead of personal email. Millions of people are continuously sharing personal and sometimes private information with friends, acquaintances, and even total strangers on social networks. More than likely the information you share on a social network can be viewed and shared by more than just your friends. To compound the problem, social networks encourage the sharing of private and personal information with little regard for the users privacy. Social networks are designed to make money from information posted by their user base. The inadvertent disclosure of non-sensitive personal information may seem innocent but there is a dark side to posting your interests, hobbies, and even your favorite car or movies. Studies and recent privacy breaches have shown that users of social networks choose poorly crafted passwords and many of these passwords can be determined simply from information posted by the user. Tools and scripts beyond simple guessing techniques have been developed to help determine a users password. These tools can be used in some cases to brute force the users password on a social network service as well as other websites the user might use. This white paper will discuss the problem of inadvertent information sharing by users of social networks and how to defend against such attacks.
Profiling User Passwords on Social Networks o 54321 o asdf o zxcvb Alternate methods for password selection dont work. Passphrases are time consuming for the average user to create and end up being difficult to remember. Security professionals have also recommended creating a per site password. One example is where one appends a series or combination of numbers or other characters before or after the website name. For example, facebook1234 or 1234Facebook. Attackers have been known to quickly ascertain these patterns to determine passwords on other websites. Social networks dont encourage strong password selection. Most major social networking websites dont enforce any complexity or very long passwords so users naturally choose insecure ones. In addition, social networks have never expired passwords after a set period of time, mostly due to user support challenges.
Figure 1. Top twenty passwords from the RockYou database breach By just quickly reviewing this list you can see many of the password patterns that have been discussed in the previous section. One attack to consider is to simply try the top twenty passwords when attacking a user account on a social network. This would be a simple dictionary brute force style attack. For example, just by trying the number one password 123456 you have a slightly better chance of the attack being successful than just taking a simple guess at the password.
Tools
Several free and open source tools are available to create wordlists that can be used for brute force attacks to obtain passwords of social network users. Following is a list of the most useful tools and scripts that can be used to generate wordlists from social network profiles. CeWL - Custom Wordlist Generator CeWL4 was created by security researcher Robin Wood as a way to create a custom wordlist based on spidering a website. This functionality is perfect for quickly determining unique words on a social network profile. CeWL is available for download from Woods website, in the Samurai WTF5 (Web Testing Framework), and within the popular BackTrack 4 penetration testing distribution6.
Profiling User Passwords on Social Networks Figure 2 shows the typical output when running CeWL targeting a Twitter profile.
Figure 2. Output of CeWL after it discovered unique words from a Twitter profile RSMangler RSMangler is another tool created by Robin Wood7 which compliments CeWL or any other tool that generates a wordlist. RSMangler will take a wordlist and generate mangled combinations or manipulations of those words. For example, if you have three words in your wordlist: tom, eston, social; RSMangler would output these as: tomeston tomsocial estontom socialeston socialtom etc.
You also can add common permutations such as 123 to the mangling rules. The RSMangler tool can be downloaded from the RandomStorm8 website. AWLG - Associative Word List Generator AWLG is a website9 that will generate a wordlist based on your search terms. These terms are queried from the website using typical search engine techniques. For example, if you search for tom, eston, agent0x0, zombies, spylogic, security, justice; AWLG will search the Internet for those terms and give you back a listing of relevant keywords.
Profiling User Passwords on Social Networks Figures 3 and 4 show a search with AWLG and its related output.
Figure 3. The AWLG front end which searches the Internet to create a custom wordlist
Figure 4. The result of AWLG searching for keywords associated based on the original search
Profiling User Passwords on Social Networks CUPP Common Users Password Profiler CUPP is a wordlist generation script created by Muris Kurgas. CUPP asks a series of questions to generate a custom wordlist based on the answers given by the user. This tool can be quite handy if you have already found out significant information about the user through their social network profile. CUPP can be found pre-installed in the BackTrack 4 penetration testing distribution. Figure 5 shows an example of some of the questions CUPP asks.
Figure 5. CUPP asks relevant questions to determine a custom wordlist based on the user Mark Baggett's userpass.py script Mark Baggetts script userpass.py10 takes a unique approach to generating wordlists as they are customized automatically on a per user basis. An explanation of how the script works follows: A search for publicly available LinkedIn profiles through Google based on a target company is initiated. Next, the script will attempt to spider any websites that the user has linked in their LinkedIn profile such as blogs or company sites. The script pulls the users profile picture and attempts to check a website called tineye to determine if that
profile picture matches up with others found on the Internet. If so, those websites are spidered for keyword information. Lastly, all the spidered websites are run through CeWL to generate custom wordlists.
Marks usepass.py script is available for download from the PaulDotCom website11.
Profiling User Passwords on Social Networks Based on these observations, it appears that while one social network enables strict controls around preventing brute force attacks (LinkedIn), that same social network lacks in other areas such as password complexity checks. There is very little consistency among the social networks regarding these common security controls.
10
Profiling User Passwords on Social Networks There are some very good and easy to use solutions, and many are even free of charge. While you still need a complex password to open the application storing your passwords (see #1 and #3), these programs can auto generate complex and unique passwords and store them securely. Two popular password manager programs are KeePass12 (free) for Windows, Linux, OSX and 1Password13 (commercial) for Windows and OSX systems. KeePass and 1Password also can be used on mobile devices like the iPhone. Important: a password manager is not the password manager in your web browser! These are dangerous to use, especially if your browser or computer gets compromised. 6. Review your privacy settings on your social network profiles Lastly, review the privacy settings on your social networks to ensure they meet your expectations. Social networks in general initially set privacy settings to many defaults that allow anyone to view your information. Visit SocialMediaSecurity.com14 for guides and other information on how to properly configure these settings.
11
http://en-us.nielsen.com/content/nielsen/en_us/news/news_releases/2009/march/social_networks__.html http://techcrunch.com/2009/12/14/rockyou-hacked/ 3 http://www.imperva.com/docs/WP_Consumer_Password_Worst_Practices.pdf 4 http://www.digininja.org/projects/cewl.php 5 http://samurai.inguardians.com/ 6 http://www.backtrack-linux.org/ 7 http://www.digininja.org/projects/rsmangler.php 8 http://www.randomstorm.com/rsmangler-security-tool.php 9 http://awlg.org/index.gen 10 http://pauldotcom.com/wiki/index.php/Episode206 11 http://pauldotcom.com/userpass.py 12 http://keepass.info/ 13 http://agilewebsolutions.com/products/1Password 14 http://socialmediasecurity.com
12