Data Exfiltration, Persistence & Business Impact
Once an attacker holds an authenticated foothold (any of the initial-access techniques cataloged elsewhere in this playbook) or an OS-level shell as <sid>adm, the same small set of SAP-native primitives repeats across engagements to turn access into impact: bulk table reads and file-transfer objects for exfiltration, backdoored transports and privileged-user creation for persistence, and a predictable set of business-critical tables that turn “we have RFC access” into board-room-language business impact. This page indexes those end-states and cross-links the primitive-level pages elsewhere in this playbook rather than re-describing techniques already documented there.
Anti-forensics (Security Audit Log suppression, table-change-log purging) is a real capability class attackers use to blind detection after the fact - it is documented on this page for detection and impact framing only; deployment mechanics are intentionally not reproduced (see the Anti-Forensics section below).
Post-exploitation activity converts an authenticated foothold into full-scope compromise: confidentiality (bulk PII/financial/IP exfiltration), integrity (backdoored transports, privileged-user creation, business-data tampering), and availability (production-order/planned-order sabotage potential) are all reachable from the same small set of primitives below, typically without any additional vulnerability - only the authorizations the compromised credential or OS foothold already carries.
- Table dump via RFC -
RFC_READ_TABLE(or the SOAP-RFC/XBP-report equivalents) against any table the credential’sS_TABU_DIS/S_TABU_NAMscope reaches; see Critical RFC-Enabled Function Modules for the full technique, gating authorizations, and detection signature. Remote ABAP Report Execution via XBP documents a stealthier RFC-landscape-discovery route (RSRFCCHK) that bypassesRFC_READ_TABLE/S_TABU_DISrestrictions entirely. - File-transfer objects - client- and server-side file read/write primitives reachable from ABAP: transaction
AL11/AL11_oldandOPEN DATASET FOR INPUTfor server-side reads,CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD/GUI_UPLOADand transactionCG3Z/reportRC1TCG3Zfor SAP-GUI-side file transfer, function modulesC13Z_FILE_DOWNLOAD_ASCII/C13Z_FILE_DOWNLOAD_BINARY/C13Z_FILE_UPLOAD_BINARY. See Accessing filesystem (read), Accessing filesystem (write), and Network File Access for the full technique set, gated byS_DATASET/S_PATH. - Secure Store extraction - RSECTAB/SSFS credential material, not business data, but the standard precursor to landscape-wide lateral pivoting once exfiltrated; see Decrypting SAP Secure Storage.
- Backdoored transports - upload a pre-built transport (one cofile + one matching datafile) via an OS-exec channel, register it with
tp addtobuffer, and import directly with unconditional-mode flags (tp import ... U1268), completely bypassing STMS, QA-approval workflow, and transport-authorization objects (S_TRANSPRT,S_CTS_ADMI). SAPMAP automates the delivery/import end-to-end (modules/exploitation/sap_transport_import.py) over either the unauthenticated GatewaySAPXPGchannel or authenticatedSXPG_STEP_XPG_START; the upstream “build the malicious transport” step is Transport Creation, the import itself is Import a malicious transport. This is not a CVE - directtp/R3transmanipulation bypassing the QA-approval procedural control is documented, named SAP security literature (“command-line exploits”). - Privileged user creation -
BAPI_USER_CREATE1->BAPI_USER_PROFILES_ASSIGN(SAP_ALL)->BAPI_TRANSACTION_COMMITin one RFC round trip; see Critical RFC-Enabled Function Modules. - Virtual/hardcoded
SAP*- a time-limited, in-memory super-user with noUSR02row and noSU01visibility (kernel ≥ 790, viadpmon), or the classic hardcoded fallback; see Hardcoded and Virtual Super-User SAP* for both variants and their detection signatures. - SSO trust-list tampering - adding an attacker-controlled certificate to
STRUSTSSO2(or failing to prune a stolen-PSE-issued certificate after a suspected compromise) is a durable, easy-to-overlook persistence path parallel to the trust-list review already called out in MYSAPSSO2 ticket forgery mitigation - most incident response reviews role collections and user lists, far fewer review the trust-configuration/certificate list itself.
The following table-level read scenarios are what turns “we have RFC access as user X” into a report-ready business-impact statement - every scenario is a read-only RFC_READ_TABLE call against a table the credential already has some authorized access to (no separate exploit); the technique itself is Critical RFC-Enabled Function Modules, this list is the “so what” framing:
| End-state | Table(s) | Business framing |
|---|---|---|
| Client-landscape diagnostic (run first) | T000 | RFC_READ_TABLE enforces the session’s bound client - a technical-client (000/001/066) credential returns zero rows on every scenario below until a business-client credential is obtained; don’t mistake this for “no sensitive data.” |
| Salary/HR PII export | PA0002 + PA0008 (ANSAL) | Full compensation exposure per employee - GDPR-reportable. |
| Vendor bank-detail exposure | LFA1 + LFBK | Payment-redirect fraud potential - any bank detail present escalates severity. |
| Customer PII | KNA1 | Full address/contact PII - GDPR Article 9-adjacent breach framing. |
| Purchase-order value exposure | EKKO/EKPO | Procurement spend/contract-value disclosure. |
| Sales-order revenue pipeline | VBAK (+ KNA1) | Revenue-pipeline disclosure. |
| User/password-hash + admin-role enumeration | USR02 + AGR_USERS | Flags accounts whose assigned roles contain ADMIN/SAP_ALL/S_A.SYSTEM - direct account-takeover target list. |
| Material-catalog/BOM IP exposure | MARA/MAKT | Full product-catalog/IP disclosure. |
| Production-order/planned-order sabotage potential | AUFK (or PLAF fallback) | Manufacturing-disruption potential from unauthorized modification. |
| RFC landscape exposure | RFCDES | Enumerates every stored-password RFC destination - feeds directly into lateral movement chain analysis; escalates to critical at 3+ stored-password destinations. |
NoteA cross-platform analog exists for NetWeaver Java (component-detection-driven rather than table-read-driven - PI/PO message-tampering potential, NWDI/CTS+ supply-chain injection into production ABAP, HR ESS/MSS PII, KMC document-repository exposure, a combined-evidence Portal+SSO+UME availability-outage scenario). No dedicated NetWeaver Java business-impact page exists yet in this playbook.
Attacker tooling in this space (audit-log suppression, table-change-log purging) is documented here for detection and impact framing only - deployment mechanics are intentionally not reproduced, consistent with this playbook’s handling of unpatched/high-sensitivity primitives.
- Security Audit Log suppression - a class of technique that intercepts the Security Audit Log’s write paths at the OS/kernel-process level (requiring an existing OS shell as
<sid>admand a permissivekernel.yama.ptrace_scope) so that logon/transaction/table-access events matching an attacker-chosen filter are silently dropped before they reach the.AUDfile, the database, or an SIEM/threat-detection forwarder - simultaneously across all three sinks, for the duration the suppression stays active. This is not a 0-day: it requires an OS-level foothold that a hardened SAP host should already be preventing at the perimeter, and its reliability is kernel-build-dependent (some modern kernel builds using archive-interface audit recording route events through a code path the classic suppression point doesn’t reach - a real detection gap defenders can exploit if their monitoring covers that path). DBTABLOGpost-hoc purge - a class of technique that lets table-change logging proceed normally, then deletes the specificDBTABLOGrows an attacker’s own actions wrote, filtered by a capturedLOGDATE+LOGTIMEbaseline (DBTABLOGis delivery classL- a log table itself not registered for change logging, so the deletes don’t recurse) rather than blocking the kernel’s logging path outright (which would require dictionary-level mutation, is loud, and is transport-tracked).
- Restrict
S_TABU_DIS/S_TABU_NAMto the minimum role population per business-data domain (HR, finance, vendor/customer master) - the actual control point behind every business-impact scenario above. - Enable table-access logging (
RSAU_CONFIG) on the highest-value tables (PA0008,LFBK,USR02,KNA1) independent of any specific tool’s existence. - Restrict
RFCDESread access - anyone who can read it can enumerate stored-credential destinations landscape-wide. - See Import a malicious transport, Critical RFC-Enabled Function Modules, and Hardcoded and Virtual Super-User SAP* for persistence-specific mitigations.
- Keep
STRUSTSSO2pruned and reviewed as part of every incident-response and periodic access review, not only role collections and user lists. - Anti-forensics: set
kernel.yama.ptrace_scope ≥ 2(admin-only ptrace) on SAP application-server hosts; forward the Security Audit Log to an independent, near-real-time destination (SAP Enterprise Threat Detection or an external SIEM) so host-local suppression cannot retroactively affect already-shipped events - suppression only blocks writes before they leave the host; deploy host EDR/auditd monitoring forPTRACE_ATTACHagainstdisp+work/kernel-worker processes; restrictRFC_ABAP_INSTALL_AND_RUN/S_DEVELOP(the standard delivery channel for both the audit-suppression hook and theDBTABLOGpurge) to genuine developer/service accounts.
- Table-dump pattern: a fixed, predictable table set (
T000,PA0002/PA0008,LFA1/LFBK,EKKO/EKPO,USR02/AGR_USERS,KNA1,MARA/MAKT,VBAK,AUFK/PLAF,RFCDES) read in rapid, fixed sequence from one RFC session is a strong automated-business-impact-scan signature, distinct from ad-hocSE16Nbrowsing by a real business user - correlate viaST05/gateway logging. - File-transfer: see Accessing filesystem (read) and Accessing filesystem (write) Mitigation/Detection guidance.
- Backdoored transports:
tp/R3transexecution from a non-interactive parent process (sapxpg/disp+work, an RFC session) rather than an admin’s interactive shell/scheduled job; a chunked binary-write pattern immediately followed bytp addtobuffer/tp importfrom the same session. - Privileged-user creation: any
BAPI_USER_PROFILES_ASSIGNcall grantingSAP_ALL- high-confidence indicator regardless of caller; Security Audit Log event EUP for virtualSAP*create/delete. - Anti-forensics (host-level, primary): unexpected
ptraceattach to a runningdisp+work/SAP_<SID>_<inst>_W<n>process from a sibling process owned by the same<sid>admUID is anomalous - alert onPTRACE_ATTACHsyscalls targeting SAP kernel binaries. A newly-appeared, unexplained process with an open file handle on adisp+workPID is a strong indicator. - Anti-forensics (filesystem): newly-executable ELF binaries dropped to
/tmp(or similar) on SAP hosts. - Anti-forensics (gap-based, the most reliable defender signal): a sustained period with zero Security Audit Log entries on an application server that is otherwise actively processing dialog/RFC traffic (cross-check via
SM50/work-process statistics or DB transaction volume against Security Audit Log volume) - the suppression is invisible to SM20 itself by design, so an independent activity signal is necessary. - Anti-forensics (
DBTABLOG-specific): forward table-change logs off-host in near-real-time rather than relying on retrospective host-local review; compareDBTABLOGrow counts/gaps against an independent change-tracking source; monitorRFC_ABAP_INSTALL_AND_RUNexecutions that compile and run short-lived, throwawayDELETE-style programs againstDBTABLOGspecifically - legitimate Basis administration does not do this ad hoc.
- SAP Note 2253549 - SAP Security Baseline Template
- Book: Cybersecurity for SAP® (SAP PRESS) - “Unauthorized Access to SAP Data” / “Unauthorized Use of Critical Business Process” (MITRE ATT&CK T1098, T1078, T1087, T1657)
- Book: SAP® System Security (SAP PRESS, 2026) - Chapter 11, “Command-line exploits” and “Inserting a foreign transport into the transport queue”
- Critical RFC-Enabled Function Modules
- Remote ABAP Report Execution via XBP
- Accessing filesystem (read)
- Accessing filesystem (write)
- Network File Access
- Import a malicious transport
- Transport Creation
- Hardcoded and Virtual Super-User SAP*
- Secure Store decryption
- MYSAPSSO2 ticket forgery
- Lateral Movement Across SAP Landscapes
