Artículo Comando G

Iniciado por Fraile, Enero 31, 2022, 06:05:36 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 31, 2022, 06:05:36 AM Ultima modificación: Febrero 02, 2022, 03:13:06 AM por AXCESS
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

¿Has conseguido explotar una vulnerabilidad y tienes abierta una consola en el objetivo?.

Enhorabuena!!!!, ya en uno de mis anteriores artículos, os hablaba de la técnica "Chismosa Digital" (podéis leerlo en este enlace: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta ) en ese artículo, quería hacer ver, como aprovechando la brecha de seguridad se puede buscar información en el objetivo, para poder "pivotar" hacia otro equipo.

Con este artículo, me gustaría ir reforzando un poco el anterior. En este caso, me gustaría hablar, sobre los comandos de consola que podéis usar para sacar la máxima información posible del objetivo.
En este artículo veréis comandos de consola, para controlar:

·        Lo procesos.
·        Los servicios.
·        El registro.
·        El programador de tareas.
·        Sesiones.
·        El corta fuegos.
·        ....
Vamos a suponer que he conseguido, una consola en un objetivo. El objetivo es una maquina Windows.



Realmente lo que estoy publicando, es una auditoria real.

El primer comando que yo probaría seria "whoami", este comando os va a decir que privilegios tenéis dentro del objetivo, pues dependiendo de los privilegios que tengáis podréis hacer más o menos cosas.



Si como en este caso sois "System", lo sois "todo" , bueno..... a ver... puede que en algunos casos no podáis hacer ciertas cosas porque el administrador de sistemas, ha protegido ciertos accesos, en este mismo artículo un poco más abajo, pondré un ejemplo al intentar grabar la "SAM" y "System" del registro de Windows.
Aquí tenéis una foto de los diferentes roles que os devolverá "whoami".



- Usuarios autentificados (SID: S-1-5-11): Son Usuarios que pertenecen o forman parte de Active Directory de una red de dominio.

- Anonymous Logon (SID: S-1-5-7): Son usuarios que no disponen de una cuenta de usuario en Servicios de dominio de Active Directory, pero que pueden recibir una invitación para participar de forma remota en una conferencia local.

- IUSR (SID: S-1-5-17): Este grupo sirve para dar permisos a las cuentas de servicio encargadas de ejecutar los pools de aplicación del servidor Web IIS (Internet Information Services).

- Interactive (SID: S-1-5-4): Representa a los usuarios que han abierto sesión localmente en la máquina y que no acceden a un recurso de la máquina a través de la red.

- Local Service (SID: S-1-5-19): Los miembros de este grupo tienen permiso para leer el registro de eventos del equipo local.

- Dialup (SID: S-1-5-1): Son usuarios conectados a través de una conexión de acceso remoto.

- Network (SID: S-1-5-2): Son los usuarios que acceden a un recurso de la máquina a través de la red, a diferencia de los usuarios que han abierto una sesión localmente para acceder a los recursos. No incluye a los usuarios que inicien sesión mediante una sesión de Escritorio remoto (mstsc-Miscroft Terminal Service Connection).

- Service (SID: S-1-5-6): Son los usuarios que inician sesión como servicio.

- Network service (SID: S-1-5-20): "Servicio de red" es una cuenta utilizada por los servicios que necesitan acceder a recursos en la red bajo la identidad de la cuenta máquina en la cual se ejecutan. Tiene menos privilegios y permisos localmente que el "System Local".

- Local service (SID: S-1-5-19): Es una cuenta utilizada por los servicios que necesitan acceder a recursos locales y no por red (se identifica anónimamente en la red). La diferencia entre Local Service y System Local reside en que System Local posee permisos sobre la red (los mismos que Network Service), mientras que Local Service se autentifica anónimamente en la red.
Network Service y System Local se autentifican en Kerberos utilizando la cuenta máquina del equipo definida en el servicio de Active Directory. Muchos servicios de Windows 7 que no necesitan acceder a la red se ejecutan bajo la identidad de Local Service. Este funcionamiento es el que siempre ha existido en los sistemas Microsoft. Con Windows y 2008, nuevas directivas de grupos permiten a la cuenta Local System autentificarse en NTLM en la red, y no de forma anónima. Este comportamiento no está activo de forma predeterminada, sino que es necesario activarlo.

- System (SID: S-1-5-18): Representa el sistema operativo. Permite asignar permisos específicos al sistema. Se llama también Sistema Local
(Local System). Es la cuenta que tiene más derechos y privilegios en la máquina.

- Batch (SID: S-1-5-3): Son las cuentas utilizadas para ejecutar tareas programadas (Control Schedtasks).

- Terminal Server User (SID: S-1-5-13): Son los usuario que abren una sesión de terminal server en la máquina.

- Remote Interactive Logon (SID: S-1-5-14): Son los usuarios conectados mediante un inicio de sesión de escritorio remoto.
Otros usuarios del sistema para realizar otras funciones determinadas:

- Usuarios de Operadores de cifrado: Como sería lógico, los miembros de este grupo tienen permisos para realizar operaciones de cifrado.

- Usuarios de Operadores de copia de seguridad: Encargados de realizar las copias de seguridad del equipo programadas o automáticas de
Windows o lo que se le hubiese establecido.

- Usuarios del monitor de rendimiento: Los miembros de este grupo pueden acceder a los datos del Monitor de rendimiento (perfmon.exe) localmente y en remoto.

- Usuarios del registro de rendimiento: Los miembros de este grupo pueden programar el registro de los monitores de rendimiento, activar los proveedores de seguimiento y recoger el seguimiento de eventos simultáneamente de forma local y a través de un acceso a este equipo.
Añado una nota sobre los SID de los usuarios:

- Administrador: SID: S-1-5-500

- Invitado: SID: S-1-5-501

- El resto de usuarios locales, generados a partir de la referencia del perfil Default, empezarán ordenadamente a partir del siguiente SID: S-1-5-1000, S-1-5-1002 , S-1-5-1003, etc. y así sucesivamente por cada usuario local creado.

Existen muchos más grupos de usuarios predeterminados en Windows, aquí menciono los que para mí son los más usados y relevantes.
Más información sobre los SID (Identificadores de seguridad): No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Otro comando interesante seria "SystemInfo", os dará toda la información del sistema objetivo, sistema operativo, versión, arquitectura, procesador, service pack instalados.......



Ya que estamos viendo información del objetivo, otro comando puede ser "fsutil", este comando entre otras cosas os puede dar información de las unidades de disco que tiene el sistema objetivo.



Ummmmm!!!!, la información es poder!!!!. Más comandos, pues os aconsejo que estudies el comando "NET", os dará mucha información, en este caso la información que podáis obtener estará ligada a los privilegios que tengáis dentro del objetivo, ya sabéis que "whoami", os da esta información.



En este caso me gustaría saber, las cuentas de usuario que están dadas de alta en el objetivo. Para este menester, usare "Net User".



Si quisiera ver una cuenta en concreto usaría "Net user <cuenta>". Esto me dará información de cada cuanto tiempo cambia la clave, al grupo que pertenece......



Una vez que tengo las cuentas del sistema objetivo, podría querer ver de esas cuentas quien son administradores. Bien pues usare "Net localgroup administrator" .





También podría querer ver, las políticas de seguridad de las cuentas de usuario puestas por el administrador a nivel general. Usare "Net accounts".



Esta información me viene bien, por si quiero hacer un ataque de fuerza bruta... ya sé a qué atenerme.....11 caracteres de password!!!! Madre mía, toda una vida para sacarla!!!. Me dice también, que las cuentas se bloquean a los 3 intentos..... Creo que voy a olvidar la fuerza bruta.....
Con este comando también, puedo crear usuarios, "Net user <nombre de usuario> <clave> /add". También lo podría meter dentro del grupo de administradores, "Net localgroup "administrator" <nombre de usuario> /add".... Os recomiendo que lo estudies bien, merece la pena, podréis meteros en escritorios remotos.......

Una vez que tengo un usuario creado, podría querer, compartir la unidad "C:" del objetivo para poder acceder a ella, de una forma cómoda por Windows. Usare "Net Share".



En este caso, he compartido toda la unidad "C:" del objetivo y he agregado al usuario que he creado previamente "Tss", con todos los privilegios sobre la misma, escritura, lectura....

Ahora podre conectarme cómodamente desde mi sistema operativo Windows, con el objetivo, para hacer esto y ya que estamos viendo comandos de consola, lo voy hacer de la siguiente forma. Abriré un CMD en mi ordenador, seguidamente pondré "Net use".



Ahora si abro el explorador de archivos de mi Windows, podre entrar en la unidad "J:" y estar moviéndome cómodamente por la unidad "C:" del objetivo. Y claro esta podría subir, también de una forma muy cómoda, algún programa para monitorizar el objetivo.....

Llegados a este punto, podemos intentar sacar los hash de las cuentas locales del sistema objetivo.
Puesto que tengo acceso desde mi ordenador a toda la unidad "c:" del objetivo, podría intentar conseguir la "SAM" y el "System" del sistema objetivo para obtener los hash de las cuentas. Si soy capaz de obtener los hash de las cuentas locales, podría intentar un poco más adelante realizar un "pass the hash" y tomar el control de otras maquinas.

Para este menester, voy a usar el comando "Reg".  Esta instrucción controla todo lo relacionado con el registro del sistema Windows, os animo a que la estudies.



En este caso, aun teniendo privilegios de "System", que se supone que puedo hacer "todo", el sistema objetivo me dice que no tengo los privilegios necesarios..... Ummmmm!!!! Vaya faena!!!!. ¿Y esto, por que puede ser?. En este caso, el sistema objetivo, pertenece a un dominio, y se han aplicado en este sistema objetivo las directivas de seguridad "GPO" puestas por el administrador de sistema, seguramente aun siendo "System", para que el comando "Reg Save" funcionara debería de ser un administrador de dominio.
Pero bueno, como este artículo va de "Comandos G", no me quise quedar con las ganas de probar "algo", por si los tiros fueran por ahí....

Resulta que el registro de Windows, también funciona con privilegios, un administrador de sistemas podría decir que usuarios tiene derecho de lectura, escritura.... Dentro del registro. Pues bien, tenemos un "Comando G", que por cierto os aviso que tengáis mucho cuidado al manipularlo, pues puede daros un susto. Este comando es "Regini" y nos permitirá dar permisos sobre el registro, a los usuarios o grupos  que queramos. Con "Regini /?" podéis ver como se usa.

En este caso y voy a crear un archivo llamado "reg.ini", donde voy a poner los permisos que quiero activar:



Con esta línea le estoy diciendo que aplique ciertos permisos el [1 7 17] sobre el registro dentro de su directiva de "SAM". Los permisos con los que podéis jugar son:



Para aplicar los permisos, uso:



, comentaros..... que no hubo suerte, sigo sin poder acceder a mis fichero "SAM" y "System"....buffffff, Este administrador es bueno.

Aprovecho para saludar a mi padre y a mi madre..... Es broma, sigamos con el artículo. Me gustaría que vierais como con otras herramientas, en este caso de linux bastante conocidas y muy buenas por cierto, como "CrackMapExec", el fallo se seguiría produciendo.

CrackMapExec.

Qué decir de esta herramienta..... Automatiza muchos de los procesos para un auditor de seguridad. Es una de las herramientas más potentes que he conocido. Su modulo de "SMB", es realmente bueno. Entre algunas tareas a destacar, está,  la de realizar "Pass The Hash". Y claro está, también puede dumpear la "SAM" del sistema objetivo Windows.

Quiero mostrar, como con este objetivo con el que he puesto todos los ejemplos, el cual ha dado error al utilizar el comando "Reg save", para intentar obtener la "SAM" y "System" y hacerme con los hash. Usando otras herramientas, también se producirá dicho error. Con esto quiero decir, que si un sistema objetivo está bien administrador, las herramientas básicamente siguen el mismo patrón de actuación del comando presentado en este caso "Reg Save". No digo que no puedan existir herramientas que intenten en el caso del que estamos hablando, dumpear la "SAM" por otros medios.... Pero sinceramente lo veo complicado si el sistema objetivo está correctamente administrado.

En definitiva las herramientas automatizan los procesos que podemos hacer en este caso de forma manual, con comandos de consola, pero si falla el comando de consola, lo más seguro es que falle también la herramienta.
Voy a usar "CrackMapExec", para intentar dumpear la "SAM" de este objetivo:



Aprecio que nada de nada, no ha sido posible el dumpeo......bufff!!! Bueno, no pasa nada mas adelante intentaremos otra cosa.
Con objeto de que veáis, que realmente la herramienta funciona correctamente, en esta misma auditoria, en la IP 192.168.16.252, se encuentra un server Windows 2003, vulnerable también, en el cual ya me cree un usuario y lo metí en el grupo de administradores como he hecho con el objetivo de este artículo, voy a probar esta misma herramienta sobre el 2003 server......



Como se puede ver, la herramienta funciona perfectamente siempre y cuando tengamos realmente todos los permisos necesarios. Ni que decir tiene que el comando "Reg save", también hubiera funcionado sin ningún problema.

Os animo, en este caso encarecidamente a que estudies esta herramienta, realmente merece la pena. Os dejo un enlace: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Bueno, sigamos con el artículo, no pasa nada, un poco más adelante, probare otra forma de poder hacerme con los hash. ¿Seguimos viendo algunos "Comandos G" más?....

Si quisiera ver todos los procesos activos, que están corriendo en el sistema objetivo, podría usar "tasklist".



Si en un momento determinado quisiera "matar" alguno de estos procesos, podría usar "taskkill". No va a ser el caso en este artículo, pero os animo también a estudiar este comando.

Si quisiera ver los servicios activos en el sistema objetivo, podría usar "sc query".



Este comando "Sc", os ayudara a trabajar con todo lo relacionado con servicios de Windows, os animo a que lo estudies.

Para iniciar o parar un servicio de Windows, se puede usar "sc start <servicio>" o "sc stop <servicio>" también se puede con "Net start <servicio>" o "Net stop <servicio>".

Os dejo un enlace: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Supongamos que quiero, meter un programa que monitorice al objetivo cuando este inicie sesión..... En mi artículo de "¿Quién me espía? ( No tienes permitido ver enlaces. Registrate o Entra a tu cuenta )", mencionaba algunas formas de meter una ejecución de un programa, una de ellas era con el "programador de tareas de Windows".  Bien pues para poder crear tareas programas desde la consola podéis usar el comando "schtasks", si quiero ver que tareas programadas tiene el sistema objetivo:



Retomemos de nuevo lo de intentar obtener la "SAM" y "System", me he fijado que este objetivo tiene una tarea para realizar copias de seguridad del registro, periódicamente.... La tarea sería la siguiente:



Esta tarea le dice al sistema operativo, en este caso al del objetivo, que cree copias de seguridad del registro, estas copias quedarían en la siguiente carpeta del sistema:



Si intento copiar el archvio "SAM" o "System", me dira que no puedo porque hay un proceso que los está usando.... Aquí la solución pasaría por intentar para la "tarea" vista en la foto anterior. Pero no me funciono... así que lo que pensé fue deshabilitar la tarea y forzar un reinicio del sistema, quizás esto provocara que al no ejecutarse dicha tarea, los fichero que deseo copiar estuvieran liberados.... Para desactivar y forzar a parar de nuevo la tarea de "RegIdleBackup", use:



Con la foto superior le digo al programador de tareas que desactive la tarea de copia de seguridad.

Con la siguiente foto fuerzo de nuevo a parar la tarea.



La tarea de copia de seguridad del registro "RegIdleBackup", estaría desactivada, ahora podría reiniciar la maquina objetivo, para que la próxima vez que entre.... Con suerte la tarea no se ejecute y pueda copiar mis archivos "SAM" y "Sytem".

Para reiniciar desde consola podéis usar "shutdown /r", bueno pues este "Comando G", no funciono, porque el administrador del servidor objetivo, es muy muy bueno y lo tiene desactivado mediante directivas de seguridad GPO.

Así que en teoría, si el administrador, reiniciara el servidor, podría acceder a mis ansiados "SAM" Y "Sytem", pero el reloj corre siempre muy deprisa para un auditor....

Bueno, pues más de los mismo, estudiar este gran comando para gestionar las tareas programadas "schtasks", puede ser de mucha utilidad.
Si quiero ver qué programas están corriendo en el sistema objetivo y están haciendo uso de socket TCP/UDP, usare "Netstat".



Venga a estudiar un poco más......
"Comando G", "Query", este comando yo lo uso mucho para ver las sesiones abiertas en el servidor objetivo en el que estéis.



Este comando se puede intentar complementar con el comando "tscon" os dejo un link del gran maestro, Chema Alonso No tienes permitido ver enlaces. Registrate o Entra a tu cuenta para que veais como se pueden robar sesiones, o hacer movimientos laterales.

Por último, me gustaría, tocar el "firewall", si el corta fuegos, aquí os dejo un enlace muy interesante de cómo utilizarlo.
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

El comando para controlar el corta fuegos es "netsh".

Aquí un ejemplo de cómo desactivar el cortafuegos en redes de dominio y en red privada.

sc config MpsSvc start= auto
net start MpsSvc
netsh advfirewall set allprofiles state off
netsh advfirewall set publicprofile state on

Recordar, somos mucho en esta industria, el compartir es poder para todos, así que os animo a compartir.
Tanto en Windows como en Linux, sobre todo en Linux, existen muchísimas herramientas para la ciberseguridad, os suena seleccionar un payload que se llama "meterpreter".... Siiiiii!!! hace de todo, saca hash, mete troyanos, escritorio remoto..... ¿Pero qué pasa cuando este payload, es anulado por un antivirus del sistema o el mismo Windows Defender?, saber moverse con comandos de consola es importante.

Recuerdos para compañeros, para los que me seguís  y clientes: David Gaona, Guillermo Ezquerra, Gabriel Arcos, Raul Rivero, Fernando Laca, Pedro Antonio Aquino..... y a todos los que no nombro pero sabéis que os tengo presentes. A Fernando Lopez, por varias cosas, la primera gracias por realizar mi curso de Ensamblador, de corazón espero que te haya servido y la segunda, por tu dedicatoria de uno de tus artículos, la cual  quiero copiar, gracias a mi mujer Natalia Monfort, por todo tu apoyo.

Dejar por favor que os diga algo, esta disciplina de ciberseguridad es bonita, porque nunca paras de estudiar, The Security Sentinel, está apostando por nuevo cursos, donde no solo queremos que aprendáis, queremos que sepáis desarrollar, un loro puede aprender, pero no puede desarrollar, saber usar las herramientas del mercado esta genial, ¿pero qué pasa si no obtienes el resultado deseado?, nuestro objetivo es formar para desarrollar.

Un cordial saludo a todos.

Fuente Original: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Ufff esta buenisimo el aporte! Muchas gracias!


Muchas gracias Antrax. Un cordial saludo.

que buen aporte y ahora que ya conseguí la base que quería en programación y vuelvo a la ciberseguridad y al hacking me viene de locos. Muchas gracias Fraile

SHADOW_PANDA

"Los corruptos nos temen, los honestos nos apoyan, los héroes se unen a nosotros"
              

Me alegra que te haya gustado, gracias a ti.