This document discusses penetration testing persistence and clean up. It defines persistence as getting back into a system without repeating the entire access process, even if the system is patched or reboots. Good persistence techniques include leaving an executable to run at startup, on intervals, or after a task, or setting a timer. Bad techniques are backdoors, open connections when not in use, and excessive data transfers. Ugly but effective ways are adding users or injecting into processes long-term. Metasploit and adding start-up executables or services are discussed for persistence. Clean up removes traces of access by modifying rather than deleting logs, and removing scripts or persistence artifacts. Windows and Linux clean up steps are also outlined.