取证

免责声明

本人撰写的手册,仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关.

大纲

操作系统取证

Android

win

工具

windows 日志

DNS

动作记录

key

蓝牙

工具

无线

工具

Linux

文件-软件取证

exif

工具

ExifTool - 用于读取,写入和编辑各种文件中的 exif 信息的工具

浏览器取证

工具

obsidianforensics/hindsight - chrome历史访问记录取证工具(真是不给人留条活路)

djhohnstein/SharpChromium - 用于从 Chromium 系列浏览器中获取 Cookie、访问历史、网站登录凭据等敏感信息的工具

WEB取证

文章

中间件配置

临时目录

IIS

IIS 临时压缩文件 : C:\inetpub\temp\IIS Temporary Compressed Files\WEBUI$^_gzip_D^\WEB\WEBUI\UPLOAD

Linux

/tmp

IIS

C:\Windows\System32\inetsrv\config

NGINX

目录 : /etc/nginx/conf.d/

httpd

目录 : /etc/httpd/conf/

中间件服务器程序日志

辅助工具

JeffXue/web-log-parser - 开源的分析 web 日志工具,采用 python 语言开发,具有灵活的日志格式配置。

IIS

C:\WINDOWS\system32\LogFiles : 日志内容包括访问域名时间、ip、访问 url 等信息。

httpd

/etc/httpd/logs/

apache

apache 日志一般分为 access_log 和 error_log 两种,通过查看 httpd.conf 文件查看 apache 日志路径:

grep -i "CustomLog" /etc/httpd/conf/httpd.conf

grep -i "ErrorLog" /etc/httpd/conf/httpd.conf

Linux : /usr/local/apache/logs/

Linux : /var/log/apache2

Windows : apache/logs/

access_log : 访问日志,记录所有对 apache 服务器进行请求的访问

error_log : 错误日志,记录下任何错误的处理请求,通常服务器出现什么错误,可对该日志进行查看

nginx

nginx 的日志主要分为 access.log、error.log 两种,可通过查看 nginx.conf 文件来查找相关日志路径

/var/log/nginx/access.log : 主要记录访问日志,记录访问客户端 ip 地址、访问时间、访问页面等信息。

/var/log/nginx/error.log : 主要记录一些错误信息。

tomcat

tomcat 日志默认路径:在安装目录下的 logs 文件夹下

如果在安装中默认修改了日志存储位置,可在 conf/logging.properties 文件中查看

catalina.out : 运行中的日志,主要记录运行中产生的一些信息,尤其是一些异常错误日志信息

catalina.Y-M-D.log : 是 tomcat 自己运行的一些日志,这些日志还会输出到 catalina.out,但是应用向 console 输出的日志不会输出到 catalina.{yyyy-MM-dd}.log

host-manager.xx.log : 管理日志

localhost.xx.log : 程序异常没有被捕获的时候抛出的地方,Tomcat 下内部代码丢出的日志(jsp 页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service 类丢出的,日志信息就在该文件!)应用初始化(listener,filter, servlet)未处理的异常最后被 tomcat 捕获而输出的日志,而这些未处理异常最终会导致应用无法启动。

manager.xx.log

localhost_access_log : 主要记录访问日志信息,记录访问的的时间、ip 地址等信息,也是应急中经常用到的日志信息

weblogic

weblogic 在安装结束后默认开启了日志记录功能,默认配置情况下,weblogic 会有3种日志,分别是 accesslog, Server log 和 domain log,WebLogic8.x 和 9 及以后的版本目录结构有所不同。

domain_name/servers/server_name/logs/

$MW_HOME 是 WebLogic 的安装目录

是域的实际名称,是在创建域的时候指定的

是 Server 的实际名称,是在创建 Server 的时候指定的

是 Admin Server 的实际名称,是在创建 Admin Server 的时候指定的。

WebLogic 9及以后版本:

domain log : 主要记录了一个 domain 的运行情况,一个 domain 中的各个 weblogic server 可以把它们的一些信息(如:严重错误)发送到 AdminServer 上,AdminServer 把这些信息传递到 domain.log 上.

$MW_HOME\user_projects\domains\\servers\\logs\.log

server log : 主要用于服务器的一般日志记录,比如 weblogic 的启动、关闭、部署应用等相关记录,日志格式:依次为时间戳,严重程度,子系统,计算机名,服务器名,线程 ID.

$MW_HOME\user_projects\domains\\servers\\logs\.log

access log : 主要记录 http 请求,默认情况下日志记录处于启用状态,服务器将 http 请求保存在单独的日志文件中,日志主要记录了 http 请求请求 ip 地址、请求时间、访问页面、响应状态等信息.

$MW_HOME\user_projects\domains\\servers\\logs\access.log

WebLogic 8.x版本:

access log

$MW_HOME\user_projects\domains\\\access.log

server log

$MW_HOME\user_projects\domains\\\.log

domain log

$MW_HOME\user_projects\domains\\.log

jboss

LOG4J 配置默认 Deploy/conf/ 如 jboss/server/default/conf/jboss-log4j.xml

网络取证

工具

数据库取证

misc

mysql\lib\plugin 目录的异常文件

select * from mysql.func 的异常

mssql 检查 xp_cmdshell 等存储过程

异常数据库登录

数据库用户弱口令

注意 mysqld 配置文件

mysql

mysql 日志

错误日志:默认开启,hostname.err

查询日志:记录用户的所有操作。默认关闭,general_log_file(常见 getshell 手法)

慢查询日志:记录执行时间超过指定时间的查询语句,slow_query_log_file(慢查询 getshell)

事务日志:ib_logfile0

二进制日志:记录修改数据或有可能引起数据改变的 mysql 语句,log_bin,默认在数据目录,如 mysql-bin.000001

ErrorLog : 记录 Mysql 运行过程中的 Error、Warning、Note 等信息,系统出错或者某条记录出问题可以查看 Error 日志;

GenaralQuery Log :记录 mysql 的日常日志,包括查询、修改、更新等的每条 sql;

show variables like '%general%'; -- 查看log配置信息

SET GLOBAL general_log = 'On'; -- 开启日志

SET GLOBAL general_log_file = '/var/lib/mysql/mysql.log'; -- 指定日志文件路径

Binary Log :二进制日志,包含一些事件,这些事件描述了数据库的改动,如建表、数据改动等,主要用于备份恢复、回滚操作等;

Slow QueryLog* :记录 Mysql 慢查询的日志;

mysql 相关命令

status;

show global variables like '%log%';

show global variables like '%gene%';

show master status;

systemmore /mydata/data/stu18_slow.log;

showbinary logs;

showmaster logs;

showbinlog events in 'mysql-bin.000011';

show processlist;

有哪些IP在爆破?

grep "Access denied" mysql.log |cut -d "'" -f4|uniq -c|sort -nr

爆破用户名字典都有哪些?

grep "Access denied" mysql.log |cut -d "'" -f2|uniq -c|sort -nr

mssql

mssql 日志

SQL Server 日志记录了完整的 SQL Server 数据库运行的状态信息,并以消息的形式记录系统级、应用级操作。

可以使用 SQL Server Management Studio 中的日志文件查看器来访问有关在以下日志中捕获的错误和事件的信息:

SQL Server Management Studio 连接 sqlserver 数据库,查看与常规 SQL Server 活动相关的日志。

登录到 SQL Server Management Studio,依次点击 管理--SQL Server 日志

exec xp_readerrorlog

object Explorer-Management-SQL Server logs-view-logs

SQL Server 2008: R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG

查询最近一次启动 sqlserver 时间:

select sqlserver_start_time fromsys.dm_os_sys_info;

历史 sql 记录查询:SQLServer 并没有这样的实现,只有 sys.dm_exec_query_stats 缓存了一部分 (sql server 服务开启后执行的语句,某些不被缓存执行计划的语句并不记录)。

xp_cmdshell在mssql2005之后的版本中是默认禁止的,查看xp_cmdshell是否被启用。

Exec master.dbo.xp_cmdshell 'whoami'

Oracle

Oracle 日志

查看日志 : SQL> show parameter dump

查看 v$diag_info 系统视图 : SQL> select * from v$diag_info;

查询 bdump 参数,来找到 alert 日志位置 : show parameter background_dump_dest

Oracle 日志文件分为两种:重做日志文件(redo log file)、归档日志文件,其中重做日志文件主要记录了数据库的操作过程,可以在进行数据库恢复时,将重做日志文件在还原的数据库上进行执行,以达到数据库的最新状态。

Oracle 数据库默认只是对数据库的登录情况记录,但是不对数据库的查询记录统计,可通过 show parameter audit,查看审计功能是否开启,若 audit_sys_operations 值为 DB。

开启审计功能

alter system set audit_sys_operations=TRUEscope=spfile;

alter system set audit_trail=db,extendedscope=spfile;

重启实例即可,开启后会把审计内容记录到 sys 库的 AUD$ 表中

mysql数据库取证_1earn/取证.md at master · doanhnhq-uit/1earn · GitHub相关推荐

  1. 【数据库取证篇】阿里云RDS MySQL数据库在线取证教程

    [数据库取证篇]阿里云RDS MySQL数据库在线取证教程 在线取证或备份数据-[蘇小沐] 文章目录 [数据库取证篇]阿里云RDS MySQL数据库在线取证教程 1.实验环境 一.RDS登录方式 (一 ...

  2. mysql讲事物写到数据库_CookBook/1-MySQL数据库读写锁示例详解、事务隔离级别示例详解.md at master · Byron4j/CookBook · GitHub...

    MySQL数据库读写锁示例详解.事务隔离级别示例详解 锁 性能分:乐观(比如使用version字段比对,无需等待).悲观(需要等待其他事务) 乐观锁,如它的名字那样,总是认为别人不会去修改,只有在提交 ...

  3. mysql不同版本会覆盖吗,[mysql不同版本数据库同步]mysql数据库主从同步,master和slave上的mysql必须版本一样吗,如果不一样会有什么结果?...

    在线QQ客服:1922638 专业的SQL Server.MySQL数据库同步软件 497950890 Slave_SQL_Running: No mysql同步故障解决 如果数据不同步可以尝试该资料 ...

  4. mysql 刷新二进制日志_使用binlog日志恢复MySQL数据库删除数据的方法

    binlog日志简介: binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间. b ...

  5. B站《一天学会 MySQL 数据库》学习笔记

    B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 ​关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...

  6. 教程,使用YCSB测试MYSQL数据库,获取千万条测试后的数据

    Yahoo! Cloud Serving Benchmark (YCSB)是一个数据库特别是nosql数据库性能测试的benchmark.在GitHub中有3.9千个star和1.9千个forks.本 ...

  7. go mysql slave_【Golang+mysql】记一次mysql数据库迁移(一)

    # [记一次mysql数据库迁移(一)](https://github.com/stayfoo/stayfoo-hub/blob/master/docs/mysql/blog/%E8%AE%B0%E4 ...

  8. git迁移MySQL数据库_Centos7下Gitlab迁移数据库mysql过程

    [root@test ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@test ~]# uname -r ...

  9. MySQL数据库(九) 集群 Cluster 和性能优化

    文章目录 6 MySQL 集群 Cluster 6.1 MySQL主从复制 6.1.1 主从复制架构和原理 6.1.2 实现主从复制配置 6.1.3 主从复制相关 6.1.4 实现级联复制 6.1.5 ...

最新文章

  1. maven超级pom内容
  2. linux内核中链表代码分析---list.h头文件分析(二)【转】
  3. linux 安装反病毒软件
  4. mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
  5. 一发工资就全部取出,会对银行流水有影响吗?
  6. Servlet容器:Jetty和tomcat的比较
  7. 低版本 android 软件下载,纳米盒旧版本下载-纳米盒旧版下载4.1安卓版-西西软件下载...
  8. Camera 数据通路
  9. Cisco Packet Tracer 思科模拟器中路由器的DHCP配置
  10. 计算机答辩ppt结论,论文总结与致谢ppt_ppt结束致谢_答辩ppt致谢
  11. 奥克兰大学计算机专业世界排名,奥克兰大学,15学科排名世界前50!
  12. android 发送UDP广播,搜寻服务器建立socket链接
  13. 海洋测绘 知识点 详细
  14. html网页早发白帝城,早发白帝城古诗
  15. 当前时间距离某个时间的天数计算_Excel如何计算当前距离某一天的时间?,原来是这样的...
  16. 记录使用element-ui中el-upload的坑
  17. 给生命一段独处的时光
  18. 扫地机器人石头爬坡_已经入手吐槽扫地机器人地宝石头t7和t7pro区别是什么?哪个好?内幕分析爆料...
  19. 概率分析方法与推断统计(来自我写的python书)
  20. emmagee工具怎么玩转app压力测试监控

热门文章

  1. 使用Eclipse安装CloudSim
  2. b站视频自动上传软件,soga
  3. 三星Galaxy S6国行配备高通最强芯片 将推曲屏版
  4. 【Codecs系列】芯片PPA问题
  5. Hive/Spark SQL使用案例
  6. IRF3808STRRPBF N 通道 75 V 106A MOS 管
  7. 揭秘-Android刷量有多容易
  8. 使用Excel2010条码控件碰到的问题及解决办法
  9. 电机磁电热多场耦合 matlab,Motor-CAD 基于多物理场的快速电机设计专家_其他专业仿真_工业仿真_产品体系_安世亚太...
  10. 致敬!阿里云的数据库侠客!