实战|一次从弱口令到getshell_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

实战|一次从弱口令到getshell

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


实战|一次从弱口令到getshell

这是个人认为近期比较有价值的一次集群智慧云安服渗透测试,分享给大家。 主要分为4个步骤:弱口令进入系统;后台sql注入;getshell,远程RDP管理员登录;扩大战果,证明危害。 0x01 弱口令 在一次针对某站点信息收集的过程中,通过子域名扫描,扫描到某个老旧系统。 一看这都2014年的老站了,肯定有搞头! 日常使用burp爆破一波试试,没爆破出来 但是随手一试,好家伙123/123进入系统,属于是运气拉满了 (高强度打码) 这里能看到是一个“编辑”人员的权限,并没有什么上传等后台管理的功能,只能耐心过一遍系统的各种功能。 0x02 SQL注入 进入系统翻一翻,没有什么敏感信息泄露,但是在一处查询人员信息的接口发现了SQL注入(xray被动扫描扫出来的) http://host.com/xxx/control/SearchMenHunInfo?content=123 这时想要手工验证一下,发现甚至不需要后台cookie就能直接访问该接口,相当于还存在未授权访问漏洞。 那这sqlmap一把梭,--cookie参数都不用加了 python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" --current-db 这里跑出了库名,还能看到这是一个Oracle数据库。打算继续拿shell试试。 但是在我日常渗透过程中,Oracle数据库并不常见,sqlmap中--os-shell参数还是不支持Oracle数据库的,只能现学现卖一波。 0x03 getshell 首先参考了这篇文章  Oracle注入 - 命令执行&Shell反弹 文章中介绍到以下版本的Oracle在发现注入后可以命令执行 那么再用sqlmap查看一下Oracle版本 python sqlmap.py -u "http://host.com/xxx/control/SearchMenHunInfo?content=123" -b 看来是符合可以命令执行的版本的! 又经历了一波漫长的学习,发现了github一个大佬已经集成好的工具 oracleShell oracle 数据库命令执行 工具截图如下 可以看出,我们还需要知道数据库的SID,用户名,密码,就可以尝试执行命令。 那么就继续利用sqlmap来扩大我们已知信息。 查看数据库权限--is-dba 查看数据库IP,SID 这里进入sqlmap的--sql-shell模式,用sql语句来查询 查询SID:select instance_name from v$instance 查询当前IP:select sys_context('userenv','ip_address') from dual 爆破所有数据库账号、密码 使用sqlmap的--passwords参数,跑出数据库的所用用户名和对应的密码 经过漫长的等待,终于有了结果(这里给出的是虚构的数据) database management system users password hashes:[*] ANONYMOUS [1]: password hash: anonymous[*] HR [1]: password hash: 6399F3B38EDF3288[*] SYS [1]: password hash: 4DE42795E66117AE[*] SYSMAN [1]: password hash: B607EEBB3A2D36D0[*] SYSTEM[1]: password hash: 8877FF8306EF558B clear-text password: SYS 可以看到有些用户名只得到了对应的哈希,但是其中一个用户名system成功跑出了明文密码! 查询Oracle常用端口 Oracle确实不熟悉,百度查一波端口: 查询发现,服务端默认的端口号一般是389,客户端默认的端口号一般都是1521 OK!现在已经拥有了IP,PORT,SID,用户名(SYSTEM),密码(SYS),可以直接使用工具连接了。 一切顺利!取得了system权限! 0x04 进一步证明危害 创建个用户试试 net user name pwd /add net localgroup Administrators name /add 远程桌面RDP连接 name/pwd 连接成功! 上传一个mimikatz,抓取管理员明文密码 privilege::debug sekurlsa::logonPasswords 最终成功登录Administrator账号RDP 至此,渗透结束。 总结 弱口令->sql注入->getshell->拿下管理员权限 从一个常见的弱口令,到拿下管理员权限,这个过程需要运气和耐心,把这次经历拿出来分享一下。 在强调一下本次漏洞详情均已提交,渗透需规范! 大三信息安全专业学生的一篇文章,如有错误还请多多指教!(再不写文章就成大四了^^) 本文作者:Jerrytqq, 转载请注明来自FreeBuf.COM 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文

实战|一次从弱口令到getshell