{"id":8135,"date":"2022-07-01T22:03:57","date_gmt":"2022-07-01T22:03:57","guid":{"rendered":"https:\/\/www.hexacorn.com\/blog\/?p=8135"},"modified":"2023-05-12T21:44:40","modified_gmt":"2023-05-12T21:44:40","slug":"da-lil-world-of-dll-exports-and-entry-points-part-5","status":"publish","type":"post","link":"https:\/\/www.hexacorn.com\/blog\/2022\/07\/01\/da-lil-world-of-dll-exports-and-entry-points-part-5\/","title":{"rendered":"Da Li\u2019L World of DLL Exports and Entry Points, Part 5"},"content":{"rendered":"\n<p>The previous parts of this series were done &#8216;manually&#8217;. I would come across some new type of DLL and would jot down its properties so I would have a point of reference if I came across these in the future. The &#8216;manual&#8217; part involved reading MSDN as well as many types of DLLs I covered are nicely described there.<\/p>\n\n\n\n<p>There is another way to enhance the list by doing it a bit more automatically &#8211; such list could f.ex. be incorporated into your yara set, or become a part of tools like DiE.<\/p>\n\n\n\n<p>Over 8 years ago I tried to collect a corpora of signed DLLs dropped by NullSoft installers &#8211; my <a href=\"https:\/\/hexacorn.com\/d\/NSIS_signed_DLLs.txt\">list<\/a> included over 2200 different DLLs. I will use this list today to show how we can create a table of interesting file properties that in turn could be converted into a detection ruleset.<\/p>\n\n\n\n<p>Using sigcheck we can extract version info from these signed DLLs, and then enhance it by a list of exported APIs (f.ex. using pefile), and also internal DLL names. This is pretty much enough to create a decent detection <a href=\"https:\/\/hexacorn.com\/d\/NSIS_signed_DLLs_properties.txt\">data set<\/a>.<\/p>\n\n\n\n<p>Of course, these files are very old so to make the best use of this idea one would need to process a larger data set and newer files. <\/p>\n\n\n\n<p>What is the benefit of using such ruleset? As long as files are signed and show the listed properties you may classify many clean files in an automatic fashion w\/o relying on exact hashes, fuzzy hashes, or antivirus scans. And yes, as I mentioned in the past, such list of properties can be abused by malware authors, but then again &#8212; these files are actually signed, so it&#8217;s a good way to sift through the real and fake ones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The previous parts of this series were done &#8216;manually&#8217;. I would come across some new type of DLL and would jot down its properties so I would have a point of reference if I came across these in the future. &hellip; <a href=\"https:\/\/www.hexacorn.com\/blog\/2022\/07\/01\/da-lil-world-of-dll-exports-and-entry-points-part-5\/\">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,109,21],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/8135"}],"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=8135"}],"version-history":[{"count":1,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/8135\/revisions"}],"predecessor-version":[{"id":8136,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/8135\/revisions\/8136"}],"wp:attachment":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/media?parent=8135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/categories?post=8135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/tags?post=8135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}