娱乐

webshell大马

时间:2010-12-5 17:23:32  作者:综合   来源:焦点  查看:  评论:0
内容摘要:一个PHP文件,五行代码,上传到目标服务器,就能拿到一个能执行任意命令、管理文件、连接数据库的网页控制端。这东西叫webshell大马。小马只有上传功能,大马才是真正的操作平台。 2019年我帮朋友排

一个PHP文件,大马五行代码,大马上传到目标服务器,大马就能拿到一个能执行任意命令、大马管理文件、大马连接数据库的大马网页控制端。这东西叫webshell大马。大马小马只有上传功能,大马大马才是大马真正的操作平台。

2019年我帮朋友排查一台被入侵的大马WordPress服务器。翻web目录时发现一个叫wp-config-sample.php的大马文件,大小不对劲,大马正常应该是大马2KB左右,这个有47KB。大马打开一看,大马前面几十行确实是WordPress的配置样例,后面跟着一大段base64编码。解码后是一个完整的大马,界面做得比phpMyAdmin还精致——文件管理、命令执行、数据库连接、端口扫描、提权辅助,一应俱全。攻击者把它伪装成WordPress自带文件,混在几百个PHP文件里,不仔细看根本发现不了。

大马的核心逻辑其实不复杂。以最常见的PHP大马为例,本质就是一个接收HTTP请求参数的脚本。$_POST['cmd']传进来,丢给system()或exec()执行,结果回显到页面。文件管理靠scandir()、file_get_contents()、file_put_contents()这几个函数拼出来。数据库操作就是mysqli_connect()加查询。功能堆得越多,文件越大,从几KB到几百KB都有。

国内安全圈有个叫“中国菜刀”的工具,2010年前后几乎是webshell管理的代名词。它的大马样本用POST参数传递指令,流量特征明显。后来出现了“冰蝎”,把通信流量做了AES加密,菜刀那套特征匹配的WAF规则直接失效。“哥斯拉”更狠,用自定义的加密协议,流量伪装成正常图片请求。这三个工具代表了大马的三个时代:明文传输、加密传输、流量伪装。

大马怎么进服务器的?路径就那么几条。文件上传漏洞是最常见的,上传点没做后缀白名单,传个.php上去就完事。编辑器漏洞也行,FCKeditor、UEditor这些老牌富文本编辑器都有过任意文件上传的洞。SQL注入写文件需要secure_file_priv没限制,条件苛刻但一旦成功就直接落地。还有服务器本身被拿下后手动投放的,这种最难防,因为攻击者已经有系统权限了。

检测大马,光靠杀毒软件不靠谱。大马的特征库更新永远慢半拍,稍微改改变量名、加个混淆就绕过去了。真正有效的手段是文件完整性监控。服务器上每个文件的哈希值存一份基线,定期比对,新增的PHP文件、被修改的PHP文件全部告警。再配合Web日志分析,找那些POST请求体特别大、或者请求参数名奇怪的访问记录。我见过一个大马把命令参数命名为_token,伪装成CSRF令牌,日志里不仔细看根本注意不到。

说个真实的案例。某次应急响应,客户说服务器CPU跑满。登上去一看,/tmp目录下有个.cache文件夹,里面藏着一个大马,文件名叫index.php,修改时间是三个月前。攻击者用它跑门罗币挖矿,xmrig进程改了名,叫kworker,伪装成内核线程。大马本身只负责管理,真正干活的是它释放的挖矿程序。这种组合拳现在很常见——大马做跳板,后续操作全在内存或临时目录里完成,磁盘上不留明显痕迹。

防御大马,根子还是在入口。上传功能严格校验文件类型,不信任客户端传来的Content-Type,用finfo读文件真实MIME。Web目录权限收紧,www-data用户只能读不能写,需要上传的目录单独挂载并禁用PHP解析。PHP配置里disable_functions把system、exec、passthru这些危险函数全禁掉。这些措施不能百分百挡住,但能把攻击成本抬高好几倍。攻击者也是要算账的,有那功夫不如换个软柿子捏。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap