{ "info": { "author": "patamechanix", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "# pata-password-cracker\nPassword cracker that implements patadata toolkit and other\nmetaphysical and psychological techniques.\n\n\n## Introduction\n\nThis tools allows you to add an arbitary list of YAML key\nvalue pairs to generate potential passwords from.\n\nThese would typically be biographical/georgraphical data\nof the target. \n\nFor example:\n\n```\npet_name: biggles\n\nhobby: football\n```\n\nThe tool is agnostic so any key value pair you consider\nworthy of attempting is valid. This is defined under the \nfree data category.\n\nTwo fixed categories exist these being the core_data and family data. \nThis is where a user core biographic data is stored, for example name, age, \ngender and so on. The family section contains family relationship data.\nSpecific processing is applied to this based upon known password\npatterns.\n\nThis work has been inspired by Dr Helen Petrie and the ideas she defined in \nher work back in the early naughties.\n\nOriginally the plan was to use the four catgeories she defined as distinct \nsubsections in the input YAML doc. However it was quickly discovered that\nusing the free_data category was just as effective for fans and fantasist \nbased results. \n\n\n## Command line \n\nYou can install the pata password cracking tool via pip:\n\n```\npip install pata-password-cracker\n```\n\nAfter installation please download wordnet from\nthe NLTK downloader:\n \n```\npython -m nltk.downloader wordnet\n```\n\nThe tool can then be run as follows:\n\n```\npython -m pata_password_cracker test_data.yaml words.txt\n```\n\nYou should replace test_data.yaml with your input file containing\nthe data you wish to process.\n\nwords.txt should be replaced with a file/path containing a list of \nwords, one per line.\n\n\n## YAML format\n\nThe input YAML file should use the following format:\n\n```\nindividuals:\n- James Smith:\n - core_bio:\n first_name: James\n last_name: Smith\n street1: 123\n street2: Broadway \n city: New York\n zip: 0123\n dob: 1982-05-06\n - family:\n - individual_1: \n relationship: father\n first_name: Tim\n last_name: Smith\n dob: 1945-12-21\n - individual_2: \n relationship: mother \n first_name: Susie\n last_name: Smith\n dob: 1944-03-03\n - free_data:\n pet1: cat\n pet1_name: ginger\n pet2: dog\n pet2_name: Tin Tin\n club: Masons\n lodge: Hermes\n```\n\nThe first section that takes advanced processing is the\ncore_bio data.\n\n```\n- core_bio:\n first_name: James\n last_name: Smith\n street1: 123\n street2: Broadway \n city: New York\n zip: 0123\n dob: 1982-05-06\n```\n\nIn the case of core_bio and famly data there are three specific reserved\nfields, which are used for advanced processing. These are:\n\n```\nfirst_name\nlast_name\ndob \n```\n\nThe dob should use a YYYY-MM-DD format.\n\nIn future versions, the list of reserved fields will\nexpand. \n\nThe second section with advanced processing is the family section.\nA family section is amde up of a lsit of individuals.\n\nEach individual in the family section should therefore be included\nusing the following format:\n\n```\n- family:\n - individual_1: \n relationship: father\n first_name: Tim\n last_name: Smith\n dob: 1945-12-21\n - individual_2: \n relationship: mother \n first_name: Susie\n last_name: Smith\n dob: 1944-03-03\n```\n\nAs with the core_bio the three fields (dob, first_name and last_name) will\nexperience some advanced processing. Therefore each key/value should \nonly be included once per individual.\n\n## Words format\n\nThis is just a doc with a list \nof words. Linux and Unix-like operating systems often\ninclude a words file. This can usually be found under:\n\n```\n/usr/share/dict/words\n```\n\nor\n\n```\n/usr/dict/words\n```\n\nIf you wish to construct your own it should be a newline delimeted list.\n\nFor example:\n\n```\nApple\nEgg\nCabbage\nHappy\nTree\nSun\nRun\n```\n\n## Output\n\nCurrently all output is saved to a file called passwords.yaml.\nFuture versions of the software will allow the option to chose\nthe output file, and also output format.\nFor example XML or JSON.\n\nThe output is in the following example format:\n\n```\n0:JamesSmith:\n - core_bio:\n first_name_dob:\n - - original: James1982-06-05\n - synonym:\n clear_text:\n - J@m3$1982-06-05\n - JamesI982-06-05\n - James1982-06-05\n encrypted:\n bcrypt:\n - $2b$12$QCk59nMuLZ3oT0.H6cMBpunqs8QDlzYVsxuOYy09JvmrcDAHHy4eS\n - $2b$12$/bzGa1sqBWjzkriwxwpYa.dZIZ/Wg9Py.fuWI8DWoxE2mTiTzOIxK\n - $2b$12$pp.M7o4qiZibpB.JBP4WaOY11Ub1nTlHMNpj5peTHkmt26dhXe33m\n md5:\n - 92f32c3d9830a4b8be899ccf255d18aa\n - b2223c5713d5b684ed758214ee1668b9\n - 69ceebbe07cfac7fb1fc440ac55893d6\n \n ...\n\n```\n\nThe output starts with a unqiue id for the target individual(s).\nFollowing this each category included e.g. core_bio, family, free_data\nis listed. \nUnder each category the key/value pairs and any advanced processing\nthat generates key/values in the fly is displayed. \n\nFollowing this each pataphysical category can be found e.g. synonym.\nWithin this category the password in clear text and encrypted formats\nwill then be enumerated.\n\n\n## Encryption\n\nCurrently md5, SHA1, SHA224, SHA256, SHA384, and SHA512 are supported.\nNew encryption plugins can be added as needed.\n\nIn version 1 of the application all encryption formats are used.\nFuture versions of the software will allow filtering of this list.\n\n\n## PataData\n\nThis is where the magic happens. Using pataphysical algorithms we can generate\nall sorts of interesting password combinations based upon key value pairs.\n\nYou can read more about these at:\n\nhttps://patamechanix.github.io/patalib/\n\nThis application uses version 1 of the packages and includes the following classes:\n\n* Antonym\n* Synonym\n* Syzygy\n* Clinamen\n* Anomaly\n\n\n\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/patamechanix/pata-password-cracker", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pata-password-cracker", "package_url": "https://pypi.org/project/pata-password-cracker/", "platform": "", "project_url": "https://pypi.org/project/pata-password-cracker/", "project_urls": { "Homepage": "https://github.com/patamechanix/pata-password-cracker" }, "release_url": "https://pypi.org/project/pata-password-cracker/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Pataphysical passwork cracker using personal data", "version": "1.1.0" }, "last_serial": 3133182, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "48f1d895b2603066da89d28d2896bcee", "sha256": "39ff34c87c6743437e191b811e8d0199af28a57e5baecadc34a7364d14097fca" }, "downloads": -1, "filename": "pata-password-cracker-1.0.0.tar.gz", "has_sig": false, "md5_digest": "48f1d895b2603066da89d28d2896bcee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7174, "upload_time": "2017-08-17T11:38:33", "url": "https://files.pythonhosted.org/packages/9b/bc/e081614825cc2b698552cdfd2d1103553475b4690e030fb975c76d5cb424/pata-password-cracker-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0fb3fa02b65af66a8f502557ac3db8fe", "sha256": "262f8d22a89fe2ca172a6cb235414e92c94f6d32be42248a7e7be1746e80226f" }, "downloads": -1, "filename": "pata-password-cracker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0fb3fa02b65af66a8f502557ac3db8fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7163, "upload_time": "2017-08-17T11:42:03", "url": "https://files.pythonhosted.org/packages/f3/c7/09baf0bd786554de9a0f52efcc9eeb5fba32a24e42bd1abbdc238a03b576/pata-password-cracker-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "bdf6720b8a7e9d1b128ac1ddfded7c3d", "sha256": "770e747dcafd6a877023ef4db4d4d83945b6676f49f14828440780fe1dcf339e" }, "downloads": -1, "filename": "pata-password-cracker-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bdf6720b8a7e9d1b128ac1ddfded7c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12396, "upload_time": "2017-08-29T21:52:34", "url": "https://files.pythonhosted.org/packages/c0/80/aee63b04d3473457726d6e181a188c986784734ae385ac8013c0419409ea/pata-password-cracker-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bdf6720b8a7e9d1b128ac1ddfded7c3d", "sha256": "770e747dcafd6a877023ef4db4d4d83945b6676f49f14828440780fe1dcf339e" }, "downloads": -1, "filename": "pata-password-cracker-1.1.0.tar.gz", "has_sig": false, "md5_digest": "bdf6720b8a7e9d1b128ac1ddfded7c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12396, "upload_time": "2017-08-29T21:52:34", "url": "https://files.pythonhosted.org/packages/c0/80/aee63b04d3473457726d6e181a188c986784734ae385ac8013c0419409ea/pata-password-cracker-1.1.0.tar.gz" } ] }