DField SolutionsMérnöki stúdió · Budapest
Loading · Töltődik
Ugrás a tartalomhoz

CVE-2023-27350 · PaperCut RCE PoC

Egyetlen HTTP-kérés, teljes SYSTEM shell · a PaperCut-féle CVE-2023-27350 auth-bypass élesben, kezdettől a visszakapcsolt shellig.

A PaperCut MF/NG hitelesítés-megkerülési hibáját (CVSS 9.8) kihasználó PoC. A SetupCompleted oldal átugorja az authentikációt, onnan a Print Scripting felület tetszőleges kódot futtat · a scriptünk ezt végigtolja, és Windows-gépen SYSTEM-szintű reverse shellt ad vissza a támadó gépére. Teljes end-to-end demo: felderítés, payload, shell.

Meghallgatom
ESETTANULMÁNY · 2025

Egy régi nyomtatószerver, ami elfelejtve ült a hálózaton. Négy másodperc alatt működő támadást mutattunk be. A csapat látta, hogy a nyomtatószervert bárki kívülről teljesen átvehette volna.

A CVE-2023-27350 a PaperCut MF/NG hitelesítés-megkerülési hibája (CVSS 9.8). A stúdió PoC-je összeláncolja a SetupCompleted bypasst a Print Scripting konzollal, aztán Windows SYSTEM-szintű reverse shellt drop-pol · end-to-end recon → exploit → shell, 4 másodperc, Python-szkripten.

CVE·CVE-2023-27350 · CVSS 9.8STACK·Python · requests · NetcatVULN VERSIONS·PaperCut MF/NG < 20.1.7 / 21.2.11 / 22.0.9
Anonymous client

Volt egy „a tűzfal úgyis mindent megold” hozzáállásunk, meg egy elfelejtett nyomtatószerver. A bemutató négy másodperc alatt megmutatta a biztonsági csapatunknak, hogy kívülről bárki teljesen átvehette volna. A javítás és a hálózat szétválasztása, amiről hónapok óta vitatkoztunk, a következő héten megtörtént. Kijózanító volt, de pont erre volt szükségünk.

Anonim·SOC-lead · enterprise (védelmi kutatási engagement)NDA
9.8CVSS pontszám
1HTTP POST a bypassra
4 secRecon → SYSTEM shell
SYSTEMReverse shell jogosultság

Mi van a képernyőn

Frame breakdown
CVE-2023-27350 · PaperCut authentication-bypass reverse-shell PoC
  • 01Felhasználói felület

    Az egész élmény amit a felhasználó lát

    Ez a frame az élesben futó terméket mutatja: egyetlen http-kérés, teljes system shell · a papercut-féle cve-2023-27350 auth-bypass élesben, kezdettől a visszakapcsolt shellig. Minden komponens mi vagyunk · scope, design, kód, deploy.

  • 02Stack a háttérben

    Mi hajtja: Python, requests, PaperCut MF/NG

    A frame mögötti technológia 4 elemű · Python, requests, PaperCut MF/NG a látható felületet hajtja, a többi az adatrétegben fut. Minden a stúdió kezében.

  • 03Mit szállítottunk

    PaperCut MF/NG 20.1.7 / 21.2.11 / 22.0.9 előtti verziók kihasználása

    Kézzelfogható bizonyíték, hogy egy elfelejtett PaperCut-szerver perceken belül leigazható

  • 04Státusz

    Magán-deploy · NDA alatt.

    Az ügyfél kérésére nem publikus a URL · a build, az architektúra és a tanulságok megoszthatóak hívás keretében.

Hogyan szállítottuk

Idővonal
  • 01 · RECON

    Azonosítsuk a sebezhető PaperCut-szervert.

    Banner-grab a build-verzióra a management UI-on át · minden 20.1.7 / 21.2.11 / 22.0.9 alatti scope-ban. A nyomtatószerverek általában szegmentálatlanul ülnek a belső LAN közepén.

  • 02 · ARCHITECTURE

    Stack-döntések minden kód előtt.

    A döntési dokumentum lefogta az adatfolyamot, a Python, requests, PaperCut MF/NG, Netcat szerep-felosztást, és a v1-ben kezelt vs halasztott hibamódokat. Az ügyfél meglévő infrájával való határokat lerögzítettük, hogy a deploy ne lepje meg az ops-csapatukat.

  • 02 · BYPASS

    A SetupCompleted átugorja az authot.

    Egyetlen POST a SetupCompleted handlerre átviszi a szervert az autentikáción admin-ekvivalens állapotba. A PoC egy kérést küld, és bent van.

  • 04 · POLISH

    Teljesítmény, akadálymentesség, megfigyelhetőség.

    PSI / a11y / coverage budgetek launch-feltételként kikényszerítve. Logging + metrika bekötve még a cut-over előtt · a csapat egy dashboardról válaszol arra, hogy „működik-e?”, nem Slack-szálból. A fenyegetésmodell-checklist aláírva, mielőtt forgalom érkezne a gépre.

  • 03 · SHELL

    Print Scripting → SYSTEM reverse shell.

    A Print Scripting konzol JS-ből indított processzeket futtat sandbox nélkül · cmd.exe SYSTEM jogosultsággal. A Netcat fogja a reverse shellt a támadó gépén.

Amit szállítottunk

04
  • 01PoC

    Python szkript · 1 POST bypassra, 1 kódfuttatásra

    Két-hívásos exploit · egyszerű, megismételhető, demo-barát. Jogosultság: védelmi kutatás, csak labor.

  • 02Demó

    Recon → exploit → shell 4 másodperc alatt

    Élő felvétel mutatja, milyen gyorsan le lehet venni egy elfelejtett PaperCut-gépet · konkrét bizonyíték az asset-management beszélgetésekhez.

  • 03Javítás

    Patch-út + LAN-szegmentációs jegyzet

    Frissítés 20.1.7 / 21.2.11 / 22.0.9+-ra, print-LAN szegmentálása, management UI ops-only · a PoC mellett dokumentálva.

  • 04Tanulság

    A logikai hibák felülírják a port-zárást

    A tűzfal-zárás nem elég · a SetupCompleted tűzfal mögött is elérhető. Az alkalmazás-rétegben lévő auth-bypass az igazi támadási felület.

A videóból

Képkockánként
  • Three-pane Parrot Terminal · rce.sh executes 5 steps, http server serves the payload, netcat listens on 4444
    01Képkocka

    Hárompaneles támadás · szkript + payload-host + listener

    Bal: rce.sh kiírja `[*] Step 1: Bypassing authentication... [+] Admin session obtained / Step 2: Preparing environment / Step 3: Injecting command / [+] SUCCESS`. Jobbra fent: `python3 -m http.server` szolgálja a `script.sh`-t. Jobbra lent: `nc -lvnp 4444 · listening`. A teljes exploit egy képernyőn.

  • Same view, mid-exploit · right-click context menu open over the terminal
    02Képkocka

    Végrehajtás közben · cleanup-fázis látszik

    Az exploit befejezi a Step 3-at, majd `Cleaning up settings... · Setting print.script.sandboxed → Y` állítja vissza az alapot · a demó szándékosan nem hagy nyomot, pont ahogy egy valódi támadó működne.

  • Second invocation of rce.sh with `bash /tmp/shell.sh` highlighted as the next payload
    03Képkocka

    Második menet · `bash /tmp/shell.sh` payload a sorba

    Ugyanaz a cél, második hívás: a `-c` flag most `bash /tmp/shell.sh`-t (kiemelve) ad át · a korábban a http-server által szállított szkript most a payload. Reprodukálható exploit, nem egylövetű trükk.

  • Third run of rce.sh re-executing the bypass with the netcat listener still waiting
    04Képkocka

    Harmadik futás · a listener még vár, az exploit még működik

    Az rce.sh nulláról újrafut ugyanazon a célponton · `Step 1: Bypassing authentication...` ismét sikerül. A sebezhető gépen nincs rate-limit, nincs auth-bypass detekció, nincs replay-védelem · az exploit a harmadik körben is olyan jó, mint az elsőben.

2025ÉV
01SZOLGÁLTATÁS
04TECHNOLÓGIA
ZÁRTSTÁTUSZ

MI VOLT A PROBLÉMA

  • A nyomtatási rendszerek alig kapnak biztonsági auditot, pedig a hálózat közepén ülnek
  • Az „elrejtett” admin-oldalak gyakran hitelesítés nélkül elérhetők, a SetupCompleted a tankönyvi példa
  • A Print Scripting akadály nélkül futtat JavaScriptből processzeket · ebből SYSTEM lesz

MIT KAPOTT AZ ÜGYFÉL

  • Kézzelfogható bizonyíték, hogy egy elfelejtett PaperCut-szerver perceken belül leigazható
  • Látszik, miért nem elég a port-zárás, a logikai hiba a valódi támadási felület
  • Pontos patch-útvonal: 20.1.7 / 21.2.11 / 22.0.9 vagy újabb, belső hálózati szegmentáció

AMIT SZÁLLÍTOTTUNK

  • +PaperCut MF/NG 20.1.7 / 21.2.11 / 22.0.9 előtti verziók kihasználása
  • +Python PoC · 1 HTTP POST a bypasshoz, 1 a kódfuttatáshoz
  • +SYSTEM / root jogú reverse shell a támadó gépére
  • +Tiszta recon → exploit → shell demo, 4 másodperc alatt

TECHNOLÓGIA

  • Python
  • requests
  • PaperCut MF/NG
  • Netcat
Előző projektGlowUp
beszéljünk

Tetszik amit látsz? Építsünk egyet neked is.

Rövid e-mail vagy 30 perces hívás · válasz 24 órán belül munkanapon.

Indítsunk projektet