加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

支持NTLM Over HTTP协议的Webshell实现

发布时间:2021-04-01 10:35:03 所属栏目:传媒 来源:互联网
导读:个webshell需要通过浏览器进行操作,首先完成NTLM认证,接着填入正确的Auth Key和要执行的cmd命令。 我们的目标是满足能够在命令行下使用,可以以此为模板进行修改,设计思路如下: (1)execCmd.aspx 接收Form表单请求作为参数,对Auth Key进行验证 如果验证

个webshell需要通过浏览器进行操作,首先完成NTLM认证,接着填入正确的Auth Key和要执行的cmd命令。

我们的目标是满足能够在命令行下使用,可以以此为模板进行修改,设计思路如下:

(1)execCmd.aspx

接收Form表单请求作为参数,对Auth Key进行验证

如果验证失败,返回空结果

如果验证成功,执行传入的cmd命令并返回执行结果

(2)aspxCmdNTLM.py

命令行脚本

首先通过NTLM Over HTTP协议完成NTLM认证,这里需要支持明文和用户口令hash两种登录方式。

通过Form表单请求发送Auth Key和要执行的cmd命令,接收cmd命令的执行结果。

execCmd.aspx和aspxCmdNTLM.py的通信内容作Base64编码,在程序实现上需要考虑Base64编码和解码。

0x03 脚本开发细节

1.execCmd.aspx

使用Page_Load方法接收Form表单请求,其中data1用作Auth Key,data2用作cmd命令。

Base64编码的实现:

spxCmdNTLM.py

NTLM认证的实现可以参考之前的代码:

https://github.com/3gstudent/Homework-of-Python/blob/master/checkEWS.py

  • 支持明文和用户口令hash两种登录方式
  •  Form表单请求通过POST方式发送
  •  Base64编码和解码需要注意字符串的格式

完整的代码已上传至github,地址如下:

https://github.com/3gstudent/Homework-of-Python/blob/master/aspxCmdNTLM.py

  •  execCmd.aspx需要保存在Web服务器
  •  aspxCmdNTLM.py在命令行下执行,连接execCmd.aspx执行cmd命令并获得返回结果
  •  aspxCmdNTLM.py支持明文和用户口令hash两种登录方式
  •  对于Exchange服务器,对应的Webshell权限为System

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读