如何找出默认的.Net dllrootkit入侵

本文关键字:dllrootkit 入侵 Net 何找出 默认 | 更新日期: 2023-09-27 18:31:07

你如何知道你的默认.net dll是否被更改/修改/黑客入侵?

System.Console.WriteLine举例来解释我的意思。

如果WriteLine()代码注入以写入输出两次,如下所示,

Console.WriteLine("Hello Programmers");
Output:
Hello Programmers
Hello Programmers

如何找出默认的.Net dllrootkit入侵

验证计算机上任何其他软件的完整性的方式相同:在确保检查工具可以信任后,根据受信任的来源进行检查。这有点像第22条军规。基本上,您需要获得比攻击者更好的保护,这取决于攻击者可能介于非常容易和绝对不可能之间。

作为第一个创可贴,请尝试卸载并重新安装框架,并希望与Microsoft的互联网连接仍然是您计算机上的可信来源。

请注意,并非所有内容都需要"注入"才能获得奇怪的输出。

下面是一个 LINQPad 程序,它复制您的问题,除了正常的合法 .NET 代码之外,没有任何内容:

void Main()
{
    Inject();
    Console.WriteLine("Hello Programmers");
}
public static void Inject()
{
    Console.SetOut(new InjectedTextWriter(Console.Out));
}
public class InjectedTextWriter : TextWriter
{
    private readonly TextWriter _InternalWriter;
    public InjectedTextWriter(TextWriter internalWriter)
    {
        _InternalWriter = internalWriter;
    }
    public override Encoding Encoding
    {
        get
        {
            return _InternalWriter.Encoding;
        }
    }
    public override void Write(string text)
    {
        _InternalWriter.Write(text);
        _InternalWriter.Write(text);
    }
    public override void WriteLine(string text)
    {
        _InternalWriter.WriteLine(text);
        _InternalWriter.WriteLine(text);
    }
}