Mike Pilkington SANS Forensics and IR Summit (cid:514) June, 2011 Since graduating from UT-‐(cid:4)(cid:151)(cid:149)(cid:150)(cid:139)(cid:144)(cid:3)(cid:139)(cid:144)(cid:3)(cid:857)(cid:865)(cid:865)(cid:862)(cid:481)(cid:3)(cid:12)(cid:495)(cid:152)(cid:135)(cid:3)(cid:153)(cid:145)(cid:148)(cid:141)(cid:135)(cid:134)(cid:3) (cid:131) for a large oil and gas services company (cid:131) (cid:12)(cid:495)(cid:152)(cid:135)(cid:3)(cid:138)(cid:135)(cid:142)(cid:134)(cid:3)(cid:149)(cid:135)(cid:152)(cid:135)(cid:148)(cid:131)(cid:142)(cid:3)(cid:146)(cid:145)(cid:149)(cid:139)(cid:150)(cid:139)(cid:145)(cid:144)(cid:149)(cid:3)(cid:139)(cid:144)(cid:3)(cid:12)(cid:23)(cid:481)(cid:3)(cid:139)(cid:144)(cid:133)(cid:142)(cid:151)(cid:134)(cid:139)(cid:144)(cid:137)(cid:3)(cid:22)(cid:145)(cid:136)(cid:150)(cid:153)(cid:131)(cid:148)(cid:135)(cid:3)(cid:23)(cid:135)(cid:149)(cid:150)(cid:135)(cid:148)(cid:481)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3) Systems Admin, Network Admin, and Security Analyst (cid:131) My current role focuses on Incident Detection, Response, and Log Management (cid:18)(cid:151)(cid:150)(cid:149)(cid:139)(cid:134)(cid:135)(cid:3)(cid:145)(cid:136)(cid:3)(cid:143)(cid:155)(cid:3)(cid:134)(cid:131)(cid:155)(cid:3)(cid:140)(cid:145)(cid:132)(cid:481)(cid:3)(cid:12)(cid:495)(cid:152)(cid:135)(cid:3)(cid:142)(cid:135)(cid:134)(cid:3)(cid:149)(cid:135)(cid:152)(cid:135)(cid:148)(cid:131)(cid:142)(cid:3)(cid:22)(cid:4)(cid:17)(cid:22)(cid:3)(cid:133)(cid:142)(cid:131)(cid:149)(cid:149)(cid:135)(cid:149)(cid:3) (cid:131) through the SANS Mentor program 2 If you live in Houston and are interested, please contact me! [email protected] 3 (cid:131) (cid:12)(cid:495)(cid:152)(cid:135)(cid:3)(cid:132)(cid:135)(cid:135)(cid:144)(cid:3)(cid:150)(cid:138)(cid:139)(cid:144)(cid:141)(cid:139)(cid:144)(cid:137)(cid:3)(cid:131)(cid:132)(cid:145)(cid:151)(cid:150)(cid:3)(cid:138)(cid:145)(cid:153)(cid:3)(cid:150)(cid:145)(cid:3)(cid:146)(cid:148)(cid:145)(cid:150)(cid:135)(cid:133)(cid:150)(cid:3)(cid:131)(cid:133)(cid:133)(cid:145)(cid:151)(cid:144)(cid:150)(cid:3)(cid:133)(cid:148)(cid:135)(cid:134)(cid:135)(cid:144)(cid:150)(cid:139)(cid:131)(cid:142)(cid:149)(cid:3)(cid:145)(cid:144)(cid:3)(cid:148)(cid:135)(cid:143)(cid:145)(cid:150)(cid:135)(cid:3) servers/workstations for some time. I want to minimize any chance of exposing my credentials. (cid:131) I posted a couple of blog articles on the topic, in particular focusing on the aspect of not passing clear-‐text credentials over the network: (cid:131) http://blogs.sans.org/computer-‐forensics/2010/06/01/protecting-‐admin-‐passwords-‐ remote-‐response-‐forensics/ (cid:131) http://blogs.sans.org/computer-‐forensics/2010/06/04/wmic-‐draft/ (cid:131) (cid:21)(cid:135)(cid:137)(cid:131)(cid:148)(cid:134)(cid:139)(cid:144)(cid:137)(cid:3)(cid:143)(cid:155)(cid:3)(cid:498)(cid:19)(cid:148)(cid:145)(cid:150)(cid:135)(cid:133)(cid:150)(cid:139)(cid:144)(cid:137)(cid:3)(cid:4)(cid:134)(cid:143)(cid:139)(cid:144)(cid:3)(cid:19)(cid:131)(cid:149)(cid:149)(cid:153)(cid:145)(cid:148)(cid:134)(cid:149)(cid:485)(cid:499)(cid:3)(cid:146)(cid:145)(cid:149)(cid:150)(cid:481)(cid:3)(cid:12)(cid:3)(cid:137)(cid:145)(cid:150)(cid:3)(cid:131)(cid:144)(cid:3)(cid:139)(cid:144)(cid:150)(cid:135)(cid:148)(cid:135)(cid:149)(cid:150)(cid:139)(cid:144)(cid:137)(cid:3) response from Cory Altheide: (cid:498)(cid:23)(cid:138)(cid:139)(cid:149)(cid:3)protects the passphrase from unlikely threat of being sniffed across the network but does nothing to prevent the incredibly likely threat of the (cid:134)(cid:145)(cid:143)(cid:131)(cid:139)(cid:144)(cid:3)(cid:131)(cid:134)(cid:143)(cid:139)(cid:144)(cid:139)(cid:149)(cid:150)(cid:148)(cid:131)(cid:150)(cid:145)(cid:148)(cid:495)(cid:149)(cid:3)(cid:138)(cid:131)(cid:149)(cid:138)(cid:3)(cid:136)(cid:148)(cid:145)(cid:143)(cid:3)(cid:132)(cid:135)(cid:139)(cid:144)(cid:137)(cid:3)(cid:133)(cid:131)(cid:146)(cid:150)(cid:151)(cid:148)(cid:135)(cid:134)(cid:3)on the remote compromised system being investigated and used via pass-‐the-‐hash(cid:484)(cid:499) (cid:131) Great comment, and it led to a lot of research over the past year, which (cid:12)(cid:495)(cid:142)(cid:142)(cid:3)(cid:146)(cid:148)(cid:135)(cid:149)(cid:135)(cid:144)(cid:150)(cid:3)(cid:150)(cid:145)(cid:134)(cid:131)(cid:155)(cid:484)(cid:3)(cid:3) 4 For effective IR, what do we need to be able to do on (cid:131) the remote system? (cid:131) We must be able to run commands with Administrator privileges, otherwise we risk missing advanced malware. (cid:131) In some cases, we are unable to use local administrative account, so must use domain account with admin privileges. What are the issues? (cid:131) (cid:131) If it is necessary to use domain accounts, they are likely privileged accounts across multiple machines. (cid:131) We must prevent the attacker from stealing our privileged domain credentials and making a bad situation worse. 5 Interact with a remote Windows XP (SP2) domain (cid:131) workstation for analysis/triage We need the ability to complete several tasks: (cid:131) (cid:131) Query the machine, with a tool such as WMIC (cid:131) Run commands on the machine, with a tool like PsExec (cid:131) Copy files to/from the machine, via the command NET USE Complete these actions in such a way as to leave (cid:131) no opportunity for an attacker to steal our domain credentials 6 There are 3 areas where our credentials are at (cid:131) particular risk: (cid:131) Password Hashes (cid:402) Method for storing credentials on the local system (cid:131) Access Tokens (cid:402) Single sign-‐on functionality within Windows (cid:131) Network Authentication (cid:402) Protocols for authenticating to remote systems 7 What are hashes? (cid:131) (cid:131) Per Wikipedia: (cid:498)A hash function is any well-‐defined procedure or mathematical function that converts a large, possibly variable-‐sized amount of data into a small datum(cid:499) (cid:131) Example: MD5 turns any input into a 16-‐byte output What are password hashes? (cid:131) (cid:131) A password hash is a one-‐way function that creates a representation of the password. (cid:131) Allows storage of credentials without storing the actual clear-‐text password 8 (cid:131) 3 types of password hashes supported by Windows today: (cid:131) LM hash (cid:514) Weak password hash, still around for backward compatibility (cid:402) The (cid:151)(cid:149)(cid:135)(cid:148)(cid:495)(cid:149)(cid:3)ASCII password is converted to uppercase (cid:402) This password is null-‐padded to 14 bytes (cid:402) The (cid:498)(cid:136)(cid:139)(cid:154)(cid:135)(cid:134)-‐(cid:142)(cid:135)(cid:144)(cid:137)(cid:150)(cid:138)(cid:499)(cid:3)(cid:146)(cid:131)(cid:149)(cid:149)(cid:153)(cid:145)(cid:148)(cid:134)(cid:3)(cid:139)(cid:149)(cid:3)split into two 7-‐byte halves (cid:402) Each of the two halves is used with the DES function to create two ciphertext values (cid:402) The two ciphertext values are concatenated to form a 16-‐byte value, which is the LM hash (cid:402) No salt! (cid:523)(cid:139)(cid:136)(cid:3)(cid:155)(cid:145)(cid:151)(cid:148)(cid:3)(cid:146)(cid:131)(cid:149)(cid:149)(cid:153)(cid:145)(cid:148)(cid:134)(cid:3)(cid:139)(cid:149)(cid:3)(cid:498)(cid:4)(cid:146)(cid:146)(cid:142)(cid:135)(cid:499)(cid:3)(cid:131)(cid:144)(cid:134)(cid:3)(cid:143)(cid:155)(cid:3)(cid:146)(cid:131)(cid:149)(cid:149)(cid:153)(cid:145)(cid:148)(cid:134)(cid:3)(cid:139)(cid:149)(cid:3)(cid:498)(cid:4)(cid:146)(cid:146)(cid:142)(cid:135)(cid:499)(cid:481)(cid:3)(cid:145)(cid:151)(cid:148)(cid:3)(cid:138)(cid:131)(cid:149)(cid:138)(cid:135)(cid:149)(cid:3)(cid:131)(cid:148)(cid:135)(cid:3)(cid:135)(cid:147)(cid:151)(cid:131)(cid:142)(cid:524) (cid:131) NT hash (cid:514) Much stronger than LM, though not perfect (cid:402) Supports Unicode passwords (cid:402) Passwords up to 127 characters (cid:402) Uses MD4 algorithm (cid:402) (cid:5)(cid:139)(cid:137)(cid:137)(cid:135)(cid:149)(cid:150)(cid:3)(cid:139)(cid:149)(cid:149)(cid:151)(cid:135)(cid:485)(cid:149)(cid:150)(cid:139)(cid:142)(cid:142)(cid:3)(cid:144)(cid:145)(cid:3)(cid:149)(cid:131)(cid:142)(cid:150)(cid:488) (cid:131) Cached Credentials (cid:402) Used to authenticate domain users when domain controller is unavailable (cid:402) Modified form of the actual domain (cid:131)(cid:133)(cid:133)(cid:145)(cid:151)(cid:144)(cid:150)(cid:3)(cid:19)(cid:26)(cid:3)(cid:138)(cid:131)(cid:149)(cid:138)(cid:3)(cid:523)(cid:139)(cid:150)(cid:495)(cid:149)(cid:3)(cid:131)(cid:3)(cid:138)(cid:131)(cid:149)(cid:138)(cid:3)(cid:145)(cid:136)(cid:3)(cid:150)(cid:138)(cid:135)(cid:3)hash+salt) (cid:402) Uses a salt! (mixes in addtl (cid:139)(cid:144)(cid:136)(cid:145)(cid:481)(cid:3)(cid:149)(cid:145)(cid:3)(cid:153)(cid:135)(cid:3)(cid:133)(cid:131)(cid:144)(cid:3)(cid:138)(cid:131)(cid:152)(cid:135)(cid:3)(cid:149)(cid:131)(cid:143)(cid:135)(cid:3)(cid:146)(cid:131)(cid:149)(cid:149)(cid:153)(cid:145)(cid:148)(cid:134)(cid:3)(cid:132)(cid:151)(cid:150)(cid:3)(cid:138)(cid:131)(cid:149)(cid:138)(cid:135)(cid:149)(cid:3)(cid:131)(cid:148)(cid:135)(cid:144)(cid:495)(cid:150)(cid:3)(cid:135)(cid:147)(cid:151)(cid:131)(cid:142)(cid:524)(cid:3) 9 Offline Cracking (cid:131) (cid:131) Two methods: (cid:402) Brute-‐force/Dictionary attacks: real-‐(cid:150)(cid:139)(cid:143)(cid:135)(cid:3)(cid:498)(cid:137)(cid:151)(cid:135)(cid:149)(cid:149)(cid:135)(cid:149)(cid:499) (cid:402) Rainbow Table attacks: pre-‐(cid:133)(cid:145)(cid:143)(cid:146)(cid:151)(cid:150)(cid:135)(cid:134)(cid:3)(cid:498)(cid:137)(cid:151)(cid:135)(cid:149)(cid:149)(cid:135)(cid:149)(cid:499) (cid:402) Very effective against LM hashes (99.9%) (cid:402) Effective against many NT hashes up to about 8 characters (cid:402) Online Rainbow Tables: http://www.onlinehashcrack.com/ Pass-‐the-‐Hash (cid:131) (cid:131) Techniques which allow attackers to authenticate with the hash directly (so no need to crack the passwords) (cid:402) Example tools include Pass-‐the-‐Hash Toolkit & Metasploit 10
Description: