
استغلال إثبات المفهوم لتجاوز مصادقة OPC UA باستخدام سياسة الأمان None، بما في ذلك خادم محاكٍ لإظهار الوصول غير المصرح به للقراءة/الكتابة إلى بيانات التحكم الصناعي.
# opcua_server_sim.py - OPC UA server accepting None security policy
from asyncua import Server
import asyncio
async def main():
server = Server()
await server.init()
server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/')
server.set_security_policy([ua.SecurityPolicyType.NoSecurity]) # Allows unencrypted, unauthenticated
async with server:
while True:
await asyncio.sleep(1)
asyncio.run(main())
يتم تكوين خادم OPC UA بسياسة الأمان None، التي لا توفر أي تشفير أو مصادقة. يمكن للمهاجم الموجود على الشبكة الاتصال والتفاعل مع علامات نظام التحكم الصناعي، مما يسبب أضرارًا مادية.
pip install asyncua
python opcua_server_sim.py
python exploit_opcua_none.py
يتصل العميل بنجاح.