deel ch05
							parent
							
								
									622f1294bb
								
							
						
					
					
						commit
						fa117b6721
					
				|  | @ -0,0 +1,97 @@ | ||||||
|  | # Post-Exploitation | ||||||
|  | 
 | ||||||
|  | ## Pilfering | ||||||
|  | 
 | ||||||
|  | * retrieve useful information from machine | ||||||
|  |     * passwords (`/etc/shadow`, `hashdump` SAM database) | ||||||
|  |     * cryptographic keys (SSH, PGP, GPG) | ||||||
|  | * `/etc/passwd` format: fields separated by colons | ||||||
|  |     * `jef:$y$salty$youwish:20022:0:99999:7:::` | ||||||
|  |         1. `jef`: username | ||||||
|  |         2. `$1$salty$youwish`: hash id, salt and password hash | ||||||
|  |         3. `20022`: day password was last changed (unix timestamp but in days) | ||||||
|  |         4. `0`: minimum age of password before it can be changed again | ||||||
|  |         5. `99999`: max age of password, after how many days password must be | ||||||
|  |         changed | ||||||
|  |         6. `7`: how many days before expiring the user should be warned | ||||||
|  |         7. number of days after password expired that user should be locked out | ||||||
|  |         (usually empty) | ||||||
|  |         8. expiration date of account | ||||||
|  | * moving files | ||||||
|  |     * push file directly if firewall allows it | ||||||
|  |     * otherwise send command to target to pull target from client | ||||||
|  |     * use whatever protocol works best (FTP, SMB...) | ||||||
|  |     * meterpreter supports sending files | ||||||
|  | * Windows | ||||||
|  |     * user credentials cached in Microsoft Credential Manager | ||||||
|  |         * extract using credential cache dumping tools | ||||||
|  |         * requires admin | ||||||
|  |     * service account passwords stored encrypted in LSA secrets section of | ||||||
|  |       registry | ||||||
|  |         * Mimikatz `lsadump` can dump these | ||||||
|  |     * wireless client profiles can be extracted if admin | ||||||
|  | * other | ||||||
|  |     * source code of services for vulnerability analysis | ||||||
|  |     * scripts for hardcoded passwords | ||||||
|  |     * files left behind by users that shouldn't be | ||||||
|  |     * browser passwords | ||||||
|  |     * machines with which machine has recently communicated (find pivot | ||||||
|  |       targets) | ||||||
|  |     * DNS servers | ||||||
|  |     * web servers | ||||||
|  |     * mail | ||||||
|  |     * ... | ||||||
|  | 
 | ||||||
|  | ## Password attacks | ||||||
|  | 
 | ||||||
|  | * guessing | ||||||
|  |     * generates lots of traffic | ||||||
|  |     * can lock out accounts | ||||||
|  |     * slower than cracking | ||||||
|  |     * **spray attack**: try single password on list of users | ||||||
|  | * cracking | ||||||
|  |     * steal hashed password and compare hashes | ||||||
|  |     * runs on attacker's machine -> stealthier | ||||||
|  | * important for assessing security posture of network | ||||||
|  |     1. access control evaluation | ||||||
|  |         * assess password strength | ||||||
|  |         * password policies | ||||||
|  |     2. credential-based attacks | ||||||
|  |         * **brute force**: try many combination to expose weak or default | ||||||
|  |           passwords | ||||||
|  |         * **dictionary**: use list of common password | ||||||
|  |         * **credential stuffing**: use credentials from previous breaches | ||||||
|  |     3. privilege escalation | ||||||
|  |     4. social engineering: trick users into revealing passwords | ||||||
|  | * MFA | ||||||
|  |     * prevent leak of password from becoming a breach | ||||||
|  |     * bypassing | ||||||
|  |         * phishing or man-in-the-middle | ||||||
|  |         * expose implementation flaws | ||||||
|  |             * insecure methods, e.g. SMS or email | ||||||
|  |             * session hijacking, e.g. intercepting cookies | ||||||
|  |         * social engineering, e.g.  pose as tech support | ||||||
|  |         * SIM swapping: get victim's phone number reassigned to new SIM card | ||||||
|  |         * use backup codes or account recovery | ||||||
|  |         * push notification bombing | ||||||
|  | * using dictionaries | ||||||
|  |     * large word list for password cracking | ||||||
|  |     * small tailored list for password guessing | ||||||
|  | * cracking not always needed | ||||||
|  |     * sniff cleartext protocols | ||||||
|  |     * keystroke logging | ||||||
|  |     * pass-the-hash techniques use hash directly | ||||||
|  | * clean up after pentest (don't leave cracked passwords lying around) | ||||||
|  | * lockouts | ||||||
|  |     * password guessing can lock accounts | ||||||
|  |     * Windows: original admin account can't be locked out | ||||||
|  |         * admin has SID suffix of 500 | ||||||
|  |         * if multiple admin accounts, only 1 is safe | ||||||
|  |     * Linux: lockouts not always configured | ||||||
|  |         * if so, done using PAM | ||||||
|  |         * root account not locked out by default | ||||||
|  |     * prevention | ||||||
|  |         * just don't guess passwords | ||||||
|  |         * ask target personnel for info on policy | ||||||
|  |         * create test account for pentest | ||||||
|  |         * attempt 1 password per observation window | ||||||
		Loading…
	
		Reference in New Issue