注入进程和利用漏洞提权
/0x01 注入进程提权
该方式在实现提权的同时给系统安放了后门,以便于进行隐蔽的监听。
下载pinjector.exe程序:https://www.tarasco.org/security/Process_Injector/
然后将该程序放入system32目录中,在命令行中输入pinjector,提示有-l和-p两个参数,先输入pinjector -l 列出当前执行的进程及其相应的用户名。找到其中一个包含System用户的进程进行注入即可:
输入的端口号实现监听,可在Kali中用nc进行监听,并且可得到System用户的权限:
0x02 利用漏洞提权
前面的提权都是在管理员权限下进行的,如果是普通用户则可以通过可能存在的漏洞进行提权。下面以两个漏洞举例。
MS11-080
Kb2592799——关于漏洞的描述等的信息
https://technet.microsoft.com/library/security/ms11-080
在Kali中查找相应的模块,需要添加-v参数才查找得到:
1 | searchsploit -v ms11-080 |
在实验系统中,在运行中输入如下命令来查看是否打上了相应的补丁:
1 | appwiz.cpl |
在a用户的命令行上执行Python脚本转换而来的exe执行文件,其中需要输入相应的参数:
输入whoami查看权限,可见注入成功,已提权到SYSTEM:
进一步利用,将a用户添加进管理员组,此后的登陆之后都是管理员权限:
MS14-068
设置域服务器:
以win server 2k3作为域控制器:
接着运行域控制器的安装,其中在安装DNS服务器时需要插入光盘,在虚拟机中插入安装时该系统的iso文件即可:
1 | dcpromo |
以一台Win7作为连接域的主机,关于Windows系统的相关下载可以到:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
先将win7主机的DNS服务器的IP改为域控制器的IP:
右键我的电脑>属性>Advanced system>电脑名>Change>Domain:
填写相应的域名、域控制器管理员账号和密码后设置完成。
在运行中输入dsa.msc
。
打开域管理工具,为成员赋予账号:
创建成功后即可在win7上用该账号登陆。
在win7登陆时要更换选项:
(域下的账号密码都可以通过下面补充知识讲的工具来获取的。)
在Computers目录中右击目标主机点管理可以对该主机进行远程管理,当然前提是要将目标主机的防火墙关掉:
搜索MS14-068的脚本,加入参数-v后才看到有:
在域的普通用户中通过whoami /all
来查看域用户对应的SID:
到下面的网址下载库文件到Kali的Python目录中,否则命令执行会报错: https://github.com/bidord/pykek
到下载了库文件的目录下(也可以将下载的库文件添加到Python目录中)执行命令生成票据:
1 | python ms14-068.py -u win7@wy.com -s S-1-5-21-3820864329-1176416056-238591408-1109 -d 10.10.10.144 |
将票据`TGT_win7@wy.com.ccache`复制到Win7中。
本地管理员登陆,把票据放到该目录下,进入mimikatz框架执行:
1 | kerberos::ptc TGT_win7@lab.com.ccache |
虽然注入成功了但是却没有得到相应的权限,查找关于ms14-068的补丁,看到编号为3011780:
Kb3011780:https://technet.microsoft.com/library/security/ms14-068
然后再win7上用
1 | appwiz.cpl |
打开查看补丁更新,查看到Kb3011780的补丁,将它卸载掉即可: