Windows和Linux 权限维持(全)
1|0linux权限维持
添加账号
一般在具有root权限时可以使用以下2种方式添加root权限用户
1.通过useradd,后面账号backdoor/123456
2.通过直接对etc/passwd文件进行写入
清理以上痕迹
设置sid位的文件
在具有高权限时,将高权限的bash文件拷贝隐藏起来,设置其suid位,则可后面通过低权限用户获取高权限操作
在高权限时
使用时带上-p
参数
清理痕迹
通过环境变量植入后门
以下是环境变量的位置
写入shell反弹语句
这样在重启的时候就会弹shell过来了,会根据登的哪个账号弹哪个账号的shell
以下文件需要高权限,为全局变量
以下为当前用户的环境变量
清理痕迹
删除配置文件中添加的代码即可
写入ssh公钥
首先在本地生成ssh公钥和私钥
在自己的~/.ssh/目录下执行
会生成以下三个文件,id_rsa.pub为公钥,id_rsa为私钥
xxx为公钥内容,也就是id_rsa.pub的内容
清理痕迹
删除目标上的 ~/.ssh/authorized_keys即可
ssh任意密码登录
在root用户时,su
,chfn
,chsh
命令不需要输入密码认证
通过软连接将ssh的服务进行cp,并重命名为以上命令
连接
清理方式
修改sshd文件做到无认证登录
建立连接时ssh服务器端使用的是sshd文件来管理接收到的连接,此时对sshd文件内容进行修改,则能做到无认证登录
将原先的sshd文件进行转义
开始使用perl进行写脚本
其实整个脚本在第二行执行了个if,如果端口符合要求,则直接建立连接,否则正常执行sshd
其中的LF代表开启的端口号是19526
赋予新文件权限并重启sshd
连接方式
清除痕迹
利用vim可执行python脚本预留后门
先准备个python的反弹shell脚本
找到提供vim插件的python的扩展包目录
找到python的扩展位置
进入目录
将内容写入
运行,并删除文件
清除痕迹
计划任务
因为计划任务使用的是/bin/sh,所以传统的直接通过bash反弹shell是行不通的
这里借助python,或者perl都可
使用python
使用perl
清除痕迹
如果通过crontab -e
不知道为啥会顶掉上一个
动态加载库
使用export LD_PRELOAD=./xx.so
这时候./xx.so
中如果对函数进行了重定义,调用了该函数的程序就会执行重定义的代码
这里使用以下项目
准备2个文件
- msf的木马
- Veglie项目
使用方法将MSF木马
和Vegile
上传到目标服务器上,把项目目录弄成http服务
目标服务器上
解压后运行
清理痕迹
清理起来十分麻烦,因为直接删除进程是删不掉的,因此存在父进程与多个子进程
清理思路挂起父进程,清除所有子进程再删除父进程
2|0windows权限维持
比较常见的windows提取
计划任务
拿到shell后先修改编码
设置计划任务,每分钟调用运行一次shell
清理痕迹
映像劫持
在程序运行前会去读自己是否设置了debug,需要对劫持的程序有权限
以下通过注册表对setch.exe设置了debug为cmd.exe程序,也就是按5下shift会弹出cmd的框
清理痕迹
HKLM是HKEY_LOCAL_MACHINE
找到目标的注册表,将debug内容删除
环境变量
用户登陆时会去加载环境变量,通过设置环境变量UserInitMprLogonScript
值,实现登陆时自动运行脚本
清理痕迹
直接找到 开始->用户头像->更改我的环境变量
进程退出劫持
在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit
下控制程序的退出时执行的动作,但有时候权限很迷
清理痕迹
找到目标的注册表删除即可
AppInit_DLLs注入
User32.dll 被加载到进程时,设置其注册表的中能设置加载其他的dll文件,则可使其加载恶意的脚本
对HKML注册表的内容进行修改一般都要system权限
Windows 10
其他
这样在打开cmd或者计算器这种能调用User32.dll动态链接库的时候就会触发
清理痕迹
到对应注册表的位置删除Appinit_Dlls的值
bits文件传输
通过bitsadmin从网络上下载的时候可以额外执行脚本
每次开机的时候会触发
清理痕迹
COM组件劫持
将脚本放入com组件中
清理痕迹
删除注册表中的路径值,并通过路径删除木马文件
替换cmd.exe
将sethc.exe(按shift 5下)替换成cmd.exe
清理痕迹
找个原版的setch.exe 覆盖回去
Winlogon劫持
winlogon是windows登录账户时会执行的程序,这里将其注册表中写入木马运行的dll路径
清理痕迹
删除注册表的shell中的值,并且找到后门文件删除掉
组策略
需要能远程登录到桌面
输入gpedit.msc打开组策略,需要管理员账号
在用户与计算机中的windows设置中均可以对脚本进行编辑,用户策略是用户权限,计算机策略是system权限
清理痕迹
打开组策略找到脚本,删除即可
修改计算器启动服务调用的程序
启动服务有些需要手动启动,比如IEEtwCollectorService 服务,这里做后面的思路是,该服务本身对计算机运行没有影响,因此将其手动启动改成自动启动,并将其运行的脚本改成木马后门
类比一下windows10 没有IEEtwCollectorService 服务可以选择COMSysApp服务
返回的是system权限
清理痕迹
将篡改的注册表改回来,并且删除目标木马
MSDTC 服务
MSDTC 服务默认会加载一个在windowss/system32下的不存在的 oci.dll,思路是将cs.dll 改名为oci.dll,放到system32下即可,该方法需要管理员用户权限
清理痕迹
删除的时候因为被多个进程调用,因此删不掉,这里可以换个思路修改其名称,重启再删除
启动项
启动项是会去指定文件夹下运行文件夹下的所有服务,这个文件夹是
也会运行以下注册表中的脚本
清理痕迹
删除文件夹下的木马或者删除注册表中添加的恶意木马注册表,并找到木马位置删除
cmd 启动劫持
在cmd启动时回去注册表中查看是否有AutoRun的健值,如果有则会运行其中的脚本
清理痕迹
在管理员权限下删除注册表的值即可
wmic事件
__EOF__

本文链接:https://www.cnblogs.com/forforever/p/16912914.html
关于博主:喜欢读书、旅行、爬山。评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
2021-11-21 php的SAPI,CLI SAPI,CGI SAPI