Justin Warner fornisce un argomento sul suo blog che è importante riassumere prima di continuare una discussione sulla persistenza:
Is Reboot Persistence a Requirement
I would argue that a backdoor does not have to be reboot persistent.
In its very nature, a backdoor is simply a method of gaining access to
some targeted resource. Backdoors often have a persistent component
but I would say that is a decision best left to the context and
scenario of what you are trying to accomplish. In very simple network
scenarios or penetration tests that have little focus from network
defenders, run-of-the-mill persistence might be applicable and useful.
Things like run keys, service executables, or App Init DLLs come in
quite handy for this situation.
In more sophisticated or tough network environments, I often try to
operate 95% memory only and only resort to reboot persistence in areas
that seem to be key-terrain. This might be more paranoid than
necessary but by doing this, I help to avoid issues with host based
IDS and prevent leaving artifacts on the hosts. In the places I choose
to do reboot persistence, I prefer methods that do not utilize a file
on disk such as registry storage of payloads.
Prendiamo gli attacchi del mondo reale come il malware Kovter come un esempio del mestiere possibile nel 2016 - link
Thanks to the techniques employed by Kovter, no executable needs to be
dropped on the disk – that’s why is known as “fileless” [...]
scattered into several layers, but also obfuscated at every stage and
containing tricks that slow down the analysis process
Kovter utilizza una combinazione di voci di registro persistenti e PowerShell ( altri spesso usano o suggeriscono il registro remoto, i clienti remoti PS e / o WMI) per eseguire questa persistenza senza file. Alcuni blog hanno parlato a lungo di autostart persistence locations in base a questi, servizi, autoruns, e altri
In meterpreter, è possibile accedere alle tecniche senza file (come descritto nel post del blog di Justin Warner all'inizio di questa risposta) tramite PowerPick e ReflectivePick tecniche, che non richiedono l'esecuzione (o l'elenco dei processi visibili) di qualsiasi powershell.exe. Darkoperator copre l'estensione powershell e la capacità di utilizzare powershell_import
comando per inserire una pipeline di PowerShell. È quindi possibile utilizzare le funzionalità di persistenza di PowerSploit, ma queste potrebbero non essere sempre chiaramente definite. Ovviamente, al posto di meterpreter, è possibile utilizzare gli agenti di PowerShellEmpire per fornire il modulo persistence / elevate / wmi . Quello che sto suggerendo, e che probabilmente risolverà il tuo problema direttamente, è quello di trovare solo Persistence.psm1 per eseguire l'abbonamento all'evento permanente WMI tramite powershell_import
mentre si trova in meterpreter. Ciò fornirà i bypass AV, IPS e firewall / UTM di cui avrai bisogno, ma potrebbe essere facile da pulire se i risponditori cercano più istanze di questa tecnica.
Il che mi porta alla prossima conversazione che allude a Justin Warner. Ogni macchina che si desidera mantenere in una rete dovrebbe avere una tecnica di persistenza diversa (alcuni forse nessuna strategia), ad esempio, i server con tempi di attività elevati possono avere backdoor residenti in memoria per mesi, forse anni alla volta). Spesso, puoi usare l'infrastruttura di amministrazione del sistema contro il bersaglio, sfruttandolo per il male invece che per il bene, per così dire. Ci sono modi per assumere il controllo di COM gestori, WSUS , AD GPO , BITSadmin , DSC , SCCM e molti altri pacchetti e funzionalità per mantenere la persistenza.
Inoltre, la persistenza del sistema può essere completamente diversa da quella dei trasporti affidabili. Consiglio vivamente di dare un'occhiata alla documentazione di Meterpreter:
- link
- link
Devi comprendere l'architettura transport
per mantenere una connettività di rete affidabile. Uno dei modi migliori per garantire l'affidabilità della rete che tuttavia non copre, è combinare transport
con Metasploit AutoRunScript - come indicato nell'altra risposta per ottenere AutoRunScript che funziona nel contesto di meterpreter . copertine di mubix trasporta più in dettaglio in questo minuto di metasploit di Hak5.