Missbrauch von Stored Procedures
Was ist Missbrauch von Stored Procedures?
Missbrauch von Stored ProceduresAusnutzung privilegierter oder unsicherer Stored Procedures, um beliebiges SQL, OS-Befehle oder Privilegienerhoehung aus der Datenbank heraus auszufuehren.
Stored Procedures kapseln SQL auf dem Datenbankserver und laufen oft mit hohen Rechten. Missbrauch entsteht, wenn Angreifer gefaehrliche Primitiven aufrufen koennen (MS SQL Server: xp_cmdshell, OPENROWSET, sp_OACreate; Oracle: UTL_FILE, DBMS_SCHEDULER; PostgreSQL: COPY ... PROGRAM) oder eigene Prozeduren Parameter in EXEC/sp_executesql ohne Binding konkatenieren und so SQL-Injection in vertrauenswuerdigem Code wiederherstellen. Folgen: Befehlsausfuehrung unter dem DB-Dienstkonto, Lateral Movement ueber Linked Servers, Datenexfiltration durch Dateischreibvorgaenge und Umgehung von Anwendungs-ACLs. Haerten: gefaehrliche Prozeduren deaktivieren, Least Privilege, sp_executesql mit typisierten Parametern, EXECUTE-Rechte streng beschraenken.
● Beispiele
- 01
Nach SQL-Injection auf MS SQL Server xp_cmdshell verwenden, um whoami als Dienstkonto auszufuehren.
- 02
PostgreSQL COPY ... PROGRAM ueber eine Prozedur missbrauchen, um eine Reverse Shell zu starten.
● Häufige Fragen
Was ist Missbrauch von Stored Procedures?
Ausnutzung privilegierter oder unsicherer Stored Procedures, um beliebiges SQL, OS-Befehle oder Privilegienerhoehung aus der Datenbank heraus auszufuehren. Es gehört zur Kategorie Angriffe und Bedrohungen der Cybersicherheit.
Was bedeutet Missbrauch von Stored Procedures?
Ausnutzung privilegierter oder unsicherer Stored Procedures, um beliebiges SQL, OS-Befehle oder Privilegienerhoehung aus der Datenbank heraus auszufuehren.
Wie funktioniert Missbrauch von Stored Procedures?
Stored Procedures kapseln SQL auf dem Datenbankserver und laufen oft mit hohen Rechten. Missbrauch entsteht, wenn Angreifer gefaehrliche Primitiven aufrufen koennen (MS SQL Server: xp_cmdshell, OPENROWSET, sp_OACreate; Oracle: UTL_FILE, DBMS_SCHEDULER; PostgreSQL: COPY ... PROGRAM) oder eigene Prozeduren Parameter in EXEC/sp_executesql ohne Binding konkatenieren und so SQL-Injection in vertrauenswuerdigem Code wiederherstellen. Folgen: Befehlsausfuehrung unter dem DB-Dienstkonto, Lateral Movement ueber Linked Servers, Datenexfiltration durch Dateischreibvorgaenge und Umgehung von Anwendungs-ACLs. Haerten: gefaehrliche Prozeduren deaktivieren, Least Privilege, sp_executesql mit typisierten Parametern, EXECUTE-Rechte streng beschraenken.
Wie schützt man sich gegen Missbrauch von Stored Procedures?
Schutzmaßnahmen gegen Missbrauch von Stored Procedures kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Missbrauch von Stored Procedures?
Übliche alternative Bezeichnungen: xp_cmdshell-Missbrauch.
● Verwandte Begriffe
- attacks№ 1084
SQL Injection
Code-Injection-Angriff, der vom Angreifer kontrolliertes SQL in eine Datenbankabfrage einschleust, um Daten zu lesen, zu verändern oder zu zerstören.
- attacks№ 767
ORM-Injection
Injection-Angriff gegen Anwendungen mit Object-Relational-Mapper, der dynamische Queries, Mass-Assignment oder Roh-SQL-Escape-Hatches missbraucht, um Daten zu manipulieren.
- vulnerabilities№ 860
Privilegieneskalation
Eine Klasse von Schwachstellen, die einem Angreifer höhere Rechte verschafft als ursprünglich vergeben — etwa vom normalen Benutzer zum Administrator.