WEB应急
1、日志位置
apache服务器
| Windows: <Apache安装目录>logsaccess.log Linux: /usr/local/apache/logs/access_log 若不存在,参考Apache配置文件httpd.conf中相关配置 |
|---|
开启POST日志记录
找到httpd.conf文件
| #开启模块 LoadModule dumpio_module modules/mod_dumpio.so #开启Input output dump DumpIOInput On DumpIOOutput On #找到日志记录等级设置,修改 #DumpIOLogLevel DEBUG # apache 2.2 LogLevel dumpio:trace7 # apache 2.4 |
|---|
重启web服务即可,POST日志会记录在error.log里,找包含dumpio_in或dumpio_out。这个功能会记录全日志,包括返回日志内容,如果不记录返回日志就关闭out,对服务性能也有一定影响,斟酌是否开启吧。
tomcat服务器
日志文件通常位于Tomcat安装目录下的logs文件夹内,若不存在,则参考Tomcat配置文件Server.xml中的相关配置,如:
| <Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs” prefix=“localhost_access_log.” suffix=“.txt” pattern=“common” resolveHosts=“false”/> |
|---|
IIS服务器
默认位置:%systemroot%system32logfiles 可自由设置
默认日志命名方式:ex+年份的末两位数字+月份+日期+.log
nginx服务器
日志存储路径在Nginx配置文件中,其中:
access_log变量规定了日志存放路径与名字,以及日志格式名称,默认值”access_log”;
jboss
默认不做访问日志记录。
修改${JBOSS_HOME}/server/default/deploy/jbossweb.sar/server.xml(这个文件位置不同版本不一样,供参考)
有一段日志记录配置被注释掉,去掉注释即可,如下
| 1 2 3 4 |
<Valve className=“org.apache.catalina.valves.AccessLogValve” prefix=“localhost_access_log.” suffix=“.log” pattern=“common” directory=“${jboss.server.home.dir}/log” resolveHosts=“false” /> |
|---|
日志保存在${JBOSS_HOME}/server/default/log/下,前缀为localhost_access_log
关于配置文件
tomcat:server.xml会有服务器端口配置,日志配置等
apache:httpd.conf是apache主要配置文件,包括端口、模块启用、日志配置等。
nginx:nginx.conf是主要配置文件,会有端口、重写、代理等配置,也会有日志配置等。
IIS:web.config是主要配置文件,通过IIS界面修改的配置会保存到web.config里,包括重写等操作,日志配置一般不变,通过界面就可查看。
web应急思路
常遇到的web安全事件,如挂黑链,页面篡改,或者只是监测出webshell。
Webshell->IP/时间->IP所有日志->可能利用的漏洞
1、第一步我们需要找到现象发生的位置。
根据整个web应用数据流逻辑找对应风险点。
HOSTS文件:被篡改,访问正常域名,错误解析会跳转到非法网站。
网卡DNS配置:DNS配置被修改,指向恶意的DNS服务器也可造成错误解析。
终端发起DNS解析请求:局域网DNS劫持,也是跳转到非法网站。
域名服务商:在域名服务商那注册的账号泄露,导致域名对应IP被修改。
CDN服务器污染:CDN缓存未更新,还是缓存被挂黑链时的页面。
服务器端:服务器被篡改,也是遇到最多的情况,需要找到在服务器上被篡改的位置。
搜索引擎:快照污染,导致通过搜索引擎搜索时,快照里还缓存着黑链页面。

2、根据最常见的情况,服务器被篡改,找到篡改的文件后,确定文件被修改时间,如果是web页面文件,则可根据修改时间点以及文件名,搜索指定日志文件,找到访问记录。
3、根据访问记录,我们可以定位源IP(当然,这种情况是服务器前端没过云WAF或CDN,否则源IP非真实IP),最好是第一次访问的源ip和它的时间点,可靠度最高(因为攻击者上传webshell或者挂黑链后,很可能会访问一次该文件判断是否写入成功),如果无法定位源IP,则检查访问路径是否为敏感路径(如后台)。
4、根据源IP或敏感路径,过滤出相应访问日志,根据过滤后的日志,尝试分析整个攻击过程的操作,看是否有可疑漏洞触发点访问。
当无法根据以上定位时,可以多关注事件发生附近时间点的POST请求,无论是上传webshell还是黑链,绝大部分情况都是使用POST上传,可关注里面可疑路径的POST提交,比如upload.php。
D盾扫描linux
需要安装SSHFS在办公PC上。
1、先安装DokanSetup-1.0.5.1000,再安装WinSSHFS-1.6.1.13-devel,dokan不能使用最新的,得使用1.0.5版本,这个是和winsshfs版本配套的,不能任意选择。
2、根据情况提示可能需要安装VC环境Visual C++ Redistributable for Visual Studio 2015(x86)
3、运行winsshfs,以下红框位置是必填项。
drive name:一定要改,否则会报错。
directory:服务器对应的web目录
drive letter:挂载到本地的磁盘,盘符号选一个没使用的即可,勾选mount at login的话,每次运行winssh会自动挂载,酌情使用。

4、设置完一定要先点save保存,否则无法更新配置,然后在点mount,这样在你本地就可以看到服务器的目录了。
5、使用D盾扫描挂载到本地的磁盘即可,
黑链现象
1、在html页面里直接插入永久性超链接

2、XSS链接,使用网站XSS漏洞,跟上黑链代码,访问完整链接即会访问黑链。

3、根据referer跳转,判断referer是否为搜索引擎访问过来的,如果是则跳转到黑链页面。

4、驱动隐藏
查看服务器发现C盘windows目录下是否存在如下文件
c:WINDOWSxlkfs.dat
c:WINDOWSxlkfs.dll
c:WINDOWSxlkfs.ini
c:WINDOWSsystem32driversxlkfs.sys
该驱动可隐藏指定路径,找到驱动后停止删除即可显示路径。
sc stop xlkfs
sc delete xlkfs
5、IIS重写
在web.config配置文件里设置rewrite策略,该策略可实现,当你访问某个URI关键词时,服务端会代理转发到黑链域名。


6、nginx重写
实现和IIS rewrite相同的效果。

应急工具
webshell查杀
1、D盾(http://www.d99net.net/)(windows)
2、WebShell.PUB(http://www.shellpub.com/)(windows+linux)
黑链检测网站
1、站长工具-被黑检测(http://s.tool.chinaz.com/tools/webcheck.aspx)
2、站长工具-友情外链(http://link.chinaz.com)