问题标签 [antimalware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 什么样的反调试技术不允许附加用户模式调试器?
我目前正在学习恶意软件用来防止调试的不同技术,我遇到了一个我似乎无法真正理解的问题。我目前正在尝试找出和调试的这个恶意软件使用了某种反调试技术,它一开始就不允许我附加调试器。我尝试过使用诸如 Scylla-hide 之类的东西,我也尝试过手动进入并挂钩常见的反调试 API 调用以查看发生了什么,但到目前为止还没有运气。我也尝试过使用 WinDbg,希望它能给我一些我可以摆脱的错误消息,它给了我这个: 尝试调试程序时的 WinDbg 输出
所以这让我想到它正在做一些事情来阻止线程启动,这就是导致任何调试器能够附加的原因。我还尝试使用典型的 LoadLibrary CreateRemoteThreadEx 技术注入 DLL,似乎它也不允许我以这种方式创建线程。我已经尽可能多地研究了反调试,但似乎无法找到答案。任何朝着正确方向的轻推将不胜感激。
我希望能够在用户模式下规避这个问题,因为我试图了解它到底在做什么来阻止我进行调试,而不是简单地绕过它。这是我第一次问一个问题,如果有什么难以理解的话,非常抱歉。
malware - 如何故意触发病毒扫描的误报?
我想测试病毒扫描程序,但我不想在我的机器上存储实际的恶意软件。过去,我曾见过反恶意软件程序通过模糊的“启发式”将无害软件标记为病毒。我想编写一个绝对不是恶意软件的程序,但很可能被典型的、合理的防病毒软件视为恶意软件。我将如何开始?任何常见的编程语言都可以。
privacy - 使用 Thunderbird 手动添加/使用 EasyList 类型的 URL 或添加 AdBlock/uBlock-Origin/Alt 插件
如何手动将 EasyList 类型的 URL 添加到 Thunderbird 中?或者,我如何将 AdBlock 或 uBlock-Origin 或替代插件添加到 Thunderbird 中?
详情+额外信息:
Thunderbird主要是一个电子邮件客户端,但它还可以做许多其他功能:即时消息/聊天,它可以与各种类型的 Web 服务进行各种类型的交互以获取用户喜欢的数据,它还包含轻量级 Web 浏览器。
我在 MacOS 10.15.0(仅限 64 位)(Catalina)上使用 Thunderbird v68.11.0。
我也在 Windows10 上使用 TB。
对于不提供免费 IMAPS/POPS/SMTPS 服务的电子邮件服务提供商,我使用 TB 内的“ BrowseInTab ”插件在 TB 中打开浏览器选项卡,以直接访问 TB 内的电子邮件网站。
截至 2020 年 7 月, Thunderbird- addons网站上没有直接可用的 AdBlock 或AdBlockPlus或任何替代插件(uBlock-origin等) 。AdBlock 插件停止出现在 TB 内的搜索结果中。
问题:一些广告不仅播放/显示图像,还播放视频(或非常快速变化的(又名动画)GIF),并显示太多烦人/闪烁或成人内容等,甚至在多个弹出窗口内显示多个广告单个浏览标签,开始消耗过多的计算资源,这些活动达到了TB消耗的计算资源甚至比视频播放器还要多的地步!我最多可以容忍:基于简单和小尺寸文本的广告,或基于小图像的非烦人和小型广告,我也可以容忍如果+当他们使用非常非常少的计算资源时-仅在计算机时-硬件进入空闲模式或当 AD 以最低优先级模式使用资源时,(但即便如此,这些活动仍在使用/消耗/占用内存/文件/等)。
大问题是:大多数广告及其支持者及其实施者正在侵犯隐私或侵入或剖析或收集/挖掘/窃取用户的数据等,从而违反隐私权,并且之前没有获得我/用户的具体完全知情同意/许可显示每个特定的广告,并且没有获得我/用户的许可来消耗我/用户的计算资源和剥夺我/用户的实际作品/程序等。
EasyList包含具有广告提供者、隐私入侵者等列表的网站列表。还有一些其他列表(EasyPrivacy、Peter Lowe 的广告/跟踪/恶意软件服务器、恶意 URL 阻止列表、uBlock-Origin等)用于列出有害参与者、利用者、垃圾邮件发送者、成人广告站点、恶意软件/病毒分发者、用户的-data-miners 等。
这里我将只使用“ EasyList ”等来表示所有这些不同的列表。
请为这些建议解决方案+说明:
- 如何将 AdBlock 或uBlock-origin插件加载到 Thunderbird 中?
- 或者,用于 TB 的 AdBlock/uBlockOrigin 替代插件?
- 或者,如何手动提取/获取AdBlock 或类似插件用于阻止广告的EasyList
或类似列表, 如何手动添加/加入/组合这些以创建最终组合列表以及如何将其添加到 TB 或使用结核病?我可以在 TextMate 等上使用“正则表达式”。
由于 AdBlock(或 uBlock-Origin)现在(2020 年 7 月)不可用,我需要使用另一个插件来加载 URL 列表并使用它来阻止或重定向到 void 吗? - 或者,如何将 EasyList 类型的列表转换为标准 URL 列表?如何直接+手动将其复制粘贴到系统
/etc/hosts
文件中,以阻止所有这些网站/URL? - 或者,如何将基于 EasyList 的 URL 转换为标准 URL 列表,以及如何在 MacOS 上配置 PF 防火墙以阻止基于 URL/网站地址(又名:域名)的站点(而不仅仅是基于 IP -adrs) ?
我更喜欢使用或兼容的上述情况/请求的解决方案:使用或兼容的脚本、解析器等Bash [v3.2.57(1)]、Perl [perl 5、版本 18、颠覆 4 ( v5.18.4)] 等,或基于 C/objC 的程序的源代码,可在 [Xcode command-line-tools(CLT) 11.5、Apple clang 版本 11.0.3 (clang-1103.0.32.62) 上编译,目标: x86_64-apple-darwin19.6.0, Thread model: posix, MacOSX/Catalina/64bit, LLVM 9.0.0, Swift 5.2.4] and gcc/mingw64 on Windows],或者手动说明等。
想法/部分解决方案:
我正在添加与上述部分相关的有用和更多链接/想法,以便答案提供者/提供者可以获得更多关于如何更快速、更轻松地创建有用答案的想法,以回答我的问题:
- AdBlockPlus-easylist解析器,但基于 python。
- 像这样在 /etc/pf.conf 文件中添加一个锚点(对于 MacOS):(
cmd: nano "/etc/pf.conf"
然后添加以下 2 行):(
anchor "myBlocklist"
load anchor "myBlocklist" from "/etc/pf.anchors/myBlocklist"
cmd: nano "/etc/pf.anchors/myBlocklist"
然后添加 IP-adrs 列表如下行。在下面仅显示 1-example IP-adrs 行)
block drop log quick on en0 from any to 1.2.3.4
- 希望,至少uBlock-origin会为Thunderbird 的缺席提供解决方案,otoh 可能是我的希望太高了。(有人可以通过在他们的 github 网站上提出更多关于 TB 版本的请求来提供帮助吗?)。
- 下载easylist等类型的列表文件,解析easylist等合并为一个文件,替换代码部分以获得正确+完整的URL,应用于
/etc/hosts
.
docker - 如何在相当普通的笔记本电脑上提高 WSL/docker 容器的性能?
我有这个PC配置,与普通笔记本电脑相比应该有相当正常的性能:
首先,我设置了 WSL2,它相当慢,我意识到 OpenSuse over WSL 可能正在交换,因为处理器有很多内核,但 16GB 还不够。
所以基本上我打开.wslconfig
并设置processors=2
,swap=0
它极大地提高了 WSL 的性能,可能停止了交换。
- 这是个好主意吗?
所以我很高兴地使用了 WSL,但是过了一段时间,我需要安装 VMware 来测试一些功能,它一直工作到第一次重新启动虚拟机,之后我意识到我不能同时使用 WSL 和 VMware 1 系统,因为 VMware 希望我禁用 WSL 所需的 Windows 上的某些选项。(我认为这与虚拟化有关)
但是在使用 VMware 之后,我再次使用了 WSL,并意识到它的速度要慢得多。我检查了 git 中的更改,我重建了所有内容,我恢复到以前的版本,但它仍然比以前慢得多。我当时需要开始使用 docker 容器(因为不同的原因),它一开始运行得很快,所以我没有太在意。但后来我意识到有些操作运行得很慢,我不知道为什么。然后我意识到它一定是那个 VMware,所以我卸载了它,WSL 变得更快,只有 WSL,但 docker 容器的缓慢仍然存在。
当我检查任务管理器时,CPU 和磁盘似乎完全正常,内存似乎也很好。所以我猜docker容器可能没有使用所有可用资源?该任务运行 30 分钟,而不是直接在类似 PC 上运行的 10 秒,没有 docker 容器,这是巨大的差异......
- 如何设置 VSCode 以使 docker 容器使用更多资源并运行任务几乎与不在 docker 容器中运行它一样快?
我意识到它可能与禁用实时保护只减少了 5% 的 CPU 使用率,但并没有使容器任务更快。Antimalware Service Executable
进程有关,在运行任务和使用Microsoft Defender Antivirus Service
服务时占用大约 5% 的 CPU。这可能是问题吗?如果是这样,如何以最少干扰的方式为运行它的 docker 容器或 VSCode 添加异常?
virtual-machine - 如何更改 Virtualbox 中任何 Pnp(即插即用)设备的供应商 ID?
我想更改默认供应商 ID 前缀VID_80EE
Give by Virtual Box。
我正在做恶意软件分析,恶意软件使用这个 id 来检测它是否在 Virtual BOX 中运行。
api - TrendMicro Deep Security 11 - 根据反恶意软件检索处于“受保护”状态的计算机
有谁知道是否可以通过 API 或任何其他方式“通过脚本”检索受反恶意软件保护的计算机的总数。在 DSM 中有小部件“反恶意软件保护状态”,我们在计划任务中有“反恶意软件报告”,它们都返回正确数量的受保护/不受保护/不支持的机器,就反恶意软件模块而言。
在 API 文档中,我发现了对象 HostStatusSummaryTransport,它具有一些返回关键主机数量、锁定、在线、非托管或警告的属性,但是在反恶意软件术语中没有“受保护”属性。
另一个对象 HostStatusTransport 具有整体反恶意软件状态,但它是表示与 DSM 集成的单个计算机的对象。对于较小的环境,对所有计算机进行循环并计算所有“OK”状态是可行的,但是我们有 1000 多台机器受到保护,脚本将执行几个小时......
你知道有什么方法可以快速找回这个号码吗?小部件和报表都可以相对较快地获得这些值。
c++ - 混淆函数调用 C++
我正在制作自己的源代码混淆器,我注意到如果源代码中有这样的函数调用,一些防病毒引擎会检测到一个简单的键盘记录器。“GetASyncKeyState”。以这个源代码为例,它是一个简单的键盘记录器主要功能。
我想混淆“GetAsyncKeyState”名称的函数调用,以便没有 AV 可以将其检测为键盘记录器。我对使用序数和 GetProcAddress 实现函数调用感到困惑。就像我在下面的代码中尝试过的一样。
这种实现是不可理解的。也请解释一下。
我只需要等效的“GetAsyncKeyState(Key)”,这样我的混淆器就会检测到该函数调用并将其替换为等效调用(动态),这样我就可以绕过静态分析检测。
linux - Linux 应用服务的反恶意软件扫描接口 (AMSI) 等效项
我们已经在 Windows 托管的 IIS 上成功使用了反恶意软件扫描接口 (AMSI)。该应用程序现在正在迁移到基于 Linux 的 Azure 应用服务。
Linux 应用服务是否有等效的扫描恶意软件?
约束 - 我需要基于操作系统的 API(例如 AMSI)并且无法安装 ClamAV 等 AV。
c# - 如何实现 IAmsiStream 以支持在流上的 Windows 上运行恶意软件扫描
在实施IAmsiStream以使用 Windows Defender 执行扫描时,对于大于 ~20MB 的文件,它会失败并显示Value does not fall within the expected range.
.
这个实现缺少什么?
一个测试用例是:
此 github 存储库中此测试的完整源代码