JS からイントラネットまでの水平的なケースを思い出してください

序文

少し前に、攻撃と防御の訓練に参加したのですが、従来の脆弱性を利用しようとして無駄だったので、多くのマスターが JS からの突破口を見つける記事を共有していると思い、思い切って JS を起動し、最終的にイントラネット ポータルを使用してターゲットの権限と個人情報を取得します。ここでプロセスを共有してください。

免責事項: この演習では、すべてのテスト機器は主催者によって提供され、すべてのトラフィックはアーカイブされて監査可能であり、すべての操作は承認の下で完了し、すべてのデータは終了後に安全に破棄されます。

JS経由の打点

最初にログイン ページが 1 つしかなく、ユーザー名を列挙できず、ブラストの試みは失敗します。

bp を使用してパケットをキャプチャし、JS 関連ファイルを表示し、SQL ステートメントがあることを確認します。

comboxsql変数を追跡し、アクションクラスが定義されていることを確認します。

アクションのクラスパスを検索し、アクセス方法が URL スプライシングによるものであることを確認します。

パスを結合し、SQL ステートメントにパラメーターを入力します。テストでは、データベースが mssql データベースであり、システム コマンドが xp_cmdshell を通じて実行できることがわかります。

シェルコードローダーオンラインCS

システム権限を実行した後、cs を強制終了せずにリモート ダウンロードを直接使用してオンラインにしようとしましたが、オンラインにできませんでした。プロセスを確認したところ、360 Enterprise Cloud があり、これが実行の傍受をトリガーしました。実行ファイル。

別の考え方では、Godzilla Web シェルをダウンロードした後、Godzilla のシェルコードローダー機能を使用して独自の CS トロイの木馬のシェルコードをロードし、正常にオンラインに接続します。

データベース構成情報を復号化する

exe ファイルを実行すると、アクセスが拒否されたというメッセージが表示され、ファイルを実行できません。ローカル マシンの構成ファイルを検索すると、データベースのアカウント パスワードが見つかりますが、データベースのパスワードは暗号化されています。

歴史的な Web サイトのバックアップ ファイルを検索したところ、システムの初期の構成ファイルにはデータベースのパスワード暗号化が構成されていないことが判明し、テストではデータベースに接続できることが判明しました。

さらに、このシステムのデータベースのバックアップ ファイルを探しているときに、サーバーによって展開されている別の業務システムを偶然見つけました。データベース構成ファイル内のアカウント番号、パスワード、データベース IP も暗号化されて保存されています。

システム特性を検索すると、SiteServer CMS システムであることがわかります。インターネット検索で、この cms 用の特別な暗号化および復号化ツール SiteServer CLIを見つけました。

実行後にデータベースの平文構成情報を取得することもできます。

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

cs はプロキシを開いて接続し、テスト接続は成功します。

不过同样发现该数据库服务器也无法执行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年的核酸检测名单等,其中包括各地分公司以及各厂区人员信息几十万余条。

总结

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

おすすめ

転載: blog.csdn.net/m0_64910183/article/details/130299967