Linux 权限维持手法

      最后更新:2022-07-22 22:33:12 手机定位技术交流文章

      文章目录

      • Linux 权限维持
        • 关闭历史操作命令
        • 修改文件创建时间
        • 文件锁定
        • 添加用户密码
        • 维护诉讼后门特权
        • 社会服务机构维修方法(二类)
          • SSH 软连接后门
          • SSH公共密码
          • SSH Keylogger记录密码
        • Ubuntu使用皇室机制安装后门
        • vim python扩展后端
        • inetd服务后门
        • 协议后门
          • ICMP
          • DNS
        • PAM后门
        • Rootkit
          • Diamorphine

      Linux 权限维持

      这个实验环境目标场来自月秒的主人,本文的内容完全由个人的理解构成,若有错处,大佬勿喷,个人学习技能不充分;本文所述的任何技术都是从目标实践中得到的;仅供学习参考,请不要使用本条所述的有关技术进行非法测试,如因产生的一切不良后果与文章作者无关。

      事实上,以下的权限维护方法并不像cat /etc/shadow那样好,因为它不会丢失任何文件。

      总经理不经常更改密码。

      在我们知道如何维护Linux权限之前,让我们看看Linux命令的历史。毕竟,没有人想让管理员知道我们在服务器上做了些什么。

      关闭历史操作命令

      如果在shell中执行的命令不想被记录在命令行历史中,那么如何在Linux中打开无跟踪操作模式?
      技术一:仅为你的工作关闭历史记录

      上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。
      要重新启动历史函数,执行下列命令:

      技术2:从历史记录中删除指定的命令
      假设历史记录中已经包含了一些你不希望记录的命令。这种情况下我们怎么办?很简单。通过下面的命令来删除:

      在历史记录中的匹配命令的输出,每个输出先是数字。 从历史记录中删除指定的项目:

      删除大规模历史操作记录,这里只保留第一150行:

      修改文件创建时间

      有的时候网站管理员或者蓝队会根据文件修改时间来判断文件是否为后门,如参考index.php的时间再来看shell.php的时间就可以判断shell.php的生成时间有问题
      解决方法:

      修改我们的网壳创建时间和网站index.php创建相同的时间。

      触摸命令用于修改文件或目录的时间属性,包括保存时间和更改时间。 如果文件不存在,系统将创建一个新的文件。

      文件锁定

      在Linux中,使用chattr命令来防止root和其他管理用户误删除和修改重要文件及目录,此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。

      添加用户密码

      增加超级用户:

      Tips:这里我们必须切换到root用户或者拥有root权限才能进行写入

      file

      维护诉讼后门特权

      suid通常在Linux特权中使用,同时,我们也可以用来维持权威。一般管理员不会在搜索有 suid权限的文件时遇到困难,所以我们可以使用这个漏洞来自己创建一个有 suid权限的文件,然后我们使用Webshell连接工具将suid启用文件和root启用shell结合起来执行我们想要的操作。

      当一个文件属于主机的x标记位(set uid,缩写为 suid),而主机是根时,当执行文件时,它实际上被执行为根。

      必要条件:

      • SUID权限仅适用于二进制程序。
      • 执行器需要对程序的X可执行权限
      • 此权限仅在执行程序期间有效
      • 在执行过程中,执行者将拥有程序的所有权

      如何维护suid权限:

      我们可以使用ls -al让我们看一下。 羊毛的力量

      file

      我们使用下列命令来使用这个suid文件:

      file

      检测:找到与suid权限的文件

      社会服务机构维修方法(二类)

      SSH 软连接后门

      软连接后门的原理是使用PAM配置文件,设置sshd文件软连接名为su,这适用于PAM配置文件夹,它在启动时搜索配置信息(su)的相应名称,然而, su 在 pam_rootok 中只能检测 uid 0 为验证。这导致使用任意密码来登录:

      使用kali登录

      file

      优点:允许绕过某些网络设备的安全流量监测,但在查看监测端口时局部暴露端口。建议设置为8081、8080等。

      详细使用教程文章: http://blackwolfsec.cc/2017/03/24/Linux_ssh_backdoor/

      SSH公共密码

      这是老式公共键自由降落方法,它不仅用于存储后门,而且在某些特殊情况下获取交互式壳,例如 struts写入公共键, oracle写入公共键连接,和Redis未经授权访问。

      利用方式:

      复制id_rsa的内容到特权登录inkali中

      file

      SSH Keylogger记录密码

      这个方法不用于维护特权。我们可以使用管理员ssh来登录其他主机获取其他主机的帐户密码(相当于键盘记录,但只记录ssh登录数据)。

      如果strace存在,当前系统可以跟踪任何进程的系统调用和数据,并可以使用strace系统调用工具从ssh获取读写连接数据,实现记录管理员的书面密码的功能,以便在其他机器上登陆。

      如何使用:

      在当前用户中,在他登录到其他机器时,bashrc中添加了一个新名字,以捕捉他的ssh密码:

      一旦设置,如果当前系统没有别名,它将影响其正常使用:

      file

      grep -A 9 'password' .ssh-2210月101634901802.log

      Ubuntu使用皇室机制安装后门

      首先说明一下,Cron是ubuntu下默认启动的用户执行计划。它会按照设置,在固定的周期或者按照一定时间执行某一个任务。它是一项服务,你可以使用基本的服务查看状态命令等查看信息。

      使用方法:

      当我们和卡利一起听时,我们会收到报复弹药

      file

      我们使用crontab -l以及cat /var/spool/cron/crontabs/root我们不能看到我们计划的任务

      file

      只有使用crontab -e进行编辑才能看到

      file

      vim python扩展后端

      适用于安装vim和Python扩展的Linux系统(最大版本默认安装)。

      错误的脚本 dir. py的内容可以作为任何功能的后门,例如监测本地11个端口:

      正向后门

      反向后门

      隐藏后门

      隐藏您在查看 netstat - anpt时看到的可疑连接. 解决方法:

      因为这是一个后门,你不能离开创建的文件,并且可以直接复制删除的命令到命令

      file

      隐藏进程

      file

      你只需要连接攻击者nc:

      inetd服务后门

      inetd是一个系统ដេមិន进程,它对外部网络请求(一个接口)进行监听,默认为13个端口。当inetd收到外部请求时,它将根据此请求在自己的配置文件中找到其实际处理程序,然后再把接收到的这个socket交给那个程序去处理。所以,如果我们已经在目标系统内设置inetd配置文件,那么来自外部的某个socket是要执行一个可交互的shell,就获取了一个后门。

      如果服务器没有安装这个工具,我们可以手动安装它并之后保持权限。

      权限维持方法:

      先修改配置文件:

      file

      在攻击者上使用nc连接

      file

      我们还可以修改默认端口

      然后修改/etc/inetd.Conf:

      我们可以修改一些常见的端口来实现隐藏.

      检测:检查配置文件

      cat /etc/inetd.conf

      协议后门

      在一些更严格的访问控制环境中,从内部到外部的TCP流量被封锁,但与UDP(DNS、ICMP)相关的流量通常不会被拦截。

      ICMP

      主要原理就是利用ICMP中可控的data字段进行数据传输,具体原理请参考: https://zhuanlan.zhihu.com/p/41154036

      开源工具:ICMP后门项目地址:https://github.com/andreafabrizi/prism

      DNS

      在大多数网络环境中,IPS/IDS或硬件防火墙不监控和筛选DNS流量。主要原则是隐藏在具有PTR记录和A记录的DNS域内后门负荷(也可以使用AA记录和IPv6地址传输后门)。请参阅: https://ww.Anquanke.com/post/id/85431

      开源工具:DNS后门项目地址:https://github.com/DamonMohammadbagher/NativePayload_DNS

      协议后门检测:对于DNS/ICMP协议后门,可以直接查看网络连接,因为大量网络连接是在使用过程中生成的
      清除: 终止进程并删除文件

      PAM后门

      PAM使用/etc/pam配置,d/下文件管理身份验证方法,应用程序调用相应的配置文件,在/lib/security下调用模块以动态库负载的形式。
      PAM配置可以分为四个参数:

      • 模块类型
      • 控制标记
      • 模块路径
      • 模块参数

      例如: session required
      pam_selinux.so open
      上述sshd软链接后门使用PAM机制实现任意密码登录,另一种方法是记录在键盘上。这个原则主要是通过 pam_unix_auth.c钻进普通 pam 模块的方法,用此记录管理员帐户密码。

      利用步骤:复制patch到源代码目录 >>> 打patch >>> 编译 >>> 将生成的pam_uninx.so文件覆盖到/lib/secruity/pam_unix.so下 >>> 修改文件属性 >>> 建立密码保存文件,并设置好相关的权限 >>> 清理日志 >>> ok

      检测:

      删除:yum重新安装 pam

      Rootkit

      rootkit分为内核和应用程序级别:

      • 内核级的比如:Diamorphine

      • 应用程序级别,例如:Mafix

        Mafix是一个常用的轻量应用程序级 Rootkits,它具有简单的配置和通过使用伪造的ssh协议漏洞来验证密码和端口号码实现远程登录的能力。应用级新人,主要替换 ls 、 ps 和 netstat 命令隐藏文件检测:使用相关检测工具,比如:unhide

      Diamorphine

      Diamorphine是用C语言编写的,运行在Linux系统中,支持Linux内核版本2.6.x/3.x/4.x。

      戴莫林的安装
      直接使用源安装方法,先下载源:

      git clone https://github.com/m0nad/Diamorphine.git

      下载后, 输入目录 (cd Diamorphine)
      使用说明:
      在做安装后, 下载模块并使用根权限运行它.

      insmod diamorphine.ko

      用法
      获取root
      kill -64 0

      file

      隐藏进程
      kill-31pid

      file

      隐藏模块

      lsmo #列表模块

      file

      kill-63pid
      创建隐藏文件, ls和du无法找到

      touch diamorphine_secret # 只要是diamorphine_secret开头的文件名或者文件夹,就会隐藏。

      卸载diamorphine模块,需要root权限
      rmmod diamorphine

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/30445.html

          热门文章

          文章分类