靶机Cyberry
工具
hydra、crunch、dirbuster
涉及到的点
Port knocking(端口试探)
Brainfuck编码
ftp爆破
ssh爆破
openssl enc加密
命令执行漏洞
Linux awk 命令
渗透过程
靶机地址192.168.1.10。开放的端口21、22、80。
访问80端口,在源码里面存在base64加密的字符串,拿到一个secretfile.html。
给了一串二进制数据,没懂什么意思。利用dirbuster和dirb扫到了一些可以访问的页面。整理一下应该用得到的页面
ftp://192.168.1.10:21
http://192.168.1.10/.bashrc
http://192.168.1.10/berrypedia.html
http://192.168.1.10/secretfile.html
http://192.168.1.10/login.php
http://192.168.1.10/register.php
http://192.168.1.10/welcome.php
http://192.168.1.10/phpmyadmin/index.php
http://192.168.1.10/placeho1der.jpg
//点击berrypedia.html页面Elderberry,图片是倒过来的,文字也是镜面对称的,用手机的前置摄像头拍一下,内容是port of tacoma(塔科马港)
http://192.168.1.10/hidden.gif
自己在做的时候一直把注意力放在登录之后的welcom.php页面,但是实在不会做看WP的时候我惊了。突破点在http://192.168.1.10/placeho1der.jpg这这张图片上面。
图片是四个人物和一个港口。突破点在四个人物上面。这四个人分别是Smiley Lewis, Dave Edmunds, Fats Domino和Gale Storm,首先,他们都是艺术家,都演奏了同一首歌曲,名字叫,”I hear you knocking”,年份分别是,1970,1955,1955,1961,原来跟knock有关,linux下有个命令knock可供安装使用。port knocking(端口试探)是一种通过连接尝试,从外部打开原先关闭端口的方法。一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机。涨姿势!!!那么显然说明了有个端口没有开,需要我们knock。knock的顺序就是前面提到的年份。
在使用knock前需要安装这个命令。
sudo apt install knockd
sudo vim /etc/knockd.conf
修改第7行内容为:command = /sbin/iptables -I INPUT 1 -s %IP% -p tcp --dport 22 -j ACCEPT
sudo vi /etc/default/knockd
修改:START_KNOCKD = 1
sudo service knockd start
更多port knocking知识可以看http://einverne.github.io/post/2019/07/how-to-use-port-knocking-hide-ssh-daemon-port.html
然后在我们的kali进行端口试探
再次扫描靶机开放的端口,可以看到新开放了一个61955端口。
扫描这个端口的目录
扫描这个端口下的目录文件,拿到一个看起来特别的目录。
拿到一段Brainfuck编码,解密网站https://www.splitbrain.org/services/ook
解码出来是这样的,估计是用户名,pw是密码。
Hello World!
team members
chuck
halle
nick
terry
mary
kerry
pw: bakeoff
前面在扫80端口的时候开放了ftp和ssh,拿这些用户名和密码去爆破。
先爆破ssh
拿到账号密码,但是无法连接
接着爆破ftp,账号密码一样
成功连接上ftp
在.bash_history中存在.reminder.enc 和.trash两个文件,get .reminder.enc,get .trash到kali。
因为是点号开头属于隐藏文件,在kali的桌面看不到。直接file查看两个文件的文件类型。
第一个是openssl enc加密,第二个是文本,查看第二个文本,试一些密码,结合第一个是加密,
网上找了个脚本,直接放在命令行用,这里会产生大量的文件。
for i in `openssl enc -ciphers | tail -n +2` ; do for j in `cat .trash`; do openssl ${i:1} -d -salt -md md5 -in .reminder.enc -out "decrypted$i$j" -k $j; done;done 2>/dev/null
然后在产生的文件中寻找text类型的文件
拿到一个登陆密码。
在前面对61955端口进行信息收集的时候我们还发现了login.php,用mary/dangleberry69登陆
第一个页面是视频播放,第二个页面给了一些DNS解析地址
在这个地方存在命令执行漏洞。我们尝试在前端修改提交的内容
得到的回应,执行了whoami的命令
确定存在命令执行漏洞,我们利用它来反弹一个shell到kali上。
先监听kali上的8848端口,然后在命令执行处写上反弹shell的语句
反弹拿到shell,并利用Python建立一个交互式的shell
在当前目录下拿到nb-latin文件,看起来是用户名或者密码。
把nb-latin从靶机下到kali上去
把新拿到的这个字典当成密码和前面得到的用户名字典结合继续爆破ssh。
拿到ssh的账号密码。ssh连接
列出当前的目录发现一个invoke.sh文件,想执行,但是权限不够,用sudo -l列出当前用户可执行的指令,我们就发现terry有权限可以执行invoke.sh。
尝试用terry的权限去执行sudo -u terry ./invoke.sh /bin/bash,用户切换到了terry
同样查看当前用户可以执行的命令,可以看到halle可以执行一个awk,AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。
那么我们可以通过awk的命令将用户从terry变成halle。用BEGIN命令,引入system全局变量,执行/bin/bash,sudo -u halle awk 'BEGIN{system("/bin/bash")}'
用户切换到了halle。再次sudo -l,chuck可以执行php文件
那我们可以写php文件去读取chuck目录下的一些东西。echo "" > /tmp/1.php,然后用chuck用户去打开。
然后以同样的方法读取.deleted目录,发现两个文件。
看看ssh_stuff里面有什么。
id_rsa.pub里面是一串rsa的公钥
在看看deleted里面的内容,是一份邮件。
把最重要的内容提取出来,告诉我们密码开头是che,结尾是rry,用到的字母的次数,用到一次的字母,baca一定有。
根据特征我们可以知道密码一共15位,前三位和后三位固定,中间插baca,baca的位置可以变化,剩下没用到的字符在剩余的位置随机组合,我们用crunch生成字典 ,
然后每两个合并成一个大文件,接着爆破root用户的密码。
先生成字典
crunch 15 15 -t che@@@@@bcacrry > password6.txt
crunch 15 15 -t chebcac@@@@@rry > password5.txt
crunch 15 15 -t che@bcac@@@@rry > password4.txt
crunch 15 15 -t che@@bcac@@@rry > password3.txt
crunch 15 15 -t che@@@bcac@@rry > password2.txt
crunch 15 15 -t che@@@@bcac@rry > password1.txt
那么接着爆破root用户的密码。
hydra -l root -P big_password1.txt ssh://192.168.1.10 -f -t 6
歇着吧。字典太大了,等不起了。直接用大神的图
然后ssh连接root用户。
总结
这个靶机非常奇妙,切入的点也让我惊讶,端口试探,没听过,我太菜了。AWK是啥,没听过,果然小白还是小白。言归正传,这个靶机让我最大的感触就是细心,一开始我是忽略了人物肖像那张图的,不懂端口试探是一回事,但是我竟然对这张图片完全没有怀疑,这是最让我感到挫败感的点,信息收集真的需要很细心,渗透测试需要有怀疑和开放的精神,脑洞要大,思路要奇特。这是我这次最深刻的感受
参考链接
https://www.anquanke.com/post/id/154504#h2-2
靶机Cyberry的更多相关文章
- CTF线下防御战 — 让你的靶机变成“铜墙铁壁”
本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...
- Ms17-010进行WEB提权之实践下某培训靶机服务器
前言:该机器为某个其他培训机构的靶机,说实话在这里没炫耀啥,只是给各位学习Ms17010的同学指一条路,我原先也折腾这玩意儿好久,但是就是不行,最近才找到了出路,所以多写两篇文章,把各种需要注意的地方 ...
- metasploit利用漏洞渗透攻击靶机
1.网络测试环境构建 首先需要先配置好一个渗透测试用的网络环境,包括如图1所示的运行Kali Linux系统的计算机,如图2所示的老师给的Windows Server 2000系统的计算机.这两台计算 ...
- web 攻击靶机解题过程
sql注入靶机攻击过程请参考 https://pentesterlab.com/exercises/from_sqli_to_shell/course http://www.sohu.com/a/12 ...
- Fowsniff: 1靶机入侵
一.信息收集 1.存活主机扫描 arp-scan -l 发现192.168.1.13是目标靶机的IP地址 2.端口扫描 接下来用nmap神器来扫描目标IP地址,命令如下: root@kali2018 ...
- digitalworld.local: MERCY靶机入侵
0x01 前言 MERCY是一个致力于PWK课程安全的靶机系统.MERCY是一款游戏名称,与易受攻击的靶机名称无关.本次实验是攻击目标靶机获取root权限并读系统目录中的proof.txt信息 靶机的 ...
- Moonraker:1靶机入侵
0x01 前言 攻击Moonraker系统并且找出存在最大的威胁漏洞,通过最大威胁漏洞攻击目标靶机系统并进行提权获取系统中root目录下的flag信息. Moonraker: 1镜像下载地址: h ...
- FourAndSix: 2.01靶机入侵
0x01 前言 FourAndSix2是易受攻击的一个靶机,主要任务是通过入侵进入到目标靶机系统然后提权,并在root目录中并读取flag.tx信息 FourAndSix2.镜像下载地址: htt ...
- Typhoon-v1.02 靶机入侵
0x01 前言 Typhoon VM包含多个漏洞和配置错误.Typhoon可用于测试网络服务中的漏洞,配置错误,易受攻击的Web应用程序,密码破解攻击,权限提升攻击,后期利用步骤,信息收集和DNS ...
随机推荐
- ceph-csi源码分析(7)-rbd driver-IdentityServer分析
更多 ceph-csi 其他源码分析,请查看下面这篇博文:kubernetes ceph-csi分析目录导航 ceph-csi源码分析(7)-rbd driver-IdentityServer分析 当 ...
- Salesforce LWC学习(三十五) 使用 REST API实现不写Apex的批量创建/更新数据
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.224.0.api_rest.meta/api_rest/resources_compo ...
- Docker 镜像针对不同语言的精简策略
导航: 这里分为几个部分. 相关转载云原生:米开朗基杨 1.Docker减小镜像体积 2.Docker镜像针对不同语言的精简策略 对于刚接触容器的人来说,他们很容易被自己制作的 Docker 镜像体积 ...
- 45、screen命令
1.screen命令介绍: 当我们在使用linux远程工具进行远程访问服务器时,进行远程访问的界面往往不能关掉,否则程序将不再运行.而且,程序 在运行的过程中,还必须时刻保证网络的通常,这些条件都很难 ...
- Docker:docker搭建redis一主多从集群(配置哨兵模式)
角色 实例IP 实例端口 宿主机IP 宿主机端口 master 172.19.0.2 6382 192.168.1.200 6382 slave01 172.19.0.3 6383 192.168.1 ...
- Docker:PostgreSQL-11配置数据持久化
卷的原理图: 主机中的本地目录作为Docker容器内的持久存储卷装载,以便在主机和Docker容器之间共享数据.如果主机希望访问或定期备份在Docker容器内运行的DB服务器写入文件夹的数据或数据库, ...
- The Different of Python 2.x and 3.x
为了不给Python3.0带入过多的累赘,Python 3.x没有考虑向下兼容 1,print 函数 print语句没有了,取而代之的是print()函数. Python2.7 print " ...
- 章节1-Grafana Dashboard的简单应用(2)
目录 使用Grafana创建可视化Dashboard 1. Add data sources - Prometheus 2. 导入 Dashboard 模板 2.1 Node Exporter for ...
- kali中设置共享文件夹
1.在虚拟机设置共享目录 2.查看共享目录命令 root@kali:~# vmware-hgfsclient 3.新建文件夹 root@kali:~# mkdir /mnt/hgfs/ShareDir ...
- 聊聊 Spring AOP 的不为常知的“秘事”
Spring AOP 在我们日常开发中扮演了一个非常重要的角色,对于如何使用 AOP 相信很多人已经不陌生,但其中有一些点却容易被我们忽视,本节我们结合一些"不为常知"的问题展开讨 ...