elkserver/mounts/logstash-config/redelk-main/scripts/cs_makescreenshotpath_beforecs4.2.rb (16 lines of code) (raw):
#
# Part of RedELK
# Script to have logstash insert extra fields pointing to the Cobalt Strike screenshots
# before Cobalt Strike 4.2
#
# Author: Outflank B.V. / Marc Smeets
#
def filter(event)
require 'time'
host = event.get("[agent][name]")
logpath = event.get("[log][file][path]")
implant_id = event.get("[implant][id]")
timefromcs = event.get("[c2][timestamp]") + " UTC"
timestring = Time.parse(timefromcs).strftime("%I%M%S")
temppath = logpath.split('/cobaltstrike')
temppath2 = temppath[1].split(/\/([^\/]*)$/)
screenshoturl = "/c2logs/" + "#{host}" + "/cobaltstrike" + "#{temppath2[0]}" + "/screenshots/screen_" + "#{timestring}" + "_" + "#{implant_id}" + ".jpg"
thumburl = "/c2logs/" + "#{host}" + "/cobaltstrike" + "#{temppath2[0]}" + "/screenshots/screen_" + "#{timestring}" + "_" + "#{implant_id}" + ".jpg.thumb.jpg"
event.tag("_rubyparseok")
event.set("[screenshot][full]", screenshoturl)
event.set("[screenshot][thumb]", thumburl)
return [event]
end