📋Enumeration Checklist

REVERT AFTER INITIAL ENUMERATION

IF PHP SHELL REQUIRED USE PHP Ivan Sincek from revshells

Sometimes if the payload is not working try:

sudo ifconfig tun0 mtu 1250
python3 -c 'import pty; pty.spawn("/bin/bash")'

(inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;

Windows Privesc Checklist

If windows then just use rdesktop to connect without credentials and check version

To check if Powershell or CMD:

(dir 2>&1 *`|echo CMD);&<# rem #>echo PowerShell

Enumeration

Rustscan:

Netexec

Add name at end if administrator is a different user

or with wordlist :

Quickly add user to domain admin:

HTTP

SNMP (UDP 161)

Add one of these at the end in snmpwalk

1.3.6.1.2.1.25.1.6.0
System Processes

1.3.6.1.2.1.25.4.2.1.2

Running Programs

1.3.6.1.2.1.25.4.2.1.4

Processes Path

1.3.6.1.2.1.25.2.3.1.4

Storage Units

1.3.6.1.2.1.25.6.3.1.2

Software Name

1.3.6.1.4.1.77.1.2.25

User Accounts

1.3.6.1.2.1.6.13.1.3

TCP Local Ports

Then try:

-v - 1 ,2c ,3

To bruteforce community strings:

Then can use snmp-check to get more info:

For brute-forcing ip:

tftp

To bruteforce files in tftp:

ICMP

SMTP

  • To send an email with smtp server:

Add -ap for authentication

Or:

DNS

SMB(139,445)

FTP(21)

Postgres

Now check for exploits and use searchsploit -m multiple/remote/50847.py if version from 9.3 to 11.7

MSSQL

Catch with responder or smbserver

or

Refer PG Practice- hokkaido

RPC

RDP

If any black screen problems:

Ldap

Change the name here

To get descriptions for users:

Extract rootDSE attributes:

Get everything to grep for:

Analysing:

Print first word then sort then print unique and then show non repeating.grep ':' removes the base64 stuff.

Optionally use authentication with -U and -w for username and password

  • [ ]

use -PU for potential users with elevated privileges that might have gone unnoticed

Miscellaneous

Active Directory

If linux and sudo user check: /etc/krb5.keytab

Try kerberoasting if you have credentials or a shell on the target machine

Linux

Windows

To enumerate for asreproastable users (PowerView):

Certificate Authority(CA)

Esc1

Esc4

DNS Records

Bloodhound

If SID is displayed it is a local account. BloodHound uses this representation of a principal when the domain identifier of the SID is from a local machine

Use Collection Loops to not miss information.

  • bloodhound.py ingestor

can also use -dns-tcp

All computers in domain:

All Users in domain:

To get active sessions:

--Loop --LoopDuration 00:10:00 to loop

Security and Obfuscation

Impacket

ACL(Access Control List)

PowerView

Suppose we have a single user and want to enumerate ACL from there. In these examples the user is wley

Now to get ACL:

Without PowerView

  • To get all users list

  • Now getting the data with Get-ACL:

Here we have access over damundsen

  • Then to convert the GUID use:

  • To further enumerate damundsen

  • To enumerate Help Desk

To abuse GPO misconfiguration: SharpGPOAbuse

PFX

  • To open certificate

If pfx file is encountered and it is password protected use pfx2john

  • To extract certificate and key:

  • We can use winrm to login using keys.

Last updated

Was this helpful?