支持NTLM Over HTTP协议的Webshell实现
个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
完整的代码已上传至github,地址如下: https://github.com/3gstudent/Homework-of-Python/blob/master/aspxCmdNTLM.py
(编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |