网络安全实战 - HTB PersistenceIsFutile

221 阅读2分钟

概述

PersistenceIsFutile是来自于HTB(hackthebox.com)的一个中级数字鉴识挑战,完成该挑战所需要掌握的知识点在于Linux下的升权方法。

题目分析

该挑战提供了一个在线环境,以及ssh登录的用户名和密码,挑战说明中提示目标系统存在8个安全隐患,将所有隐患清除后可以获得flag。

解题过程

使用提供的ssh用户登录, 并逐一清除系统中的安全隐患。

* 检查系统用户文件/etc/passwd

发现其中的gnats用户所属的组及其登录选项被篡改, 将其恢复原值。

forensics_007_HTB_PersistenceIsFutile_1.png

* 使用crontab -e命令检查当前用户的cron

发现其中被植入的命令行,将其删除。

forensics_007_HTB_PersistenceIsFutile_2.png

* 检查/etc/cron.daily/目录下的文件,

发现两个被植入的文件

forensics_007_HTB_PersistenceIsFutile_3.png

其中pyssh调用/lib/python3/dist-packages/ssh_import_id_update命令,

forensics_007_HTB_PersistenceIsFutile_4.png

access-up则将/bin/bash复制到一些随机的文件路径,并赋予SUID文件属性。

forensics_007_HTB_PersistenceIsFutile_5.png

将这两个文件删除。

* 列出系统中具有SUID属性的可执行文件

发现以上由access-up生成的/bin/bash复本,以及/usr/sbin/ppppd/home/user/.backdoor,删除这些文件。

forensics_007_HTB_PersistenceIsFutile_6.png

* 列出系统中root用户的进程

forensics_007_HTB_PersistenceIsFutile_7.png

发现其中的/var/lib/private/connectivity-check进程,终止这些进程并删除该文件,及其启动文件/etc/update-motd.d/30-connectivity-check:nohup

forensics_007_HTB_PersistenceIsFutile_8.png

* 检查当前用户的.bashrc文件

发现其中被修改的cat命令, 将其删除。

forensics_007_HTB_PersistenceIsFutile_9.png

* 检查root用户的.bashrc文件

发现其中的alertd命令, 将其删除,并删除/usr/bin/alertd文件。

forensics_007_HTB_PersistenceIsFutile_10.png

* 检查/lib/python3/dist-packages/ssh_import_id_update文件

forensics_007_HTB_PersistenceIsFutile_11.png

将其中的KEYPATH进行base64解码后,可以发现其代码修改/root/.ssh/authorized_keys的内容, 删除该文件,并将植入的内容从/root/.ssh/authorized_keys中删除。

forensics_007_HTB_PersistenceIsFutile_12.png

完成以上步骤后,允许sudo /root/solveme即可通过检查并获得flag.