回想在大學期間練習逆向工程,每次看到執行檔都想直接反編譯的衝動,特別是遊戲相關的程式,不過有時遇到需要輸入帳密的通訊軟體,也特別想去找到處理帳號和密碼的字串,這樣就能輕鬆的獲取登入的帳密了,那麼這次的篇章就是探討pietty的ssh通訊連線軟體,那麼要如何不使用鍵盤側錄的方式來獲取登入的帳號和密碼呢 ?
由於不使用鍵盤側錄的方式,因此不會使用SetWindowsHookEx (可能會被系統偵測出有害的軟體)的API,也不用寫鍵盤的Scan Code,省去不少時間,不過在逆向方面就需要下一番功夫,需要找到處理帳號和密碼的相關字串。
找到處理和密碼的關鍵的程式碼,那要如何獲取它的資訊呢?可以使用DLL Injection或Code Injection來將自己的程式碼注入到pietty的程式,這樣就能攔截帳號和密碼的字串了。
一、帳號和IP的資訊
二、密碼資訊
三、密碼輸入錯誤訊息
四、密碼輸入正確訊息
五、側錄內容
透過上述的逆向分析,我們可以順利獲取連線的IP、帳密、確認存取是否成功的資訊,因此只要惡意程式侵入受害者的系統,並且將側錄程式碼注入到pietty,就能輕鬆獲取伺服器的登入資料了,既然pietty能被側錄連線資訊,其它的軟體都跑不掉,所以系統的安全也是非常重要的。