数据来源
必须知识点:
- 第三方应用由于是选择性安装,如何做好信息收集和漏洞探针也是获取攻击者思路的重要操作, 除去本身漏洞外,提前预知或口令相关攻击也要进行筛选。
- 排除三方应用攻击行为,自查漏洞分析攻击者思路,人工配合工具脚本
- 由于工具或脚本更新迭代快,分类复杂,打造自己的工具箱迫在眉睫
演示案例:
- 系统日志-Win 日志自动神器 LogonTracer-外网内网日志
- 应用分析-数据库 Mysql&Mssql&Oracle 等分析-爆破注入操作
- 模拟测试-自查漏洞模拟渗透测试寻找攻击源头-漏洞口令检索
- 专业要求-自动化 ir-rescue 应急响应取证工具箱-实时为您提供服务
案例 1-Win 日志自动神器 LogonTracer-外网内网
github上的项目地址:https://github.com/JPCERTCC/LogonTracer/wiki/
linux 安装使用笔记:阿里云主机记得开放端口及关闭防火墙
安装教程,我这里是在Ubuntu18.04.6虚拟机中安装:(参考)
1)下载并解压neo4j
官网:Neo4j下载中心 - Neo4j图形数据平台
下载链接:https://dist.neo4j.org/neo4j-community-4.4.19-unix.tar.gz
# 解压neo4j
tar -zvxf neo4j-community-4.4.19-unix.tar.gz
2)安装java11环境
sudo apt-get install openjdk-11-jdk
3)修改 neo4j 配置(conf/neo4j.conf)保证外部访问(如果是服务器部署要开启端口)
要先获取文件权限:
chmod -R 777 neo4j-community-4.4.19
cd neo4j-community-4.4.19
gedit conf/neo4j.conf
dbms.connector.bolt.listen_address=0.0.0.0:7687
dbms.connector.http.listen_address=0.0.0.0:7474
4)开启neo4j
./bin/neo4j console &
5)浏览器访问(默认账户密码都是:Neo4j):
(54条消息) neo4j修改用户密码_neo4j修改密码_码大哈的园子的博客-CSDN博客
# 第一次连接后需要重置账户和密码
本机ip:7474
6)下载并安装LogonTracer
# 把项目拉下来
git clone https://github.com/JPCERTCC/LogonTracer.git
# 安装
chmod -R 777 LogonTracer
cd LogonTracer
# 如果pip没安装:apt install python3-pip
pip3 install -r requirements.txt
我这里安装出现报错
运行下面的命令,然后再次安装
pip3 install --upgrade pip
7)启动LogonTracer,并尝试在浏览器访问LogonTracer
python3 logontracer.py -r -o [端口] -u [用户名] -p [密码] -s [IP 地址]
例:python3 logontracer.py -r -o 8080 -u neo4j -p root -s 192.168.1.48
也可以通过命令来上传文件
python3 logontracer.py -e [EVTX 文件] -z [时区] -u [用户名] -p [密码] -s [IP 地址]
8)我尝试上传日志文件控制台报错,解决:(参考)
解决:
在项目的根目录打开终端
gedit templates/index.html
找到
https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
将该网址的改为
https://ajax.loli.net/ajax/libs/jquery/3.2.1/jquery.min.js
再修改系统的hosts文件
gedit /etc/hosts
改完之后要重启一下LogonTracer项目
再次访问LogonTracer界面,再次尝试上传日志文件
默认的系统日志文件路径:%SystemRoot%\System32\Winevt\Logs\System.evtx
注意:我这里选择文件是提示说要管理员权限查看查看日志文件,无法选择文件,我的解决方法是件系统的日志文件复制到桌面在从桌面上选择
然后要刷新一下网页
此工具根据我们之前的研究可视化与 Windows 登录相关的以下事件 ID。
- 4624:成功登录
- 4625:登录失败
- 4768:Kerberos 身份验证(TGT 请求)
- 4769:Kerberos 服务票证(ST 请求)
- 4776:NTLM 身份验证
- 4672:分配特殊权限
事件类型
- All Users:查看所有用户的登录信息
- SYSTEM Privileges:查看管理员账号的登录信息(一般登录类型3或10)
- NTLM Remote Logon:查看NTLM远程登录信息(登录类型3)
- RDP Logon:查看RDP远程桌面登录信息(登录类型10)
- Network Logon:查看网络登录信息(登录类型3)
- Batch Logon:查看批处理登录信息(登录类型4)
- Service Logon:查看服务登录信息(登录类型5)
- Ms14-068 Exploit Failure:MS14-068漏洞利用失败信息
- Logon Failure:查看登录失败信息
- Detect DCsync/DCShadow:查看删除 DCsync/DCShadow信息
- Add/Detect Users:查看添加/删除用户信息
- Domain Check:域检查信息
- Audit Policy Change:查看审计策略变更信息
对于每个节点,链接到主机(绿点)并带有一行账户信息(红/蓝)表示已使用主机登陆。
红色:SYSTEM权限帐户
蓝色:标准用户帐户
绿色:主机/ IP地址
windows查看系统日志文件路径
9)我的真实机都没开启过远程桌面连接看不出啥,再开台虚拟机攻击看看
我这里在真实机中使用弱口令工具进行攻击
我这里将虚拟机的系统日志文件复制到真实机进行分析(注意:需要件日志文件复制到虚拟机的桌面或其他位置才能复制到真实机)
其他功能自己玩一下就知道了(感觉这个工具也不是很好用,安装麻烦,很多功能都显示搜索失败不知道是我安装有问题还是操作有问题)
搜了一下百度发现有位大佬推荐f8x来自动化安装渗透测试环境,我们也试下:
工具的中文介绍:linux 红/蓝队环境自动化部署---f8x - 码农教程 (manongjc.com)
1)打开f8x在github上的项地址并安装:
GitHub - fffffff0x/f8x: 红/蓝队环境自动化部署工具 |红/蓝团队环境自动化部署工具
我这里再开一台虚拟机实验
wget : wget -O f8x https://f8x.io/
curl : curl -o f8x https://f8x.io/
用法
bash f8x -h
2)使用f8x安装LogonTracer
bash f8x -lt
耐心等待安装
硬件配置要求很高,我电脑卡死了不搞了,如果配置达标应该是可以安装成功的(安装成功的朋友可以给我留言)
案例 2-数据库 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';
演示Mysql:(这里使用PhpStudy2018做演示)
1)首先打开Mysql的命令行
show variables like '%general%';
SET GLOBAL general_log = 'On';
打开日志文件的根目录并找到日志文件
2)对网站进行sql注入,然后在查看日志文件
我这里把sqlilabs靶场作为目标进行sql注入,安装教程:《SQL注入—Sqli-labs注入环境搭建》
测试是否安装成功:
# 这里要改成自己的访问端口,默认:80
http://127.0.0.1:8088/sqlilabs/Less-2/?id=1
进行sql注入,在url参数后面加上:and 1=1
查看日志,这里就能发现sql注入的记录了
3)使用工具进行弱口令攻击再查看日志
这里使用弱口令工具进行攻击
然后查看日志
演示Mssql:查看,跟踪,分析(配置跟踪可分析操作,查看日志可分析登录等)
这个数据库工具是我前几年安装的,我当时没有记录安装过程,这个可以在网上搜索的到,需要安装的可以自行搜索教程
1)查看日志
2)可以开启数据库的跟踪功能
开启后我们就可以去看看
3)执行sql语句然后查看跟踪情况请
随便写一个查询语句
SELECT * FROM users WHERE username='张三'
然后查看我们的数据跟踪情况
如果是真实环境中数据库是由后端开发人员进行调用,黑客的sql注入是在前端的页面中完成,前端的页面调用了后端开发人员写的接口,所以我们就能在网站上对数据库进行sql注入,因为我这里没有合适的项目部署所以就用数据库软件自带的查询创建进行sql语句的执行,效果都是一样的在网站中调用执行的sql语句一样能被跟踪到。
Oracle 这个数据库软件就不演示了示例都是一样的,如果在真实环境中遇到百度就可以了
案例 3-自查漏洞模拟渗透测试寻找攻击源头-漏洞口令检索
背景:
- 日志被删除或没价值信息
- 没有思路进行分析可以采用模拟渗透
1)windows,linux 系统漏洞自查:
WindowsVulnScan,linux-exploit-suggester
前提安装了python3
windows系统漏洞自查:(通过收集靶机系统的补丁,查看系统的内核漏洞)
工具的使用方法官网有:
1. 首先运行powershell脚本KBCollect.ps
收集一些信息
打开powershell脚本
工具下载后有两个版本,随便找个版本运行
.\KBCollect.ps1
解决方案:(参考)
我们通过管理员权限运行power shell(可通过win+x打开),然后输入命令:(有选择就选择“是”就可以了)
set-ExecutionPolicy RemoteSigned
KB.json
文件详细描述当前操作系统的版本信息与已经打过的漏洞补丁信息
2. 将运行后产生的KB.json
文件移动到cve-check.py
所在的目录
我这里直接生成在这个目录下就不用移动了
3. 安装一些python3模块(我这里换成cmd执行命令)
python3 -m pip install requirements.txt
我这里运行失败,打开 requirements.txt 的这文件一看发现只是安装requests==2.23.0我直接手动安装了,不使用一键安装
pip install requests==2.23.0
4. 运行cve-check.py -u
创建CVEKB数据库
5. 运行cve-check.py -U
更新CVEKB数据库中的hasPOC
字段
此处可以使用-m选择更新模式。 -m All:更新所有 -m Empty:只更新hasPOC字段为空的 -m Error:只更新hasPOC字段为Error的
6. 运行cve-check.py -C -f KB.json
查看具有公开EXP的CVE,如下:
EXP信息就是漏洞信息
7. 若使用脚本扫描到的系统名称和版本不准确,可以使用-n,-N
进行指定
8. 如果把脚本的信息过时的还可以更新一下
# 直接运行这个脚本就能查看使用方式
cve-check.py
linux系统漏洞自查:(通过收集靶机系统的补丁,查看系统的内核漏洞)
直接运行脚本即可(我这里是下载压缩包解压,然后复制到linux系统中)
./linux-exploit-suggester.sh
2)windows,linux 服务漏洞自查:
windows:(要在powershell脚本中运行命令)
Get-WmiObject -class Win32_Product
linux:
脚本下载地址:GitHub - rebootuser/LinEnum:脚本化本地 Linux 枚举和权限升级检查
LinEnum.sh
这个脚本还可以加一些参数一起运行
利用前期信息收集配合 searchsploit(漏洞利用库) 进行应用服务协议等漏洞检索
漏洞利用数据库 / 漏洞利用 + 壳码 + GHDB ·吉特实验室 (gitlab.com)
安装
https://gitlab.com/exploit-database/exploitdb/-/archive/main/exploitdb-main.tar.gz
使用示例
./searchsploit -u
搜索关于SQL Server 2016的漏洞:
./searchsploit 'SQL Server 2016'
找到目标脚本
这个脚本运行会报错说“某某模块找不到”,解决安装对应的模块即可:pip install 模块名
我这里就不继续了,需要的可以直接玩一下或者直接在百度搜索这个漏洞编号,看别人是如何利用的
3)windows,linux 协议弱口令自查-工具探针或人工获取判断-snetcraker
GitHub - shack2/SNETCracker: 超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。
工具采用C#开发,需要安装.NET fr amework 4.0。
如果是windows系统可以在我的网盘下载可执行程序执行运行就能使用:弱口令工具
直接运行就可以了,使用就不多说了很简单,上面也有使用过
案例 4-自动化 ir-rescue 应急响应工具箱-实时为您提供服务
项目地址:(可以尝试自己进行编写修改,成为自己的工具箱杀器)
GitHub - diogo-fernan/ir-rescue: A Windows Batch script and a Unix Bash script to comprehensively collect host forensic data during incident response.
win工具演示:
扩展名.bat就是个批处理文件,就是相当于命令的集合运行了这个文件就相当于运行了很多条命令,详细介绍:批处理编写(病毒)_%userprofile_正经人_____的博客-CSDN博客
1)先更新一下工具箱
文件内容解析
运行
2)可以收集一下当前主机的信息(收集大量取证数据)
linxu工具就不演示了使用都是差不多的,需要的可以自己玩下
涉及资源:
- https://github.com/rebootuser/LinEnum
- https://github.com/diogo-fernan/ir-rescue
- https://github.com/offensive-security/exploitdb
- https://github.com/chroblert/WindowsVulnScan
- https://github.com/JPCERTCC/LogonTracer.git
- https://github.com/mzet-/linux-exploit-suggester
- https://pan.baidu.com/s/1tQS1mUelmEh3I68AL7yXGg 提取码:xiao