Add plink, allow mimikatz
This commit is contained in:
@ -97,10 +97,11 @@ def githubreleasesync(reponame, repoinfo, credz):
|
||||
|
||||
for filename in filenames:
|
||||
if isinstance(filename, dict):
|
||||
binpath = filename['binpath']
|
||||
inpath = filename['inpath']
|
||||
outpath = filename['outpath']
|
||||
filename = filename['filename']
|
||||
filename = filename.replace('{last_version}', last_version).replace('{short_version}', short_version)
|
||||
localfile = Path('files').joinpath(Path(binpath).name)
|
||||
localfile = Path('files').joinpath(outpath)
|
||||
print(f" * {localfile} ", end='')
|
||||
|
||||
else:
|
||||
@ -109,16 +110,20 @@ def githubreleasesync(reponame, repoinfo, credz):
|
||||
print(f" * {localfile} ", end='')
|
||||
|
||||
if filename.endswith('.gz'):
|
||||
is_gz = True
|
||||
is_gz, is_zip = True, False
|
||||
elif filename.endswith('.zip'):
|
||||
is_gz, is_zip = False, True
|
||||
else:
|
||||
is_gz = False
|
||||
is_gz, is_zip = False, False
|
||||
|
||||
urldl = f'https://github.com/{reponame}/releases/download/{last_version}/{filename}'
|
||||
|
||||
if not localfile.exists():
|
||||
content = requests.get(urldl, auth=credz).content
|
||||
if is_gz:
|
||||
extract_bin('gz', binpath, localfile, content)
|
||||
extract_bin('gz', inpath, localfile, content)
|
||||
elif is_zip:
|
||||
extract_bin('zip', inpath, localfile, content)
|
||||
else:
|
||||
with open(localfile, 'wb') as f:
|
||||
f.write(content)
|
||||
@ -131,7 +136,9 @@ def githubreleasesync(reponame, repoinfo, credz):
|
||||
else:
|
||||
content = requests.get(urldl, auth=credz).content
|
||||
if is_gz:
|
||||
extract_bin('gz', binpath, localfile, content)
|
||||
extract_bin('gz', inpath, localfile, content)
|
||||
elif is_zip:
|
||||
extract_bin('zip', inpath, localfile, content)
|
||||
else:
|
||||
with open(localfile, 'wb') as f:
|
||||
f.write(content)
|
||||
@ -251,6 +258,50 @@ def netcatsync(conf):
|
||||
json.dump(data, jsonfile, indent=4)
|
||||
|
||||
|
||||
def plinksync(conf):
|
||||
r = requests.get('https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html')
|
||||
last_version = r.text.split('PuTTY.\nCurrently this is ')[1].split(', ')[0]
|
||||
local_version = conf['local_version']
|
||||
|
||||
for filename in conf['files']:
|
||||
localfile = Path('files').joinpath(Path(filename).name)
|
||||
print(f" * {localfile} ", end='')
|
||||
|
||||
urldl = 'https://the.earth.li/~sgtatham/putty/latest/w32/plink.exe'
|
||||
|
||||
if not localfile.exists():
|
||||
content = requests.get(urldl).content
|
||||
with open(localfile, 'wb') as f:
|
||||
f.write(content)
|
||||
|
||||
print('-> Installed! ;)')
|
||||
else:
|
||||
if local_version == last_version:
|
||||
print('-> Up-to-date.')
|
||||
|
||||
else:
|
||||
content = requests.get(urldl).content
|
||||
with open(localfile, 'wb') as f:
|
||||
f.write(content)
|
||||
|
||||
with open("config.json", "r") as jsonfile:
|
||||
data = json.load(jsonfile)
|
||||
|
||||
data['plink']['local_version'] = last_version
|
||||
|
||||
with open("config.json", "w") as jsonfile:
|
||||
json.dump(data, jsonfile, indent=4)
|
||||
print('-> Updated!')
|
||||
|
||||
with open("config.json", "r") as jsonfile:
|
||||
data = json.load(jsonfile)
|
||||
|
||||
data['plink']['local_version'] = last_version
|
||||
|
||||
with open("config.json", "w") as jsonfile:
|
||||
json.dump(data, jsonfile, indent=4)
|
||||
|
||||
|
||||
def update(config):
|
||||
print("Updating...")
|
||||
with open("credz.json", "r") as jsonfile:
|
||||
@ -263,8 +314,9 @@ def update(config):
|
||||
for reponame, repoinfo in config['githubreleasesync'].items():
|
||||
githubreleasesync(reponame, repoinfo, credz)
|
||||
|
||||
ncatsync(config['ncat'])
|
||||
# ncatsync(config['ncat'])
|
||||
netcatsync(config['netcat'])
|
||||
plinksync(config['plink'])
|
||||
make_executable()
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user