Vulnhub实战-JIS-CTF_VulnUpload靶机👻
Vulnhub实战-JIS-CTF_VulnUpload靶机
下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/
你可以从上面地址获取靶机镜像,然后导入VM中开启就行。即刻开干!!
1.获取靶机ip,以及开启了哪些服务
我们在VM中导入靶机开启之后,就不用管了,在kali里面进行主机探测,端口扫描,服务发现
我们首先进行主机发现:
因为我的局域网内虚拟机开得比较多,如果你也有这种情况,你可以通过MAC地址找到对应的IP地址,VM里面MAC地址在设置里面查看。我们发现192.168.33.117
就是那台靶机。接下来进行端口扫描,服务探测!
nmap -sn 192.168.33.0/24
2.端口扫描,服务发现
nmap -sV -p- -O 192.168.33.117
我们可以看到开启了22,80端口,证明开启了SSH,web服务,还发现了操作系统是ubuntu,这三个信息将是下面进行渗透的关键。
3.系统漏洞分析
针对 SSH 服务,我习惯从弱口令和系统漏洞两方面进行攻击。弱口令方面,我用常见用户名和常见密码进行暴破,虽然几率不大:
我们可以用kali自带的hydra工具进行SSH的账号密码爆破,字典自备噢!
https://lecloud.lenovo.com/share/4iPvrb3BgyoW4aMwu(密码:k9zu)
你也可以用这个字典!不要问我为啥不分享百度网盘,因为我没有会员!
payload: hydra -L '/root/fuzzDicts-master/userNameDict/user.txt' -P '/root/fuzzDicts-master/passwordDict/top6000.txt' -e sr -f -V -t 30 -I 192.168.33.117 ssh
这个得等他扫一会,我们等会再来看看,大概率是扫不出来的!比较耗时间!
SSH 服务的系统漏洞查找方面,我推荐 searchsploit 工具。精确搜索 OpenSSH 7.2p2(这个是我们上面发现的版本!):
searchsploit OpenSSH 7.2p2
我们发现存在一个用户名枚举漏洞,刚好,要能找到有效用户名,将有助于暴破 SSH 口令。但是这个py文件我的机器少了一些模块,跑不起来。不过大概率应该跟上面差不多!我们也可以看看apache版本apache httpd 2.4.18存在什么漏洞,让我来瞅瞅!
先前服务探测时找到的准确版本为 apache httpd 2.4.18,那么只有一个漏洞内存泄漏的漏洞,没多大价值。
这个阶段系统漏洞只能分析到这个程度,虽然知道发行套件为 ubuntu,但不知道具体版本、系统架构,很难准确的找到可用的操作系统漏洞,所以,没必要继续在系统漏洞层面耗时,后续如果能拿到 webshell,提权时再来深入分析,现在移步 web 应用层面。
4.Web应用分析
- 访问之前找到的 web 端口自动重定向到 http://192.168.56.6/login.php:
看了下 html 源码,没啥有价值的信息;枚举用户名也不能;或许可以暴破下弱口令,刚才的 SSH 暴破还没完呢,web 登录暴破还是先放一放,看看有无其他页面。
大概 2015 年之前,扫 web 端口 – 找 web 后台 – 弱口令登后台 – 上传一句话,是常见的高成功率的攻击手法,其中,能否找到后台地址,是成功的关键。换言之,我需要发现更多 web 内容。具体而言,我希望找到更多文件、页面、子目录,最好能找到源码打包的敏感文件、后台运维的管理页面、存放业务逻辑的子目录,以拓展攻击面。通常,我习惯结合枚举和爬虫两种方式来发现 web 内容。
枚举之前,借助 firefox 插件 wappalyzer 确认后端语言为 php:
因为确定了该靶机的后端语言是用PHP写的,所以我们通过dirsearch目录扫描工具扫描一下php的目录:
python3 dirsearch.py -u 'http://192.168.33.117' -e php -i 200
我们发现扫出来了几个目录,凭我CTF的直觉,robots.txt里面可能有好东西,让我来瞅瞅!的
网页打开robots.txt,我们发现如下页面
1.第一个flag
我们打开/flag文件获得第一个flag
2.第二个flag
接着我们依次查看剩余各个目录,我们发现其他的都打不开,只有/admin_area/,/uploaded_files这两个页面能够打开,我们通过uploaded页面猜测应该存在上传点,打开/admin源码之后发现第二个flag,还有一对用户名密码。
3.第三个flag
我们通过这个用户名密码登录之后发现果然有一个上传点。心机之蛙,一直摸你肚子!果然不出所料
接下来我猜你们应该也能想到,上传一句话木马直接连蚁剑干!!!
一句话木马我相信在做的各位都会上传,这里并没有做任何限制!,然后我们进入蚁剑就是一顿看,发现有一个flag.txt和一个hint.txt,我们在hint.txt发现第三个flag,然后还有一句话,提示让我们找到用户technawi的密码去读这个flag.txt,果然这个flag.txt不能直接打开
4.第四个flag
刚刚上面看到了,我们接下来需要通过去找到technawi用户的密码,我们通过linux的命令去搜寻technawi用户有关的文件!直接在蚁剑的虚拟终端执行即可!
find / -user technawi -type f 2>/dev/null
//还是吃了linux命令不熟的亏呀,这个2>/dev/null一开始并不知道啥意思,百度一下才知道这是将标准出错都丢入到linux的黑洞文件了,看不见了,终端就不会有那么多冗余信息,详细细节请自行百度!
接下来我们挨个打开看看,发现在/etc/mysql/conf.d/credentials.txt文件内存在technawi用户的密码哦,并且还有第四个flag。
不要忘了这里还有应该.sudo_as_admin_successful文件,后面会用到噢!
5.第五个flag
拿到这个用户名密码之后我们应该干嘛呢,还记得刚开始扫描端口发现了22端口开启了SSH服务嘛,连接SSH去查看最后一个flag.txt文件,应该最后一个flag在那里面了。
ssh technawi@192.168.33.117
发现成功连接,直接去/var/www/html目录下面去读取flag.txt,成功获取第五个flag!!!
5.提权
不要忘了刚刚说到的.sudo_as_admin_successful文件,说明technawi用户能够用自己的密码登录root用户
最后成功获得5个flag!提权成功!!!★,°:.☆( ̄▽ ̄)/$:.°★ 。
Vulnhub实战-JIS-CTF_VulnUpload靶机👻的更多相关文章
- Vulnhub实战-dr4g0n b4ll靶机👻
Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...
- Vulnhub实战-doubletrouble靶机👻
Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...
- Vulnhub实战-DockHole_1靶机👻
Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...
- Vulnhub实战-Dockhole_2靶机👻
Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...
- Vulnhub实战-grotesque3靶机👻
Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...
- Vulnhub实战-FALL靶机👻
Vulnhub实战-FULL靶机 下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/ 1.描述 通过描述我们可以知道这个靶机枚举 ...
- Vulnhub实战-rtemis靶机👻
Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...
- vulnhub之SP:Harrison靶机
下载地址:‘https://www.vulnhub.com/entry/sp-harrison,302/’ 环境:靶机放在virtualbox上运行,网卡模式 攻击机:kali Linux运行在VMw ...
- Vulnhub实战靶场:ME AND MY GIRLFRIEND: 1
一.环境搭建 1.官网下载连接:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.下载之后,使用Oracle VM Virtual ...
随机推荐
- python进阶(20) 正则表达式的超详细使用
正则表达式 正则表达式(Regular Expression,在代码中常简写为regex. regexp.RE 或re)是预先定义好的一个"规则字符率",通过这个"规 ...
- Golang slice作为函数参数
slice底层其实是一个结构体,len.cap.array分别表示长度.容量.底层数组的地址,当slice作为函数的参数传递的时候,跟普通结构体的传递是没有区别的:如果直接传slice,实参slice ...
- mybatis第一个程序随笔
今天继续学习了解如何写一个mybatis程序 创建了Dao层 1.1 创建一个UserDao接口 1.2 创建UserMapper.xml文件 在mybaits中文手册查找配置信息 <?xml ...
- JVM双亲委派模型及其优点
JVM双亲委派模型及其优点 什么是双亲委派模型? 双亲委派模型: 如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器, ...
- Python - 执行cmd命令
python操作cmd 我们通常可以使用os模块的命令进行执行cmd 方法一:os.system os.system(执行的命令) # 源码 def system(*args, **kwargs): ...
- IKEv2协议协商流程: (IKE-SA-INIT 交换)第一包
文章目录 1. IKEv2 协商总体框架 2. 第一包流程图 3. openswan源码学习 3.1 ikev2parent_outI1() 3.2 ikev2parent_outI1_withsta ...
- 第二课:启动 GDB 调试
使用 GDB 调试程序一般有三种方式: gdb filename gdb attach pid gdb filename corename 这也对应着本节课的核心内容: 直接调试目标程序 附加进程 调 ...
- sync 修饰符在Vue中如何使用
在有些情况下,我们可能需要对一个 prop 进行"双向绑定".不幸的是,真正的双向绑定会带来维护上的问题,因为子组件可以修改父组件,且在父组件和子组件都没有明显的改动来源. 这 ...
- eclipes常见操作总结及项目2和3经验总结
eclipes常见操作总结及项目2经验总结 eclipes提示: 打开eclipes 选择window->perference->java->editor->content a ...
- FastDFS 配置 Nginx 模块及访问测试
#备注:以下nginx-1.10.3源码目录根据nginx版本号不同会有相应的变化,以nginx版本号为准#一.安装 Nginx 和 fastdfs-nginx-module1,安装 Nginx 请看 ...