Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def meterpreter_service_list
- serviceskey = "HKLM\\SYSTEM\\CurrentControlSet\\Services"
- threadnum = 0
- a =[]
- services = []
- begin
- meterpreter_registry_enumkeys(serviceskey).each do |s|
- if threadnum < 10
- a.push(::Thread.new(s) { |sk|
- begin
- srvtype = registry_getvaldata("#{serviceskey}\\#{sk}","Type").to_s
- if srvtype =~ /32|16/
- services << sk
- end
- rescue
- end
- })
- threadnum += 1
- else
- sleep(0.05) and a.delete_if {|x| not x.alive?} while not a.empty?
- threadnum = 0
- end
- end
- rescue Exception => e
- print_error(e.to_s)
- end
- return services
- end
Add Comment
Please, Sign In to add comment