¡Esta es una revisión vieja del documento!
Mapeo / escaner de puertos/servicios de Corea del Norte
Su contenido:
tar -tf nmap_vuln_hosts_kp.tar.gz nmap_vuln_hosts_kp.gnmap nmap_vuln_hosts_kp.nmap nmap_vuln_hosts_kp.xml resultado.txt Su descompresión tar -zxvf nmap_vuln_hosts_kp.tar.gz nmap_vuln_hosts_kp.gnmap nmap_vuln_hosts_kp.nmap nmap_vuln_hosts_kp.xml resultado.txt
Servicios y puertos que utilizan algunos hosts (los que no están unknown, filtered ni tampoco interesa líneas que ponga Discovered, sólo interesa closed y open)
cat resultado.txt | grep -vE 'unknown|filtered|Discovered' | grep -E 'closed|open' | sort | uniq | column -t 10000/tcp closed snet-sensor-mgmt 1025/tcp closed NFS-or-IIS 1042/tcp closed afrog 1048/tcp closed neod2 1057/tcp closed startron 1060/tcp closed polestar 1069/tcp closed cognex-insight 1070/tcp closed gmrupdateserv 113/tcp closed ident 1247/tcp closed visionpyramid 1433/tcp open ms-sql-s Microsoft SQL Server 2000 8.00.311; RTMa 143/tcp closed imap 19283/tcp closed keysrvr 1972/tcp closed intersys-cache 1984/tcp closed bigbrother 1999/tcp closed tcp-id-port 199/tcp closed smux 2049/tcp closed nfs 2121/tcp closed ccproxy-ftp 22/tcp closed ssh 22/tcp open ssh Cisco SSH 1.25 (protocol 1.99) 23/tcp closed telnet 23/tcp open telnet Cisco router telnetd 256/tcp closed fw1-secureremote 25/tcp open tcpwrapped 25/tcp open tcpwrapped 25/tcp open tcpwrapped 2638/tcp closed sybase 3003/tcp closed cgms 3306/tcp closed mysql 3389/tcp closed ms-wbt-server 3551/tcp closed apcupsd 3800/tcp closed pwgpsi 3851/tcp closed spectraport 4003/tcp closed pxc-splr-ft 4126/tcp closed ddrepl 443/tcp open ssl/https? 443/tcp open ssl/http nginx 1.18.0 443/tcp closed https 443/tcp open ssl/http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips) 443/tcp open ssl/http nginx 1.18.0 443/tcp open ssl/http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips) 443/tcp open ssl/https? 49154/tcp open msrpc Microsoft Windows RPC 5054/tcp closed rlm-admin 53/tcp closed domain 554/tcp closed rtsp 5560/tcp closed isqlplus 587/tcp closed submission 5900/tcp closed vnc 5987/tcp closed wbem-rmi 6005/tcp closed X11:5 6059/tcp closed X11:59 617/tcp closed sco-dtmgr 6789/tcp closed ibm-db2-admin 7443/tcp closed oracleas-https 7938/tcp closed lgtomapper 8086/tcp closed d-s-n 8088/tcp closed radan-http 80/tcp open http Microsoft IIS httpd 7.5 80/tcp open http nginx 1.18.0 80/tcp open http nginx 1.18.0 80/tcp open http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips) 80/tcp open http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips PHP/5.6.2) 80/tcp open http nginx 1.18.0 80/tcp open http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips) 80/tcp open http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips PHP/5.6.2) 80/tcp open http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips PHP/5.6.2) 80/tcp open http nginx 1.18.0 8192/tcp closed sophos 8402/tcp closed abarsd 8873/tcp closed dxspider 8888/tcp closed sun-answerbook 8888/tcp open sun-answerbook? 9666/tcp closed zoomcp 993/tcp closed imaps 995/tcp closed pop3s 995/tcp open pop3s? 995/tcp open pop3s? 999/tcp closed garcon Not shown: 977 closed ports Not shown: 985 closed ports Not shown: 992 closed ports
Puertos, así obtenemos una lista de 58, imprimimos con sed una muestra
cat resultado.txt | grep -vE 'unknown|filtered|Discovered' | grep -E 'closed|open' | sort | uniq | column -t | grep -Eo '^[0-9]+[^\/$]' | sort -n | uniq | sed -n '1,6p' 22 23 25 53 80 113
O en una sóla línea que es como podemos utilizarlo en nmap (quitando la última coma del final)
cat resultado.txt | grep -vE 'unknown|filtered|Discovered' | grep -E 'closed|open' | sort | uniq | column -t | grep -Eo '^[0-9]+[^\/$]' | sort -n | uniq | sed -z 's/\n/,/g' 22,23,25,53,80,113,143,199,256,443,554,587,617,993,995,999,1025,1042,1048,1057,1060,1069,1070,1247,1433,1972,1984,1999,2049,2121,2638,3003,3306,3389,3551,3800,3851,4003,4126,5054,5560,5900,5987,6005,6059,6789,7443,7938,8086,8088,8192,8402,8873,8888,9666,10000,19283,49154,
Es importante saber exactamente que es cada servicio, para ello
cat resultado.txt | grep -vE 'unknown|filtered|Discovered' | grep -E 'closed|open' | sort | uniq | column -t | awk '{print $3}' | sort | uniq | sed -n '4,15p' abarsd afrog apcupsd bigbrother ccproxy-ftp cgms cognex-insight ddrepl domain d-s-n dxspider fw1-secureremote
Ahora para ahorrar tiempo podemos dar la lista a una inteligencia artificial a ver que nos dice de cada uno (sin el sed final claro)
Servicio | Descripción |
---|---|
afrog | No es ampliamente conocido como un servicio estándar. Puede ser una aplicación personalizada o un nombre genérico asociado con alguna implementación específica. |
apcupsd | APC UPS Daemon: Servicio que gestiona dispositivos UPS (Uninterruptible Power Supply) de la marca APC. Monitorea y controla las unidades de suministro de energía ininterrumpida. |
bigbrother | Sistema de monitoreo de redes. Big Brother es una herramienta de monitoreo de servidores que se utiliza para verificar la disponibilidad de los servicios en la red. |
⚠️ ccproxy-ftp | Relacionado con CCProxy, un servidor proxy que puede proporcionar acceso FTP a los clientes a través de un servidor proxy. |
cgms | CGMS (Content Generation Management System): Un sistema para la gestión de contenidos generado, posiblemente relacionado con servicios de streaming o comunicación multimedia. |
cognex-insight | Cognex Insight: Software utilizado para sistemas de visión artificial y análisis de imágenes industriales. |
ddrepl | DDREPL es un servicio relacionado con Replicación de Datos Distribuidos. Es utilizado en plataformas de almacenamiento o bases de datos distribuidas. |
domain | Domain Service: Relacionado con servicios de dominio en redes, como la resolución de nombres de dominio (DNS). |
d-s-n | DSN (Data Source Name) es utilizado en las conexiones de bases de datos, específicamente en las configuraciones ODBC (Open Database Connectivity). |
dxspider | DX Spider: Un software de monitoreo de redes que recopila datos de estaciones de trabajo en una red. |
fw1-secureremote | Check Point SecureRemote: Servicio asociado a Check Point (un sistema de firewall), que permite establecer VPNs seguras entre clientes y servidores. |
garcon | Garcon es un servicio utilizado para la gestión de bases de datos y aplicaciones empresariales. Es una plataforma para comunicación y mensajería en sistemas distribuidos. |
gmrupdateserv | Es un servicio de actualización relacionado con General Electric o General Motors para actualizaciones de software en sistemas embebidos. |
⚠️ http | HTTP (HyperText Transfer Protocol): El protocolo básico para la transmisión de páginas web. |
⚠️ https | HTTPS (HyperText Transfer Protocol Secure): La versión segura de HTTP, utiliza cifrado SSL/TLS. |
ibm-db2-admin | IBM DB2 Administration: Servicio para administrar bases de datos IBM DB2, una base de datos relacional. |
ident | Ident Protocol: Utilizado para autenticar la identidad de los usuarios en un servidor de red. |
imap | IMAP (Internet Message Access Protocol): Protocolo utilizado para acceder y gestionar correos electrónicos en servidores. |
imaps | IMAPS es la versión segura de IMAP que utiliza SSL/TLS. |
intersys-cache | InterSystems Cache: Base de datos orientada a objetos utilizada en sistemas de alto rendimiento y en entornos de salud. |
isqlplus | Oracle iSQL*Plus: Interfaz web para interactuar con bases de datos Oracle. |
keysrvr | KeyServer: Es un servidor que administra licencias y claves para software, especialmente usado en entornos de grandes empresas. |
lgtomapper | No es un servicio ampliamente reconocido; puede estar relacionado con un sistema de mapeo o gestión específico de una organización. |
msrpc | Microsoft RPC (Remote Procedure Call): Un servicio para permitir que programas en una máquina se comuniquen con programas en otra máquina dentro de una red. |
⚠️ ms-sql-s | Microsoft SQL Server (Secure): Protocolo de comunicación de SQL Server para acceso a bases de datos. |
ms-wbt-server | Microsoft Windows Terminal Services: Relacionado con la funcionalidad de escritorios remotos y el acceso a terminales de Windows. |
⚠️ mysql | MySQL: Sistema de gestión de bases de datos relacional, muy popular en aplicaciones web. |
neod2 | NeoD2: Puede referirse a un servicio o software específico. No es un nombre comúnmente asociado con un estándar conocido. |
⚠️ nfs | NFS (Network File System): Protocolo de red que permite compartir archivos y directorios entre sistemas de forma remota. |
⚠️ NFS-or-IIS | Hace referencia a servicios relacionados con NFS o IIS (Internet Information Services de Microsoft), posiblemente usados en entornos de sistemas híbridos. |
⚠️ oracleas-https | Oracle Application Server HTTPS: Servicio asociado con la plataforma de aplicaciones de Oracle que usa HTTPS para comunicaciones seguras. |
polestar | Polestar es un sistema relacionado con el monitoreo de servicios o gestión de flotas, pero el término también se utiliza en diversos otros contextos. |
pop3s | POP3S es la versión segura de POP3 (Post Office Protocol), utilizado para la recepción de correos electrónicos. |
pop3s? | Posible variante o error tipográfico de pop3s. |
pwgpsi | Relacionado con el servicio de impresión en red utilizando el estándar PWG (Printer Working Group). |
pxc-splr-ft | PXC SPLR FT: Puede ser un servicio específico de alguna aplicación o plataforma que utilice este nombre. |
radan-http | Relacionado con RADAN, una plataforma de procesamiento de datos o servicios. Específicamente, puede estar relacionado con HTTP. |
rlm-admin | RLM (Reprise License Manager) es un sistema de gestión de licencias, y rlm-admin es una herramienta administrativa asociada con ello. |
rtsp | RTSP (Real-Time Streaming Protocol): Usado para controlar la transmisión de medios en tiempo real, como audio o video. |
sco-dtmgr | SCO DTMGR: Relacionado con SCO Unix o versiones de SCO OpenServer. |
smux | SMUX (Simple Network Management Protocol Multiplexer): Protocolo utilizado para la gestión de dispositivos de red. |
snet-sensor-mgmt | Relacionado con sensores en sistemas de monitoreo de red. |
sophos | Relacionado con la antivirus Sophos y sus servicios de protección de seguridad. |
spectraport | Es posible que esté relacionado con un software o sistema de monitoreo de red. |
⚠️ ssh | SSH (Secure Shell): Protocolo seguro para acceder a sistemas de forma remota. |
⚠️ ssl/http | Protocolo seguro basado en SSL para HTTP (probablemente lo mismo que HTTPS). |
⚠️ ssl/https? | Variante o error tipográfico de ssl/https. |
startron | StarTron puede estar relacionado con un software o sistema específico de una empresa. |
⚠️ submission | SMTP Submission: Un puerto estándar utilizado para enviar correos electrónicos (normalmente en puerto 587). |
sun-answerbook | Sun Answerbook: Sistema de documentación y soporte para productos de Sun Microsystems. |
sun-answerbook? | Variante o error tipográfico de sun-answerbook. |
sybase | Sybase: Sistema de gestión de bases de datos (ahora parte de SAP). |
tcp-id-port | Servicio que se refiere a puertos TCP específicos, puede estar relacionado con puertos de identificación o servicios personalizados. |
tcpwrapped | TCP Wrapped indica que el puerto está protegido por un wrap (capa de seguridad), como un firewall o sistema de filtrado. |
⚠️ telnet | Telnet: Protocolo de acceso remoto, no seguro, para interactuar con dispositivos a través de una red. |
visionpyramid | VisionPyramid puede estar relacionado con plataformas de análisis o visión industrial. |
⚠️ vnc | VNC (Virtual Network Computing): Protocolo para compartir escritorios y acceder de forma remota a una computadora. |
wbem-rmi | WBEM (Web-Based Enterprise Management): Protocolo de gestión y monitoreo para servidores y dispositivos. |
X11:5 | X11: Protocolo para la gestión de interfaces gráficas en sistemas Unix y Linux. |
X11:59 | Otra conexión X11 para interfaces gráficas. |
zoomcp | Relacionado con Zoom y su software de videoconferencia o gestión de reuniones. |
Qué más podemos hacer? Un escaner a todos esos servicios específicos
vul_kp_pruebas.tar.gz
su contenido:
tar -tf vul_kp_pruebas.tar.gz vul_kp_pruebas.gnmap vul_kp_pruebas.nmap vul_kp_pruebas.xml puertos_kp.txt ips_kp.txt
Nota: Con tr '\n' ',' se pone todo en una línea para que lo pueda leer nmap (no así las ips)
sudo nmap -sV -Pn -O -p $(cat puertos_kp.txt | tr '\n' ',') --script=vuln $(cat ips_kp.txt) -oA vul_kp_pruebas
Algún resultado interesante
cat vul_kp_pruebas.nmap | sed -n '50,74p' Nmap scan report for 175.45.176.75 Host is up (0.43s latency). Not shown: 57 filtered ports PORT STATE SERVICE VERSION 443/tcp open ssl/http Apache httpd 2.4.25 ((RedStar4.0) OpenSSL/1.0.1e-fips) |_clamav-exec: ERROR: Script execution failed (use -d to debug) |_http-aspnet-debug: ERROR: Script execution failed (use -d to debug) |_http-csrf: Couldn't find any CSRF vulnerabilities. |_http-dombased-xss: Couldn't find any DOM based XSS. |_http-stored-xss: Couldn't find any stored XSS vulnerabilities. |_http-vuln-cve2014-3704: ERROR: Script execution failed (use -d to debug) |_sslv2-drown: | vulners: | cpe:/a:apache:http_server:2.4.25: | 95499236-C9FE-56A6-9D7D-E943A24B633A 10.0 https://vulners.com/githubexploit/95499236-C9FE-56A6-9D7D-E943A24B633A*EXPLOIT* | 2C119FFA-ECE0-5E14-A4A4-354A2C38071A 10.0 https://vulners.com/githubexploit/2C119FFA-ECE0-5E14-A4A4-354A2C38071A*EXPLOIT* | F607361B-6369-5DF5-9B29-E90FA29DC565 9.8 https://vulners.com/githubexploit/F607361B-6369-5DF5-9B29-E90FA29DC565*EXPLOIT* | EDB-ID:51193 9.8 https://vulners.com/exploitdb/EDB-ID:51193 *EXPLOIT* | CVE-2024-38476 9.8 https://vulners.com/cve/CVE-2024-38476 | CVE-2024-38474 9.8 https://vulners.com/cve/CVE-2024-38474 | CVE-2023-25690 9.8 https://vulners.com/cve/CVE-2023-25690 | CVE-2022-31813 9.8 https://vulners.com/cve/CVE-2022-31813 | CVE-2022-23943 9.8 https://vulners.com/cve/CVE-2022-23943 | CVE-2022-22720 9.8 https://vulners.com/cve/CVE-2022-22720 | CVE-2021-44790 9.8 https://vulners.com/cve/CVE-2021-44790
Análisis rápido
Apache 2.4.25 es una versión antigua (lanzada en 2016).
OpenSSL 1.0.1e-fips es muy obsoleto y tiene múltiples vulnerabilidades críticas, incluyendo Heartbleed (CVE-2014-0160)
RedStar es una versión de Linux poco común (La de Corea del Norte, que vigila y monitoriza a los ciudadanos).
¿Qué más se puede seguir intentando?
No se pueden escanear puertos/servicios con el estado closed, pero si sabemos los que están usando éste “país”, incluso el host/ip que los usa, se puede crear un script específico (tal vez NSE) que monitorice y detecte cuando estén open, en ese momento haga el escaner y proporcione más información. Existe searchsploit y exploitDb que son bases de datos de exploits oficiales y públicos, pero los exploits más recientes como los que están en vulners.com no son públicos y para poder obtenerlos hay que pagar.