kali权限提升之本地提权
系统账号之间权限隔离
操作系统的安全基础
用户空间
内核空间
系统账号:
用户账号登陆时候获取权限令牌
服务账号无需用户登录已在后台启动服务
windows用户全权限划分:
Users:普通用户组,Users 组是最安全的组,因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料
Administrators:管理员组,默认情况下,Administrators中的用户对计算机/域有不受限制的完全访问权。分配给该组的默认权限允许对整个系统进行完全控制
System:拥有和Administrators一样、甚至比其还高的权限,但是这个组不允许任何用户的加入,在查看用户组的时候,它也不会被显示出来,它就是SYSTEM组。系统和系统级的服务正常运行所需要的权限都是靠它赋予的。
Linux系统用户权限划分:
Users:普通用户
Root:管理员账号
管理员权限提升为System权限
1.at实现管理员权限提升为system权限 #只能在XP与2003的系统上使用
1.1at 16:53 /interactive cmd #xp或者win2003
1.2使用taskmgr命令打开任务管理器,杀死现用户桌面进程(explorer.exe),新建explorer.exe,则整个界面都在管理员(因为当前的explorer进程实在system权限运行的)
1.3此时在重新打开cmd,当前用户就变成system了
1.4在win7使用at 17:26 /interactive cmd运行命令提示被限制
2.sc实现把administrator提升为system 可在xp、win2003、win7、win8等上使用
2.1sc create yycmd binPath= "cmd /k start" type= own type= interact #注意“=”之后有空格 创建服务
sc start yycmd 启动创建的服务
2.2在win7测试,可以看到提示警告信息,但是还是以交互式模式打开了一个system权限的终端(需要点击下图的“查看消息”)
2.3点击上图的查看消息之后,就出现一个以system权限运行的 终端
2.4使用taskmgr命令打开任务管理器,杀死现用户桌面进程(explorer.exe),新建explorer.exe,则整个界面都在管理员(因为当前的explorer进程实在system权限运行的)
3.PsExec 实现把administrator提升为system #可以在xp、win2003、win7等系统使用
以有限的使用者权限执行处理程序
windows系统有提供一个套件:https://docs.microsoft.com/zh-cn/sysinternals/downloads/
切换到Psexec 所在目录然后执行 Psexec -I -s cmd #-i交互模式,-s使用system账号
4.Pinjecter注入进程提权 #只能在xp、win2003中用
4.1切换到Pinjecter所在目录,查看所有进程的ID,找到要注入的进程 #选择system权限的进程
4.2注入进程
4.3在kali中用nc连接注入的进程的端口
4.4在win7测试,当前是管理员然后运行程序提示拒绝访问
fgdump 【一个windows下的应用程序,kali集成】
fgdump(kali /usr/share/windows-binaries) ,从SAM文件中获取账户信息
1.以system权限运行fgdump(可以先把administrator提权为system,然后结束explorer.exe进程,创建新的explorer.exe,此时当前的整个系统都是system账户运行r然后双击fgdump或者把administrator提权为system,然后在具有system的终端中运行fgdump),然后可以看到生成三个文件 #如果不以system权限运行fgdump的话,再打开pwdump里面是没有账户信息的
2.查看pwdump文件可以看到账户信息
Mimikatz
Mimikatz kali(usr/share/mimikatz) #只能获取处于登录状态的账户的密码,从内存中读取
用双冒号查看命令模块和子模块
privilege::debug #提权到debug
sekurlsa::logonPasswords #查看登录账号密码信息,注意只能查看登录的账户的信息,未登录查看不到,因为是从内存中读取数据
切换登陆另外的账户,然后测试
process::list 查看当前的所有进程
evnet::clear 清除安全日志
misc:: 杂项
token::
Linux提权
dirty(脏牛)提权
inux内核在处理内存写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞。
低权限用户可以利用该漏洞修改只读内存,进而执行任意代码获取 root权限。
1.内核版本检测
2.编译
3.查看/etc/passwd文件
5.恢复之前的/etc/passwd文件