0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

命令执行不回显利用工具解读

jf_Fo0qk3ln 来源:菜鸟学信安 2023-09-05 11:05 次阅读

背景

在一次日常渗透过程中,发现了一台机器可以利用jndi命令执行,但是无法注入内存马,也无法直接上线,所以想到了

这一工具来获取一些机器的信息,但是在使用过程中,发现该工具使用的DNS为dig.pm,但是dig.pm经过一些修改后变得时好时坏,无法接收到目标机器的请求,而且使用该工具需要执行两个python文件,非常的难受,因此产生了修改该工具的想法。

修改内容

将dig.pm修改为ceye.io,增加接收范围

添加自定义参数,不再需要在文件中修改

合并HexDnsEcho与CommandGen两个文件,使用更加方便

添加获取上一次命令执行结果的功能

兼容zsh

添加自定义dns服务器

实现有参数的命令执行,例如ls -al、type file、cat file等,由此可实现通过DNS读取文件

实现分片传输,在发送数据次数存在限制的情况下使用不同dnslog子域获取结果

添加--force功能,重复获取结果的情况下未发现结尾字符时强行进行解密

2023-07-05 添加--force强行解密

重复获取结果的情况下无视结尾字符强行解密

c616f818-4b90-11ee-a25d-92fbcf53809c.png

2023-04-18 支持分片传输

用于服务器存在发送限制,一个url仅能发送限定次数的情况

以dig.pm为例(因为dig.pm存在dns数据接收不全,漏数据情况,与本次更新遇到的情况十分类似,故使用dig.pm演示,为了更好的使用,推荐大家寻找其他的自建di g.pm)

1.正常使用工具;

c669b706-4b90-11ee-a25d-92fbcf53809c.png

2.当发现接收到的数据缺少或者不全时,会输出类似发现中断,缺少第4行的数据,下一次执行将从第4行开始的结果,同时若发现接收的数据存在最后一行时会出现疑似为最后一块,请输入Y/N决定是否开始处理数据,若没有上一句话可以选择Y,此处我们选择N;

c69d0494-4b90-11ee-a25d-92fbcf53809c.png

3.选择N后继续执行,会输出我们下一步需要执行的语句,复制到靶机执行即可;

c6bb2e9c-4b90-11ee-a25d-92fbcf53809c.png

4.数据不全会一直执行,需要不断将命令复制到靶机上执行;

c6d5acea-4b90-11ee-a25d-92fbcf53809c.png

5.一直到最后没有出现发现中断,缺少第4行的数据,下一次执行将从第4行开始的类似字样,我们选择Y,即可获取执行结果;

c7024a5c-4b90-11ee-a25d-92fbcf53809c.png

6.同时也会输出获取本次命令执行结果的语句,若想要再次获取执行结果,直接复制粘贴使用即可。

c72310f2-4b90-11ee-a25d-92fbcf53809c.png

2023-03-27 来自r0fus0d(@No-Github)师傅的更新-支持http basic认证的自建dig.pm

用于存在http basic认证的自建dig.pm

python3 HexDnsEchoT.py -ds DNS服务器 -tz 服务器时区 -cc dnsurl中点的数量+2 -u http_basic认证用户 -p http_basic认证密码

c73d2000-4b90-11ee-a25d-92fbcf53809c.png

使用


usage: HexDnsEchoT.py [-h] [-d DNSURL] [-t TOKEN] [-lt LASTFINISHTIME]
                      [-f FILTER] [-ds DOMAIN_SERVER] [-tz TIMEZONE]
                      [-cc COUNT] [-m MODEL] [-u HTTPBASICUSER]
                      [-p HTTPBASICPASS]


options:
  -h, --help            show this help message and exit
  -d DNSURL, --dnsurl DNSURL
                        Ceye Dnslog
  -t TOKEN, --token TOKEN
                        Dns Server Token or CeyeToken
  -lt LASTFINISHTIME, --lastfinishtime LASTFINISHTIME
                        The LastFinishTime
  -f FILTER, --filter FILTER
                        Dns Filter
  -ds DOMAIN_SERVER, --domain_server DOMAIN_SERVER
                        Domain Server
  -tz TIMEZONE, --timezone TIMEZONE
                        Timezone
  -cc COUNT, --count COUNT
                        Count Counts
  -m MODEL, --model MODEL
                        Recent Result
  -u HTTPBASICUSER, --httpbasicuser HTTPBASICUSER
                        HTTPBasicAuth User
  -p HTTPBASICPASS, --httpbasicpass HTTPBASICPASS
                        HTTPBasicAuth Pass

因为ceye仅能保存100个数据,且会出现重复的情况下,添加自定义dns服务器

Ceye

python3 HexDnsEchoT.py -d YourCeye.ceye.io -t ceyeToken

c759fb9e-4b90-11ee-a25d-92fbcf53809c.png

c763e078-4b90-11ee-a25d-92fbcf53809c.png

自定义DNS服务器

python3 HexDnsEchoT.py -ds DNS服务器 -tz 服务器时区 -cc dnsurl中点的数量+2

python3 HexDnsEchoT.py -ds http://dig.pm -tz "UTC" -cc 7

服务器时区可以使用项目中的Timezone.py自行比对

c79c3a0e-4b90-11ee-a25d-92fbcf53809c.png

其中-cc 7为下图所示,dnsurl中5个点加2,为7

c7c671de-4b90-11ee-a25d-92fbcf53809c.png

可能等待结果返回的时间会比较长,请耐心等待

c7dd1380-4b90-11ee-a25d-92fbcf53809c.png

注意:dig.pm有可能获取结果不稳定,大家可以自己搭建或者寻找其他DNSLOG平台使用,只需要满足为以下项目搭建即可:

https://github.com/yumusb/DNSLog-Platform-Golang

或者是以http://x.x.x.x/new_gen获取随机子域名并以http://x.x.x.x/token获取dns结果的dnslog平台也可以使用

fofa可以直接搜索DNSLOG Platform寻找DNSLOG平台

c824d698-4b90-11ee-a25d-92fbcf53809c.png

复制输出的命令,在目标机器上执行

c8637e48-4b90-11ee-a25d-92fbcf53809c.png

DNS获取到请求,进行解密,获取机器信息

c86c2a70-4b90-11ee-a25d-92fbcf53809c.png

linux上也可以执行获取结果

c8750906-4b90-11ee-a25d-92fbcf53809c.png

执行成功后自动开启新的filter,无需重新执行直接进行下一步命令执行

c8854398-4b90-11ee-a25d-92fbcf53809c.png

有时会出现目标机器的命令未执行完成,但是已经获取到了一部分结果,可以使用以下命令再次获取结果,本命令已经输出在上次的执行结果中,可直接复制使用

Ceye

python3 HexDnsEchoT.py -d yourceye.ceye.io -t ceyetoken -f filterstr -lt "上次命令执行的时间" -m GR

c896ef26-4b90-11ee-a25d-92fbcf53809c.png

c8bf5a10-4b90-11ee-a25d-92fbcf53809c.png

自定义DNS服务器


python3 HexDnsEchoT.py -ds 自定义DNS服务器 -t 上一次执行的token -lt "上次命令执行的时间" -m GR -cc dnsurl中点的数量

以dig.pm为例

python3 HexDnsEchoT.py -ds http://dig.pm -t 上一次执行的token -lt "上次命令执行的时间" -m GR -cc 7

c8d8fd4e-4b90-11ee-a25d-92fbcf53809c.png

可能等的时间会比较长,请耐心等待

c901021c-4b90-11ee-a25d-92fbcf53809c.png

有参数的命令执行

ls -al

c91b1300-4b90-11ee-a25d-92fbcf53809c.png

type useruid.ini

c92bc916-4b90-11ee-a25d-92fbcf53809c.png

总结

在遇到工具无法使用的时候不要放弃,多想想办法就可以解决

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 服务器
    +关注

    关注

    12

    文章

    9295

    浏览量

    85945
  • DNS
    DNS
    +关注

    关注

    0

    文章

    219

    浏览量

    19919
  • 文件
    +关注

    关注

    1

    文章

    570

    浏览量

    24811
  • 命令
    +关注

    关注

    5

    文章

    696

    浏览量

    22090
  • python
    +关注

    关注

    56

    文章

    4807

    浏览量

    84987

原文标题:命令执行不回显利用工具

文章出处:【微信号:菜鸟学信安,微信公众号:菜鸟学信安】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用于分析可执行程序和内存转储的命令工具介绍

    Axf Tool 是桃芯科技一个用于分析可执行程序和内存转储的命令工具。该工具已集成到 ingWizard 的项目快捷菜单里。
    的头像 发表于 11-03 17:00 1337次阅读
    用于分析可<b class='flag-5'>执行</b>程序和内存转储的<b class='flag-5'>命令</b>行<b class='flag-5'>工具</b>介绍

    matlab的实用工具命令

    matlab的实用工具命令用工具 Abcdchk  检测(A、B、C、D)组的一致性 Chop 取n个重要的位置 Dexresp 离散取样响应函数 
    发表于 09-22 15:56

    自制便捷式多用工具

    自制便捷式多用工具
    发表于 09-09 11:44 526次阅读
    自制便捷式多<b class='flag-5'>用工具</b>

    泰科电子多款应用工具简介

    泰科电子多款应用工具简介 慕尼黑上海电子展开幕之际,泰科电子向市场发布一系列应用工具,为零部件装配提供智能、灵活、高效、经济的压接
    发表于 03-16 16:13 1062次阅读

    linux命令轻松把单个工具变成批量执行工具

    我们经常遇到这样的业务场景,我们开发了一个线上工具,需要在Linux操作系统下面执行处理某些事情,例如我们开发了一个将用户某个活动数据清0的工具命令如下:。/clearTools -
    的头像 发表于 01-21 17:36 2060次阅读

    shiro综合利用工具介绍

    dnslog进行检测,以解决无回rememberMe。使用的是dnslog.cn 支持高版本的AES-GCM算法 2、命令执行 加入了shiro常用的利用链 加入了两种tomcat通
    的头像 发表于 10-24 11:14 5488次阅读

    linux技术:WAF运行命令执行方法

    如果命令执行的时候遇到拦截命令关键词的时候可以利用如下方法绕过: "和^是CMD命令中最常见的转义字符,还有成对的括号并不会影响
    发表于 11-07 20:27 1023次阅读

    一款图形化高危漏洞利用工具

    图形化高危漏洞利用工具:Apt_t00ls,这款工具集成了各种OA系统的高危漏洞利用、文件落地方式、杀软进程对比、反弹shell生成等功能。
    的头像 发表于 01-13 09:49 1630次阅读

    LabVIEW中执行系统命令VI介绍

    LabVIEW自带一个执行系统命令VI(System Exec.vi),位于函数选板的“互连接口”>>“库与可执行程序”>>“执行系统命令
    的头像 发表于 04-25 11:47 9694次阅读
    LabVIEW中<b class='flag-5'>执行</b>系统<b class='flag-5'>命令</b>VI介绍

    Weblogic上的shiro漏洞利用工具介绍

    日常项目中,可能会碰见部署在weblogic上的shiro,所以先写了这个生成攻击payload的小Demo,方便后面使用。但目前只支持无回命令执行,后续回、内存马功能后面出差后再
    的头像 发表于 07-27 09:10 1314次阅读
    Weblogic上的shiro漏洞<b class='flag-5'>利用工具</b>介绍

    SYNWIT MCU 时钟计算应用工具

    SYNWIT MCU 时钟计算应用工具
    的头像 发表于 10-17 15:20 503次阅读
    SYNWIT MCU 时钟计算应<b class='flag-5'>用工具</b>

    uboot命令执行过程是什么

    U-boot是通过执行u-boot提供的命令来加载Linux内核的,其中 命令bootm的功能 即为从memory启动Linux内核映像文件。 在讲解bootm加载内核之前,先来看看u-boot中
    的头像 发表于 12-04 17:31 854次阅读

    bootm命令执行流程

    Bootm命令用来从memory启动内核,bootm命令执行流程如下图所示。 在串口终端输入bootm命令后,执行do_bootm函数来完
    的头像 发表于 12-04 17:33 1215次阅读
    bootm<b class='flag-5'>命令</b>的<b class='flag-5'>执行</b>流程

    jvm内存分析命令工具

    介绍JVM内存分析命令工具,并详细介绍它们的使用方法和功能。 一、JVM内存分析命令 jps命令:jps命令用于显示当前系统中正在运行的J
    的头像 发表于 12-05 11:07 1239次阅读

    Kali Linux常用工具介绍

    Kali Linux 虚拟机中自带了大量渗透测试工具,涵盖了信息收集、漏洞利用、口令破解、漏洞扫描等多个方面。 以下是按分类简要介绍一部分常用工具的使用方法: 使用方法只能当做参考,**详细
    的头像 发表于 11-11 09:29 684次阅读