{"id":243,"date":"2014-10-15T07:28:15","date_gmt":"2014-10-15T07:28:15","guid":{"rendered":"http:\/\/www.adlice.com\/?p=243"},"modified":"2022-12-21T10:39:30","modified_gmt":"2022-12-21T10:39:30","slug":"userland-rootkits-part-1-iat-hooks","status":"publish","type":"post","link":"https:\/\/www.adlice.com\/de\/userland-rootkits-part-1-iat-hooks\/","title":{"rendered":"Userland Rootkits: Part 1, IAT hooks"},"content":{"rendered":"\n<p>This is the first part of this series about <strong>Userland rootkits<\/strong>, I wanted to write on it and demonstrate how some rootkits do to <strong>hide files<\/strong> by using IAT hooks.<\/p>\n\n\n\n<p><strong>This post is about a classic trick<\/strong>, known for decades. Malware specialists may know this already, so this is mostly an introduction for whom willing to learn the theory of rootkits, and have a demonstration. Call that beginners if you want \ud83d\ude42<\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\" id=\"h-import-address-table-iat\"><br>Import Address Table (IAT)<\/h4>\n\n\n\n<p><strong>The IAT table<\/strong> is a pointer table that <strong>holds the address in memory (within the DLL that hosts it) for every function<\/strong> needed by a program.<\/p>\n\n\n\n<p><strong>Example:<\/strong> Let&#8217;s say you write a program able to enumerate files in a folder. You&#8217;ll probably need <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa364418%28v=vs.85%29.aspx\">FindFirstFile<\/a>\/<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa364428%28v=vs.85%29.aspx\">FindNextFile<\/a>, so when you compile it, the compiler will look for address of those functions in kernel32.dll, and add the corresponding entries into your program&#8217;s import address table =&gt; kernel32.dll (FindFirstFile::0xAAAAAAAA, FindNextFile:0xBBBBBBBB).<\/p>\n\n\n\n<p>So when your program will call the functions, it will look into the table and directly jump at the address given by the table. If one is able to rewrite that address in the table (dynamically), it will be able to <strong>redirect the execution flow to a function (with same prototype) that will filters the results<\/strong>, and possibly modify them before returning to the caller.<\/p>\n\n\n\n<p><strong>IAT patching can be used by malware or legit software to do many things, keylogging, protection, theft of credit cards,&#8230; Many (in)famous malware are using it, like Zeus trojan, Stuxnet, &#8230;<\/strong><br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/iattable.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-246\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/iattable.png\" alt=\"iattable\" width=\"380\" height=\"202\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/iattable.png 380w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/iattable-300x159.png 300w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/a><\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\" id=\"h-practical-case-file-hider\"><br>Practical case: File hider<\/h4>\n\n\n\n<p>We&#8217;ll study how to detour IAT table of a proces to hide a file. <strong>Disclaimer: This is not a tutorial to make a rootkit, but a practical case for educational purpose only.<\/strong> Anyway, this is covered for decades on other websites&#8230;<\/p>\n\n\n\n<p>This rootkit is made in 2 steps:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1. Make a DLL responsible for IAT patching, and installing filters (the payload).<\/li>\n\n\n\n<li>2. Make an injector, that will create a new thread (in a target process) for the DLL entrypoint (not covered here).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture1-1.png\"><img decoding=\"async\" width=\"648\" height=\"218\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture1-1.png\" alt=\"Injection of the DLL into explorer.exe\" class=\"wp-image-244\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture1-1.png 648w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture1-1-300x101.png 300w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><\/a><figcaption class=\"wp-element-caption\">Injection of the DLL into explorer.exe<\/figcaption><\/figure>\n\n\n\n<p><br>&nbsp;<br>I&#8217;ll not show you the entire code, and especially how to inject the DLL and patch the table. I&#8217;ll just write the hooking filter function. We want to intercept directory enumeration, <strong>so we will hook the functions <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa364418%28v=vs.85%29.aspx\">FindFirstFile<\/a>\/<a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/aa364428%28v=vs.85%29.aspx\">FindNextFile<\/a><\/strong>. As we want this to be spectacular (!) <strong>we will hook into explorer.exe<\/strong>, because this is the process responsible for showing folders content to the user.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HANDLE WINAPI MyFindFirstFileW(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData )\n{\n    HANDLE ret = FindFirstFileW(lpFileName,lpFindFileData);\n\n    TCHAR msg&#91;MAX_PATH];\n    swprintf_s(msg, L\"FindFirstFileW : %s\\n\", lpFindFileData-&amp;gt;cFileName);\n    OutputDebugString( msg );\n\n    if(!_wcsicmp(lpFindFileData-&amp;gt;cFileName, L\"_root_\"))\n    {\n        swprintf_s(msg, L\"Protected file : %s, hiding...\\n\", lpFindFileData-&amp;gt;cFileName);\n        OutputDebugString( msg );\n        FindNextFileW(ret,lpFindFileData);\n    }\n    return ret;\n}\n\nBOOL WINAPI MyFindNextFileW(HANDLE hFindFile,LPWIN32_FIND_DATA lpFindFileData)\n{\n    TCHAR msg&#91;MAX_PATH];\n    if(FindNextFileW(hFindFile,lpFindFileData))\n    {\n        if(!_wcsicmp(lpFindFileData-&amp;gt;cFileName, L\"_root_\"))\n        {\n            swprintf_s(msg, L\"Protected file : %s, hiding...\\n\", lpFindFileData-&amp;gt;cFileName);\n            OutputDebugString( msg );\n            if(FindNextFileW(hFindFile,lpFindFileData))\n                return 1;\n            return 0;\n        }       \n        swprintf_s(msg, L\"FindNextFileW : %s\\n\", lpFindFileData-&amp;gt;cFileName);\n        OutputDebugString( msg );\n        return 1;\n    }\n    return 0;\n}\n<\/code><\/pre>\n\n\n\n<p><br><strong>The code is self explaining. We filter calls to FindFirstFile\/FindNextFile<\/strong>, and we compare the file names to a hard coded string. If there&#8217;s a match, <strong>we hide that entry by calling the API another time<\/strong> (we simply &#8220;jump&#8221; over the entry). As a result, the file will not be seen by the user.<br>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture2-1.png\"><img decoding=\"async\" width=\"605\" height=\"329\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture2-1.png\" alt=\"Debug output of the rootkit, showing hidden file\" class=\"wp-image-245\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture2-1.png 605w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/Capture2-1-300x163.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Debug output of the rootkit, showing hidden file<\/figcaption><\/figure>\n\n\n\n<p>&nbsp;<br><strong>A demo of the rootkit is available here: <\/strong><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe title=\"IAT hook demo file hider\" width=\"1200\" height=\"675\" src=\"https:\/\/www.youtube.com\/embed\/vVFHYD0ImMY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\" id=\"h-detection-removal\"><br>Detection\/Removal<\/h4>\n\n\n\n<p>To detect IAT hooks, simply <strong>parse the PE structure of all modules of the targeted process<\/strong>. Then look at the import tables, and <strong>check if their addresses are inside the owning module<\/strong>.<\/p>\n\n\n\n<p>To remove a IAT hook, you can <strong>look at the EAT (Export Address Table) of the original module<\/strong>, and restore the IAT address with the entry of the EAT.<\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\" id=\"h-useful-links\"><br>Useful links<\/h4>\n\n\n\n<p>&#8211; <a href=\"http:\/\/msdn.microsoft.com\/en-us\/magazine\/cc301808.aspx\">An In-Depth Look into the Win32 Portable Executable File.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Userland Rootkits explained. This is the first part of this rootkit writing tutorial in which we will detail the basics about userland rootkits.<\/p>\n","protected":false},"author":1,"featured_media":208,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36,84],"tags":[7,47,52,194,200,150,149,152,89,43,201],"class_list":["post-243","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analysis","category-tutorial","tag-analysis","tag-anti-rootkit","tag-antivirus","tag-hook","tag-iat","tag-injection","tag-patch","tag-payload","tag-research","tag-rootkit","tag-userland","category-36","category-84","description-off"],"views":21135,"yoast_score":71,"yoast_readable":90,"featured_image_src":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","author_info":{"display_name":"tigzy","author_link":"https:\/\/www.adlice.com\/de\/author\/tigzy\/"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software<\/title>\n<meta name=\"description\" content=\"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software\" \/>\n<meta property=\"og:description\" content=\"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\" \/>\n<meta property=\"og:site_name\" content=\"Adlice Software\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RogueKiller\" \/>\n<meta property=\"article:published_time\" content=\"2014-10-15T07:28:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-21T10:39:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"853\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"tigzy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AdliceSoftware\" \/>\n<meta name=\"twitter:site\" content=\"@AdliceSoftware\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"tigzy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\"},\"author\":{\"name\":\"tigzy\",\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d\"},\"headline\":\"Userland Rootkits: Part 1, IAT hooks\",\"datePublished\":\"2014-10-15T07:28:15+00:00\",\"dateModified\":\"2022-12-21T10:39:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\"},\"wordCount\":575,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\/\/www.adlice.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg\",\"keywords\":[\"analysis\",\"anti-rootkit\",\"antivirus\",\"hook\",\"iat\",\"injection\",\"patch\",\"payload\",\"research\",\"rootkit\",\"userland\"],\"articleSection\":[\"Analysis\",\"Tutorial\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\",\"url\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\",\"name\":\"Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software\",\"isPartOf\":{\"@id\":\"https:\/\/www.adlice.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg\",\"datePublished\":\"2014-10-15T07:28:15+00:00\",\"dateModified\":\"2022-12-21T10:39:30+00:00\",\"description\":\"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage\",\"url\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg\",\"contentUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg\",\"width\":1280,\"height\":853},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.adlice.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Userland Rootkits: Part 1, IAT hooks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.adlice.com\/#website\",\"url\":\"https:\/\/www.adlice.com\/\",\"name\":\"Adlice Software\",\"description\":\"Anti-malware and analysis tools\",\"publisher\":{\"@id\":\"https:\/\/www.adlice.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.adlice.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.adlice.com\/#organization\",\"name\":\"Adlice Software\",\"url\":\"https:\/\/www.adlice.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2020\/05\/B1rTNpTG_400x40_10.png\",\"contentUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2020\/05\/B1rTNpTG_400x40_10.png\",\"width\":276,\"height\":276,\"caption\":\"Adlice Software\"},\"image\":{\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RogueKiller\",\"https:\/\/x.com\/AdliceSoftware\",\"https:\/\/fr.linkedin.com\/company\/adlice-software\",\"https:\/\/www.youtube.com\/channel\/UC4CQ-gIZMGWxl-auf0QqYhQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d\",\"name\":\"tigzy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d81e380961b1b69969fa84994ad1e4cba26afe93a49d8dd3148e9c33ffe4ccac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d81e380961b1b69969fa84994ad1e4cba26afe93a49d8dd3148e9c33ffe4ccac?s=96&d=mm&r=g\",\"caption\":\"tigzy\"},\"description\":\"Founder and owner of Adlice Software, Tigzy started as lead developer on the popular Anti-malware called RogueKiller. Involved in all the Adlice projects as lead developer, Tigzy is also doing research and reverse engineering as well as writing blog posts.\",\"url\":\"https:\/\/www.adlice.com\/de\/author\/tigzy\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software","description":"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/","og_locale":"de_DE","og_type":"article","og_title":"Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software","og_description":"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.","og_url":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/","og_site_name":"Adlice Software","article_publisher":"https:\/\/www.facebook.com\/RogueKiller","article_published_time":"2014-10-15T07:28:15+00:00","article_modified_time":"2022-12-21T10:39:30+00:00","og_image":[{"width":1280,"height":853,"url":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","type":"image\/jpeg"}],"author":"tigzy","twitter_card":"summary_large_image","twitter_creator":"@AdliceSoftware","twitter_site":"@AdliceSoftware","twitter_misc":{"Verfasst von":"tigzy","Gesch\u00e4tzte Lesezeit":"4\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#article","isPartOf":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/"},"author":{"name":"tigzy","@id":"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d"},"headline":"Userland Rootkits: Part 1, IAT hooks","datePublished":"2014-10-15T07:28:15+00:00","dateModified":"2022-12-21T10:39:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/"},"wordCount":575,"commentCount":5,"publisher":{"@id":"https:\/\/www.adlice.com\/#organization"},"image":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","keywords":["analysis","anti-rootkit","antivirus","hook","iat","injection","patch","payload","research","rootkit","userland"],"articleSection":["Analysis","Tutorial"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/","url":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/","name":"Userland Rootkits, Part 1 | IAT hooks \u2022 Adlice Software","isPartOf":{"@id":"https:\/\/www.adlice.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage"},"image":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage"},"thumbnailUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","datePublished":"2014-10-15T07:28:15+00:00","dateModified":"2022-12-21T10:39:30+00:00","description":"Userland Rootkits explained. This is the first part of this rootkit writing tutorial and covers IAT hooks in userland.","breadcrumb":{"@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#primaryimage","url":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","contentUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/g_-_-x-_-_-_65550x20150813112350_0.jpg","width":1280,"height":853},{"@type":"BreadcrumbList","@id":"https:\/\/www.adlice.com\/userland-rootkits-part-1-iat-hooks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.adlice.com\/de\/"},{"@type":"ListItem","position":2,"name":"Userland Rootkits: Part 1, IAT hooks"}]},{"@type":"WebSite","@id":"https:\/\/www.adlice.com\/#website","url":"https:\/\/www.adlice.com\/","name":"Adlice Software","description":"Anti-malware and analysis tools","publisher":{"@id":"https:\/\/www.adlice.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.adlice.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.adlice.com\/#organization","name":"Adlice Software","url":"https:\/\/www.adlice.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.adlice.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.adlice.com\/wp-content\/uploads\/2020\/05\/B1rTNpTG_400x40_10.png","contentUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2020\/05\/B1rTNpTG_400x40_10.png","width":276,"height":276,"caption":"Adlice Software"},"image":{"@id":"https:\/\/www.adlice.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RogueKiller","https:\/\/x.com\/AdliceSoftware","https:\/\/fr.linkedin.com\/company\/adlice-software","https:\/\/www.youtube.com\/channel\/UC4CQ-gIZMGWxl-auf0QqYhQ"]},{"@type":"Person","@id":"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d","name":"tigzy","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.adlice.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d81e380961b1b69969fa84994ad1e4cba26afe93a49d8dd3148e9c33ffe4ccac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d81e380961b1b69969fa84994ad1e4cba26afe93a49d8dd3148e9c33ffe4ccac?s=96&d=mm&r=g","caption":"tigzy"},"description":"Founder and owner of Adlice Software, Tigzy started as lead developer on the popular Anti-malware called RogueKiller. Involved in all the Adlice projects as lead developer, Tigzy is also doing research and reverse engineering as well as writing blog posts.","url":"https:\/\/www.adlice.com\/de\/author\/tigzy\/"}]}},"_links":{"self":[{"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":0,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/media\/208"}],"wp:attachment":[{"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}