攻防实战思路-不靠0day组合拳拿下目标系统(一)

案例素材来源于以往参加的攻防比赛和众测项目,旨在拓展外网打点的思路,图片已做去敏处理,如有雷同纯属巧合

前期准备防溯源

临时VPS:https://aws.amazon.com/cn/

代理节点IP:https://www.feiyuip.com/

记得勾选掉线禁用网卡✔,防止网络切换过程中泄露真实出口IP

image

演习规则解读

注意 事项
内容
优先目标
攻击范围:提前沟通好目标分子公司是否算范围内,占比多少,提防裁判变卦;
多倍积分:关注多倍积分目标,方法用对,事半功倍
协同合作
攻击细节:补充POC等细节,方便与裁判争论和复现;
人员分工:A负责外网打点,B负责内网横向等,避免浪费人力,成果通过语雀或雨墨同步
现场洞察和预判
拿分目标:关注大屏攻击动态,找侧重;热点目标:关注裁判沟通内容,通常会讨论被攻击的目标、攻击队利用的攻击手段等;
出局预判:关注大屏防守方扣分情况,根据出局线预判即将下线单位,可优先集火攻击
裁判处合理获取信息,如目标信息、时间信息、成果是否值得深入等
信息获取
从裁判处合理获取信息,如目标信息、时间信息、成果是否值得深入等;如嘉定雪亮工程,以及雪亮工程和公安的关系。
成果最大化
隐患内容(权限)尽数勾选,是判分的依据,不要遗漏;
数据分:数据量和危害性,危害、影响描述尽可能大;
详情罗列:描述处所有成果依次罗列,标注好入口和横向方式;
沟通的艺术:和裁判谈判!裁判不聪明就换个裁判!

小程序弱口令爆破–Fuzz相似api接口越权–hash碰撞获取管理员密码–接管高权限账户

通过微信小程序搜索目标单位,发现一处后勤管控平台资产

image

shiro框架的,爆破一波key试试,好吧不成功

image

像这样的系统一般以员工工号作为用户名,通过google语法搜出工号位数为5位数字(类似10001,10002)

固定密码为123456,祭出我的Top1000用户名进行爆破,成功爆破出三个弱口令

image

这时候继续翻找功能点,毕竟弱口令才20分一个

从history中翻出这么一个接口,StaffListV2返回包提示没权限,尝试Fuzz相似接口

image

尝试把 StaffListV2 修改为 StaffListV1、StaffListV3、StaffList

发现StaffList没做鉴权,能够获取所有员工的邮箱和工号信息

image

接着通过小程序解包找到web后台管理地址:https://api.xxxx-admin.com

小程序解包项目:https://github.com/Ackites/KillWxapkg

利用小程序爆破出的账号密码进行登录

image

但由于我们爆破出的账号为普通员工账号,因此后台没有数据,所以我还需要去尝试接管管理员账号

image

翻看history数据包,发现在修改密码功能有一个api接口返回了用户名pwd_hash

image

通过传入userid可以越权查看他人的pwd_hash,刚好我们在StaffList接口能够获取所有员工的userid

接着分析pwd_hash,虽然无法直接解密,但返回包中包含了随机的salt值

image

分析后发现 pwd_hash=(password md5–salt)sha256,根据此编写对应的碰撞脚本

1.使用密码和盐值生成基于 MD5 和 SHA-256 的哈希值。

2.从指定文件中读取密码列表,每行一个密码。

3.将密码文件中的每个密码与提取的盐值和哈希进行比对,找到匹配项

image

成功碰撞出高权限账户密码 1qaz@WSX

image

 

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容