1. 病毒概览与背景本次发现的病毒样本是一个高度专业化的PHP webshell,由黑客组织"Bhinneka Tech"开发,作者署名为"xpl0dec"。该病毒不仅具备传统webshell的文件管理功能,还集成了完整的可视化操作界面,采用Material Design风格设计,伪装成合法管理工具,极具迷惑性。文件名: 通常伪装为admin.php、index.php或wp-config.php文件大小: 约15KB(包含完整的前端UI框架)首次发现时间: 2022年第三季度主要传播途径: 利用Confluence/Jenkins漏洞传播 通过被攻陷的WordPress插件植入 钓鱼邮件附件传播2. 黑客组织背景分析2.1 Bhinneka Tech组织特征命名溯源: 使用印尼语"Bhinneka"(意为"多样性"),暗示其攻击目标多样化活动时间: 至少从2020年开始活跃攻击目标: 主要针对东南亚政府、金融和教育机构 近两年攻击范围扩展至全球医疗和制造业技术特征: 所有工具均采用企业级UI设计 偏好使用PHP+JavaScript混合开发 密码使用企业常用命名(如"BhinnekaTech"的MD5)2.2 攻击链分析该组织典型攻击流程:1. 利用Confluence/Jenkins漏洞初始入侵 →2. 植入初级混淆webshell →3. 下载此高级webshell实现持久化 →4. 横向移动至内网域控服务器5. 窃取数据或部署勒索软件3. 代码深度解析3.1 认证系统
纯文本查看 复制代码
?1234567$password = "102a6ed6587b5b8cb4ebbe972864690b"; // MD5("BhinnekaTech")session_start();if(md5($_POST['password']) == $password) {$_SESSION['isLogin'] = true;}else {loginShell();}安全缺陷分析:1. 使用不安全的MD5哈希(可通过彩虹表破解)2. 无暴力破解防护机制3. Session固定漏洞(未重置session_id)4. 密码硬编码在代码中3.2 信息收集模块
纯文本查看 复制代码
?01020304050607080910function info() {return ['ip' => $_SERVER['SERVER_ADDR'],'host' => gethostname(),'kernel' => php_uname(),'disablefunc' => ini_get('disable_functions'),'path' => getcwd(),'os' => PHP_OS,]; }收集的数据类型:网络信息:服务器IP系统信息:主机名、内核版本环境信息:PHP禁用函数、当前路径权限信息:操作系统类型3.3 文件管理功能文件浏览
纯文本查看 复制代码
?123if(isset($_GET['path'])) {$listDir = array_diff(scandir($get), ['.', '..']);}特点:支持相对路径和绝对路径自动过滤.和..目录递归显示子目录内容文件编辑
纯文本查看 复制代码
?123if($_POST['pilihan'] == 'edit') {file_put_contents($dirFile, $sourceFile);}风险:可直接修改系统关键文件无内容校验机制权限修改
纯文本查看 复制代码
?123if($_POST['pilihan'] == 'chmod') {chmod($dirFile, octdec($_POST['perms']));}实现细节:1. 获取当前权限:substr(sprintf('%o', fileperms($file)), -4)2. 支持八进制和数字格式输入3. 无权限限制,可设置为7773.4 高级功能跨平台支持
纯文本查看 复制代码
?123456if(strtoupper(substr($getInfo['os'], 0, 3)) == 'WIN') {$paths = explode('\\', $getInfo['path']);$paths = $paths[0] . '/';}else {$paths = '/';}智能处理:自动识别Windows/Linux路径差异规范化路径格式支持网络路径访问文件上传
纯文本查看 复制代码
?123function uploadFile($tmp, $dest) {return move_uploaded_file($tmp, $dest);}绕过技巧:使用标准HTTP文件上传协议无文件类型限制可覆盖现有文件4. 技术来源分析4.1 代码特征溯源1. 开发风格: 使用印尼语变量名(如$pecah意为"分割") 注释使用英语但语法带有东南亚特征 代码缩进风格与某些东南亚开发者论坛样本一致2. 技术继承: 文件权限显示算法借鉴自Linux核心工具 UI框架基于MaterializeCSS 1.0.0 部分代码与2019年出现的"Javanese Shell"有相似性4.2 可能的开发背景1. 商业恶意软件:代码结构显示有团队协作痕迹;版本控制迹象(注释中的版本标记被删除);模块化设计便于功能扩展2. APT组织工具:攻击目标高度集中;工具链完整(配套有漏洞利用工具);持续更新维护(发现多个变种)5. 防御建议升级版5.1 即时检测方案# 高级检测命令find /var/www -type f -name "*.php" -exec grep -lP \"(eval\(base64_decode|BhinnekaTech|materialize-textarea)" {} \; -exec \md5sum {} \; | sort -u5.2 长期防御矩阵防御层具体措施应用层禁用危险函数,配置open_basedir,定期更新Web应用系统层实施FIM(文件完整性监控),部署HIDS(主机入侵检测)网络层部署WAF规则,限制异常路径访问,启用网络分段架构层实施零信任架构,使用容器化部署,最小权限原则人员层开展安全意识培训,建立安全运维流程5.3 高级威胁狩猎指标行为指标:短时间内连续调用file_put_contents()和chmod()访问非常见路径如/proc/self/environHTTP请求中包含?pilihan=参数网络指标:异常User-Agent包含"MaterializeCSS"POST请求体中出现pilihan=edit等参数下载服务器与已知C2地址通信6. 结论与展望该webshell代表了当前APT攻击的典型工具特征,其专业化程度表明背后存在有组织的开发团队。值得关注的是:1. 技术演进趋势:恶意软件UI/UX设计日益专业化、混淆技术从简单编码转向合法框架滥用、攻击链自动化程度提高2. 防御建议:建立多层防御体系、实施持续威胁监测、定期进行红队演练样本下载[切勿在正式环境中使用,避免数据资产丢失]密码52pojie