2019年4月

1.jpeg

大家应该都知道针对汽车无钥匙进入系统的中继式攻击吧?很多第三方汽车警报器厂商都会以这个内容来给自己打广告。而我们的各项研究表明,在装配了这些警报器之后,你的汽车将会变得更加不安全!因为这些警报器系统可能会让你无法锁住车门,可能会让你的引擎在行驶过程中突然停止,甚至还会因此而被偷车。

为了证明我们的说法,我们花了5000多美元购买并安装了几款高端的“智能”汽车警报器,并在市场占用率排名第一和第二的两款警报器系统中发现了严重的安全缺陷,而这些安全缺陷将导致:

1、 汽车将能够被实时定位;

2、 可获取汽车类型以及车主信息;

3、 汽车报警器可以被禁用;

4、 汽车可以被攻击者解锁;

5、 攻击者可启动或禁用汽车防盗系统;

6、 某些情况下,汽车发动机在行驶过程中可能会“被”熄火;

7、 车辆被盗

上述的这些安全问题将导致全球三百多万台汽车受到影响。

研究动机

其中有一家名叫Pandora的警报器厂商,他们生成自己的产品是“永远无法被攻击”的。这就不合适了吧?这种想法,简直就是在挑战我们安全研究人员的“底线”。大家看:

2.jpeg

Pandora现在也把这段“声明”从官网上下线了,但我们还是截到了一张图:

3.jpeg

我们所分析的产品分别来自于Pandora和Viper这两家厂商,它们的产品目前分别占据全球汽车警报器市场的第一和第二。

搞笑的是,他们产品中的漏洞有些过于“直接“了,其实就是API中不安全的直接对象引用漏洞(IDOR)。

攻击者只需要修改部分参数,就可以在不通过身份验证的情况下修改用户注册的邮箱地址,并发送密码重置请求来修改并接管用户账号了。此时,攻击者可以实时定位目标车辆的位置以及解锁目标车辆的车门。

其实我们是在拿到警报器之前就发现了这个漏洞,但为了概念验证,我们还是购买并将其安装到了我们自己的汽车上。

4.jpeg

这是一个IDOR漏洞,存在于“修改用户“请求中。虽然除了这一个API之外,其他所有的API都会进行身份验证,但/users/Update/xxxxx请求却没有进行有效验证。

因此,攻击者就可以通过发送恶意请求来修改用户的密码,并控制账户来与汽车警报系统进行交互,而合法用户将无法登陆账号,并且无法访问他们的汽车警报系统。

请求样本:

5.jpeg

密码修改截图:

6.jpeg

Pandora漏洞分析

这是一个存在于POST请求中的IDOR漏洞,请求位于“email“这个JSON参数中,请求信息如下:

https://pro.p-on.ru/api/sputnik/workers?id=xxxx

7.jpeg

因此,攻击者可以修改用户的邮件,并发送密码重置请求。密码重置之后,他们就可以登录App并获取到账户和警报器的完整控制权了。值得一提的是,这种方式还可以攻击管理员用户,即管理多台汽车的用户。

8.jpeg

攻击者到底能做什么?

攻击者可以随便选一台车,那就陆虎览胜吧:

9.jpeg

接下来,我们来实时定位车辆位置:

10.jpeg

11.jpeg

然后我们开车跟踪他:

12.jpeg

然后,关闭警报器和闪光灯…

当司机靠边停车下来检查时,我们可以开启防盗系统,然后他就没办法启动汽车了。而且我们还取消了他们访问警报器账户的权限,因此他们也无法重置防盗系统。此时,我们可以使用手机来克隆车钥匙按钮,然后使用手机来打开车门。

13.jpeg

音频窃听

Pandora的警报系统能够在遇到紧急情况时发出求救信号,因此它配备了麦克风来启用此功能。但是由于API中存在授权缺陷,因此攻击者可以利用这种缺陷来远程访问和启用目标设备的麦克风。

这样一来,攻击者就可以远程窃听目标车辆上人员的全部聊天信息了。

总结

在很多场景下,我们都可以轻松利用物联网设备API中的IDOR漏洞。

大家也知道,这些汽车警报器系统是非常昂贵的,通常只有高端汽车或者配备了无钥匙进入的汽车才会安装它们。就目前的数据来看,我们保守估计全球大约有价值1500亿美元的汽车仍处于这种安全风险之中。

目标国外站http://xxx.xx.com/

云悉指纹
Web指纹 PHP/5.3.3,CentOS,Apache/2.2.15
语言 PHP/5.3.3
数据库 无
Web容器 Apache/2.2.15
服务器 无
全球排名 无
操作系统 CentOs

ip:175.117.xxx.xxx 无cdn无waf

概览全局

访问直接跳转到http://xxx.xx.com/member/login.php

1.png

手动测试万能密码,尝试无果。

查看源代码寻找敏感路径或敏感api

2.png

发现敏感路径

访问仍然跳转到登陆界面,放弃。

目录有迹可循,没有加特殊前缀后缀,掏出御剑

3.png

http://xxx.com/admin

4.png

简陋后台,尝试万能密码,无果。

查看源代码,无果。(有些账号密码会写在源代码中!)

http://xxx.com/member

5.png

发现目录遍历,大部分都被重定向到登陆页面。看下御剑扫出的另外几个

xxx.com/temp/

6.png

被扫描器扫描之后创建了很多文件夹,并且时间都是最近的。很有可能后台编辑器不登陆就能用。

三个目录遍历点,我们需要耐心找下可以利用的文件或者目录。注意留意upload字样的文件夹,因为很有可能会有前人的脚印。这里说一点就是如果你找到前人的马但是不知道密码,你可以尝试下载同名的图片用记事本打开。

测试之后总结下可能被利用的点

http://xxx.xxx/data/imagesfile/upload/文件上传的目录

http://xxx.xxx/data/log/error_201511.logMySQL错误日志爆出绝对路径

http://xxx.xxx/member/check_userid.php

http://xxx/member/message.php

7.png

唯一没打码的黄字导航存在注入,post搜索框存在注入,无任何过滤

http://xxx/board/?bid=1

到这里我想的是root权限+绝对路径写shell,美滋滋?

然后sqlmap报了这个,非root,非dba,服了

8.png

那只能跑后台管理员账号密码了。。然后没找到管理员表。。。国外站就是太卡,让他先跑着,回头继续看目录遍历,我们现在的目的要转向上传点上。

然后我在目录遍历之中没找到上传点,服了。

峰回路转

在之前的注入点之中,

9.png

我忽略了一个细节,而这个细节是谷歌翻译帮助我发现的- -

10.png

这个注入点是查看帖子,那么与之相对应的右下角既是发布/创建帖子。

上传点

11.png

12.png

上传点可用

13.png

尝试getshell apache+php5.3 图片白名单 上传重命名 尝试解析漏洞和截断,无果。

发现编辑器还有一个上传点

14.png

15.png

抓包

16.png

未重命名!

17.png

apache解析漏洞getshell

18.png

访问404???

发现不存在_thumb这个目录,不知道怎么回事。

借助之前的目录遍历找到shell

19.png

蚁剑

20.png

权限是apache

21.png

脏牛获取root,懒得截图了。

写在文后

总结:扫描=》发现目录遍历=》发现注入点=》发现编辑器=》解析漏洞=》getshell=》回马枪目录遍历找到shell=》脏牛

这篇文章花了半个小时去复现截图写稿,但是渗透的整个过程花掉了我两天时间,期间拐过各种坑,总而言之就是自己的经验不足,不够细心,谷歌翻译这个我是真的无语。实战是最好的老师。

最近两个月学着去挖洞,混了快2个月的补天。还是有挺多收获的。这里记录一个昨天对某人才网的渗透测试。从逻辑越权,xss,弱口令等到getshell,控制数据库.....

新人第一次写稿,有不足的地方恳请师傅们指出
目标站点我就以www.xxx.com代替

1. 逻辑越权

这个人才网有个人用户和企业用户,企业用户注册需要提供营业执照等等。然后只有企业用户才能下载人才简历,查看各个求职者的详细信息,比如身份证号码,联系方式等等。
我们先注册一个个人用户,然后登陆
我们可以看到下面有个"最新人才"的栏目

1.png

点更多,我们可以看到有大约有3w多简历

2.png

我们先随便点一个人的简历

3.png

可以看到当我们是个人用户时已经可以看见这个求职者的很多信息了,但是身份证信息和联系方式作为个人用户是看不见的

4.png

然后我们尝试点一下下载简历

5.png

果然只有企业用户才能下载。
这时候我想起了在各大平台看见的逻辑漏洞的总结,于是尝试用burp抓包来看看有没有可能越权成为企业用户
我们对下载简历抓包

6.png

我们可以看到那个eid是我们查看的这个简历的id。然后在cookie里,有个usertype和uid,个人用户的usertype是1,于是我们尝试改成2。然后这里必须uid也得改成随便一个企业的uid,因为这里usertype是判断用户账号是个人用户还是企业用户,然后这个uid是判断有没有下载权限。
我们在首页随便找一个企业

7.png

然后发包

8.png

然后这里就已经越权成为企业用户了,可以查看到用户联系方式了。
然后我们再对这个图上那个下载简历抓包,同样修改usertype和uid,然后再发包

9.png

然后到这里,不要以为失败了。
我们还是得对这个页面抓包,继续改usertype和uid。然后再次发包就可以下载了

10.png

word文档的简历内容很长,就截了前面部分。可以看到这里就可以看见完整的身份证号码信息。
(Ps:这里在改完uid后,提示说金币不够什么的,就换一个企业的uid试试就好了,因为这里下载简历是要消耗那个企业的金币的,没有金币就得充钱)

2.XSS

我们个人用户登陆后会让我们完善简历。在简历填写的多处存在储存型XSS
这里拿自我评价处做例子(毕竟企业看人才简历时可以看到自我评价)

11.png

12.png

这里我们可以利用xss来获取那些企业用户的cookie,且看cookie,并没有httponly的设置,所以可以直接登陆任意查看过这个简历的企业用户。

https://github.com/aleenzz/Cobalt_Strike_wiki

目录

第一章 CS基础

第一节[环境搭建与基本功能]
第二节[Listeners,Beacon与payload的初使用]
第三节[SMB Beacon]
第四节[DNS Beacon]
第五节[钓鱼 HTML Application]
第六节[钓鱼 MSF联动钓鱼]
第七节[钓鱼 鱼叉邮件]
第八节[钓鱼 Office]
第九节[Beacon 键盘记录,屏幕截图]
第十节[Beacon socks代理,vpn,与端口]
第十一节[Beacon 浏览器劫持与端口扫描]
第十二节[Beacon 提权与powershell]
第十三节[Beacon hash导出]
第十四节[Beacon SSH]
第十五节[横向渗透]
第十六节[MSF与CS会话互转]
第十七节[权限维持]

第二章 免杀

2-第一节[利用框架免杀]
2-第二节[C shellcode 加载]
2-第三节[利用脚本加载shellcode]
2-第四节[c# shellcode简单加密免杀]
2-第五节[python shellcode 加载]
2.第六节[powershell混淆]

第三章 脚本

3-第一节[Malleable C2 配置简介与使用]
3-第二节[Malleable C2 语法解析与文档]
3-第三节[Malleable C2 简单脚本编写]
3-第四节[AggressorScripts使用]
3-第五节[AggressorScripts编写文档简介]
3-第六节[AggressorScripts编写Sleep语法简介]
3-第七节[AggressorScripts编写CS菜单]
3-第八节[AggressorScripts编写简单的脚本]

上个月做了一次项目,是某系统的测试,简单做一次测试总结

首先拿到项目给的测试范围,几个域名打开发现都是需要登入的系统,首页只有一个登入框。

1.png

第一眼。没啥思路,有验证码burp爆破路子是行不通了。测试也不让用扫描器,于是上搜索引擎搜一下这个系统。发现某一个页面有该系统的介绍和附件下载,大致介绍就是大家要熟练使用这个系统。

2.png

下面跟着一个附件的下载链接,下载回来打开看看,发现是系统使用的说明书。

3.png

而且运气很好,这个说明书的编写者,在编写说明书的时候截图了部分系统的使用界面,而界面中刚好就包含了一部分专家的账号。

4.png

同时说明书里也写出了所有账号所使用的初始密码。

5.png

观察了一下泄露的账号,fuzz一下账号的命名规则,结合初始密码。因为有验证码的关系,逐个去手动登入了一下。试了大概四五个就遇见了一个没改初始密码的账号。

6.png

成功登入

进入系统后 发现该系统是专家的评审系统,每个账号只可以看到10人信息并给与评审

7.png

直接F12一下查看页面元素。发现每一个姓名都有一个ID号。

8.png

猜测应该是通过ID参数来显示可能存在ID遍历,于是用burp尝试抓包

9.png

可以看到ID遍历出了所有包含了姓名 编号 手机号 身份证号 照片路径 单位 等详细信息的用户信息

10.png

然后照片处发现了一个神奇的URL

11.png

照片的路径为URL=/图片路径/
尝试把URL后面的路径改为/etc/passwd

12.png

成功下载到passwd文件,一个任意文件读取的漏洞到手了。

继续翻看系统发现一个没验证码的登入页面,随便试了一下,发现并没有提示登入成功还是失败,也没有返回任何信息

13.png

抓包分析一下,发现账号密码正确则返回ture,反之则返回flase

14.png

于是用刚刚ID遍历获取的身份证信息做字典 用户名为身份证 密码为身份证后八位(为啥后八位,之前泄露的说明书里有说明)

15.png

对可以成功登入的账号和密码进行整理,去尝试进行其他系统的撞库。刚好另一处登入系统的账号就是身份证。

16.png

尝试撞库登入系统

17.png

成功登入另一处系统,

总结一下:
这次漏洞的主要起因就是客户习惯性的用公告的形式,同时用户去下载一个看似不起眼的使用说明书,而说明书的编写者没有对系统截图中的敏感截图部位进行打码处理,导致了部分用户登入账号信息泄露出去,而正是这几处微小的不起眼的细节给攻击者一个可乘之机。从而导致了后面一连锁的漏洞。如果没有这个附件给与登入系统的突破口,那么后续也无法登入系统,从而无法发现ID遍历和任意文件下载,进而也无法在无验证码的登入页面处制作字典撞库其他系统。

以下网友讨论:

45190FB2-4D71-4F3B-B69C-D0C929917C84.png