作者 | 楊秀璋,責編 | 夕顏
出品 | CSDN部落格
本文將介紹Windows系統漏洞,透過5次Shift漏洞重改CMD,最終實現修改計算機密碼並啟動計算機,思路還是很有趣的,分享給大家。
原理知識
當我們使用計算機時,連續按下5次shift鍵會彈出一個程式,如下圖所示:
該程式名稱為“esthc。exe”,其路徑為“c:\windows\system32\sethc。exe”。該系統漏洞由於部分Win7及Win10在未進入系統時,可以透過連續按5次shift鍵彈出sethc。exe應用程式,然後再深入利用調出CMD視窗,透過指令對使用者密碼進行修改或刪除,從而登入不知道密碼的計算機。
其基本流程如下:
首先,在未登入系統時,連續按5次shift鍵,彈出程式“c:\windows\system32\sethc。exe”。
其次,接著強制關機想辦法進入“啟動啟動修復(推薦)”介面,該介面存在一個漏洞,它能開啟一個本地的錯誤TXT檔案。
再次,透過TXT檔案的開啟選項,在未進入系統之前就開啟C盤存放“sethc。exe”的位置,接著將cmd。exe程式複製一個副本,並命名為“sethc。exe”。
最後,重啟計算機再次按下5次Shift鍵時,會彈出CMD介面,再輸入命令修改登入密碼。
連續按5次shift鍵它會去C盤目錄下呼叫sethc。exe程式,如下圖所示。
注意:部分Win7和Win10系統以及修補了該漏洞,所以系統版本更新和打補丁是我們防禦非常重要的手段之一。
賬戶密碼操作
SAM檔案儲存著Windows的賬號和密碼,使用Hash演算法加密,不可逆。處理方法是爆破處理,但需要花費時間的代價。這裡先補充CMD中修改密碼的常見命令,透過該方法修改密碼。
CMD工具路徑:c:\windows\system32\cmd
使用者賬戶密碼儲存位置:c:\windows\system32\config\SAM
修改賬戶密碼:net user 使用者名稱 新密碼
建立一個新使用者:net user 使用者名稱 新密碼 /add
刪除使用者:net user 使用者名稱 /del
提示管理員:net localgroup administrators 使用者名稱 /add
假設現在需要設定密碼,用管理員身份執行CMD。
為使用者“shimisi”設定一個複雜的開機密碼。
接著登出電腦,等待輸入密碼開機,因為密碼過於複雜,我們無法開機。那怎麼解決呢?
漏洞驗證
(1) 重啟計算機,當出現“正在啟動 Windows”介面時,立刻強制關機電腦。這是模擬現實生活中突然斷電或不正常關機的場景,從而彈出“修復模式”。建議大家儘量別在真實的電腦中嘗試。
(2) 接著再開機時會進入“windows錯誤恢復”介面,如下圖所示。
(3) 選擇“啟動啟動修復(推薦)”選項,它會啟動修復,並彈出如下圖所示的對話方塊。
(4) 接著提示“您想使用‘系統還原’還原計算機嗎?”點選“取消”,它會繼續嘗試修復。
(5) 此時他無法自動修復,彈出新的對話方塊,如下圖所示,通常我們會點選“傳送”或“不傳送”。
(6) 需要注意的是,這裡點選“檢視問題詳細資訊”,漏洞就藏在這裡。我們不需要理解它的具體含義,它是微軟內部的問題報告。
(7) 我們往下拉,會看到兩個超連結,一條是聯機遠端訪問微軟的,另一個是離線訪問本地的TXT檔案,這裡點選第二條。
(8) 我們開啟這個檔案如下圖所示,它的內容是什麼我們並不關係,而關係的是它有一個開啟檔案的按鈕。透過該按鈕,我們是不是能做點什麼呢?即使在沒有進入系統的狀態。
(9) 點選“檔案”->“開啟”,可以看到“計算機”。
(10) 雙擊開啟“計算機”,此時雖然沒有進入系統,但能夠看到磁碟分割槽,這裡的“D”才是真實的C盤。
開啟如下圖所示:
(11) 此時它會有一個本地的記事本,可以透過它開啟TXT檔案。由於還未進入系統,目前沒有使用者的概念,所以在這個狀態下是以最高許可權去進行執行的。接著開啟“Windows”->“System32”資料夾,如下圖所示:
(12) 找到“sethc”檔案。
(13) 將“sethc”名稱修改為“123”,下次再按5次shift鍵,它就不能再找到這個可執行檔案了。
(14) 然後找到“cmd”檔案,注意該CMD檔案也在該目錄下,為什麼要找到它呢?我們想做一個偷換,讓連續按5次shift鍵呼叫CMD,再輸入命令修改開機密碼。
(15) 點選該程式,右鍵複製,然後貼上。防止別對cmd造成修改。
(16) 接著重新命名,修改為“sethc”。系統不會驗證你內容是什麼,只是根據程式名呼叫可執行程式。
(17) 關閉記事本,然後完成啟動計算機。
(18) 此時我們再按5次Shift鍵,彈出的對話方塊是CMD,這就非常可怕了。
(19) 這裡可以設定新密碼,也可以設定無密碼,即net user shimisi “” 。
此時就能成功進入系統了,是不是很神奇,透過這一連串漏洞,我們成功進入了系統。最好再次啟動的時候刪除被修改成cmd的“sethc”,同時將“123”名稱改回成“sethc”。
但是這種方法存在一個缺點,如果你自己電腦忘記密碼還可以,但如果你修改了別人電腦的密碼,別人下次登入就知道了。後面分享一種不修改密碼的情況下,以最高管理員許可權進入系統。
同時,我們可以呼叫“net haha feigezuishuai /add”增加新的使用者,透過新使用者登入系統。
但haha只是一個普通使用者,接著需要將haha使用者提權,將它新增到管理員組中。呼叫命令“net localgroup administrators haha /add”。
增加成管理員之後,重啟電腦此時會有新的使用者介面。
成功以系統管理員的身份進入了作業系統。
完成之後我們還需要刪除使用者,消滅蹤跡。呼叫命令“net user haha /del”。
該漏洞可能已經被Win7和Win10修復,但仍有部分未更新的系統存在,所以系統補丁、版本更新是非常重要的步驟。而駭客也會對比不同版本的補丁進行攻擊。
總結
簡單總結下該篇文章的方法:
開啟win7虛擬機器,開機並設定一個複雜密碼
關機再開機,再出現Windows啟動介面時強制關機
再開機出現“啟動修復(推薦)”及選擇該項。如果沒有出現,多長時間幾次強制關機或者換方法。
出現系統還原提示,點選取消,等待幾分鐘後,會出現問題原因,點選檢視詳細資訊
開啟最後一個連結即一個記事本
記事本中點選開啟,並選擇顯示所有檔案
找到sethc並改名為sethc-bak,再找到cmd,複製一份改名為sethc
全部關閉重啟
系統啟動完畢連續按5次shift鍵,將彈出cmd工具,使用命令“net user 使用者名稱 新密碼”,將當前使用者密碼修改即可,或者另建一個新使用者,並提升為管理員,登出後可再刪除新建的使用者,這樣的好處是不修改當前的使用者密碼即可登入系統
成功登入系統
更多精彩推薦
急缺晶片,高通是華為的唯一選擇嗎?
征戰雲時代,為什麼安全是關鍵命題?
人均月薪 7。5 萬,騰訊 Q2 成績單來了,網友酸了?
為什麼氣象站和 AI 都測不準天氣?
2019年中國IaaS公有云市場排名及份額出爐
馬小峰:金融科技界的區塊鏈博士
點分享
點點贊
點在看