# runs only on LINUX! # https://www.aychedee.com/2012/03/14/etc_shadow-password-hash-formats/ # Types of passwords used: # 1. Direct lookup on google (sha1, md5) (from https://www.passwordrandom.com/most-popular-passwords) # 2. password within top 100 # 3. brute-forced 4,5,6,7 characters # 4. dictionary English word # 5. pattern (dictionary + 2 digits or specials), # 6. custom word # 7. pattern with known structure import crypt class hwpasswd: prefix = 'aychedee' counter = 1 suffix = ':15405:0:99999:7:::' def myprint(self, value): print(self.prefix + str(self.counter) + ':' + value + self.suffix) self.counter = self.counter + 1 def generate_passwords(self): self.prefix = 'user' self.suffix = '' self.myprint('75c6f03161d020201000414cd1501f9f') # diamond self.myprint('08b314f0e1e2c41ec92c3735910658e5a82c6ba7') # sunshine1 self.myprint('36d1fbec29ea8eb12f8622e2e47e9b9d38ed04a4') # PPassword self.suffix = ':15405:0:99999:7:::' self.myprint(crypt.crypt('Iloveyou', '$6$vb1tLY1qiY')) self.myprint(crypt.crypt('password1', '$6$vb1tx5rqiY')) self.myprint(crypt.crypt('qwerty', '$6$Lj78LY1qiY')) self.myprint(crypt.crypt('solarwinds123', '$6$Lj78LY1qiY')) self.myprint(crypt.crypt('hlp', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('l#=', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('cv$', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('sdle', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('ro1v', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('k*J9', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('kqdsn', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('jkrt3', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('k#5)d', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('xuuaao', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('xm12ka', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('!$4&&0', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('eegfffw', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('wkqm33m', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('*+A76J3', '$1$sD2o3Rj3')) self.myprint(crypt.crypt('combat77', '$5$sD2o3Rj3')) self.myprint(crypt.crypt('33always', '$5$sD2o3Rj3')) self.myprint(crypt.crypt('password1^2', '$5$sD2o3Rj3')) self.myprint(crypt.crypt('passwordpv204', '$6$sD2o3Rj3')) self.myprint(crypt.crypt('password1pv204', '$6$sD2o3Rj3')) self.myprint(crypt.crypt('password#pv204', '$6$sD2o3Rj3')) self.prefix = 'user_4xSame3CharsWord_' self.myprint(crypt.crypt('sunsunsunsun', '$6$sD2o3Rj3')) self.prefix = 'user_4xSame4CharsWord_' self.myprint(crypt.crypt('goalgoalgoalgoal', '$6$sD2o3Rj3')) self.prefix = 'user_4xSame5CharsWord_' self.myprint(crypt.crypt('portalportalportalportal', '$6$sD2o3Rj3')) self.prefix = 'user_2xSame3CharsWord_then_5CharsWord' self.myprint(crypt.crypt('funfunspeed', '$6$sD2o3Rj3')) def main(): hw = hwpasswd() hw.generate_passwords() if __name__ == "__main__": main()