[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhBUbXZMXIQWGesRzgwGUWeVYR2EXwTq5VcZfaCjClU8":3},{"id":4,"question":5,"answer":6,"answerHtml":7,"slug":8,"keywords":9,"article":10,"status":34,"aiModel":39,"aiConfidence":39,"updatedAt":51,"createdAt":51,"_status":50},1085,"What is the significance of the `domainname` field in the `aaalogin` table for encryption analysis?","The `domainname` field distinguishes between domain users and custom users. When `domainname` equals 'ADAudit Plus Authentication', the account is a custom user. For domain users, the encryption uses a default password ('admin'), making their hashes potentially weaker. The salt field in the `aaapassword` table is irrelevant; the salt is embedded in the hash itself. This distinction is critical for targeted brute-force attacks, as highlighted in the [ADAudit Plus Exploitation Analysis — Data Encryption Analysis](\u002Fnews\u002Fadaudit-plus-exploitation-analysis-data-encryption-analysis).","\u003Cp>The `domainname` field distinguishes between domain users and custom users. When `domainname` equals &#39;ADAudit Plus Authentication&#39;, the account is a custom user. For domain users, the encryption uses a default password (&#39;admin&#39;), making their hashes potentially weaker. The salt field in the `aaapassword` table is irrelevant; the salt is embedded in the hash itself. This distinction is critical for targeted brute-force attacks, as highlighted in the [ADAudit Plus Exploitation Analysis — Data Encryption Analysis](\u002Fnews\u002Fadaudit-plus-exploitation-analysis-data-encryption-analysis).\u003C\u002Fp>\u003Cp>\u003Ca href=\"\u002Fnews\u002Fadaudit-plus-exploitation-analysis-data-encryption-analysis\">Read the related One Day Sec article\u003C\u002Fa>\u003C\u002Fp>","what-is-the-significance-of-the-domainname-field-in-the-aaalogin-table-for-encry-1777480484536","domain name, custom user, domain user, hash identification, ADAudit Plus",{"id":11,"title":12,"slug":13,"description":14,"content":15,"contentHtml":30,"cover":31,"author":32,"views":19,"readingTime":33,"status":34,"publishedAt":35,"seo":36,"tags":41,"qaPairs":42,"meta":47,"updatedAt":48,"createdAt":49,"_status":50},264,"ADAudit Plus Exploitation Analysis — Data Encryption Analysis","adaudit-plus-exploitation-analysis-data-encryption-analysis","Detailed analysis of ADAudit Plus data encryption: encrypted data location, bcrypt breakdown, domain\u002Fnon-domain user distinction, and brute-force exploitation possibility.",{"root":16},{"type":17,"format":18,"indent":19,"version":20,"children":21,"direction":29},"root","",0,1,[22],{"type":23,"format":18,"indent":19,"version":20,"children":24,"direction":29},"paragraph",[25],{"mode":26,"text":27,"type":28,"style":18,"detail":19,"format":19,"version":20},"normal","\u003Chtml>\u003Chead>\u003C\u002Fhead>\u003Cbody>\u003Cp>\u003Cstrong>ADAudit Plus Exploitation Analysis — Data Encryption Analysis\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>\u003Cstrong>0x00 Preface\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>The previous article \"ADAudit Plus Vulnerability Debugging Environment Setup\" introduced the details of setting up the vulnerability debugging environment. Through testing, it was found that some data in the database is encrypted, and this article will introduce the relevant data encryption algorithms.\u003C\u002Fp>\u003Cp>\u003Cstrong>0x01 Introduction\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>This article will cover the following content:\u003C\u002Fp>\u003Cp>Location of Data Encryption\u003C\u002Fp>\u003Cp>Algorithm Analysis\u003C\u002Fp>\u003Cp>Algorithm Implementation\u003C\u002Fp>\u003Cp>\u003Cstrong>0x02 Location of Data Encryption\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>The test environment is consistent with that in \"ADAudit Plus Vulnerability Debugging Environment Setup\"\u003C\u002Fp>\u003Cp>Complete command for database connection: \"C:\\Program Files\\ManageEngine\\ADAudit Plus\\pgsql\\bin\\psql\" \"host=127.0.0.1 port=33307 dbname=adap user=postgres password=Stonebraker\"\u003C\u002Fp>\u003Cp>Example command to query encrypted passwords: SELECT * FROM public.aaapassword ORDER BY password_id ASC;\u003C\u002Fp>\u003Cp>Example of returned results:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396805837_0_dbbe40e73c.png\">Through testing, the corresponding location on the web management page is Admin-&gt;Technicians, as shown in the following figure\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396810839_1_95de763a08.png\">\u003C\u002Fp>\u003Cp>Clicking Add technicians allows you to add users; here you can choose to add a custom user or a domain user\u003C\u002Fp>\u003Cp>A password is required when adding a custom user, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396813675_2_169f6fa4fa.png\">No password is required when adding a domain user, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396816304_3_4e6c89b8e5.png\">\u003C\u002Fp>\u003Cp>\u003Cstrong>0x03 Algorithm Analysis\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>\u003Cstrong>1. Encryption Algorithm Details\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>After analysis, the encryption algorithm details are located in com.adventnet.authentication.util-&gt;AuthUtil.class within C:\\Program Files\\ManageEngine\\ADAudit Plus\\lib\\AdvAuthentication.jar\u003C\u002Fp>\u003Cp>Implementation code for adding users:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396820284_4_642eb2c5ea.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396825029_5_91687726c4.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396829101_6_48350786bc.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396833108_7_ffd75d3fcf.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396837420_8_655d163bde.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396841871_9_43e0a05272.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396844768_10_e447299c5d.png\">Code for obtaining the encrypted Password:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396846232_11_3f4873c418.png\">Code for generating salt:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396847510_12_5660cc54d4.png\">Through dynamic debugging, it was found that the default workload is 12, and an example of the generated salt format is: $2a$12$DVT1iwOoi3YwkHO6L6QSoe, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396848450_13_a52a7218b2.png\">Implementation details of the specific encryption algorithm getEncryptedPassword():\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396850073_14_0b95ef69c9.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396852493_15_b43a9756a9.png\">\u003C\u002Fp>\u003Cp>Set a breakpoint here; the following conclusions are drawn through dynamic debugging:\u003C\u002Fp>\u003Cp>If it is a domain user, the default password 'admin' is used as plaintext, a salt is randomly generated, the bcrypt algorithm is used, and the ciphertext is calculated via a fixed algorithm. The first 29 bytes of the ciphertext correspond to the salt used for encryption\u003C\u002Fp>\u003Cp>If it is not a domain user, the user's password is used as plaintext for calculation. For example, for the default user 'admin', the actual password is used as plaintext to encrypt and obtain the ciphertext\u003C\u002Fp>\u003Cp>That is to say, when querying the public.aaapassword table, we only need to take the first 29 bytes of the password field as the salt used for encryption, and there is no need to pay attention to the salt field in the public.aaapassword table\u003C\u002Fp>\u003Cp>\u003Cstrong>2. Distinguishing Between Domain Users and Non-Domain Users\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>Query command example: SELECT * FROM public.aaalogin ORDER BY login_id ASC;\u003C\u002Fp>\u003Cp>Return result example:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396853119_16_5f014a4b17.png\">\u003C\u002Fp>\u003Cp>Among them, domainname being ADAuditPlus Authentication represents a custom-added user\u003C\u002Fp>\u003Cp>Here, inner join query is used to automatically filter out non-domain users and their corresponding hashes. Command example: SELECT aaalogin.login_id,aaalogin.name,aaalogin.domainname,aaapassword.password FROM public.aaalogin as aaalogin INNER JOIN public.aaapassword AS aaapassword on aaalogin.login_id=aaapassword.password_id WHERE aaalogin.domainname = 'ADAuditPlus Authentication';\u003C\u002Fp>\u003Cp>Return result example:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396853892_17_d82709f695.png\">\u003C\u002Fp>\u003Cp>\u003Cstrong>0x04 Algorithm Implementation\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>Test parameters are as follows:\u003C\u002Fp>\u003Cp>Known plaintext is 123456\u003C\u002Fp>\u003Cp>The password entry obtained from querying the database is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.p9cD453FjBAPYjp0ek94n936WRRAYme\u003C\u002Fp>\u003Cp>From this, we know that the salt is the first 29 bytes of the password entry, which is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.\u003C\u002Fp>\u003Cp>The test code for calculating the ciphertext is as follows:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396854392_18_5d03898dcf.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fuploads\u002Fdocx_image_1769396856375_19_ab934092e4.png\">\u003C\u002Fp>\u003Cp>The calculation result is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.p9cD453FjBAPYjp0ek94n936WRRAYme, which is consistent with the password entry obtained from the database\u003C\u002Fp>\u003Cp>In conclusion, the above algorithm can be used to brute-force user passwords\u003C\u002Fp>\u003Cp>\u003Cstrong>0x05 Summary\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>This article analyzes the data encryption algorithm of ADAudit Plus, distinguishes domain users, writes implementation code, and the algorithm can be used to brute-force user passwords in subsequent steps.\u003C\u002Fp>\u003C\u002Fbody>\u003C\u002Fhtml>","text","ltr","\u003Chtml>\u003Chead>\u003C\u002Fhead>\u003Cbody>\u003Cp>\u003Cstrong>ADAudit Plus Exploitation Analysis — Data Encryption Analysis\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>\u003Cstrong>0x00 Preface\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>The previous article \"ADAudit Plus Vulnerability Debugging Environment Setup\" introduced the details of setting up the vulnerability debugging environment. Through testing, it was found that some data in the database is encrypted, and this article will introduce the relevant data encryption algorithms.\u003C\u002Fp>\u003Cp>\u003Cstrong>0x01 Introduction\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>This article will cover the following content:\u003C\u002Fp>\u003Cp>Location of Data Encryption\u003C\u002Fp>\u003Cp>Algorithm Analysis\u003C\u002Fp>\u003Cp>Algorithm Implementation\u003C\u002Fp>\u003Cp>\u003Cstrong>0x02 Location of Data Encryption\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>The test environment is consistent with that in \"ADAudit Plus Vulnerability Debugging Environment Setup\"\u003C\u002Fp>\u003Cp>Complete command for database connection: \"C:\\Program Files\\ManageEngine\\ADAudit Plus\\pgsql\\bin\\psql\" \"host=127.0.0.1 port=33307 dbname=adap user=postgres password=Stonebraker\"\u003C\u002Fp>\u003Cp>Example command to query encrypted passwords: SELECT * FROM public.aaapassword ORDER BY password_id ASC;\u003C\u002Fp>\u003Cp>Example of returned results:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396805837_0_dbbe40e73c-1.png\">Through testing, the corresponding location on the web management page is Admin-&gt;Technicians, as shown in the following figure\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396810839_1_95de763a08-1.png\">\u003C\u002Fp>\u003Cp>Clicking Add technicians allows you to add users; here you can choose to add a custom user or a domain user\u003C\u002Fp>\u003Cp>A password is required when adding a custom user, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396813675_2_169f6fa4fa-1.png\">No password is required when adding a domain user, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396816304_3_4e6c89b8e5-1.png\">\u003C\u002Fp>\u003Cp>\u003Cstrong>0x03 Algorithm Analysis\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>\u003Cstrong>1. Encryption Algorithm Details\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>After analysis, the encryption algorithm details are located in com.adventnet.authentication.util-&gt;AuthUtil.class within C:\\Program Files\\ManageEngine\\ADAudit Plus\\lib\\AdvAuthentication.jar\u003C\u002Fp>\u003Cp>Implementation code for adding users:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396820284_4_642eb2c5ea-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396825029_5_91687726c4-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396829101_6_48350786bc-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396833108_7_ffd75d3fcf-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396837420_8_655d163bde-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396841871_9_43e0a05272-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396844768_10_e447299c5d-1.png\">Code for obtaining the encrypted Password:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396846232_11_3f4873c418-1.png\">Code for generating salt:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396847510_12_5660cc54d4-1.png\">Through dynamic debugging, it was found that the default workload is 12, and an example of the generated salt format is: $2a$12$DVT1iwOoi3YwkHO6L6QSoe, as shown below\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396848450_13_a52a7218b2-1.png\">Implementation details of the specific encryption algorithm getEncryptedPassword():\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396850073_14_0b95ef69c9-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396852493_15_b43a9756a9-1.png\">\u003C\u002Fp>\u003Cp>Set a breakpoint here; the following conclusions are drawn through dynamic debugging:\u003C\u002Fp>\u003Cp>If it is a domain user, the default password 'admin' is used as plaintext, a salt is randomly generated, the bcrypt algorithm is used, and the ciphertext is calculated via a fixed algorithm. The first 29 bytes of the ciphertext correspond to the salt used for encryption\u003C\u002Fp>\u003Cp>If it is not a domain user, the user's password is used as plaintext for calculation. For example, for the default user 'admin', the actual password is used as plaintext to encrypt and obtain the ciphertext\u003C\u002Fp>\u003Cp>That is to say, when querying the public.aaapassword table, we only need to take the first 29 bytes of the password field as the salt used for encryption, and there is no need to pay attention to the salt field in the public.aaapassword table\u003C\u002Fp>\u003Cp>\u003Cstrong>2. Distinguishing Between Domain Users and Non-Domain Users\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>Query command example: SELECT * FROM public.aaalogin ORDER BY login_id ASC;\u003C\u002Fp>\u003Cp>Return result example:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396853119_16_5f014a4b17-1.png\">\u003C\u002Fp>\u003Cp>Among them, domainname being ADAuditPlus Authentication represents a custom-added user\u003C\u002Fp>\u003Cp>Here, inner join query is used to automatically filter out non-domain users and their corresponding hashes. Command example: SELECT aaalogin.login_id,aaalogin.name,aaalogin.domainname,aaapassword.password FROM public.aaalogin as aaalogin INNER JOIN public.aaapassword AS aaapassword on aaalogin.login_id=aaapassword.password_id WHERE aaalogin.domainname = 'ADAuditPlus Authentication';\u003C\u002Fp>\u003Cp>Return result example:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396853892_17_d82709f695-1.png\">\u003C\u002Fp>\u003Cp>\u003Cstrong>0x04 Algorithm Implementation\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>Test parameters are as follows:\u003C\u002Fp>\u003Cp>Known plaintext is 123456\u003C\u002Fp>\u003Cp>The password entry obtained from querying the database is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.p9cD453FjBAPYjp0ek94n936WRRAYme\u003C\u002Fp>\u003Cp>From this, we know that the salt is the first 29 bytes of the password entry, which is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.\u003C\u002Fp>\u003Cp>The test code for calculating the ciphertext is as follows:\u003C\u002Fp>\u003Cp>\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396854392_18_5d03898dcf-1.png\">\u003Cimg alt=\"【技术原创】ADAudit Plus利用分析——数据加密分析\" src=\"\u002Fapi\u002Fmedia\u002Ffile\u002Fdocx_image_1769396856375_19_ab934092e4-1.png\">\u003C\u002Fp>\u003Cp>The calculation result is $2a$12$1hKeH4aM2LY4BvYpKT9Z5.p9cD453FjBAPYjp0ek94n936WRRAYme, which is consistent with the password entry obtained from the database\u003C\u002Fp>\u003Cp>In conclusion, the above algorithm can be used to brute-force user passwords\u003C\u002Fp>\u003Cp>\u003Cstrong>0x05 Summary\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>This article analyzes the data encryption algorithm of ADAudit Plus, distinguishes domain users, writes implementation code, and the algorithm can be used to brute-force user passwords in subsequent steps.\u003C\u002Fp>\u003C\u002Fbody>\u003C\u002Fhtml>",256,"Onedaysec",3,"published","2026-02-02T07:25:19.984Z",{"title":37,"description":14,"keywords":38,"ogImage":39,"canonicalUrl":39,"noIndex":40},"ADAudit Plus Data Encryption Analysis: Bcrypt & Exploitation Details","ADAudit Plus, data encryption analysis, bcrypt algorithm, vulnerability exploitation, database encryption, AuthUtil.class, AdvAuthentication.jar, domain user, non-domain user, password brute-force",null,false,[],{"docs":43,"hasNextPage":40},[4,44,45,46],1084,1083,1082,{"title":39,"description":39,"image":39},"2026-07-24T15:37:09.756Z","2026-07-23T16:02:31.018Z","draft","2026-07-23T16:16:34.838Z"]