<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    uds診斷協議-逆向題 WP

    VSole2022-08-14 16:17:02

    介紹

    這是一道uds診斷協議的逆向題。比賽的時候時間太短沒做出來,又花時間研究了一下拿出來分享。

    題目

    uds_server程序邏輯

    main

    啟動后監聽13400端口

    接收client請求

    啟動Server

    Server初始化后進入loop

    接收處理客戶端發送的請求

    其中handleRoutingActivationMessage函數負責注冊

    注冊后可以調用提供的service

    jmp rax跳轉到不同的服務

    所提供的服務如下

    服務列表

    兩個目標分析

    UdsRequestFileTransferService

    構造滿足的條件后,我們傳送的路徑字符串會拼接到/tmp/data/后面。同時過濾../。

    UdsRoutineControlService

    這個函數從getflag這看起來就像目標函數,要求的條件很多。

    唯一一個不可控因素backdoorMem是random出來的。

    可以通過UdsWriteMemoryByAddressService寫內存。

    攻擊思路

    1、注冊,使客戶端能訪問uds服務

    • sourceAddress=0x1
    • targetAddress=0x100

    2、構造滿足UdsRoutineControlService的條件

    • securityLevel=1
    • currentSession=2
    • retineControlType=1
    • routineIdentifier=0xbac4
    • backdoorMem地址中內容為0xdeadbeef

    3、backdoorMem取值范圍0x123000-0xfffff000后三位固定為0。

    4、通過UdsWriteMemoryByAddressService向0x125000寫入內存deadbeef

    5、n隨機區間[0~1048284] 多進程循環調用直到 n==2 backdoormem=0x125000

    6、調用UdsRoutineControlService

    構造請求

    doip協議

    構造注冊請求

    調用handleRoutingActivationMessage

    需要滿足的條件

    activationType=0

    sourceAddress=1

    執行后 hasRegisterd=1

    設置currentSession

    調用UdsSessionControlService

    需要先將currentSession設置成3 保證下次設置2的時候可以走else分支

    設置securityLevel

    調用UdsSecurityAccessService

    請求seed

    根據seed計算key

    seed進行變換后調用xteaEncryptGetKey進行加密計算key

    相等的話設置securityLevel=1

    寫入0xdeadbeef到backdoorMem

    調用UdsWriteMemoryByAddressService

    設置memoryAddress為0x2000 0x123000+0x2000=0x125000

    設置寫入的內容為0xdeadbeef

    判斷是否有返回,有返回則寫入成功

    調用getflag函數

    調用UdsRoutineControlService

    bash腳本

    #!/bin/bashfor((i=1;i<1000000;i++));do./uds;done
    

    啟動多個該腳本同時進行。增加并發減小爆破時間。

    patch 測試 exp

    patch Server初始化中random返回結果

    將randomNum返回值修改為0x125000

    在linux 根目錄創建getflag文件賦予777權限,/getflag文件內容如下

    #!/bin/shecho hello
    

    執行exp 成功返回hello

    真正的exp

    正常情況下這樣爆破是沒問題的,但我一直在想這是CTF沒有那么多時間讓你爆破,肯定還有其他辦法。得知....//....//可以路徑穿越后。又有了攻擊思路:

    和前面一樣。

    這里不直接讀內存,通過UdsRequestFileTransferService設置路徑

    讀取路徑為....//....//proc/self/maps

    經過過濾拼接后得到/tmp/data/../../proc/self/maps

    設置路徑包構造

    調用UdsTransferDataService讀取文件

    對返回的/proc/self/maps進行解析獲取到backdoorMem基址。基址減去0x123000獲取到偏移

    將0xdeadbeef寫入backdoorMem基址

    調用getflag

    成功獲取flag

    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    uds診斷協議-逆向 WP
    2022-08-14 16:17:02
    介紹這是一道uds診斷協議逆向。比賽的時候時間太短沒做出來,又花時間研究了一下拿出來分享。UdsRoutineControlService這個函數從getflag這看起來就像目標函數,要求的條件很多。
    本研究是針對特斯拉 Model X 無鑰匙系統的實用安全評估。所分析的無鑰匙系統采用了由通用標準認證的安全元件實現的安全對稱密鑰和公鑰密碼原語。本文記錄了該系統的內部工作原理,包括遙控鑰匙、車身控制模塊和配對協議。此外,還介紹了相關逆向工程技術和幾個安全問題。其中,遙控鑰匙固件更新機制和遙控鑰匙配對協議中發現的問題導致繞過了所有已實施的加密安全措施。此研究還開發了一種完全遠程的概念驗證攻擊(PoC
    目前,Gallia主要針對的是UDS接口,并利用了模塊化的設計分別實現了日志記錄和歸檔功能。正常工作的Payload是1001,這也是DiagnosticSessionControl服務所要求的。該請求可以讓ECU修改DefaultSession。當收到有效應答時,說明找到了ECU。服務掃描服務掃描在UDS協議級別運行,UDS提供了幾個稱為服務的節點。
    CVE-2021-40438-Apache httpd mod_proxy SSRF漏洞深入分析與復現。
    本教程將逐步指導您在 Ubuntu 上安裝和配置 OpenLiteSpeed 和 PHP 8。它是一個功能強大的模塊化 HTTP 服務器,可以以低資源使用率處理數十萬個同時連接。它將無與倫比的性能、安全性、可擴展性、簡單性和優化捆綁在一個包中。此外,OpenLiteSpeed 提供了一個基于 Web 的管理用戶界面,用于通過 Web 瀏覽器管理Web 服務器。值得一提的是,OpenLiteSpeed 使用與 Apache Web 服務器相同的配置,并且與 Apache 提供的大多數功能兼容。
    一、前言 這篇文章可能出現一些圖文截圖顏色或者命令端口不一樣的情況,原因是因為這篇文章是我重復嘗試過好多次才寫的,所以比如正常應該是訪問6443,但是截圖中是顯示大端口比如60123這種,不影響閱讀和文章邏輯,無需理會即可,另外k8s基礎那一欄。。。本來想寫一下k8s的鑒權,后來想了想,太長了,不便于我查筆記,還不如分開寫,所以K8S基礎那里屬于湊數???寫了懶得刪(雖然是粘貼的:))
    一、Docker逃逸 1、docker daemon api未授權訪問 漏洞原理:在使用docker swarm的時候,節點上會開放一個TCP端口2375,綁定在0.0.0.0上,如果我們使用HTTP的方式訪問會返回404 利用思路:通過掛在宿主機的目錄,寫定時任務獲取SHELL,從而逃逸。
    戴爾科技集團大中華區非結構化數據存儲事業部總經理劉志洪如此談到。同Dell EMC PowerProtect Cyber Recovery一樣,Dell EMC Ransomware Defender方案也具備檢測、保護和恢復三重能力。除了本地數據之外,該方案也包括支持用戶在公有云環境中啟動應用程序和恢復相關的數據。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类