红蓝对抗之蓝队面试题part 4

本文已参与「新人创作礼」活动,一起开启掘金创作之路

你能大概说一下,比如数据包或者日志,你的分析思路是什么,以及你会用到哪些工具或者那些网站进行查询?

用流量监测的安全设备,比如天眼,查看报文,分析报文里和 host 和网站目录路径,查看是否可疑,使用微步查询 host 是否为恶意,使用 wireshark 对数据包深度分析

看一下请求的网站路径,源 IP 与目的 IP 地址,host 字段的值以及发包内容等

工具有 wireshark,网站的话微步在线等威胁情报中心

文件上传和命令执行,有看过相关日志吗

文件:可能在系统有上传功能或者有文本编辑器,看一下是否有 base64 加密或者 url 加密,解码验证一下是否有恶意代码

系统日志:有没有 web 容器做了一些危险行为,比如 bash 反弹 shell 等

网络应用日志:有没有异常的网站文件,类似 webshell 等,就有可能是命令执行

windows日志分析工具

Log Parser、LogParser Lizard、Event Log Explorer

Linux日志分析技巧命令

  1. 定位有多少IP在爆破主机的root帐号:

    grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
    复制代码
  2. 定位有哪些IP在爆破:

    grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
    复制代码
  3. 爆破用户名字典是什么?

    grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print"$1\n";}'|uniq -c|sort -nr
    复制代码
  4. 登录成功的IP有哪些

    grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
    登录成功的日期、用户名、IP:
    grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
    复制代码
  5. 增加一个用户kali日志:

    Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
    Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001,
    home=/home/kali
    , shell=/bin/bash
    Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
    #grep "useradd" /var/log/secure
    复制代码
  6. 删除用户kali日志:

    Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
    Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
    Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
    # grep "userdel" /var/log/secure
    复制代码
  7. su切换用户:

    Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by
    root(uid=0)
    sudo授权执行:
    sudo -l
    Jul 10 00:43:09 localhost sudo: good : TTY=pts/4 ; PWD=/home/good ; USER=root ;
    COMMAND=/sbin/shutdown -r now
    复制代码

给你一个比较大的日志,应该如何分析

  • 攻击规则匹配,通过正则匹配日志中的攻击请求
  • 统计方法,统计请求出现次数,次数少于同类请求平均次数则为异常请求
  • 白名单模式,为正常请求建立白名单,不在名单范围内则为异常请求
  • HMM 模型,类似于白名单,不同点在于可对正常请求自动化建立模型,从而通过正常模型找出不匹配者则为异常请求
  • 借助日志分析工具,如 LogForensics 腾讯实验室 security.tencent.com/index.php/o…

Windows在应急响应中的安全日志以及对应场景

设备误报如何处理

(日志)

Windows和Linux的日志文件放在哪里

  • Windows 主要有以下三类日志记录系统事件:应用程序日志、系统日志和安全日志

    系统日志: %SystemRoot%\System32\Winevt\Logs\System.evtx

    应用程序日志:%SystemRoot%\System32\Winevt\Logs\Application.evtx

    安全日志:%SystemRoot%\System32\Winevt\Logs\Security.evtx

  • Linux

    日志默认存放位置:/var/log/
    查看日志配置情况:more /etc/rsyslog.conf

常见中间件的配置文件路径

  • apache:/etc/httpd/conf
  • nginx:/etc/nginx
  • iis7:C:\Windows\System32\inetsrv\config\

如何查看系统内存 shell

  • 文章汇总:link
  • 查杀内存马:link
  • php、python、java内存马分析:link

Java 内存马排查

www.freebuf.com/articles/we…

如果我们通过检测工具或者其他手段发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪分析,也是根据各类型的原理,列出一个排查思路。

如果是jsp注入,日志中排查可疑jsp的访问请求。

如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法

根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

如果是servlet或者spring的controller类型,根据上报的webshell的url查找日志(日志可能被关闭,不一定有),根据url最早访问时间确定被注入时间。

如果是filter或者listener类型,可能会有较多的404但是带有参数的请求,或者大量请求不同url但带有相同的参数,或者页面并不存在但返回200

如何修改WEB端口?如果不能修改端口还有什么利用方法?

修改 web 端口:修改中间件配置文件中的 web 服务端口即可

不能修改的话可以使用端口映射,使用 nginx 反向代理也可以

获得文件读取漏洞,通常会读哪些文件,Linux和windows都谈谈

通用

  • 找 Web 应用的配置文件,指不定有外联数据库
  • 找 Web 中间件的配置文件,指不定有 Tomcat 配置界面的用户密码
  • 找系统文件

linux

  • etc/passwd、etc/shadow直接读密码

  • /etc/hosts # 主机信息

  • /root/.bashrc # 环境变量

  • /root/.bash_history # 还有root外的其他用户

  • /root/.viminfo # vim 信息

  • /root/.ssh/id_rsa # 拿私钥直接ssh

  • /proc/xxxx/cmdline # 进程状态枚举 xxxx 可以为0000-9999 使用burpsuite

  • 数据库 config 文件

  • web 日志 access.log, error.log

  • ssh 日志

    /root/.ssh/id_rsa
    /root/.ssh/id_rsa.pub
    /root/.ssh/authorized_keys
    /etc/ssh/sshd_config
    /var/log/secure
    /etc/sysconfig/network-scripts/ifcfg-eth0
    /etc/syscomfig/network-scripts/ifcfg-eth1
    复制代码
  • /var/lib/php/sess_PHPSESSID # 非常规问题 session 文件( 参考 平安科技的一道session包含 www.jianshu.com/p/2c24ea345…)

windows

  • C:\boot.ini //查看系统版本
  • C:\Windows\System32\inetsrv\MetaBase.xml //IIS 配置文件
  • C:\Windows\repair\sam //存储系统初次安装的密码
  • C:\Program Files\mysql\my.ini //Mysql 配置
  • C:\Program Files\mysql\data\mysql\user.MY D //Mysql root
  • C:\Windows\php.ini //php 配置信息
  • C:\Windows\my.ini //Mysql 配置信息

如何分析被代理出来的数据流

分析数据包请求头中的 xff、referer 等收集有用的信息

基于网络欺骗与浏览器指纹的WEB攻击溯源

windows端口进程间转换

端口->进程

  1. netstat -ano | findstr “port”查看目前的网络连接,定位可疑的 ESTABLISHED
  2. 根据netstat 定位出的 pid,再通过tasklist命令进行进程定位 tasklist | findstr “PID”

image.png

查看进程对应的程序位置

任务管理器–选择对应进程–右键打开文件位置运行输入 wmic,cmd界面 输入 process

查看 Windows 服务所对应的端口

%system%/system32/drivers/etc/services(一般 %system% 就是 C:\Windows)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享