///////////////////////////////// // // /// // // ///// /// // // ///// /// // // // /// // // /////////// /// //////////// // ////////// //////// ////////////////// // // //////// // // // // // // // / // // // ////////// // // //////// //////// // /// // // // // //////// // // // // // // // // // // // // // //// //// // // // // // //////// /////// /// /// //////// =========================================================================etc/passwd Brought to you by ---=> *KGB* ---=>fh_foxhound@hotmail.com ----=>thdreamer.com/kgb Intro: This file is 'bout the etc/passwd and everything that comes with it. Topics: Getting a Passwd file Info about the /etc/passwd Info about the /etc/passwd fields Info about the encryption Info about the /etc/shadow How to crack a passwd file using John the Ripper. Choosing a good Passwd __disclaimer__ This file is for educational purpose only, blah blah, i am not responsable for your actions and stuff like that. My main purpose is to contribute my knowledge to you. ======================= First sum Facts about the /etc/passwd file ======================= *The /etc/passwd file is the most important user-related configuration file on the system. *All Unix systems have this file. */etc/password contains information on all users including root. *It is almost perfectly standardized across all systems. *Misconfiguring this file can result in all users being unable to log in, including root, it also can result in anyone being able to login as anybody, including root. ======================= Let's Start ======================= *First of all it's easy to get a passwd (password) file, but it is harder to get a good one. Good one? yes, a good one, there is only one Good one. Okay only one good one, now tell me how 2 get the damn thing! The oldest methode i know is the FTP://server.com. Note: To do this ftp the server from your browser, not sum ftp progz or shit like that. Then you will ftp the server anonymously and you will see something like this: FTP Dir on server.com --------------------- 04/07/1999 12:00 Directory dev <=--- Devices 04/12/1999 12:00 Directory etc <=--- This one u want! 06/10/1998 12:00 Directory hidden <=--- Not important 03/22/2000 02:23 Directory pub <=--- Public stuff As u can see this is a Unix system (duh windows doesnt have /etc/). So we click on --=>etc FTP Dir /etc on server.com -------------------------- 04/12/1999 12:00 601 group <=--- File with group/user names 04/12/1999 12:00 509 passwd <=--- Bingo! So we click on the passwd file. We see: root:x:0:1:Super-User:/:/sbin/bash daemon:x:1:1::/: bin:x:2:2::/usr/bin: sys:x:3:3::/: adm:x:4:4:Admin:/var/adm: lp:x:71:8:Line Printer Admin:/usr/spool/lp: smtp:x:0:0:Mail Daemon User:/: *** The /etc/passwd contains so much user-related information wich is needed by normal users, there for it is world-readable but never make the passwd file world-writable! *** THIS IS USELESSSSSSS, why? see the X that means that the passwd is shadowed. It's a shadowed passwd file, very very hard to crack there is way 2 do it, a program called Deshadow would do the work they say, but deshadow is only to be run on your own unix box. *** -When Shadowing your /etc/passwd- The encrypted passwords are moved out into a shadow password file (called /etc/shadow, how it is called depends on what release/disstro your are using) that is NOT publicly readable. The passwd file has always been readable so that, for example, ls -l could figure out who owns what. But having the passwd encryptions readable is a security risk. *** gecos | root:x:0:1:Super-User:/:/sbin/bash | | | | | | | Login | | | | | | name | |group | | shell (bash= bourne again shell) | | id fullname | shadowed | passwd| home | dir userid UserName:Password:UserID:PrincipleGroup:Gecos:HomeDirectory:Shell ------->>Info about GECOS<<------- General Electric Comprehensive Operating System, "Some early UNIX systems at Bell Labs used GCOS machines for print spooling and various other services; the field added to `/etc/passwd' to carry GCOS ID information was called the `GECOS field' and survives today as the `pw_gecos' member used for the user's full name and other human-ID information" -Jargon file This field is used to allow some programs like mail and news access to the users's real name. also this field can contain any ASCII charater except ":". ---------------------------------- **** The "x" is called a token on some systems it is replaced by a "$" or "#" or sometimes even the user name. **** So now that the passwd file is useless, we are disapointed and just for the fun of it all we will take a look at the ---=>group. (/etc/group) we see: root:x:0:root other::1: bin::2:root,bin,daemon sys::3:root,bin,sys,adm adm::4:root,adm,daemon uucp::5:root,uucp mail::6:root tty::7:root,tty,adm lp::8:root,lp,adm nuucp::9:root,nuucp staff::10: daemon::12:root,daemon sysadmin::14: nobody::60001: noaccess::60002: nogroup::65534: sponsor::26:dlamb,marci,tcl,wjtifft,sndesign,bswingle,sonny star::22:nobody,tcl,marci,dlamb,wjtifft,sndesign,bswingle,grossman cron::30:root,zwisner,tcl,grossman,bcauthor,starnews,kvoa,bswingle,uurtamo nettools::29:root,zwisner,tcl,grossman,bcauthor,bswingle,uurtamo su::27:root,zwisner,tcl,grossman,bcauthor,uurtamo,bswingle ftp::60000: What's to say? a bunch a user names and group id's (gid). Sometimes you will find a file called pwd.db in the /etc dir. This is a database file. Unfortunatly this file is useless. Because in these file the passwords are removed. The spwd.db is the same kind of file but without the passwords removed. Remember this about the files: /etc/passwd ASCII password file, with passwords removed /etc/master.passwd ASCII password file, with passwords intact /etc/pwd.db format password database, with passwords removed /etc/spwd.db format password database, with passwords intact ======================= Let's Move On ======================= *Okay our attempt failed to retrieve a good passwd file, so now we are gonna get a good one. Note: On windows the passwd file is called .pwl You can do the old FTP method on many servers, but lets talk about the Good passwd file. We use the same example as above: root:Npge08pfz4wuk:0:1:Super-User:/:/sbin/bash daemon:Fs2e08p34Cxw1:1:1::/: bin:Npge08pfz4wuk:2:2::/usr/bin: What u see and what u should notice is the jibberish (Npge08pfz4wuk) it is a encrypted passwd. Actually it is not encrypted but encoded. ------->>PASSWD Encoded info<<--------- Encoded? that's right, when the passwd is to be encoded with randomly generated value called Salt. There are 4096 salt values. So if you want to do a Dictionary Attack u will have 2 try all the values. So the Npge08pfz4wuk, the Np are the salt and the ge08pfz4wuk is the hashed passwd. Sometimes there is nothing no hashed passwd, no shadowed passwd, just an empty space. This means that there is no passwd!! this is a major security risk. --------------------------------------- Right about now u would want 2 download John the Ripper. http://hackersclub.com/km/files/password_cracker/ucfjohn2.zip "Its primary purpose is to detect weak UNIX passwords" And use the Ripper to crack the passwd file. Put the file into the same directory where john.exe is and run a brute force attack on the file with the following command: >john -incremental passwd.txt This may take a while, in some cases it may take up to 3 weeks!!. You can also attack the file with a wordlist, do this with the following command: >john -wordlist: passwd.txt ======================= Choosing the Right Password ======================= Many people use weak passwords, easy guesable passwords, easy crackable passwords. What is a weak password? example: protection What is wrong with the password protection?, well the password doesn't contain any numbers, it's a guesable word and it's all lower case, the lenght of the password is good though. I would suggest a password like 0xS2vM87X, it contains Upper and Lower case letters, its lenght is good (a good passwd has a min. lenght of 8 letters) and it contains letters and numbers. Good passwords are better than changing passwords all the time. Forcing users to change passwords make them pick weak ones, and/or write them down. Don't use the Same password for everything!!, i had many cases where the mail passwd was the same as the Root passwd.... There are Passwd generators who will generate passwords at random, if you would like this you can download them at www.download.com. ======================= Final Notes ======================= *Now u know a little about this shit, there are many ways of getting a passwd file, Ofcourse i only showed one method of getting a passwd file. To get a passwd file the other way, you first need to find a hole in the services running at various ports of the host. GrtZ, ---=>KGB (fh_foxhound@hotmail.com)