Página 1 de 1

phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 02 Mar 2006, 19:59
por ThE KuKa
Medidas para asegurar foro phpBB 2.0.19

Hola amigos, ante la confusión actual sobre diferentes Bugs que afectan a foros phpbb centrándonos sobre todo en su versión 2.0.19 y a la espera de una actualización "oficial" siempre teniendo en cuenta la actitud un tanto "pasiva" de la web de sus creadores, phpBB, voy a comentaros unas medidas paliativas que no definitivas hasta la llegada de una nueva versión que los corrija. Otros consejos creo que os serán también útiles para futuras versiones.

El artí­culo en menéame, gracias Kids -:).

Hace unos dí­as daba una información sobre el HTML activado y por qué desactivarlo, no quiero que nadie se pueda equivocar o que mi información pueda ser interpretada erróneamente, ese detalle, el desactivarlo es para una vulnerabilidad pero no para otras (XSS etc).

No voy a referenciar mucho el porqué de estos consejos ya que en cierto modo podrí­a ayudar a fomentar la inseguridad de los mismos, porque no hay parches a dia 21-02-06 , de todos modos, debajo pongo los boletines de seguridad en los que me inspiro, me refiero a que no pongo los exploits, etc. Si alguien tiene dudas o sugerencias puede mandarme un mail a dabo arroba daboweb.com pero al final del articulo va un link a un tema que hemos abierto en nuestro foro de seguridad.

Consejos - (Estos a nivel particular sobre versión 2.0.19)

-Activar la función de confirmar cuenta o registro mediante el código visual que tenéis en el panel de control.

-Desactivar HTML en el panel de control del administrador (HTML off)

-Ocultar la cuenta de correo del Admin y cambiarlas si es preciso por si alguien las pudiera tener

-Prohibir los avatares o imágenes externas

-Otras medidas que implican tocar el codigo,

Haz antes una copia de seguridad de tus archivos y un backup de la base de datos, en tomatoma.WS o phpBB-Es hay información al respecto.


Desactivar la función de búsqueda a users no registrados/loggeados


Buscamos en el archivo search.php (está al principio):

Código: Seleccionar todo

$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
Y añadimos justo después;

Código: Seleccionar todo

if ($userdata['user_id'] == ANONYMOUS)
{
   redirect(append_sid("login.$phpEx?redirect=search.$phpEx", true));
}
Este código está inspirado en este que os pongo debajo, os recomiendo darle un vistazo.

http://www.phpbb.com/files/mods/redirec ... .8.txt.mod

Otra protección extra para evitar ataques DOS en el sistema de búsquedas (Gracias The KuKa -:)
ThE KuKa escribió:Con cTracker evitamos ataques tipo DOS, solo permite usar la busqueda por x usuarios a la vez, con una frecuencia, etc. Con la contraseña otro tanto, ademas el login se hace con el Visual Confirmation, a la vez de tener un LOG completo de todo ello, una lista de IPs tipo SPAM ,se pueden añadir mas IPs desde el ACP (panel de control del administrador)[/quoteicy]

http://www.phpbb-es.com/foro/cr..kertra ... -df41.html
http://www.community.cback.de/viewtopic.php?t=3421


Desactivar la función "olvidé mi contraseña"


Vaciar todo el código del siguiente archivo

includes/usercp_sendpasswd.php

Y poner dentro el tí­pico "función no disponible contacta con el administrador en este correo ...."

Si no tenéis conocimientos de php a nivel de sintaxis o código podéis hacer un documento HMTL y meterlo dentro del includes/usercp_sendpasswd.php , no os preocupéis que las etiquetas HTML las leerá igual.

--------------------

Otras medidas aconsejables para todo tipo de versiones

Algunos ataques van "directos" contra el user admin y otros contra el "ID" o identificador, contra los segundos poco se puede hacer pero para protegerse de los ataques al primero os recomiendo seguir la lógica de Unix en cuanto a la administración o uso normal del foro.

Mi propuesta es esta, cogéis un usuario que hayáis podido tener inactivo de pruebas u otro que registréis e ese momento y le hacéis administrador, lo ocultáis.

Al admin normal le dejáis con el rango (que no permisos) de admin y oculto y le quitáis los privilgios de administrador, lo ocultarlo es también para que no se vea que no sale en color naranja (aunque podéis cambiarle el color desde el ACP os recomiendo ocultarlo)

Administráis el foro con el user oculto que nadie conoce y vuestro admin "oficial" seguirá siendo el mismo pero si se hacen con esa cuenta o la fuerzan no podrán borrar nada ni bajarse un backup de la base de datos etc etc.

----------------

También os recomiendo proteger el directorio del admin mediante está información de Tomatoma

http://www.tomatoma.ws/foros/viewtopic.php?t=5898

---------------

Más consejos;

Tener un especial cuidado con mensajes privados que contengan imágenes, puede que a través de esa imagén consigan vuestra IP con un sencillo código.

Protección u ocultación de todos los correos de moderadores y usuarios que accedan a foros privados o tengan permisos para editar.

Vaciar las bandejas de mensajes privados para que en caso de violentar una cuenta de admin no se vean comprometidas las de otros usuarios, a veces llegan mensajes con información más sensible si cabe a los buzones de los administradores.

Cambiar las contraseñas con más frecuencia, evitar combinaciones que puedan estar en diccionarios sensibles a ataques por fuerza bruta, combinar mayúsculas - minúsculas simbolos y números querí­a decir y a ser posible mayores de 8 caracteres.

Pensar en los foros privados como si fueran "públicos", no dejando información confidencial que en caso de un ataque e intrusión pueda ser utilizada de diferentes modos.

También serí­a recomendable y sobre todo viendo la gran cantidad de cambios para Subsilver en la versión 2.0.19 , dejar el template por defecto o en su caso uno que se actualice con la frecuencia del original (Subsilver).

Tener instalados los mí­nimos mods posibles que os permitan restaurar / parchear el foro en casos de urgencia a la mayor brevedad posible.

Y por último os repito que lo más importante es tener copias de seguridad de vuestras bases de datos y archivos en el servidor además de una gran prudencia y sentido común en la administración del foro y /o movimientos que realicéis en el mismo así­ como los moderadores y co-admins


Vulnerabilidades publicadas en las que me he basado para escribir lo concerniente a la versión 2.0.19 que espero tenga una pronta actualización que corrija estos Bugs;

FrSIRT

http://www.frsirt.com/english/advisories/2006/0461

http://www.frsirt.com/english/advisories/2006/0445

http://www.frsirt.com/english/advisories/2006/0051

CVE MITRE

http://cve.mitre.org/cgi-bin/cvename.cg ... -2006-0450

Hay otras informaciones en las que me inspirado que por la propia seguridad de los foros no comentaré.

Para acabar, dar las gracias a tanta gente que anónimamente trabaja desarrollando software libre que después muchos utilizamos en nuestro dí­a a dí­a y entender todos que parte de la grandeza del software no propietario (sin referirme en este caso a la licencia de phpbb en concreto) reside en que es algo "vivo" y aún con los lógicos fallos de desarrollo, el software propietario tiene los mismos bugs o más aún, solo que quizás el dí­a que te enteras de ellos quizás ya es demasiado tarde...

En especial aprovecho para agradecer también por su labor desinteresada y continuada, a sitios como Tomatoma o phpbb-es.com , demostrando dí­a a dí­a que el mejor soporte no se expresa únicamente en Inglés -:)

Hay otra persona que ha colaborado en este documento y que no estoy autorizado a citar, desde aquí­ te mando un abrazo amigo, el que no salga tu nombre no quiere decir que no lleve también tu firma :D

Este documento se distribuye bajo una licencia Creative Commons, puedes reproducirlo en parte o en su totalidad o incluso mejorarlo (lo cual no será difí­cil XD) con el único requisito de que cites la fuente original.

Debido a la complejidad y combinaciones o parámetros que se pueden dar en un ataque a un foro de este tipo no me responsabilizo de que con estas medidas que son paliativas no definitivas, dichos ataques no se puedan llevar a cabo.

También y aunque esto pueda parecer un contrasentido, si "al otro lado" no hubiera gente que descubriese vulnerabilidades como estas, los avances o mejoras del propio software serí­an más lentos y posiblemente más inseguros... Los sistemas cerrados son muchas veces un claro ejemplo de ello.

En caso que tengais alguna duda sobre este articulo podeis realizar vuestras consultas en este post de tomatoma.WS.

Saludos, Dabo

www.daboweb.com
www.daboblog.com

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 02 Mar 2006, 20:28
por mitch
Interesante ese articulo, lo lei en el Blog de phpbb-Es
y segui muchos de esos pasos
mas vale prevenirse de los graciositos ;(

Respuesta: PhpBB 2.0.19 - Vulnerable - Info By Dabo

Publicado: 02 Abr 2006, 11:51
por SuperNovato
Para los que no sabemos nada de esto, aportaciones como esta son una gozada. Y lo son tanto por lo que dicen como por la claridad con que lo dicen (y eso que algunas cosas no he sabido hacerlas, pero ya iré investigando, porque el problema no es del texto sino de que me informe yo de cosas elementales jejeje).

Que muchas gracias, de verdad.

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 02 Abr 2006, 13:30
por ThE KuKa
En este tema se cuestiona como solucionar Desactivar función "Olvidé mi contraseña"
Lo cuento aqui, y asi queda para todos...

Abrimos el archivo foro_phpBB2/includes/usercp_sendpasswd.php

REEMPLAZAR TODO EL CODIGO POR ESTE OTRO:

Código: Seleccionar todo

set_filenames(array(
	'body' => 'profile_send_pass.tpl')
);
make_jumpbox('viewforum.'.$phpEx);

$template->assign_vars(array(
	'USERNAME' => $username,
	'EMAIL' => $email,

	'L_SEND_PASSWORD' => $lang['Send_password'], 
	'L_ITEMS_REQUIRED' => $lang['Items_required'],
	'L_EMAIL_ADDRESS' => $lang['Email_address'],
	'L_SUBMIT' => $lang['Submit'],
	'L_RESET' => $lang['Reset'],
	
	'S_HIDDEN_FIELDS' => '', 
	'S_PROFILE_ACTION' => append_sid("profile.$phpEx?mode=sendpassword"))
);

$template->pparse('body');

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

?>
Con esto simplemente dejamos que el archivo llame al TPL (plantilla) y ahora se trata de MODificar la plantilla, que es un HTML puro y duro...

Abrir foro_phpBB2/templates/subSilver/profile_send_pass.tpl

REEMPLAZAR TODO EL CODIGO POR ESTE OTRO:

Código: Seleccionar todo

   
	{L_INDEX}
  

  
	 
	  {L_SEND_PASSWORD}
	
	 
	  {L_ITEMS_REQUIRED}
	
	 
	  {L_USERNAME}: *
	  Es obligatorio poner el nombre de usuario.
	
	 
	  {L_EMAIL_ADDRESS}: *
	  Tambien vuestra direccion de correo.
	
	 
	  Correo a esta direccion: *
	  tucorreoATtudominiDOTcom
	
	 
	  Cambiar AT por @ y DOT por punto (.) - Se intentara responder lo antes posible, asi que no mandeis dos correos por favor.
	
	 
	  {S_HIDDEN_FIELDS} 
		Recordar que esto es una medida puntual, hasta que el sitio oficial crea oportuno actualizar phpBB
	  
	
  
Asi esta aqui hoy por hoy, tened en cuenta esta linea por favor:

Código: Seleccionar todo

tucorreoATtudominiDOTcom
Os recomiendo usar ese formato de AT x @ y DOT en lugar del punto (.) asi puede que os consigauis librar de mas de un Robot, Spider, total, SPAM...

Recordar que es HTML "camuflao" asi que no seria problema editarlo a "vuestro modo o bola", por ahora espero que os sirva de ayuda, hasta otra.

S@lu2

Respuesta: PhpBB 2.0.19 - Vulnerable - Info By Dabo

Publicado: 02 Abr 2006, 21:35
por SuperNovato
Y para los que, como yo, o no saben, o no se atreven, o se acojonan, o lo que sea... a la hora de hacer todo lo que acaba de escribir The Kuka, me atrevo a sbrayar la posibilidad del HTM.

Yo, y creo que puede haber más gente como yo (de hecho, es el problema que comenta The Kuka que aparece en tomatoma.ws), me pongo al borde del infarto si tengo que editar un archivo .php y modificarlo. En cambio, se hacer cositas muy sencillas con el Dream (o el Front, o el que usea cada cual). Y si se sabe eso, en el post original de este tema se explica muy bien como eliminar la opción "olvidé mi contraseña":
Vaciar todo el código del siguiente archivo includes/usercp_sendpasswd.PHP Y poner dentro el tí­pico "función no disponible contacta con el administrador en este correo ...". Si no tenéis conocimientos de PHP a nivel de sintaxis o código podéis hacer un documento HMTL y meterlo dentro del includes/usercp_sendpasswd.PHP , no os preocupéis que las etiquetas HTML las leerá igual.
Eso, para gente como yo, puede ser más fácil que editar el codigo. Se crea una HTML con lo de "enví­e su nombres de correo y usuario a tal dirección y se le proporcionará una contraseña nueva", se la llama usercp_sendpasswd.php y la cambias por el usercp_sendpasswd.php original (y, si como ha sido mi caso, te acochina cargarte ese archivo por si vaya usted a saber, pues renombras el archivo original como te dé la gana: usercp_sendpasswd_ESTE_ES_EL_QUE_VALE_QUE_NO_ME_LO_CARGUE_POR_DIOS.php jejejeje).

Respuesta: PhpBB 2.0.19 - Vulnerable - Info By Dabo

Publicado: 03 Abr 2006, 11:53
por SuperNovato
Y siguiendo con las vulnerabilidades, una pregunta sobre si hay una cosa que estoy haciendo mal (seguro que sí­ :oops: ):

¿Es peligroso dejar que en un tema concreto del foro pueda escribir quien quiera, aunque NO esté registrado?

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 03 Abr 2006, 16:55
por Nazcar
peligroso peligroso no lo es,a menos que tengas un ataque DDOS desde muchos bots de publicidad.Lo mejor es que solo registrados puedan postear,Y tener la verificacion por mail activa.



Un saludo

Respuesta: PhpBB 2.0.19 - Vulnerable - Info By Dabo

Publicado: 03 Abr 2006, 17:22
por SuperNovato
Gracias, así­ lo haré.

La verificación por mail (supongo que es el "Activar confirmación visual") ya la tení­a activada, pero, por si las moscas, voy a impedir que en la parte del foro que decí­a se pueda escribir sin registrarse.

Como han dicho otros, supongo que el ataque de algún gilipollas siempre será posible por muchas medidas que se tomen. Pero, al menos, que les sea complicado, coñe.

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 03 Abr 2006, 20:03
por Nazcar
No la confirmacion por mail significa que para activar esa cuenta ha de responder a un mail de activacion tienes las opcion en el AC del portal

Configuracion ---> Habilitar activación de cuenta si pones por usuario se envia un mail al correo de registro,si no lo activa el usuario no estara activo en el foro.


Un saludo

Respuesta: PhpBB 2.0.19 - Vulnerable - Info By Dabo

Publicado: 03 Abr 2006, 21:40
por SuperNovato
Ups... Entendido, entendido (y aplicado, aplicado jejeje).

Supongo que ese habilitar activación de cuenta no entrará en conflicto con el "Activar confirmación visual" que The Kuka aconsejaba arriba que se activara, ¿no?

Joé... Grande es el mar de mi ignorancia, pero más grande aún es el océano de mi ansia de saber (Confuncio). (Y, qué leche, si no lo dijo Confuncio la habrá dicho uno de esos que se dedican a hacer frases pa' la posteridad :P ).

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 03 Abr 2006, 21:43
por ThE KuKa
La verdad es que es preferible el que no sabe, quiere aprender y presta atencion, que el que no sabe, quiere hacer las cosas y pasa de leer.

Por eso creo que has recibido mas o menos respuestas.

No, no causa conflicto alguno la CV con la activacion de cuenta a cargo del usuario.

S@lu2 Super, lo de "novato" se te acabara quitando.

Respuesta: phpBB 2.0.19 - Vulnerable - Info by Dabo

Publicado: 07 Abr 2006, 23:19
por ThE KuKa
phpBB 2.0.20 soluciona lo aqui comentado...

HTML, seguridad sobre smiles_code, avatars remotos, entre otros...

Actualizacion recomendada, eso si, usuarios de XS, Minerva, Plus o cualquier otro "proyecto" basado en phpBB, debeis esperar al paquete oficial del sitio.

S@lu2