{"id":10176,"date":"2025-10-17T22:12:33","date_gmt":"2025-10-17T22:12:33","guid":{"rendered":"https:\/\/www.hexacorn.com\/blog\/?p=10176"},"modified":"2025-10-17T23:19:06","modified_gmt":"2025-10-17T23:19:06","slug":"forensics-of-the-past","status":"publish","type":"post","link":"https:\/\/www.hexacorn.com\/blog\/2025\/10\/17\/forensics-of-the-past\/","title":{"rendered":"Forensics of the past"},"content":{"rendered":"\n<p>Few days ago my buddy and I had a chat about so-called old-school forensics. The one where you often used Encase, and &#8211; if you were inclined enough &#8211; EnScript scripting.<\/p>\n\n\n\n<p>This convo led me to my old Enscript code that I wrote over 15 years ago.<\/p>\n\n\n\n<p>At that time I worked for a consulting firm that was specializing in analysis of carding-related breaches, and we often saw the very same Threat Actors attacking victims in a hospitality and catering sector all over the place. Thanks to my reverse engineering skills, I ended up doing a lot of malware analysis tasks for the whole team back then + since I was very interested in automation, I ended up developing a very basic and rudimentary <code>triage<\/code> Enscript script that one could just run immediately after they mounted an image in Encase.<\/p>\n\n\n\n<p>Reviewing that code this week&#8230; the code I wrote so many years ago&#8230; made my jaw drop.<\/p>\n\n\n\n<p>The stuff my script was looking at, and doing, back then&#8230; can be seen as a very early threat hunting exercise focused on a data from a single endpoint. An exercise where the artifacts were extracted in an automated fashion, bookmarked for review, and organized into a hierarchy that was supporting that quick&amp;dirty review process:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1.png\"><img decoding=\"async\" src=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1.png\" alt=\"\" class=\"wp-image-10177\" width=\"520\" srcset=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1.png 861w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1-300x112.png 300w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1-768x286.png 768w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og1-500x186.png 500w\" sizes=\"(max-width: 861px) 100vw, 861px\" \/><\/a><\/figure>\n\n\n\n<p>The other routine was trying to bookmark a lot of important Registry entries associated with vital forensic information, so one could just walk through them and identify\/extract information that could make it into a report + highlight a lot of other Registry entries that could help finding that anecdotal <em>smoking gun<\/em> (f.ex. many <em>recent<\/em> folders):<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"950\" src=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2-1024x950.png\" alt=\"\" class=\"wp-image-10178\" srcset=\"https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2-1024x950.png 1024w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2-300x278.png 300w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2-768x712.png 768w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2-323x300.png 323w, https:\/\/www.hexacorn.com\/blog\/wp-content\/uploads\/2025\/10\/enscript_og2.png 1158w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>The code also includes a list of known malware\/hacking file names, multiple persistence mechanisms, and a few other tricks&#8230;<\/p>\n\n\n\n<p>I don&#8217;t think it ever became a &#8216;One click to solve the case&#8217; type of solution, but it definitely helped me to structure and systematize my approach to case analysis&#8230;<\/p>\n\n\n\n<p>And I guess&#8230; &#8216;what&#8217;s old, is new again&#8217;. Every once in a while.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Few days ago my buddy and I had a chat about so-called old-school forensics. The one where you often used Encase, and &#8211; if you were inclined enough &#8211; EnScript scripting. This convo led me to my old Enscript code &hellip; <a href=\"https:\/\/www.hexacorn.com\/blog\/2025\/10\/17\/forensics-of-the-past\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[53,19],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/10176"}],"collection":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/comments?post=10176"}],"version-history":[{"count":6,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/10176\/revisions"}],"predecessor-version":[{"id":10186,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/10176\/revisions\/10186"}],"wp:attachment":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/media?parent=10176"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/categories?post=10176"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/tags?post=10176"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}