一、Windows登录认证
1.登录认证过程
(1):用户登录时输入用户名和密码
(2):对输入的密码进行lmhash和nthash加密
(3):对加密的密码与系统中的SAM文件进行比对
(4):SAM文件中存放的是用户的用户名和密码的hash值,如果比对成功就可以进行登录,否则登录不成功。
2.SAM介绍
Windows中对用户账户的安全管理使用了安全账号管理器SAM(security account manager)的机制,安全账号管理器对账号的管理是通过安全标识进行的,安全标识在账号创建时就同时创建,一旦账号被删除,安全标识也同时被删除。
安全标识是唯一的,即使是相同的用户名,在每次创建时获得的安全标识都时完全不同的。因此,一旦某个账号被删除,它的安全标识就不再存在了,即使用相同的用户名重建账号,也会被赋予不同的安全标识,不会保留原来的权限。
SAM文件是windows的用户账户数据库,所有用户的登录名及口令等相关信息都会保存在这个文件中。SAM文件可以认为类似于unix系统中的passwd文件,不过没有unix的passwd文件那么直观,当我们忘记密码的时候,就可以通过删除SAM文件,快速地进入系统。
3.SAM文件位置
C:\WINDOWS\repair\SAM
C:\WINDOWS\system32\config\SAM
C:\WINDOWS\repair目录下的SAM,是帐户数据库的备份文件;
C:\WINDOWS\system32\config目录下的SAM,是系统正在使用的帐户数据库文件。
4.SAM文件有何用
删除SAM文件**系统开机密码。当您忘记了计算机的开机密码,无法进入系统的时候,SAM文件对您的帮助最大。我们可以先进入到纯DOS,通过如下的命令,将SAM文件删除:Del C:\WINDOWS\system32\config\SAM通过如上命令在纯DOS下删除SAM之后,计算机系统就相当于没有了任何帐户的信息,这个时候,就等于恢复到了最初的状态。
这个时候,我们重新启动计算机,会出现登陆界面,需要我们输入用户名和密码,这个时候,用户名输入Administrator密码为空,其余都不用输入,这样,就可以通过最高权限的Administrator登陆计算机了。一旦登陆成功,再给其设置密码或者重新建立其它的帐户,一切都是您说了算了。
二、利用配置不当提权
1.为什么使用配置不当提权
- 前提:已经成功渗透进目标系统;
- 相比利用漏洞提权,是更常用的方法;
因为在大部分企业中,系统管理员会将系统的漏洞即时进行补丁更新,难以通过系统自身我的漏洞进行入侵;但是由于管理员的疏忽或者对一些权限的分配不当,产生了配置不当 的问题,这样我们就可以利用这个问题进行提权。- 可以查找系统中以system权限启动的服务或应用
通过进程注入的方法拿到system权限- 可以查找NTFS权限允许users修改删除的应用
可能会由于管理员的疏忽给某个用户设置的权限过大,这样可以想办法拿到该用户账号密码,就可以获取更大的权限
2.查看文件权限
(1):查看Windows下用户权限
(2):查看Windows下exe文件
(3):查看Linux下文件权限为777的文件
find / -perm 777 -exec ls -l {} ;({}前后都有空格)查看权限为777的文件
(4):查看Linux下除了/proc/文件夹下的所有文件
find / -writable -type f 2> /dev/null | grep -v “/proc”
/proc/文件是系统启动生成的缓存
3.利用配置不当提权的方法
(1):利用vim进行提权(管理员将一个用户添加到了sudoers组)
方法一
- 首先将zhangsan用户添加到sudoers组中
- 修改内容如下
- 使用普通用户进行登录
输入zhangsan用户的密码就可以拿到root用户的shell方法二
- 首先将zhangsan用户添加到sudoers组中(将刚才在/etc/sudoers中添加的那一行去掉),然后切换shell,发现不需要输入密码就可以拿到root的shell
三、利用WCE进行提权
1.WCE介绍
WCE(Windows Credential Editor)是一款功能非常强大的内网渗透工具,功能是十分强大。
2.使用WCE提权过程
(1):WCE软件包获取
方法一:通过共享将文件传送到Windows 7上(先通过文件共享将wce文件共享到物理机上,然后将物理机上的文件通过Vmtools拖进Windows7中的C盘)
文件内容:/usr/share/wce/
方法二:
链接:https://pan.baidu.com/s/1V1x9t_KheKhM3TEKrH9O8w
提取码:2tng
(2):查看当前登录的用户及加密的密码
wce-universal.exe -l
(3):查看当前用户登录的详细信息
wce-universal.exe -lv
(4):删除一个指定会话的luid
wce-universal.exe -d ID号
(5):刷新会话信息
- wce-universal.exe -e(手动更新)
- wce-universal.exe -r(每隔五秒自动更新)
重新登录了a用户,再次切换到Administrator用户后发现更新出了a用户的信息
(6):拼接会话信息
拼接会话信息可以隐藏用户身份和信息
wce-universal.exe -i ID号 -s 用户信息
(7):生成指定字符串的lmhash和ntlmhash
wce-universal.exe -g 明文密码
(8):查看明文信息
wce-universal -w
(9):预防WCE攻击
- 打开注册表
regedit
- 删除wdigest
- 再次查看信息,发现无法查询明文信息
wce-universal.exe -w