193 lines
34 KiB
Plaintext
193 lines
34 KiB
Plaintext
[38;5;12m [39m[38;2;255;187;0m[1m[4mAwesome Malware Persistence [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge.svg)[0m[38;2;255;187;0m[1m[4m (https://github.com/sindresorhus/awesome)[0m
|
||
|
||
[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mA curated list of awesome malware persistence tools and resources.[39m
|
||
|
||
[38;5;12mMalware[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mconsists[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mtechniques[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12madversaries[39m[38;5;12m [39m[38;5;12muse[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mkeep[39m[38;5;12m [39m[38;5;12maccess[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12msystems[39m[38;5;12m [39m[38;5;12macross[39m[38;5;12m [39m[38;5;12mrestarts,[39m[38;5;12m [39m[38;5;12mchanged[39m[38;5;12m [39m[38;5;12mcredentials,[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mother[39m[38;5;12m [39m[38;5;12minterruptions[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mcould[39m[38;5;12m [39m[38;5;12mcut[39m[38;5;12m [39m[38;5;12moff[39m[38;5;12m [39m[38;5;12mtheir[39m[38;5;12m [39m[38;5;12maccess.[39m[38;5;12m [39m[38;5;12mTechniques[39m[38;5;12m [39m[38;5;12mused[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12minclude[39m[38;5;12m [39m[38;5;12many[39m[38;5;12m [39m[38;5;12maccess,[39m[38;5;12m [39m[38;5;12maction,[39m[38;5;12m [39m
|
||
[38;5;12mor[39m[38;5;12m [39m[38;5;12mconfiguration[39m[38;5;12m [39m[38;5;12mchanges[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mlet[39m[38;5;12m [39m[38;5;12mthem[39m[38;5;12m [39m[38;5;12mmaintain[39m[38;5;12m [39m[38;5;12mtheir[39m[38;5;12m [39m[38;5;12mfoothold[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12msystems,[39m[38;5;12m [39m[38;5;12msuch[39m[38;5;12m [39m[38;5;12mas[39m[38;5;12m [39m[38;5;12mreplacing[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mhijacking[39m[38;5;12m [39m[38;5;12mlegitimate[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12madding[39m[38;5;12m [39m[38;5;12mstartup[39m[38;5;12m [39m[38;5;12mcode.[39m
|
||
|
||
[38;5;14m[1mMain article about malware persistence[0m[38;5;12m (https://github.com/Karneades/malware-persistence/blob/master/README.md) with more context and information.[39m
|
||
|
||
[38;2;255;187;0m[4mContents[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTechniques[0m[38;5;12m (#techniques)[39m
|
||
[48;5;235m[38;5;249m* **Generic** (#generic)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Linux** (#linux)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **macOS** (#macos)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Windows** (#windows)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Cloud** (#cloud)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Firmware** (#firmware)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Databases** (#databases)[49m[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPersistence Removal[0m[38;5;12m (#persistence-removal)[39m
|
||
[48;5;235m[38;5;249m* **Generic** (#generic-1)[49m[39m
|
||
[48;5;235m[38;5;249m* **Windows** (#windows-1)[49m[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDetection Testing[0m[38;5;12m (#detection-testing)[39m
|
||
[48;5;235m[38;5;249m* **Generic** (#generic-2)[49m[39m
|
||
[48;5;235m[38;5;249m* **Linux** (#linux-1)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **macOS** (#macos-1)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Windows** (#windows-2)[49m[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPrevention[0m[38;5;12m (#prevention)[39m
|
||
[48;5;235m[38;5;249m* **macOS** (#macos-2)[49m[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCollection[0m[38;5;12m (#collection)[39m
|
||
[48;5;235m[38;5;249m* **Generic** (#generic-3)[49m[39m
|
||
[48;5;235m[38;5;249m* **Linux** (#linux-2)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **macOS** (#macos-3)[49m[39m[48;5;235m[38;5;249m [49m[39m
|
||
[48;5;235m[38;5;249m* **Windows** (#windows-3)[49m[39m
|
||
|
||
[38;2;255;187;0m[4mTechniques[0m
|
||
|
||
[38;5;12m_Persistence techniques and detection._[39m
|
||
|
||
[38;2;255;187;0m[4mGeneric[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMITRE ATT&CK tactic "TA0003 - Persistence"[0m[38;5;12m (https://attack.mitre.org/tactics/TA0003/) - MITRE ATT&CK tactic "TA0003 - Persistence".[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mforensic artifact repository[0m[38;5;12m (https://github.com/ForensicArtifacts/artifacts) - Forensic artifact repository covers persistence techniques in their artifacts.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSigma rules[0m[38;5;12m (https://github.com/Neo23x0/sigma/tree/master/rules) - Sigma rules which covers persistence techniques. You can even use filters such as [39m[48;5;235m[38;5;249m--filter tag=attack.persistence[49m[39m[38;5;12m or specifically for one technique [39m[48;5;235m[38;5;249mtag=attack.t1084[49m[39m[38;5;12m.[39m
|
||
|
||
[38;2;255;187;0m[4mLinux[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Malware Persistence with Cron[0m[38;5;12m (https://www.sandflysecurity.com/blog/linux-malware-persistence-with-cron/) - Blog post about linux persistence using cron jobs.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Persistence Techniques[0m[38;5;12m (https://research.splunk.com/stories/linux_persistence_techniques/) - List of persistence techniques.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Red Team Persistence Techniques[0m[38;5;12m (https://www.linode.com/docs/guides/linux-red-team-persistence-techniques/) - List of persistence techniques.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPANIX - Persistence Against [0m[48;2;30;30;40m[38;5;14m[1m[3mNIX - Features[0m[48;2;30;30;40m[38;5;13m[3m (https://github.com/Aegrah/PANIX?tab=readme-ov-file#features) - List of persistence techniques.[0m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Detection Engineering - A primer on persistence mechanisms[0m[38;5;12m (https://www.elastic.co/security-labs/primer-on-persistence-mechanisms) - List of Linux persistence mechanisms.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mebpfkit[0m[38;5;12m (https://github.com/Gui774ume/ebpfkit) - Rootkit leveraging eBPF.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTripleCross[0m[38;5;12m (https://github.com/h3xduck/TripleCross) - Rootkit leveraging eBPF.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux LKM Persistence[0m[38;5;12m (https://righteousit.com/2024/11/18/linux-lkm-persistence/) - Rootkit leveraging Linux loadable kernel module (LKM).[39m
|
||
|
||
[38;2;255;187;0m[4mmacOS[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mtheevilbit's series "Beyond the good ol' LaunchAgents"[0m[38;5;12m (https://theevilbit.github.io/tags/beyond/) - List of macOS persistence beyond just the LaunchDaemons or LaunchAgents.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mKnockKnock[0m[38;5;12m [39m[38;5;12m(https://github.com/objective-see/KnockKnock/blob/main/Plugins)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mdetection[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mmacOS[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mscan[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mmechanisms[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mmacOS.[39m[38;5;12m [39m[38;5;12mSpecific[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mlocations[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mfound[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;14m[1mplugins[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/objective-see/KnockKnock/tree/main/Plugins)[39m[38;5;12m [39m[38;5;12mfolder,[39m[38;5;12m [39m[38;5;12me.g.[39m[38;5;12m [39m[38;5;14m[1mLaunchItems[0m[38;5;12m [39m[38;5;12m(https://github.com/objective-see/KnockKnock/blob/main/Plugins/LaunchItems.m#L21)[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;14m[1mStartupScripts[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/objective-see/KnockKnock/blob/main/Plugins/StartupScripts.m#L22).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPoisonApple[0m[38;5;12m (https://github.com/CyborgSecurity/PoisonApple/blob/master/poisonapple/techniques.py) - Learn about various macOS persistence techniques by looking at the source code of PoisonApple.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHow malware persists on macOS[0m[38;5;12m (https://www.sentinelone.com/blog/how-malware-persists-on-macos/) - List of macOS persistence mechanisms.[39m
|
||
|
||
[38;2;255;187;0m[4mWindows[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHexacorn's blog[0m[38;5;12m (http://www.hexacorn.com/blog/category/autostart-persistence/) - Hexacorn's blog category for persistence category including the series "Beyond good ol' Run key".[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAutoruns[0m[38;5;12m [39m[38;5;12m(https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mYou[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12mlearn[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mWindows[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mmechanisms[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mchecked[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12mlooking[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12moutput[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mAutoruns[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mown[39m[38;5;12m [39m[38;5;12mclient.[39m[38;5;12m [39m[38;5;12mCategories[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mdifferent[39m[38;5;12m [39m[38;5;12mlocations[39m[38;5;12m [39m[38;5;12mwhere[39m[38;5;12m [39m
|
||
[38;5;12mthings[39m[38;5;12m [39m[38;5;12mwere[39m[38;5;12m [39m[38;5;12mfound[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mseen[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12moutput.[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mdisassembly[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mAutoruns[39m[38;5;12m [39m[38;5;12mlists[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12msubset[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mentries[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12mscanned.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPowerShell[0m[38;5;14m[1m [0m[38;5;14m[1mimplementation[0m[38;5;14m[1m [0m[38;5;14m[1mof[0m[38;5;14m[1m [0m[38;5;14m[1mAutoruns[0m[38;5;12m [39m[38;5;12m(https://github.com/p0w3rsh3ll/AutoRuns/blob/master/AutoRuns.psm1)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAnother[39m[38;5;12m [39m[38;5;12mway[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mfind[39m[38;5;12m [39m[38;5;12mWindows[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mlocations[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mlook[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12msource[39m[38;5;12m [39m[38;5;12mcode[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mPowerShell[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mAutoruns.[39m[38;5;12m [39m[38;5;12mBonus:[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mhistory[39m[38;5;12m [39m
|
||
[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mcovered[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mlocations[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12meach[39m[38;5;12m [39m[38;5;12mAutoruns[39m[38;5;12m [39m[38;5;12mversion[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mfound[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mend[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mmodule[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12mtoo,[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mso[39m[38;5;12m [39m[38;5;12mawesome![39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCommon malware persistence mechanisms[0m[38;5;12m (https://resources.infosecinstitute.com/common-malware-persistence-mechanisms/) - Different persistence mechanisms for different vectors are described.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMalware persistence techniques[0m[38;5;12m (https://www.andreafortuna.org/2017/07/06/malware-persistence-techniques/) - Good summary of multiple persistence mechanisms, ranging from multiple registry keys to more advanced one, like COM hijacking.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDetecting & Removing an Attacker's WMI Persistence[0m[38;5;12m (https://medium.com/threatpunter/detecting-removing-wmi-persistence-60ccbb7dff96) - Blog post about detecting and removing WMI persistence.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mWindows Persistence using WinLogon[0m[38;5;12m (https://www.hackingarticles.in/windows-persistence-using-winlogon/) - Blog post about abusing WinLogon.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mUntangling[0m[38;5;14m[1m [0m[38;5;14m[1mKovter's[0m[38;5;14m[1m [0m[38;5;14m[1mpersistence[0m[38;5;14m[1m [0m[38;5;14m[1mmethods[0m[38;5;12m [39m[38;5;12m(https://blog.malwarebytes.com/threat-analysis/2016/07/untangling-kovter/)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mBlog[39m[38;5;12m [39m[38;5;12mpost[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12mKovter's[39m[38;5;12m [39m[38;5;12mpersistens[39m[38;5;12m [39m[38;5;12mmethos,[39m[38;5;12m [39m[38;5;12mamong[39m[38;5;12m [39m[38;5;12mothers,[39m[38;5;12m [39m[38;5;12mhiding[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mregistry.[39m[38;5;12m [39m[38;5;12mAnother[39m[38;5;12m [39m[38;5;12mone[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;14m[1mThreat[0m[38;5;14m[1m [0m[38;5;14m[1mSpotlight:[0m[38;5;14m[1m [0m[38;5;14m[1mKovter[0m[38;5;14m[1m [0m[38;5;14m[1mMalware[0m[38;5;14m[1m [0m
|
||
[38;5;14m[1mFileless[0m[38;5;14m[1m [0m[38;5;14m[1mPersistence[0m[38;5;14m[1m [0m[38;5;14m[1mMechanism[0m[38;5;12m [39m[38;5;12m(https://threatvector.cylance.com/en_us/home/threat-spotlight-kovter-malware-fileless-persistence-mechanism.html).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPersistence using GlobalFlags in Image File Execution Options – Hidden from Autoruns.exe[0m
|
||
[38;5;12m (https://oddvar.moe/2018/04/10/persistence-using-globalflags-in-image-file-execution-options-hidden-from-autoruns-exe/) - Blog post about abusing GlobalFlag for process execution.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mUncovering a MyKings Variant With Bootloader Persistence via Managed Detection and Response[0m
|
||
[38;5;12m (https://blog.trendmicro.com/trendlabs-security-intelligence/uncovering-a-mykings-variant-with-bootloader-persistence-via-managed-detection-and-response/) - Blog post about bootloader persistence.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;12mVarious blog posts about COM/CLSID hijacking[39m
|
||
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCOM Object hijacking: the discreet way of persistence, 2014[0m[38;5;12m (https://www.gdatasoftware.com/blog/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence)[39m
|
||
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPersistence – COM Hijacking, 2020[0m[38;5;12m (https://pentestlab.blog/2020/05/20/persistence-com-hijacking/)[39m
|
||
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAbusing COM hijacking in combination with scheduled tasks, 2016[0m[38;5;12m (https://enigma0x3.net/2016/05/25/userland-persistence-with-scheduled-tasks-and-com-handler-hijacking/)[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHunting for persistence via Microsoft Exchange Server or Outlook[0m[38;5;12m (https://speakerdeck.com/heirhabarov/hunting-for-persistence-via-microsoft-exchange-server-or-outlook) - Blog post about Microsoft Exchange server persistence.[39m
|
||
|
||
[38;2;255;187;0m[4mCloud[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mShadow Linking: The Persistence Vector of SaaS Identity Threat[0m[38;5;12m (https://www.obsidiansecurity.com/blog/shadow-linking-the-persistence-vector-of-saas-identity-threat/) - Abuse of additional identity providers to persist in an environment.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPersisting on Entra ID applications and User Managed Identities with Federated Credentials[0m
|
||
[38;5;12m (https://dirkjanm.io/persisting-with-federated-credentials-entra-apps-managed-identities/) - Persist on Entra ID applications and User Managed Identities with Federated Credentials.[39m
|
||
|
||
[38;2;255;187;0m[4mFirmware[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMoonBounce: the dark side of UEFI firmware[0m[38;5;12m (https://securelist.com/moonbounce-the-dark-side-of-uefi-firmware/105468) - An in-depth write up about one particular UEFI bootkit.[39m
|
||
|
||
[38;2;255;187;0m[4mDatabases[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDatabase Triggers as Persistence Mechanisms[0m[38;5;12m (https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/the-attack-vector-database-triggers-as-persistence-mechanisms/) - An in-depth write up about database triggers providing persistence.[39m
|
||
|
||
[38;2;255;187;0m[4mPersistence Removal[0m
|
||
|
||
[38;5;12m_Tools and commands for persistence mechanisms removal. Beside the tools mentioned below, use standard OS commands to remove the persistence._[39m
|
||
|
||
[38;2;255;187;0m[4mGeneric[0m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAwesome Incident Response[0m[38;5;12m (https://github.com/meirwah/awesome-incident-response) - Use the tools and resources for security incident response, aimed to help security analysts and DFIR teams.[39m
|
||
|
||
[38;2;255;187;0m[4mWindows[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPowerSponse[0m[38;5;12m (https://github.com/swisscom/PowerSponse) - PowerSponse includes various commands for cleanup of persistence mechanisms.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRemoving Backdoors – Powershell Empire Edition[0m[38;5;12m (https://www.n00py.io/2017/01/removing-backdoors-powershell-empire-edition/) - Various blog posts handle the removal of WMI implants.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRegDelNull[0m[38;5;12m (https://docs.microsoft.com/en-us/sysinternals/downloads/regdelnull) - Removal of registry keys with null bytes - used e.g. in run keys for evasion.[39m
|
||
|
||
[38;2;255;187;0m[4mDetection Testing[0m
|
||
|
||
[38;5;12m_Tools for testing detections. Use the techniques described in [39m[38;5;14m[1mPersistence Techniques[0m[38;5;12m (#persistence-techniques) to create these files or add the configuration changes by hand to test your detections._[39m
|
||
|
||
[38;2;255;187;0m[4mGeneric[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAtomic[0m[38;5;14m[1m [0m[38;5;14m[1mRed[0m[38;5;14m[1m [0m[38;5;14m[1mTeam[0m[38;5;12m [39m[38;5;12m(https://github.com/redcanaryco/atomic-red-team)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mAtomic[39m[38;5;12m [39m[38;5;12mRed[39m[38;5;12m [39m[38;5;12mTeam[39m[38;5;12m [39m[38;5;12msupports[39m[38;5;12m [39m[38;5;12malso[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mMITRE[39m[38;5;12m [39m[38;5;12mATT&CK[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mtechniques,[39m[38;5;12m [39m[38;5;12msee[39m[38;5;12m [39m[38;5;12me.g.[39m[38;5;12m [39m[38;5;14m[1mT1044[0m[38;5;14m[1m [0m[38;5;14m[1m"File[0m[38;5;14m[1m [0m[38;5;14m[1mSystem[0m[38;5;14m[1m [0m[38;5;14m[1mPermissions[0m[38;5;14m[1m [0m[38;5;14m[1mWeakness"[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1044/T1044.yaml).[39m
|
||
|
||
[38;2;255;187;0m[4mLinux[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPANIX[0m[38;5;12m (https://github.com/Aegrah/PANIX) - A highly customizable Linux persistence tool. Perform various persistence techniques against Linux systems, among others Debian and RHEL.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDiamorphine[0m[38;5;12m (https://github.com/m0nad/Diamorphine) - A loadable kernel module (LKM) rootkit for Linux Kernels (x86/x86_64 and ARM64).[39m
|
||
|
||
[38;2;255;187;0m[4mmacOS[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPoisonApple[0m[38;5;12m (https://github.com/CyborgSecurity/PoisonApple) - Perform various persistence techniques on macOS.[39m
|
||
|
||
[38;2;255;187;0m[4mWindows[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mhasherezade persistence demos[0m[38;5;12m (https://github.com/hasherezade/persistence_demos) - Various (also non standard) persistence methods used by malware for testing own detection, among others COM hijacking demo is found in the repo.[39m
|
||
|
||
[38;2;255;187;0m[4mPrevention[0m
|
||
|
||
[38;5;12m_Tools for preventing malicious persistence._[39m
|
||
|
||
[38;2;255;187;0m[4mmacOS[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mBlockBlock[0m[38;5;12m (https://github.com/objective-see/BlockBlock) - A tool which provides continual protection by monitoring persistence locations and protects them accordingly. Similar to KnockKnock but for blocking.[39m
|
||
|
||
[38;2;255;187;0m[4mCollection[0m
|
||
|
||
[38;5;12m_Tools for persistence collection._[39m
|
||
|
||
[38;2;255;187;0m[4mGeneric[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAwesome[0m[38;5;14m[1m [0m[38;5;14m[1mForensics[0m[38;5;12m [39m[38;5;12m(https://github.com/Cugu/awesome-forensics)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mUse[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mfrom[39m[38;5;12m [39m[38;5;12mthis[39m[38;5;12m [39m[38;5;12mlist[39m[38;5;12m [39m[38;5;12mwhich[39m[38;5;12m [39m[38;5;12mincludes[39m[38;5;12m [39m[38;5;12mawesome[39m[38;5;12m [39m[38;5;12mfree[39m[38;5;12m [39m[38;5;12m(mostly[39m[38;5;12m [39m[38;5;12mopen[39m[38;5;12m [39m[38;5;12msource)[39m[38;5;12m [39m[38;5;12mforensic[39m[38;5;12m [39m[38;5;12manalysis[39m[38;5;12m [39m[38;5;12mtools[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mresources.[39m[38;5;12m [39m[38;5;12mThey[39m[38;5;12m [39m[38;5;12mhelp[39m[38;5;12m [39m[38;5;12mcollecting[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mmechanisms[39m[38;5;12m [39m[38;5;12mat[39m[38;5;12m [39m[38;5;12mscale,[39m[38;5;12m [39m[38;5;12me.g.[39m[38;5;12m [39m
|
||
[38;5;12mby[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mremote[39m[38;5;12m [39m[38;5;12mforensics[39m[38;5;12m [39m[38;5;12mtools.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mosquery[0m[38;5;12m (https://osquery.readthedocs.io) - Query persistence mechanisms on clients.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOSSEC[0m[38;5;12m (https://github.com/ossec/ossec-hids) - Use rules and logs from the HIDS to detection configuration changes.[39m
|
||
|
||
[38;2;255;187;0m[4mLinux[0m
|
||
|
||
[38;5;12m_There is no dedicated persistence collection tool for Linux I'm aware of. Use some of the tools from #General or standard OS commands for collection. Thanks for contributing links to Linux specific persistence collection tools._[39m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLinux Security and Monitoring Scripts[0m
|
||
[38;5;12m (https://github.com/sqall01/LSMS) - Security and monitoring scripts you can use to monitor your Linux installation for security-related events or for an investigation. Among other finding systemd unit files used for malware persistence.[39m
|
||
|
||
[38;2;255;187;0m[4mmacOS[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mKnockKnock[0m[38;5;12m [39m[38;5;12m(https://www.objective-see.com/products/knockknock.html)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12muncover[39m[38;5;12m [39m[38;5;12mpersistently[39m[38;5;12m [39m[38;5;12minstalled[39m[38;5;12m [39m[38;5;12msoftware[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12morder[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mgenerically[39m[38;5;12m [39m[38;5;12mreveal[39m[38;5;12m [39m[38;5;12msuch[39m[38;5;12m [39m[38;5;12mmalware.[39m[38;5;12m [39m[38;5;12mSee[39m[38;5;12m [39m[38;5;14m[1mGitHub[0m[38;5;14m[1m [0m[38;5;14m[1mrepository[0m[38;5;14m[1m [0m[38;5;14m[1mtoo[0m[38;5;14m[1m [0m[38;5;14m[1mfor[0m[38;5;14m[1m [0m[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1msource[0m[38;5;14m[1m [0m[38;5;14m[1mcode[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/objective-see/KnockKnock).[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDylib[0m[38;5;14m[1m [0m[38;5;14m[1mHijack[0m[38;5;14m[1m [0m[38;5;14m[1mScanner[0m[38;5;14m[1m [0m[38;5;14m[1mor[0m[38;5;14m[1m [0m[38;5;14m[1mDHS[0m[38;5;12m [39m[38;5;12m(https://www.objective-see.com/products/dhs.html)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mA[39m[38;5;12m [39m[38;5;12msimple[39m[38;5;12m [39m[38;5;12mutility[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mwill[39m[38;5;12m [39m[38;5;12mscan[39m[38;5;12m [39m[38;5;12myour[39m[38;5;12m [39m[38;5;12mcomputer[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mapplications[39m[38;5;12m [39m[38;5;12mthat[39m[38;5;12m [39m[38;5;12mare[39m[38;5;12m [39m[38;5;12meither[39m[38;5;12m [39m[38;5;12msusceptible[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mdylib[39m[38;5;12m [39m[38;5;12mhijacking[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12mhave[39m[38;5;12m [39m[38;5;12mbeen[39m[38;5;12m [39m[38;5;12mhijacked.[39m[38;5;12m [39m[38;5;12mSee[39m[38;5;12m [39m[38;5;14m[1mGitHub[0m[38;5;14m[1m [0m[38;5;14m[1mrepository[0m[38;5;14m[1m [0m[38;5;14m[1mtoo[0m[38;5;14m[1m [0m[38;5;14m[1mfor[0m[38;5;14m[1m [0m
|
||
[38;5;14m[1mthe[0m[38;5;14m[1m [0m[38;5;14m[1msource[0m[38;5;14m[1m [0m[38;5;14m[1mcode[0m[38;5;12m [39m[38;5;12m(https://github.com/objective-see/DylibHijackScanner).[39m
|
||
|
||
[38;2;255;187;0m[4mWindows[0m
|
||
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAutoruns[0m[38;5;12m (http://technet.microsoft.com/en-us/sysinternals/bb963902) - A powerful persistence collection tool on Windows is Autoruns. It collects different categories and persistence information from a live system and [39m[38;5;14m[1min[0m
|
||
[38;5;12m limited ways from offline images[39m
|
||
[38;5;14m[1m (https://www.sans.org/blog/offline-autoruns-revisited-auditing-malware-persistence/). There is a UI and a command line program and the output format can be set to CSV which can then be imported into your log collection system of choice.[0m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAutorunsToWinEventLog.ps1[0m[38;5;12m [39m[38;5;12m(https://github.com/palantir/windows-event-forwarding/blob/master/AutorunsToWinEventLog/AutorunsToWinEventLog.ps1)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mInstead[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mCSV[39m[38;5;12m [39m[38;5;12moutput[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mcopy[39m[38;5;12m [39m[38;5;12mthese[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mserver,[39m[38;5;12m [39m[38;5;12myou[39m[38;5;12m [39m[38;5;12mcan[39m[38;5;12m [39m[38;5;12muse[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mAutorunsToWinEventLog[39m[38;5;12m [39m
|
||
[38;5;12mscript[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mconvert[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mAutoruns[39m[38;5;12m [39m[38;5;12moutput[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mWindows[39m[38;5;12m [39m[38;5;12mevent[39m[38;5;12m [39m[38;5;12mlogs[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mrely[39m[38;5;12m [39m[38;5;12mon[39m[38;5;12m [39m[38;5;12mstandard[39m[38;5;12m [39m[38;5;12mWindows[39m[38;5;12m [39m[38;5;12mevent[39m[38;5;12m [39m[38;5;12mlog[39m[38;5;12m [39m[38;5;12mforwarding.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPowerShell Autoruns[0m[38;5;12m (https://github.com/p0w3rsh3ll/AutoRuns) - A PowerShell version of Autoruns.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPersistenceSniper[0m[38;5;12m (https://github.com/last-byte/PersistenceSniper) - Powershell module to hunt for persistence implanted in Windows machines.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRegRipper[0m[38;5;12m (https://github.com/keydet89/RegRipper2.8) - Extracts various persistence mechanisms from the registry files directly.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRECmd[0m[38;5;12m [39m[38;5;12m(https://github.com/EricZimmerman/RECmd)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mExtract[39m[38;5;12m [39m[38;5;12mvarious[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mmechanisms,[39m[38;5;12m [39m[38;5;12me.g.[39m[38;5;12m [39m[38;5;12mby[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mconfig[39m[38;5;12m [39m[38;5;12mfile[39m[38;5;12m [39m[38;5;14m[1mUserClassesASEPs[0m[38;5;12m [39m[38;5;12m(https://github.com/EricZimmerman/RECmd/blob/master/BatchExamples/UserClassesASEPs.reb)[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mextract[39m[38;5;12m [39m[38;5;12muser's[39m[38;5;12m [39m
|
||
[38;5;12mCLSID[39m[38;5;12m [39m[38;5;12minformation.[39m
|
||
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mKAPE[0m[38;5;12m [39m[38;5;12m(https://www.kroll.com/en/insights/publications/cyber/kroll-artifact-parser-extractor-kape)[39m[38;5;12m [39m[38;5;12m-[39m[38;5;12m [39m[38;5;12mThe[39m[38;5;12m [39m[38;5;12mtool[39m[38;5;12m [39m[38;5;12mallows[39m[38;5;12m [39m[38;5;12mcollecting[39m[38;5;12m [39m[38;5;12mvarious[39m[38;5;12m [39m[38;5;12mpredefined[39m[38;5;12m [39m[38;5;12martifactgs[39m[38;5;12m [39m[38;5;12musing[39m[38;5;12m [39m[38;5;12mtargets[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;12mmodules,[39m[38;5;12m [39m[38;5;12msee[39m[38;5;12m [39m[38;5;14m[1mKapeFiles[0m[38;5;12m [39m[38;5;12m(https://github.com/EricZimmerman/KapeFiles)[39m[38;5;12m [39m
|
||
[38;5;12mwhich[39m[38;5;12m [39m[38;5;12minclude[39m[38;5;12m [39m[38;5;12mpersistence[39m[38;5;12m [39m[38;5;12mmechanisms,[39m[38;5;12m [39m[38;5;12mamong[39m[38;5;12m [39m[38;5;12mothers[39m[38;5;12m [39m[38;5;12mthere's[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mcollection[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;14m[1mLNK[0m[38;5;14m[1m [0m[38;5;14m[1mfiles[0m[38;5;12m [39m[38;5;12m(https://github.com/EricZimmerman/KapeFiles/blob/master/Targets/Windows/LNKFilesAndJumpLists.tkape),[39m[38;5;12m [39m[38;5;14m[1mscheduled[0m[38;5;14m[1m [0m[38;5;14m[1mtask[0m[38;5;14m[1m [0m[38;5;14m[1mfiles[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/EricZimmerman/KapeFiles/blob/master/Targets/Windows/ScheduledTasks.tkape)[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m[38;5;14m[1mscheduled[0m[38;5;14m[1m [0m[38;5;14m[1mtask[0m[38;5;14m[1m [0m[38;5;14m[1mlisting[0m[38;5;12m [39m[38;5;12m(https://github.com/EricZimmerman/KapeFiles/blob/master/Modules/LiveResponse/schtasks.mkape)[39m[38;5;12m [39m[38;5;12mor[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;14m[1mWMI[0m[38;5;14m[1m [0m[38;5;14m[1mrepository[0m[38;5;14m[1m [0m[38;5;14m[1mauditing[0m[38;5;12m [39m
|
||
[38;5;12m(https://github.com/EricZimmerman/KapeFiles/blob/master/Modules/LiveResponse/WMI-Repository-Auditing.mkape)[39m[38;5;12m [39m[38;5;12mmodule.[39m
|
||
|
||
[38;2;255;187;0m[4mContributing[0m
|
||
|
||
[38;5;12mContributions welcome! Read the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (CONTRIBUTING.md) first.[39m
|
||
|
||
[38;5;12mmalwarepersistence Github: https://github.com/Karneades/awesome-malware-persistence[39m
|