i春秋作家:jasonx

前言

  1. 由于这件事情搞了很久,中间很多截图已经没有了,所以文章中出现的部分截图是后面截的。
  2. 文中很多地方涉及敏感信息,为了我的人身安全,打码比较严重,还请多多理解。

起因

前不久,我被拉入一个所谓“牛股推荐”的QQ群,群里每天看到有人晒收益,说是群里某某老师推荐的。

直到有一天,群里一个网友发了一段很长的内容,大致意思就是群里骗他买的股票亏了40余万,虽然这条信息被管理员瞬间撤回,但他可能不知道,有种东西叫做“防撤回”,接着这位受害者被踢出去了。

然后我开始查了下这方面的资料,得知这种股票推荐的套路一般有大致如下:

骗术

  1. 他们给你免费推荐股票,你赚钱了他拿分成,你亏钱了他们没有任何责任。
    正所谓“空手套白狼”。

  2. 群里会有很多托,还有各种“分析师”

  3. 如果多次推荐给你买的都亏钱了,等你发现被骗的时候,就踢出去,再不行就换个QQ继续搞,反正一个QQ号才多少钱……

  4. 受害者想到报警的话也没啥用,毕竟你和他并没有签合同,人家也没有直接从你口袋里面掏钱。

好戏正式开始

为了不让更多人受骗,我开始潜水收集信息。

一段时间后我明白了他们的运作方式。

运作方式

  1. 通过他们的直播平台,多位”讲师”轮番上阵洗脑。
  2. 而且设立了多个拉人头的平台,会员可以推荐其他人进来,并且可以拿到分成。
  3. 拥有自己的服务器,并且有专门的技术人员在维护。

通过收集信息得到成员的信息如下:
为了安全,这里就不贴出真实的信息了。

群主QQ:10000(他们称呼王总)

技术QQ:20000

客服1QQ:30000

客服2QQ:40000

客服3QQ:50000

0×1 APT入口

客服会每天在群里发布一个地址,进去后是一个直播的平台。
那么我们就先从这个平台入手看看。

通过域名反查得到IP地址,我们先扫描一波端口看看。

得到扫描结果以后,我们保存下,然后导入到webtitle里面扫描下标题。

得到后台端口

进入后台后发现登录没有验证码,可以直接爆破。

咱们先用burp抓一个登陆的包看看

回到QQ群里面,把几个管理员,客服的QQ号做成用户名字典,另外在把一些常用的用户名字典也加进去。


0×2 成功进入后台

在burp里面设置好变量以后就开始爆破了。

最后我很幸运的拿到了后台账号密码

账号是客服的QQ号码,密码123456 大笑三声 哈哈哈….

后台有机器人功能,可以在直播的时候自动发设置好的话,让你感觉人气还挺高。

接下来就是通过后台拿shell了

找了下后台的各种功能,发现在新增用户这里存在上传点,

burp抓包直接把.jpg修改成.php发包后直接拿到shell

然后在头像处审查元素,看看上传后的shell地址,菜刀连接就行了。

艰难的提权路

拿到shell以后就第一时间尝试提权,但是连cmd命令都执行不了。
提示开启了安全模式,多次尝试无果后就放弃了。

看来还要从其他地方继续入手了


0×3 钓鱼拿下客服QQ

现在我开始思考,突破口还是在客服上了。
如果能搞到客服的QQ号,只要用他QQ号给他们技术发一份邮件,上钩的几率还是挺高的,因为利用熟人之间的信任,可以降低他们技术的心里防备。

说干就干,刚好前不久拿到好几套针对QQ空间的钓鱼源码,我们搭建好在vps上以后,用一个小号重新添加他们客服,诱骗他说有人在QQ空间说这个群都是骗子,还发了很多证据出来。

当然在这之前,我在另外一个小号的空间随便写了点东西,让客服进去以后看起来真实点。

然后把钓鱼连接发给她们3个客服,这个钓鱼页面点进去以后会提醒需要登录QQ才能进入QQ空间的。
如果客服点击登录以后,自动跳转到我那个写了日志的QQ空间。

没多久,后台拿到了3位客服的QQ账号密码。

因为客服当前在线,所以我们等她们不在线以后再登陆上去,然后我用QQ邮箱给他们技术发了一份邮件。

内容如下

搞安全的应该都知道某盾在查杀webshell方面还是挺厉害的。
但是这个某盾是经过加料的。

为了让D盾查到木马,我写了个很简单的一句话放在这个网站的根目录。

不过发完邮件后我才想到,如果他老板压根不懂技术不就露馅了吗?
不过后悔也没用,接下来就只有耐心等待了。

果然功夫不负有心人,控制服务器显示一台主机上线了,马上监视屏幕看看。

发现他远程登录了其中一台服务器,然后通过这个服务器远程登录了好几台其他服务器,中招的就是第一台服务器,也就是这个跳板机,一开始我以后这台是个跳板机,但是我本地远程登录测试了下他登录的那些服务器IP,外部都是可以访问的。


0×4 问题来了 如何拿到所有服务器权限呢?

他只在其中一台服务器上运行了加料的D盾, 所以目前只拿到了这一台服务器。

但是通过远控翻他的注册表,发现他曾经连接过不下10多台服务器。

这里给出mstsc的连接记录列表位置。
[HKEY_USERS\S-1-5-21-1387774393-1596258019-1651181295-500\Software\Microsoft\Terminal Server Client\Default]

那么问题来了,他现在登录的服务器是勾选了记住密码了,远程登录的时候不需要输入账号密码,所以我的远控监视不了他服务器的账号密码。

但是这里有个几个办法是可以获取到密码的。

  1. 用powershell 脚本(但是需要可以交互才能读出密码来,文章最后我分享了,回复可见)
  2. 直接干掉mstsc保存的凭据文件,让他下次远程登录的时候必须输入账号密码才能连接。

由于他现在正在使用这台服务器,我没办法用powershell读取密码,那么就用方法2吧。
首先用远控的文件管理功能,找到以下路径。

C:\Documents and Settings\Administrator\AppData\Local\Microsoft\Credentials\

可以看到,他有两台服务器是选了记住密码的。

现在咱们直接删掉这两个凭据文件,然后开启远控的在线键盘记录功能。

然后在远控的cmd下执行以下命令,干掉他的远程连接进程。

taskkill /f /im mstsc.exe

这样管理员的远程登录窗口就会断开了,他必定会重新登录,但是之前登录的凭据被我干掉了,重新登录的话需要输入账号密码,那么我们的远控键盘记录就抓到他密码了。

搞到密码以后,可以短暂休息了,毕竟管理员现在还在线,只能等深夜的时候再继续了。


0×5 深夜起来继续嗨

调好闹钟,凌晨4点起床以后,我用抓到的密码挨个登录了他的服务器,发现他所有服务器竟然都是同一个密码,心真的大啊!哈哈 (゚▽゚*)

这里有个坑我要说下,因为他服务器好多都是阿里云的,如果我在本地登录的话,肯定会触发异地登录提醒,这样管理员马上就能收到入侵短信了。
所以我用他的那个跳板机登录上去的,然后干掉所有aliyun的进程,包括云盾的,这样不管你干了啥,云盾就一脸懵逼了。

登录到其中一台服务器的时候发现管理员在桌面放了很多有意思的东西。

这下真的是一锅端了。哈哈哈 (✪ω✪)

到此,业务服务器、数据库服务器、测试服务器、直播的服务器已经全部到手。
剩下的就是收集证据,然后匿名举报一波咯。


总结

apt总是让人防不胜防,只要收集的信息够多,做好针对性的攻击,成功率还是蛮高的。

另外附送一个比较牛逼的远程登录密码读取工具,可以读出mstsc保存在本地的密码。工具回复可见给一些小建议

  1. 不要设置大量重复的密码
  2. 不要把你敏感的信息放在服务器上或者电脑上
  3. 如果一定要放的话,建议你密码不要输全,比如密码123456…你保存的时候就写123456.这样你心里有个记忆就行。
  4. 本地保存密码给你带来方便的同时,也给入侵者带来了方便。

有问题大家可以留言哦,也欢迎大家到春秋论坛中来耍一耍  >>>点击跳转

对股市骗子内部的一次apt测试的更多相关文章

  1. Android客户端性能测试(一):使用APT测试Android应用性能

    一.APT介绍: APT:Android Performance Testing Tools,适用于开发自测和定位性能瓶颈,帮助测试人员完成[性能基准测试.竞品测试]. APT提供了CPU利用率实时曲 ...

  2. 第50章 读写内部FLASH—零死角玩转STM32-F429系列

    第50章     读写内部FLASH 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...

  3. 009_STM32程序移植之_内部falsh

    flash  模拟  EEPROM  实验 1. 测试环境:STM32C8T6 2. 测试接口: 3. 串口使用串口一,波特率9600 单片机引脚------------CH340引脚 VCC---- ...

  4. Mysql读写分离——主从数据库+Atlas

    mysql集群 最近在参加项目开发微信小程序后台,由于用户数量巨大,且后台程序并不是很完美,所以对用户的体验很是不友好(简单说就是很卡).赶巧最近正在翻阅<大型网站系统与Java中间件实践> ...

  5. Linux( Ubantu ) 的简单使用

    1.Linux常用的快捷键 Ctrl + Alt+ T --打开终端 Ctrl + Shift + C --复制 Ctrl + Shift + V --粘贴 Ctrl + Shift + A --光标 ...

  6. Docke 搭建 apache2 + php8 + MySQL8 环境

    Docker 安装 执行 Docker 安装命令 curl -fsSL https://get.docker.com/ | sh 启动 Docker 服务 sudo service docker st ...

  7. 【译】使用 CocoaPods 模块化iOS应用

    原文翻译自:Using CocoaPods to Modularize a Big iOS App 为你的移动应用选择正确的架构是一件相当大的事情,这会对你的工作流程造成影响,陷入面对的问题,可能是一 ...

  8. UDS(ISO14229-2006) 汉译(No.7 应用层协议)【未完,待续】

    7.1定义 应用层协议通常作为确认消息的传输,意味着从客户端发送的每一个请求都将有由服务器端产生的与之相对的响应. 唯一的例外在于:例如使用了功能寻址方式,或者该请求/指示没有指定生成响应/确定的少数 ...

  9. VS2012 Unit Test(Void, Action, Func) —— 对无返回值、使用Action或Func作为参数、多重载的方法进行单元测试

    [提示] 1. 阅读文本前希望您具备如下知识:了解单元测试,了解Dynamic,熟悉泛型(协变与逆变)和Lambda,熟悉.NET Framework提供的 Action与Func委托.2.如果您对单 ...

随机推荐

  1. 20155312张竞予 20170510实践一:在IDEA中以TDD的方式对String类和Arrays类进行学习

    实践题目 在IDEA中以TDD的方式对String类和Arrays类进行学习 测试相关方法的正常,错误和边界情况 String类 charAt split Arrays类 sort binarySea ...

  2. redis2

    一.安装redis 1)     下载redis安装包 可去官网http://redis.io ,也可通过wget命令, wget http://download.redis.io/redis-sta ...

  3. hadoop报错:java.io.IOException(java.net.ConnectException: Call From xxx/xxx to xxx:10020 failed on connection exception: java.net.ConnectException: 拒绝连接

    任务一直报错 现象比较奇怪,部分任务可以正常跑,部分问题报错 报错信息如下: Ended Job = job_1527476268558_132947 with exception 'java.io. ...

  4. (18)What a planet needs to sustain life

    https://www.ted.com/talks/dave_brain_what_a_planet_needs_to_sustain_life/transcript 00:12I'm really ...

  5. (13)How to stay calm when you know you'll be stressed

    https://www.ted.com/talks/daniel_levitin_how_to_stay_calm_when_you_know_you_ll_be_stressed/transcrip ...

  6. s7-200 PID控位

    只有加热模块,没有风扇,所以温度上冲达到5度左右 TITLE=程序注释 Network // 网络标题 // 初始化 LD SM0. LPS MOVW , VW500 MOVW , VW502 MOV ...

  7. 使用spring boot +WebSocket实现(后台主动)消息推送

    言:使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!使用此webscoket务必确保生产环境能兼容/支持!主要是tomcat的兼容与支持. ...

  8. linux学习--查看cpu及内存信息

    查看物理cpu个数: cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看每个cpu核数 cat /proc/cp ...

  9. 使用Docker镜像

    1     使用Docker镜像 1.1   获取镜像 命令格式:docker pull NAME[:TAG] NAME为镜像仓库的名称 TAG为镜像的标签(表示版本号) 描述一个镜像需要包括:名称+ ...

  10. 第15章:MongoDB-聚合操作--聚合管道--$match

    ①$match 用于对文档集合进行筛选,里面可以使用所有常规的查询操作符. 通常会放置在管道最前面的位置,理由如下: 1:快速将不需要的文档过滤,减少后续操作的数据量 2:在投影和分组之前做筛选,查询 ...