关于本地提权的学习笔记(二):注入进程和利用漏洞提权

来源:互联网 发布:mamercache缓存php 编辑:程序博客网 时间:2024/05/21 23:00

本文为学习笔记,很多不足之处望各位指导一下~

注入进程提权:

该方式在实现提权的同时给系统安放了后门,以便于进行隐蔽的监听。
下载pinjector.exe程序:

https://www.tarasco.org/security/Process_Injector/
然后将该程序放入system32目录中,在命令行中输入pinjector,提示有-l和-p两个参数,先输入pinjector -l 列出当前执行的进程及其相应的用户名。找到其中一个包含System用户的进程进行注入即可:


输入的端口号实现监听,可在Kali中用nc进行监听,并且可得到System用户的权限:




利用漏洞提权:

前面的提权都是在管理员权限下进行的,如果是普通用户则可以通过可能存在的漏洞进行提权。下面以两个漏洞举例。

MS11-080:

Kb2592799——关于漏洞的描述等的信息
https://technet.microsoft.com/library/security/ms11-080
在Kali中查找相应的模块,需要添加-v参数才查找得到:
searchsploit -v ms11-080




在实验系统中,在运行中输入
appwiz.cpl

来查看是否打上了相应的补丁
在a用户的命令行上执行Python脚本转换而来的exe执行文件(看补充知识点),其中需要输入相应的参数:


输入whoami查看权限,可见注入成功,已提权到SYSTEM:


进一步利用,将a用户添加进管理员组,此后的登陆之后都是管理员权限:






MS14-068:

设置域服务器:
以win server 2k3作为域控制器:




接着运行域控制器的安装,其中在安装DNS服务器时需要插入光盘,在虚拟机中插入安装时该系统的iso文件即可:
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目录中)执行命令生成票据:
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框架执行(关于mimikatz看下面的补充知识):
kerberos::ptc TGT_win7@lab.com.ccache



虽然注入成功了但是却没有得到相应的权限,查找关于ms14-068的补丁,看到编号为3011780:
Kb3011780:https://technet.microsoft.com/library/security/ms14-068
然后再win7上用
appwiz.cpl

打开查看补丁更新,查看到Kb3011780的补丁,将它卸载掉即可:




补充知识点:

将Python脚本转换为exe文件方便测试:

下载以下两个程序,并在安装有Pyhton环境的主机上进行转换:
Pyinstaller:https://pypi.python.org/pypi/PyInstaller/2.1
Pywin32:https://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/
Pywin32是个exe执行文件直接执行即可,然后将Pyinstaller文件夹放置在Python环境所在的文件夹里面,为的是方便在命令行中使用..\来返回上一级目录直接查找到Python环境所在的路径;直接调用pyinstaller.py可查看如何使用:


下面用cookies.py作为例子进行转换,输入:
..\python pyinstaller.py --onefile ms11-080.py

--onefile参数,即生成一个文件的执行程序,将调用的外部文件等包含在里面,防止在其它主机使用时出错。



几个查看用户信息的Windows程序:

WCE(Windows Credential Editor):

在Kali中有:
/usr/share/wce/

其中有几个文件,将wce目录整个复制到Windows XP系统的C盘中,然后先增加两个用户:


通过-h参数查看相应的参数信息。
-l参数显示已经登录的账号,加个v参数更写详细:


-w参数查看已经登录的用户及其登陆密码:


切换到其他用户也登录之后再执行可看到所有已登录的用户的密码


-d参数实现删除相应lid的用户

防止别的用户查看:
在系统的注册表中删除默认启动的包wdigest(本地)、tspkg(终端),但同时系统不可以再进行多用户登陆。
在cmd中输入regedit来启动注册表,该安全包相应的路径为:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages(注意删除的时候要将空白的行也删掉,否则会报错)


fgdump:

即使还没登录的用户的信息也能查看得到,在Kali中的
/usr/share/windows-binaries/

拷贝进去之后,直接点击fgdump.exe会生成三个文件:


其中pwdump文件是调用pwdump程序进行查询所有用户的:


mimikatz:

压轴的牛逼工具,在Kali中的
/usr/share/mimikatz/

然后将其放入XP的C盘中。
在命令行中进入相应的目录,输入mimikatz.exe直接进入其框架内。
查看使用方法,输入两个冒号(::)而不是help或问号。



提升权限到debug方便后面的命令进行查看:
privilege::debug
(可以先输入privilege::来查看有哪些可输入的参数)


查看当前已经登录的账号、密码:
sekurlsa::logonPasswords



登录其他用户后再尝试,可看到已经登录的用户的信息都能查看到:


如果将参数改为wdigest,可以看到在每个用户的显示中只会显示wdigest那一块。


Token模块里面有whoami参数,可以直接使用而不用再下载:



Ts模块允许多用户进行并发登录操作。

Event模块对事件日志进行相应的操作:
通过输入eventvwr打开系统日志。
Clear参数可以清除系统的安全性日志。
Drop参数可使以后登录的行为都不会记录在eventvwr日志里。

Misc模块里可以通过参数启动cmd、taskmgr、regedit等。



本地提权暂时到此,若有新的学习体悟再做笔记~

0 0
原创粉丝点击