Recuerda un caso horizontal de JS a intranet

prefacio

Hace algún tiempo, participé en un simulacro ofensivo y defensivo. Después de intentar usar vulnerabilidades convencionales en vano, pensé que muchos maestros habían compartido artículos sobre cómo encontrar avances de JS, así que mordí la bala y comencé JS, y finalmente abrí el portal de intranet para obtener permisos de destino e información personal. Comparte el proceso aquí.

Descargo de responsabilidad: en este ejercicio, el organizador proporciona todo el equipo de prueba, todo el tráfico se archiva y se puede auditar, todas las operaciones se completan bajo autorización y todos los datos se destruyen de manera segura después de la finalización.

RBI a través de JS

Solo hay una página de inicio de sesión al principio, los nombres de usuario no se pueden enumerar y los intentos de explosión no tienen éxito.

Use bp para capturar paquetes para ver archivos relacionados con JS y descubra que hay declaraciones sql

Realice un seguimiento de la variable comboxsql y descubra que se define una clase de acción

Busque la ruta de clase de acción y descubra que el método de acceso es a través del empalme de URL

Empalme la ruta e ingrese los parámetros en la declaración sql.La prueba encuentra que la base de datos es una base de datos mssql, y los comandos del sistema se pueden ejecutar a través de xp_cmdshell.

shellcodeloader CS en línea

Después de ejecutar el permiso del sistema, tengo la intención de usar directamente la descarga remota para conectarme sin matar el cs, pero no pude conectarme. Verifiqué el proceso y descubrí que había 360 Enterprise Cloud, lo que desencadenó la intercepción de la ejecución de el exe

En otra forma de pensar, después de descargar el webshell de Godzilla, use la función shellcodeloader de Godzilla para cargar el código de shell de su propio troyano CS y conectarse en línea con éxito.

Descifrar la información de configuración de la base de datos

Al ejecutar cualquier archivo exe, solicita que se deniegue el acceso y el archivo no se puede ejecutar.Al buscar en el archivo de configuración de la máquina local, se encuentra la contraseña de la cuenta de la base de datos, pero la contraseña de la base de datos está cifrada.

Al buscar en los archivos de respaldo del sitio web histórico, se encontró que los primeros archivos de configuración del sistema no configuraron el cifrado de la contraseña de la base de datos, y la prueba encontró que la base de datos podía conectarse.

Además, al buscar el archivo de copia de seguridad de la base de datos de este sistema, accidentalmente encontré otro sistema comercial implementado por el servidor, y el número de cuenta, la contraseña y la IP de la base de datos en el archivo de configuración de la base de datos también se almacenan encriptados.

Se descubre que es un sistema SiteServer CMS al buscar las características del sistema. De la búsqueda en Internet, encontré la herramienta especial de cifrado y descifrado  SiteServer CLI para este cms

También puede obtener la información de configuración de texto sin formato de la base de datos después de ejecutar

Server=x.x.x.x;Uid=sa;Pwd=xxCSthink!@#123;Database=NEWdfgxx

cs abre el proxy para conectarse y la conexión de prueba es exitosa

不过同样发现该数据库服务器也无法执行exe程序,无法运行mimikatz读取管理员哈希,无法建立用户,无法上传tscan进行内网扫描,在这尬住了。最后使用cs插件的信息探测,可探测内网网段资产。

使用17010插件攻击失败

使用proxychains配合msf获取了PC权限Image

使用mimikaz读取管理员密码开启远程桌面发现无法登录限制

msf加载mimikaz模块

privilege::debug
ts::multirdp

获取内网权限

建立新用户,进入个人pc电脑

通过该PC机为据点,上传TideFinger和Tscan搭配进行内网扫描,在这有必要介绍下该两款工具。

Go语言版的TideFinger指纹识别功能: 1、加入Dismap、Vscan、Kscan、fofa、ServerScan等多个指纹 2、并加入了ServerScan的非web服务指纹,优化了资产发现的协程并发效率。3、显示效果借鉴了Dismap,在效率和指纹覆盖面方面应该是目前较高的了

Go语言版的Tscan功能: 1、Tscan为Tide安全团队共同维护的内外网资产扫描工具 2、基础代码随Fscan更新进行迭代 3、与潮声POC漏洞检测平台联动,团队成员每月会编写近期爆出的poc和定期收集整理网上已发布的poc检测模块最后进行更新发布。

扫描内网网段后,接下来是漏洞验证的过程,瞄了一眼结果没有发现能直接getshell的洞,不过指纹探测出了内网其中一ip开放了2222端口为rmi。

Image

虽然拿到了该服务器权限,但是通过对本服务器进行信息搜集时,并未发现其它相关的账号密码信息。

SAM文件获取用户hash

使用mimikaz中sekurlsa::logonpasswords命令尝试读取进程lsass的信息来获取当前登录用户的密码信息,输出结果发现没有administrator等用户信息(主要是因为拿权限上cs时,估计触发了杀软策略导致服务器重启了),然后使用query user发现管理员用户不在线,故无法直接通过内存读取管理员hash。使用mimikaz读取SAM文件中的hash。

#提升权限
privilege::debug
#提升至system
token::elevate
#抓取sam
lsadump::sam

   
   
    
    

hash传递

拿到NTLM Hash后发现无法从在线网站直接解密出明文密码 通过获取的NTLM进行hash传递获取四台服务器权限。

接下来利用hash登录该服务器,继续进行信息搜集。在其中一台服务器内发现了套娃远程桌面,并且为03系统

获取服务器密码规律

通过mimikaz读取该密码(在KB2871997之前,Mimikatz可以直接抓取明文密码)

* Username : Administrator
* Domain : WIN-LAOLOVGMF
* Password : xxxxxy401*1009

* Username : Administrator
* Domain : SD-68QDNY80KE
* Password : xxxxxy101*2006

* Username : SDAdministrator
* Domain : SD-93O4N5O2UD
* Password : xxxxxy501*2003

以及获取数据库配置密码

 <add key="dbHostName" value="."/>
            <add key="dbDBName" value="REPSDU"/>
            <add key="dbUserName" value="sa"/>
            <add key="dbUserPwd" value="sdxxxxxy1108"/>
            <add key="CrystalImageCleaner-AutoStart" value="true"/>
            <add key="CrystalImageCleaner-Sleep" value="60000"/>
            <add key="CrystalImageCleaner-Age" value="120000"/>
        </appSettings>

通过观察发现服务器密码命名规律,猜测为楼层+房间号组合结尾,数据库服务器以房间号结尾。通过组合变形密码后缀,进行内网横向爆破。可获得大量SSH和RDP服务器

Image

通过此方式拿到了靶标服务器权限。

接下来寻找敏感数据,通过对数据库搜寻发现大部分的数据信息已被脱敏存储。

翻看了获取的数据库里涉及业务的公民个人信息发现全被脱敏存储了,企业内部的一些系统登录人员个人信息倒是没有脱敏存储,但是数量较少。

获取个人信息

只好换种思路,打算矛头指向办公区电脑(因一些企业、学校和医院之类的个人信息有时候会存储在个人电脑excel中,方便整理使用,特别疫情时期人员的核酸信息) 继续使用TideFinger详细的搜集内网资产,发现了内网存在oa系统。通过收集数据库中含有管理员、高层、企管专员、总裁、信息中心和主任相关的工号、身份证号、姓名、密码、生日等个人信息。

尝试发现可成功登录oa系统,即使密码错误的账号,也可通过忘记密码重置密码(重置密码需要填写身份证+工号)

最终在oa中发现了2020-2022年的核酸检测名单等,其中包括各地分公司以及各厂区人员信息几十万余条。

总结

随着近些年攻防演练的开展,防守单位对于安全的投入也越来越多,特别是安全防护、安全设备以及蓝队防守人员的加入,使得打点变的尤为困难。所以还是需要不断学习师傅们的思路,从而提高自己的姿势水平呀。

Supongo que te gusta

Origin blog.csdn.net/m0_64910183/article/details/130299967
Recomendado
Clasificación