靶机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 ...
随机推荐
- 通过Cloudflare API进行CDN刷新
1.Cloudflare CDN刷新说明 1.Cloudfalre同Akamai一样,只有刷新,没有预热的概念. 2.通过Cloudflare API进行刷新,需要用到登录用户的[邮箱][api密钥] ...
- Vue(13)子组件与父组件超详细解析
父组件和子组件 我们经常分不清什么是父组件,什么是子组件.现在来简单总结下:我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件.具 ...
- C++智能指针之shared_ptr与右值引用(详细)
1. 介绍 在 C++ 中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露.解决这个问题最有效的方法是使用智能指针(smart pointer).智能指针是存储指向动态分配(堆)对象指针 ...
- Linux:Linux更新yum方法
[内容指引]进入目录:cd查看目录下的内容:ls重命名备份:mv从网络下载:wgetyum更新:yum update 第一次运行yum安装软件前,建议更新yum. 1.进入yum源目录 命令: cd ...
- 资源:HTML调色板
调色板路径 https://encycolorpedia.cn/
- ollvm混淆的某apk题目的逆向分析
打开jadx,就发现了我们的老朋友数字壳 典型的类抽取壳,直接上fart脱就完事了,我这里使用的是fart的frida脚本,省去了刷机的步骤 这里的脱壳脚本,自行去github的寒冰大佬那边clone ...
- Whitzard OJ Introduce to packing
1.概述 这个就是个smc,为什么会归于加壳,我个人理解是和UPX的运行方式有点像把,不对应该是说和压缩壳的运行方式 很相似,都是先运行一段解密代码,之前的符号表也替换了下 2.解题 有两种方式一种是 ...
- 使用Hugo框架搭建博客的过程 - 前期准备
前言 这篇教程介绍了如何搭建这样效果的博客. 所需步骤 可以从这样的角度出发: 注册域名. 使用CDN加快网站访问速度. 网站内容需要部署在服务器或对象存储平台上. 重要的是放什么内容.博客需要选择框 ...
- ESP32低功耗模式
1.ESP32 系列芯片提供三种可配置的睡眠模式,针对这些睡眠模式,我们提供了了多种低功耗解决方案,用户可以结合具体需求选择睡眠模式并进行配置.三种睡眠模式如下: Modem-sleep 模式:CPU ...
- asp.net mvc中的安全性
1.重复提交攻击:通过Bind特性指定要绑定和不绑定的值. 2.Cookie盗窃:阻止脚本对站点中Cookie的访问,webconfig文件中添加<HttpCookies domain=&quo ...