必须知识点
1.第三方应用由于是选择性安装,如何做好信息收集和漏洞探针也是获取攻击者思路的重要操作,除去本身漏洞外,提前预知或口令相关攻击也要进行筛选
2.排除三方应用攻击行为,自查漏洞分析攻击者思路,人工配合工具脚本
3.由于工具或脚本更新迭代快,分类复杂,打造自己的工具箱迫在眉睫
服务器上面会根据需要选择安装自己的应用,有时候第三方应用也会成为攻击面,我们需要做攻击溯源的话,服务器上面装有那些应用,第二步探针一下有没有第三方应用,不仅要收集到那些应用,对这些漏洞进行应用探测,这样子是可以用来获取攻击者思路的,就是探针到应用上面是有漏洞的,思路就可以集中在应用上面进行分析
经常保证工具的使用,保证最新最全的相关工具的使用,这样子可以保证分析的时候更加快捷,所以工具和脚本,他的分类比较复杂,有的是做数据库日志的,有的是系统日志的,有的是中间件日志分析,各种各样的工具脚本,来分析这些特定的东西,不可能说有一个工具能够全部分析到,那只是说综合性工具比较少,都是一些搜索类的检索工具,像elk,spualk这种平台,对各种日志分析到,但是他不提供自动化的分析功能,他只能够帮你快捷的对各种日志进行清晰的探针
演示案例:
系统日志-Win日志自动神器LogonTracer-外网内网日志
#案例1-Win日志自动神器LogonTracer-外网内网
如何安装使用:https://github.com/JPCERTCC/LogonTracer/wiki/
linux安装使用笔记:阿里云主机记得开放端口及关闭防火墙
1.下载并解压neo4j: tar -zvxf neo4j-community-4.2.1-unix.tar
2.安装java11环境: sudo yum install java-11-openjdk -y
3.修改neo4j配置保证外部访问:
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.listen_address=0.0.0.0:7474
./bin/neo4j console &
4.下载LogonTracer并安装库:
git clone https://github.com/JPCERTCC/LogonTracer.git
pip3 install -r requirements.txt
5.启动LogonTracer并导入日志文件分析
python3 logontracer.py -r -o [PORT] -u [USERNAME] -P [PASSWORD] -s [IP地址]
python3 logontracer.py -r -o 8080 -u neo4j -p xiaodi -s 47.98.99.126
python3 logontracer.py -e [EVTX文件] -z [时区] -u [用户名] -p [密码] -s [IP地址]
python3 logontracer.py -e Security.evtx -z -13 -u neo4j -p xiaodi -s 127.0.0.1
6.刷新访问LogonTracer-web_gui查看分析结果
Windows安装可能要借助docker技术
应用分析-数据库Mysql&Mssql&Oracle等分析-爆破注入操作
常见的数据库攻击包括弱口令、SQL注入、提升权限、窃取备份等。对数据库日志进行分析,可以发现攻击行为,进一步还原攻击场景及追溯攻击源。
Mysql:启用,记录,分析 (分析SQL注入及口令登录爆破等)
show variables like ‘%general%’;
SET GLOBAL general_log = ‘On’;
SET GLOBAL general_log_file = ‘/var/lib/mysql/mysql.log’;
Mssql: 查看,跟踪,分析(配置跟踪可分析操作,查看日志可分析登录等)
很多攻击者都有个目的,就是修改数据库,比如像一些网站上面,涉及到虚拟金币或者游戏资料,游戏虚拟身份数据的时候,他可以实现通过操作数据库将游戏的角色,或者一些信息进行修改,这样子会达到一些经济利益目的,这个数据库是个非常重要的日志审计的一个过程,所以我们第三方应用是要优先讲到他的,不仅是攻击的方便,很多一些攻击是为了实现这个目的而采取一些攻击
黑客盗取什么平台的多少数据,一般很大情况下就是修改数据,修改个人虚拟金币数,实现对等价值的替换
因为数据库是记录个人数据的,所以分析他是能够检查弱口令攻击,有没有进行sql攻击,有没有对数据库进行提权,同样的看到攻击者有没有对数据进行操作,通过数据进行操作就很要命了,相当于是把你以前的正常操作进行了一些干扰,
我们拿sqlserver来做演示,其它操作都是大同小异,都是可以举一反三的,无非就是日志上面可能储存路径,就是安全设置有一些小差异,基本上你能够网上找些资料
mysql是小中型数据库,用的也是比较多的,一般在大型网站里面多半会采用sql server、oracle和其它数据库,mysql就是小中型网站,所以分析的时候就是根据应用进行判断
密码简单就是弱口令,密码复杂就不是弱口令
不同的数据库之间是数据库的储存日志不一样,打开方式不一样,但是那些资料网上都能找,我们不可能说把每个数据库都给大家讲到,因为思路交给你,你只要去网上找些资料,每个日志怎么查看就可以了
模拟测试-自查漏洞模拟渗透测试寻找攻击源头-漏洞口令检索
1.日志被删除或没价值信息
2.没有思路进行分析可以采用模拟渗透
通过常规的一些东西,你分析不到规则,他把日志可能删除了也可能说日志里面没有详细的东西,分析不到或者说服务器上面没有管理员记录到日志,我们讲这个案例就是为了告诉大家,把这些信息都排除了,你可以采取自查漏洞,我们可以分为两个方面
1.windows,linux系统漏洞自查:
WindowsVulnScan,linux-exploit-suggester
D:\Myproject\venv\Scripts\python.exe cve-check.py -C -f KB.json
./linux-exploit-suggester.sh
2.windows,linux服务漏洞自查:
windows: Get-Wmiobject -class win32_Product
linux: LinEnum.sh
searchsploit weblogic
利用前期信息收集配合searchsploit进行应用服务协议等漏洞检索
3.windows,linux协议弱口令自查-工具探针或人工获取判断-snetcraker
自查漏洞就是模拟渗透,就是你在常规的日志和常规的一些数据库,各种各样的日志,中间件的日志,apache日志,tomcat日志等等,像这些日志里面没有分析到什么攻击行为,因为有些攻击者有时候可能会做一些事情,就是把日志删除,当他取得系统权限的时候,就有权去删除这些日志文件,一种是找专业恢复团队,像美亚就有一个部门专门搞这种数据恢复的,你可以找他把日志文件恢复出来
你没有去找数据恢复日志文件,那么只能去分析,有没有在其它地方遗留攻击文件,就是我们模拟去猜一下攻击者,可能怎么会去攻击到你,就是在修复漏洞,因为日志文件一旦缺失的话,就无法知道这个攻击者是怎么一步步来的,他一旦把日志清除的比较干净,你就只能去分析他有没有在其它地方遗留日志文件,你就只能去猜一下攻击者,可能怎么会去攻击到你,就是在修复漏洞,因为日志文件一旦缺失的话,就无法知道攻击者是怎么一步步来的,他一旦把日志清楚的比较干净,就是模拟站在攻击者的角度,模拟渗透,有两种形式,第一种形式就是根据这个服务器上面所存在的漏洞,进行渗透,因为攻击者在攻击的时候是黑盒,你做分析的话是个白盒,服务器你是能够操作的,所以你就能够很好的去分析上面有那些漏洞,有那些应用,很方便的去得到,你就站在攻击者的角度去分析,就这么个意思,就是能恢复日志的话,最好,或者说日志里面找不到可用信息的时候,这个模拟是有必要执行的
专业要求-自动化ir-rescue应急响应取证工具箱-实时为您提供服务
https://github.com/diogo-fernan/ir-rescue
分析脚本工具原理,尝试自己进行编写修改,成为自己的工具箱杀器
自己在服务器上构造一个下载地址,或者找个官方网站的下载地址,时常去更新下载,你在第一时间到达案发现场的时候,就可以掏出这个工具直接上去弄了
日志恢复,看你技术,一般是可以恢复出来的,因为现在搞这种日志恢复的公司,都比较专业,基本上很难说恢复不出来,只要花钱就能恢复出来,你自己搞的话,不现实
网站上有文件恢复助手,日志恢复助手,因为日志文件会经常保存到网站下面,他其实就是等同于删除那个文件,像360就有恢复以前误删的文件,有那些工具可以尝试
还有一种思路,就是不要日志,自己去分析,但那一种就比较复杂一点
蓝队技术完整的,elk、spulk、监控流量
应急响应属于蓝队技术的一种,蓝队技术在应急响应上面要偏向于修复漏洞和找到追踪者