命令执行不回显利用工具

admin 2024年8月7日22:32:14评论43 views字数 2849阅读9分29秒阅读模式
项目地址:https://github.com/A0WaQ4/HexDnsEchoT

背景

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

https://github.com/sv3nbeast/DnslogCmdEcho这一工具来获取一些机器的信息,但是在使用过程中,发现该工具使用的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强行解密

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

命令执行不回显利用工具

2023-04-18 支持分片传输

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

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

1.正常使用工具;

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

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认证密码

命令执行不回显利用工具

使用

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

命令执行不回显利用工具

命令执行不回显利用工具

自定义DNS服务器

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

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

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

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

注意: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平台

命令执行不回显利用工具

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

命令执行不回显利用工具

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

命令执行不回显利用工具

在linux上也可以执行获取结果

命令执行不回显利用工具

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

命令执行不回显利用工具

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

Ceye

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

命令执行不回显利用工具

命令执行不回显利用工具

自定义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

命令执行不回显利用工具

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

命令执行不回显利用工具

有参数的命令执行

ls -al

命令执行不回显利用工具

type useruid.ini

命令执行不回显利用工具

总结

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

下载链接:

https://github.com/A0WaQ4/HexDnsEchoT

原文始发于微信公众号(菜鸟学信安):命令执行不回显利用工具

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月7日22:32:14
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   命令执行不回显利用工具https://cn-sec.com/archives/2009146.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息