freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

WebShell入侵溯源跟踪TIPS
2018-10-31 08:55:00

前言

WebShell是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门。本篇文章是以作者经验总结,从多个角度阐述挖掘多种不同层次的 WebShell、 溯源黑客(攻击者)如何一步一步在服务器植入 WebShell、最后如何通过网络跟踪技术定位到黑客(攻击者)IP、社交账户、系统环境、兴趣爱好、好友信息等信息。

注:通过网络跟踪技术可以获取到黑客的一些基本信息如:IP、社交账户、系统环境、兴趣爱好、好友信息、键盘记录、甚至可以与黑客直接交流、获取黑客样貌等信息,但不是绝对可以获取以上信息,如果黑客(攻击者)反跟踪意识较强很有可能无功而返!

第一步:定位WebShell文件路径

1、通过关键查找如:eval、system、assert、phpspy、c99sh、milw0rm、gunerpress、shell_exec、passthru、bash等等!

代码示例

find /www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode'

# 命令解释:
# find 是linux一个文件搜索工具
# /www/ 为项目目录
# -name 是指定搜索文件名如 "*.php" 意思就是以php结尾的文件
# | xargs egrep linux下的管道符意为搜索文件是否存在以上关键词

2、对于加密的webshell,就很难通过关键词搜索到,对于此类 webshell 可以通过目前比较好的 webshell 扫描工具如:河马webshellWebShellkiller3.3 等。

3、webshell + 代码混淆加密 + 隐写术,此类木马几乎可以绕过所有 websehll 扫描工具,搜索或者扫描难易发现。针对此类木马可以使用逆向思维, 既然是 WebSehll ,那么攻击者肯定要通过访问该木马才能使用木马的功能,那么只要访问肯定会留下痕迹,无论是 Apache、Nginx 都会保存请求日志, 通过分析请求日志便可定位 WebSehll!

注: 通过日志定位 WebShell 时有一下几点需要注意:web项目文件被修改时间、数据被篡改时间等,知道大概时间可以缩小日志分析范围,方便快速定位到木马文件路径;

代码示例

shellcat /var/log/nginx/www.exploit-db.today.access.log | grep 'HTTP/1.1" 200'| grep 'POST'

示例截图

WebShell 过滤截图

WebShell页面截图

WebShell 过滤截图

注:截图域名为测试展示使用,如有雷同纯属巧合!

第二步:记录备份 WebShell 文件及文件属性

无论是那种方法定位到 WebShell ,均需要记录保存 WebShell 的上传时间、文件所属用户 (一般情况是 Apache/Nginx),备份 WebShell 文件等!

代码示例

stat .bootstrap.php

# 注释
# stat  linux获取文件属性工具
# .bootstrap.php  WebShell 文件

示例截图

webshell文件属性.png

注:如果是做要为司法证据使用,需要对服务器做镜像(采用位对位只读设备,镜像格式如E01、DD等),所有操作需要在副本镜像上操作。

第三步:根据需求编写部署跟踪代码

WebShell 跟踪技术较多本次是通过 js 脚本远程获取黑客(攻击者)基本信息,在定位到 WebShell 后,打开 WebShell 源代码加入写好的 js 脚本,为确保脚本是否有效需要是自己先测试一下,看看是否可以获取浏览者信息,确认无误根据之前记录的 WebShell 文件属性,恢复文件修改时间为写入时间!

js跟踪代码测试效果

ycjt.png

注:具体 js 脚本可根据自己的需求编写,或者根据网上的开源脚本自行扩展,开源工具如 BeeF 、或其他开源工具等!

第四步: 定位可利用漏洞文件

通过前面的分析获取到访问 WebShell 的IP,通过该IP检索 Apache / Nginx 前后三个月的日志文件,过滤出该IP都访问过那些文件,发送请求什么参数了,请求时间等,根据请求日志分析出具体存在漏洞的文件,并提交到研发部修该漏洞!

# webshell查找 # webshell检测 # webshell跟踪 # webshell溯源 # WebShell 入侵溯源跟踪
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者