玄机——权限维持-linux权限维持-隐藏

本期给大家带来Linux的权限维持手段
在 Linux 系统环境下,权限维持(维权)是网络攻击流程中的关键环节。当攻击者成功获取系统访问权限后,会运用多种技术手段确保对目标系统的长期控制,避免被安全人员察觉并清除。


权限维持-linux权限维持-隐藏

黑客隐藏的隐藏的文件 完整路径md5

Linux系统中,隐藏文件一般会在前面加 . ,并且如果只是用ls 命令是看不出来的,只有使用 ls -a 或者 ls -al才能显示隐藏文件;

因此如果我们要找隐藏文件的话,可以使用find命令进行查询:

find / -name ".*"

然后结果会显示一大串的命令,我们仔细观察,发现绝大多数文件除了在/sys目录下,还有着几个不同的结果:
在这里插入图片描述

在这里要重点介绍一下/tmp目录:

一般来说,/tmp 是系统默认的临时文件目录,通常所有用户都有读写权限(不论是root还是普通用户),所以攻击者比较喜欢将shell或者脚本等文件放在此处;

既然如此,那我们就进入到/tmp/.temp目录下查看他有什么东西:
在这里插入图片描述

主要发现了里面有着1.py以及一个名为shell.py的文件,所以我们就分别查看里面的内容有哪些:

在这里插入图片描述

作用:这是一个典型的Linux 反向 shell 木马
(1)通过两次fork()将程序转换为后台守护进程,脱离终端控制。
(2)将标准输入 / 输出 / 错误重定向到/dev/null,避免被用户察觉。
(3)建立反向shell,连接到指定 IP(114.114.114.121)的 9999 端口
(4)连接成功后,将 shell 的输入 / 输出 / 错误通过 socket 转发给远程服务器,实现远程控制
(5)使用无限循环和异常处理,确保即使连接中断也会不断重试

然后再查看一下shell.py:

在这里插入图片描述

这段代码同样是一个Python 反向 shell 程序,其核心功能是创建一个与远程服务器的连接,并将本地 shell 的输入 / 输出重定向到该连接,使攻击者能够远程执行命令。与前一个示例相比,它的结构更简洁,但原理完全相同。

因此尝试一下文件的路径:
完整路径:/tmp/.temp/libprocesshider/1.py
或者:/tmp/.temp/libprocesshider/shell.py

最终发现是1.py的路径为flag:

flag{109ccb5768c70638e24fb46ee7957e37}

黑客隐藏的文件反弹shell的ip+端口 {ip:port}

根据上面文件的的分析,我们得到了两个IP以及端口,所以说都尝试一下即可:

flag{114.114.114.121:9999}

黑客提权所用的命令 完整路径的md5 flag{md5}

首先,我们要了解Linux中黑客常用的提权手段:

  • 后门木马: 为了攻击者下次进入主机时重新获得访问权限

    • SSH 后门:创建一个新的用户,配置 SSH 公钥认证,避免密码登录被检测到。
    • 反弹 Shell:通过反弹 Shell连接到攻击者的机器,获取远程控制权限。
    • Web Shell:通过 Web Shell(如 PHP 代码嵌入)远程控制 Web 服务器。
  • 持久化:通常情况下会使用定时任务来重新上线shell

    • crontab 定时任务:在 crontab 中添加恶意任务,定期执行恶意程序。
  • 文件隐藏:攻击者会将恶意文件和工具隐藏在系统中,以防被发现。

    • 隐藏目录:使用隐藏目录(如 . 开头的目录),将恶意文件放置其中。
  • SUID提权:攻击者会赋予程序s 权限,让执行暂时拥有属主的权限

    • /bin/bash 为例,当攻击者以root身份赋予程序s权限时,那么即便是普通用户jack执行这个文件,那么他此时的身份将会是root而不是jack,这就实现了越权。

因此,根据题目,我们可以查看查看系统日志/etc/passwd和/bin/bash和文件变化记录:

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述

通常情况下,例如vim cp mv find bash等命令都是拥有s权限,那么我们如何知道攻击者修改了哪个命令呢?

很简单,因为我开了一台自己的Linux机器来进行对照,发现没有find这个命令,所以我认为它被攻击者进行了提权:
在这里插入图片描述
而我们还可以利用命令进行检查 SUID 文件的权限

ls -l /usr/bin/find

在这里插入图片描述
在这里插入图片描述
可以发现靶机的find命令是拥有s权限的;
根据题目让我们提交完整路径的md5;完整路径:/usr/bin/find
所以结果显示为:
在这里插入图片描述

flag{7fd5884f493f4aaf96abee286ee04120}

黑客尝试注入恶意代码的工具完整路径md5

首先我们要了解常见的注入工具有哪些:


  • SQLMap

    描述:一款开源自动化 SQL 注入工具,可探测并利用 SQL 注入漏洞以接管数据库服务端。
    用法:适用于 MySQL、PostgreSQL、Oracle、Microsoft SQL Server 等多类数据库的 SQL 注入攻击场景。

  • Burp Suite

    描述:面向 Web 应用安全测试的综合性工具,内置 SQL 注入检测功能模块。
    用法:支持手动与自动化方式开展 SQL 注入漏洞测试工作。

  • Metasploit

    描述:渗透测试框架体系,集成 SQL 注入、命令注入等多类型漏洞利用模块。
    用法:广泛应用于渗透测试全流程及漏洞攻击利用场景。

  • Cymothoa
    描述:进程注入型后门工具,可将用户空间代码植入至运行中的进程环境。
    用法:常用于在被攻陷系统中实现恶意代码的持久化驻留与隐蔽运行。

由于在Linux系统中,通常将 /opt 目录用于存放可选的、占用空间较大的第三方软件和应用程序,所以我们进入到/opt目录下进行查看:

在这里插入图片描述
果然发现了一个可疑文件,因此:
完整路径:/opt/.cymothoa-1-beta/cymothoa

在这里插入图片描述

所以最终结果为:

flag{087c267368ece4fcf422ff733b51aed9}

使用命令运行 ./x.xx 执行该文件 将查询的 Exec****** 值 作为flag提交 flag{/xxx/xxx/xxx}

什么是 Exec 值?

当你在 Linux 系统中运行一个程序(比如题目中的 ./x.xx,即之前找到的 1.py 文件)时,系统会为这个程序创建一个 进程(类似程序的 “运行实例”)。每个进程都会默默记录自己是从哪个文件启动的,这个文件的完整路径 就是 Exec 值。

例如:d rwx r-x r-x中:

(1)d表示目录
(2)rwx表示所属用户的权限 user
(3)r-x表示所属组的权限 group
(4)r-x表示其他用户的权限 other


所以,我们进入到之前的1.py文件目录下:

在这里插入图片描述

并使用命令去执行这个程序:python3 /tmp/.temp/libprocesshider/1.py

然后我们就可以新开一个窗口,使用命令netstat -antlp去查看相应的进程情况:
在这里插入图片描述

发现程序已经正则执行;

因为题目让我们提交的是 Exec的 值,所以使用命令ls -la进行查询;

在这里插入图片描述

命令 ls -la /usr/bin/python3 用于列出 /usr/bin/python3 文件的详细信息,其中包括文件权限、所有者、大小、创建日期等。

因此最后的结果为:

flag{/usr/bin/python3.4}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值