{"id":217,"date":"2014-09-06T15:17:19","date_gmt":"2014-09-06T19:17:19","guid":{"rendered":"http:\/\/blog.metcorp.org\/?p=217"},"modified":"2014-11-23T12:38:55","modified_gmt":"2014-11-23T17:38:55","slug":"the-evolution-of-protected-processes-part-1-pass-the-hash-mitigations-in-windows-8-1","status":"publish","type":"post","link":"https:\/\/adsecurity.org\/?p=217","title":{"rendered":"The Evolution of Protected Processes Part 1: Pass-the-Hash Mitigations in Windows 8.1"},"content":{"rendered":"<p>Pass-the-Hash has been around for years<\/p>\n<p>The post on\u00a0Alex Ionescu\u2019s blog, <a href=\"http:\/\/www.alex-ionescu.com\/?p=97\">The Evolution of Protected Processes Part 1: Pass-the-Hash Mitigations in Windows 8.1<\/a>, describes the latest mitigation techniques Microsoft is incorporating in the latest versions of Windows.<\/p>\n<p>He describes the importance of LSASS in his <a href=\"http:\/\/www.alex-ionescu.com\/?p=97\">post<\/a>:<br \/>\n(emphasis\/bold text is my own)<\/p>\n<blockquote>\n<h3>The LSASS Process<\/h3>\n<p>In Windows, local user accounts are hashed using a well-known algorithm (<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa378749%28v=vs.85%29.aspx\" target=\"_blank\">NTLM<\/a>) and stored in a database called the <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc756748%28v=ws.10%29.aspx\" target=\"_blank\">SAM <\/a>(Security Accounts Manager), which is in itself a registry hive file. Just like with other operating systems, a variety of offline, and online attacks exist in order to obtain, reset, or otherwise reuse the hashes that are stored in the SAM, going from the usual \u201cPassword Reset\u201d boot <a href=\"http:\/\/pogostick.net\/%7Epnh\/ntpasswd\/\" target=\"_blank\">emergency disks<\/a>, to malicious privilege escalation. Additionally, a variety of other cryptographic data is also stored in the SECURITY database, yet another registry hive file. This data includes information such as secrets, saved plain-text passwords, and more.<\/p>\n<p>A process called the <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc961760.aspx\" target=\"_blank\">Local Security Authority<\/a> (LSASS) manages the run-time state of this information, and is ultimately responsible for all logon operations (including remote logon over Active Directory). Therefore, in order to obtain access to this data, two primary mechanisms are used:<\/p>\n<p>1) File-based attacks: the SAM\/SECURITY hives are accessed, either offline, or online through tricks such as <a href=\"http:\/\/bernardodamele.blogspot.com\/2011\/12\/dump-windows-password-hashes.html\" target=\"_blank\">using Volume Shadow Copies<\/a>, and the hashes + secrets extracted. This mechanism has disadvantages in that the storage formats can change, detailed registry knowledge is needed, and LSASS will often obfuscate much of the data (such as plain-text cached passwords).<\/p>\n<p>2) Process-based attacks: since the hash and secret data from #1 above is neatly loaded by LSASS in readable form (and accessible thanks to easy-to-use <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/Windows\/desktop\/ms721811%28v=vs.85%29.aspx\" target=\"_blank\">query APIs<\/a>), it is often much more preferable to simply inject code into the LSASS process itself, which is then used to dump hashes or secrets, as well as to create tokens based on those hashes. Additionally, researchers such as <a href=\"http:\/\/blog.gentilkiwi.com\/mimikatz\" target=\"_blank\">Gentil Kiwi<\/a> have even discovered that LSASS contains plain-text passwords using reversible symmetric cryptography (with the key stored in the LSASS process itself). Tools now exist today to not only<a href=\"http:\/\/en.wikipedia.org\/wiki\/Pass_the_hash\" target=\"_blank\"> pass-the-hash<\/a>, but to also pass-the-pass.<strong> In a default Windows 8 installation, both the local user account password, as well as the Microsoft Live Services password, is available in a plaintext-retrievable way.<\/strong><\/p>\n<p>Obviously, both this file and the process are protected such that only the SYSTEM account can access them. But once running as Administrator, this is a simple hurdle \u2014 and since most users still run as Administrators (albeit with UAC, but that\u2019s not a security boundary), exploits only have to escape whatever local sandbox they\u2019re running in, get admin rights, get a system token, and inject into LSASS. And of course, in a shared computer environment, another admin on the machine can get the passwords of all the users.<\/p>\n<p>What\u2019s changed in Windows 8.1? Run Mimikatz or other pass-the-hash attacks and they still work out-of-the-box. But on a Windows 8.1 RT system (supposing one can compile for ARM), they won\u2019t \u2014 in fact, even attempting to attach a debugger to the LSASS process will fail, regardless of user-mode permissions.<\/p>\n<p>The title of this blog post gives it away: in Windows 8.1 RT, LSASS is now a <i>protected process light<\/i>. And with Registry Editor and the right key\/value pair, your Windows 8.1 installation (non-RT) can take advantage of this too.<\/p><\/blockquote>\n<p>Read the rest of Alex\u2019s post <a href=\"http:\/\/www.alex-ionescu.com\/?p=97\">here<\/a>.<\/p>\n<p>References:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.fuzzysecurity.com\/tutorials\/18.html\">Mimikatz and Active Directory Kerberos Attacks<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Pass-the-Hash has been around for years The post on\u00a0Alex Ionescu\u2019s blog, The Evolution of Protected Processes Part 1: Pass-the-Hash Mitigations in Windows 8.1, describes the latest mitigation techniques Microsoft is incorporating in the latest versions of Windows. He describes the importance of LSASS in his post: (emphasis\/bold text is my own) The LSASS Process In &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/adsecurity.org\/?p=217\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[71,207,44,72,73],"class_list":["post-217","post","type-post","status-publish","format-standard","hentry","category-microsoft-security","tag-lsass","tag-mimikatz","tag-passthehash","tag-protectedprocess","tag-pth","item-wrap"],"_links":{"self":[{"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/posts\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/adsecurity.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=217"}],"version-history":[{"count":2,"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions"}],"predecessor-version":[{"id":605,"href":"https:\/\/adsecurity.org\/index.php?rest_route=\/wp\/v2\/posts\/217\/revisions\/605"}],"wp:attachment":[{"href":"https:\/\/adsecurity.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adsecurity.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adsecurity.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}