0%

应急响应

最近闲下来啦,可以想学什么学什么了,可能近期会频繁更blog,涉及各个不同的方向(我要多开!)。这篇学习一下应急响应相关的知识,感觉挺有趣的~

WebShell

大概就是可以通过Web交互的shell吧?将WebShell放入网站服务器的Web目录后,就可以利用工具连接shell,获取到目标服务器的命令执行环境。
常见的WebShell形式有PHP,ASP,JSP,ASPX,JSPX等
最熟悉的也就是PHP的一句话木马:

1
<?php @eval($_POST['pwd']);?>

如果是入侵者想利用WebShell控制服务器,得有几个前提:

  • WebShell被成功放入服务器的Web目录,且攻击者知道WebShell的具体位置并能访问。
  • WebShell能被正常解析
  • WebShell没有被清除

    如何发现WebShell

    我的认知理解就是,既然WebShell常见的有PHP等类型,那首先我们可以通过寻找这些文件来排查,看看有没有命名可疑的相关文件,或者最近有过修改的文件:
    1
    find /var/www/html --name '*.jsp'
    其次就是根据WebShell的一些常见特征去寻找,比如说危险函数eval(),或者是对文件,网络进行操作的函数,还有进行编码的。
  • PHP: eval(), system(), exec(), shell_exec(), passthru(), assert(), fopen(),fwrite(),file_get_contents(),base64_decode(), file_put_contents(),curl_exec(),fsockopen()
  • ASP: Execute(), Eval(), CreateObject(),FileSystemObject,WinHttp.WinHttpRequest
  • JSP: Runtime.getRuntime().exec()
    如果是WebShell做了混淆,认不出来,该怎么办?
    可以先看看有无可以的进程在运行,或者可以根据WebShell特有的HTTP请求/响应去识别是否为WebShell。还可以根据网站的Web日志来分析可疑的连接。
    还可以用D盾等工具进行排查。

持续更新中…