{"id":5886,"date":"2010-03-10T20:58:07","date_gmt":"2010-03-10T19:58:07","guid":{"rendered":"http:\/\/www.sahw.com\/wp\/?p=5886"},"modified":"2010-03-10T20:59:07","modified_gmt":"2010-03-10T19:59:07","slug":"auditoria-de-contrasenas-en-oracle-database-4-de-4-ataques-de-diccionario-sobre-claves-oracle","status":"publish","type":"post","link":"https:\/\/www.sahw.com\/wp\/2010\/03\/10\/auditoria-de-contrasenas-en-oracle-database-4-de-4-ataques-de-diccionario-sobre-claves-oracle\/","title":{"rendered":"Auditor?a de contrase?as en Oracle Database (4 de 4). Ataques de diccionario sobre claves Oracle"},"content":{"rendered":"<blockquote><p>TEMARIO<\/p>\n<p><a href=\"http:\/\/www.sahw.com\/wp\/archivos\/2010\/02\/27\/auditoria-de-contrasenas-en-oracle-database-1-de-4-introduccion-y-primeros-pasos\/\">Auditor?a de contrase?as en Oracle Database (1 de 4). Introducci?n y primeros pasos<\/a><br \/>\n<a href=\"http:\/\/www.sahw.com\/wp\/archivos\/2010\/02\/28\/auditoria-de-contrasenas-en-oracle-database-2-de-4-adivinacion-de-oracle-sid-system-id\/\">Auditor?a de contrase?as en Oracle Database (2 de 4). Adivinaci?n de Oracle SID (System ID)<\/a><br \/>\n<a href=\"http:\/\/www.sahw.com\/wp\/archivos\/2010\/03\/02\/auditoria-de-contrasenas-en-oracle-database-3-de-4-fuerza-bruta-sobre-claves-oracle\/\">Auditor?a de contrase?as en Oracle Database (3 de 4). Fuerza bruta sobre claves Oracle<\/a><br \/>\n<strong><a href=\"http:\/\/www.sahw.com\/wp\/archivos\/2010\/03\/10\/auditoria-de-contrasenas-en-oracle-database-4-de-4-ataques-de-diccionario-sobre-claves-oracle\/\">Auditor?a de contrase?as en Oracle Database (4 de 4). Ataques de diccionario sobre claves Oracle<\/a><\/strong><\/p><\/blockquote>\n<p>Finalizamos la serie hablando de ataques de diccionario en el mundo de las contrase?as de Oracle. <a href=\"http:\/\/www.sahw.com\/wp\/archivos\/2010\/03\/02\/auditoria-de-contrasenas-en-oracle-database-3-de-4-fuerza-bruta-sobre-claves-oracle\/\">En el tercer cap?tulo de la entrega<\/a> comentamos c?mo se obten?an las distintas combinaciones de usuario y hash de clave en Oracle. Recordad que propusimos algunos ejemplos reales en una instalaci?n XE, disponibles en <a href=\"http:\/\/www.sahw.com\/images\/oracle_audit\/usuarios.txt\">http:\/\/www.sahw.com\/images\/oracle_audit\/usuarios.txt<\/a>.<\/p>\n<p>Los ataques de diccionario son tremendamente f?ciles de ejecutar cuando se dispone de los <em>hashes<\/em>, y depender? de la calidad de nuestro diccionario, as? como de la complejidad de la clave a analizar, el ?xito de la prueba. Como en cualquier otro ataque de diccionario, se trata de obtener el <em>hash<\/em> de una palabra conocida (presente en el diccionario) y verificar si es igual al del usuario cuya contrase?a estamos analizando. En caso de que coincidan, la clave del usuario ser? la palabra que estemos empleando en el diccionario.<\/p>\n<p><strong>Ejemplos<\/strong><\/p>\n<p>Una de las herramientas m?s conocidas, aunque no es la ?nica, es <em>checkpwd<\/em>, que pod?is obtener en <a href=\"http:\/\/www.red-database-security.com\/software\/checkpwd.html\">http:\/\/www.red-database-security.com\/software\/checkpwd.html<\/a>. Su empleo es extremadamente sencillo, y puede ejecutarse en Windows, Linux y MacOS. Cuenta adem?s con un binario que realizar? la verificaci?n sin mostrar la contrase?a, con lo que se puede preservar el conocimiento de la misma. Adicionalmente permite al auditor ejecutar la verificaci?n tanto <em>offline<\/em> como directamente contra la base de datos, m?todo con el cual no har?a falta obtener la relaci?n de <em>hashes<\/em>.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/oracle_audit\/passwords9.png\" alt=\"Oracle Audit\" \/><\/p>\n<p>En el siguiente ejemplo, conectamos a la base de datos y hacemos la verificaci?n. El operador <em>-quiet<\/em> har? que solo se muestren las contrase?as que sea posible vencer por ataque de diccionario, no apareciendo las claves que resitan el ataque:<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.sahw.com\/images\/oracle_audit\/passwords10.png\" alt=\"Oracle Audit\" \/><\/p>\n<p>Los m?todos de ataque en l?nea no est?n recomendados, salvo que se tenga permiso expreso para ello. Por tanto, si ten?is que analizar <em>offline<\/em> un fichero con cientos o incluso miles de usuarios, emplear la utilidad se vuelve tedioso, ya que para cada caso, hay que introducir el usuario y el <em>hash<\/em>. Para facilitaros la vida, he escrito este sencillo script Perl con el que s?lo hay que procurar tener un fichero llamado <em>usersandpasswordhashes.txt<\/em> en el que en cada linea, separado por al menos un espacio, haya una relaci?n de usuario y <em>hash<\/em>. Los usuarios de sistemas no Windows, si?ntanse libres de modificar las llamadas al sistema.<\/p>\n<pre lang=\"perl\">\r\n#!\/usr\/bin\/perl -w\r\n# chechpwd.exe automation \r\n \t\r\nmy $input=\"usersandpasswordhashes.txt\";\r\nmy $output=\"checkpwd_audit_results.txt\";\r\n\r\nopen (INPUT,\"< $input\") || die \"ERROR: Cannot open entry file $input\\n\";\r\n\t\t\r\nwhile ($line=<INPUT>){\t\r\n\t\t\r\n\tmy @string = split (\" \", $line);\r\n\tmy $userandhash = $string[0].\":\".$string[1];\t\r\n    print \"Analyzing username $string[0]\\n\\n\"; \t\r\n\tsystem(\"ECHO ===================== >> $output\");\r\n\tsystem(\"ECHO $string[0] >> $output\");\r\n\tsystem(\"ECHO ===================== >> $output\");\t\r\n\tsystem(\"checkpwd.exe $userandhash password_file.txt >> $output\");\t\r\n    system(\"ECHO. >> $output\");\r\n\t} \r\n\t\t\t\r\nclose INPUT;\t\r\n<\/pre>\n<p>Ten?is un ejemplo del fichero que produce el <em>script<\/em> en <a href=\"http:\/\/www.sahw.com\/images\/oracle_audit\/checkpwd_audit_results.txt\">http:\/\/www.sahw.com\/images\/oracle_audit\/checkpwd_audit_results.txt<\/a><\/p>\n<p>Pues aqu? acaba nuestro recorrido por la auditor?a de contrase?as en Oracle Database. Espero que estos contenidos os sean de utilidad y os ayuden a mejorar la calidad de las claves presentes en vuestros sistemas.<\/p>\n<p>Un saludo,<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TEMARIO Auditor?a de contrase?as en Oracle Database (1 de 4). Introducci?n y primeros pasos Auditor?a de contrase?as en Oracle Database (2 de 4). Adivinaci?n de Oracle SID (System ID) Auditor?a de contrase?as en Oracle Database (3 de 4). Fuerza bruta sobre claves Oracle Auditor?a de contrase?as en Oracle Database (4 <a href=\"https:\/\/www.sahw.com\/wp\/2010\/03\/10\/auditoria-de-contrasenas-en-oracle-database-4-de-4-ataques-de-diccionario-sobre-claves-oracle\/\" class=\"btn btn-link continue-link\">Leer texto completo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[773,777,772,776,774,775],"class_list":["post-5886","post","type-post","status-publish","format-standard","hentry","category-seguridad","tag-auditoria-oracle","tag-contrasenas-oracle","tag-oracle-audit","tag-oracle-passwords","tag-oracle-security","tag-seguridad-oracle"],"_links":{"self":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/5886","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/comments?post=5886"}],"version-history":[{"count":0,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/posts\/5886\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/media?parent=5886"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/categories?post=5886"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sahw.com\/wp\/wp-json\/wp\/v2\/tags?post=5886"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}