1. 程式人生 > >滲透工作-內網擴充套件之目標機本機收集(命令、工具及指令碼)

滲透工作-內網擴充套件之目標機本機收集(命令、工具及指令碼)

目錄 一、內網資訊收集 1.內網基礎資訊: 2.內網核心業務資訊: 3.其他資訊 二、內網實戰(命令、工具及指令碼) 1.使用者列表、當前許可權等 2.內網網路拓撲等資訊 3.程序列表 4.埠資訊 5.補丁資訊 6.本地使用者習慣 7.憑證收集 8.系統雜湊或明文密碼獲取 9.星號檢視 三、內網許可權拓展(常見應用漏洞):

一、內網資訊收集 1.內網基礎資訊: (1)內網網段資訊:網段資訊有助於我們對滲透的內網進行拓撲、分割槽。以拿下邊界伺服器為例,得到一定的控制權之後,一定要檢視網絡卡資訊,這樣就收集到內部網路地址段的資訊,進一步滲透,找到更多的內部網路地址。 (2)內網大小:有助於我們瞭解整個公司的網路分佈與組成,幫助我們尋找內網核心業務。 2.內網核心業務資訊: 內網OA辦公系統(大公司)、郵件伺服器(大公司才有)、網路監控系統(一般都有)、財務應用系統、核心產品原始碼(對於IT公司,會架設自己的svn或者git伺服器)

3.其他資訊 系統管理員密碼。 其他使用者session,3389和ipc$連線記錄,各使用者回收站資訊。 瀏覽器密碼和瀏覽器cookie獲取。 windows無線密碼獲取(利用netsh),資料庫密碼獲取。 host檔案獲取和dns快取資訊收集等,可以檢視DNS伺服器的IP,如果是域,一般情況DNS伺服器和域控是同一臺!先定位出DNS伺服器,再進行後面滲透。 殺軟、補丁、程序、網路代理資訊wpad資訊(Web Proxy Auto-Discovery Protocol,是客戶端通過DHCP或DNS協議探測代理伺服器配置指令碼url的一種方式),軟體列表資訊。 計劃任務、帳號密碼策略與鎖定策略、共享資料夾、web伺服器配置檔案。 VPN歷史密碼等、TeamView密碼等、啟動項、iislog等。 常用的後滲透資訊收集工具、PowerShell+各種內網滲透工具的使用 二、內網實戰(命令、工具及指令碼) 1.使用者列表、當前許可權等 win:whoami、net user、net user 使用者名稱、 net accounts linux:whoami、id、who、cat /etc/passwd、cat /etc/group 2.內網網路拓撲等資訊 以下兩條命令可以檢視無線網密碼 netsh wlan show profiles netsh wlan show profile name=“網路連結配置檔案” key=clear

在這裡插入圖片描述 在這裡插入圖片描述 除此,常用的有ipconfig、nslookup等等 3.程序列表 win:tasklist linux: ps、 top 4.埠資訊 win: netstat -ano linux: netstat -ntulp 、ps -aux 5.補丁資訊 win系統:systeminfo wmic qfe list full wmic qfe list full /format:htable>c:\hotfixes.html 第三條命令匯出html到指定位置,瀏覽器開啟效果如下 在這裡插入圖片描述 linux:看一下是否有samba服務,或者使用rpm -qa來查詢安裝了哪些軟體包,有一些可以通過名字來判斷出是補丁包。 6.本地使用者習慣 c:\windows\SchedLgU.txt,如果未啟動remote Storage Engine服務(win7和server03上都沒找到此服務)和Task Scheduler服務,則不會記錄。 c:\windows\Prefetch資料夾,裡面記錄著使用者執行的程式列表。(已驗證) c:\Users\使用者名稱\Recent資料夾,記錄最近開啟過的檔案和資料夾(xp及server03是在c:\Documents and Settings\使用者名稱\Recent) 檢視收藏夾、文件目錄等。 7.憑證收集 常用工具mimikatz、wce、Invoke-WCMDump、vaultcmd(win系統自帶) CredentialManager,中文翻譯為憑據管理器,用來儲存憑據(如網站登陸和主機遠端連線的使用者名稱密碼),如果使用者選擇儲存憑據,那麼當用戶再進行對應的操作,系統會自動填入憑據,實現自動登陸,憑據儲存在特定的位置,被稱作保管庫(vault,位於%localappdata%/Microsoft\Vault) Invoke-WCMDum PowerShell指令碼,從憑據管理器匯出Windows憑據 下載https://github.com/peewpw/Invoke-WCMDump PS>Import-Module .\Invoke-WCMDump.ps1 PS>Invoke-WCMDump 參考:

http://www.4hou.com/technology/9397.html 在這裡插入圖片描述 vaultcmd命令(win系統自帶),匯出的不是明文密碼,本人不會利用 列出保管庫(vault)列表:vaultcmd /list 列出保管庫(vault)概要,憑據名稱和GUID:vaultcmd /listschema 在這裡插入圖片描述 其他命令:cmdkey /list 8.系統雜湊或明文密碼獲取 詳細理論參考6月25日筆記,最方便的方法是利用cmd執行reg save命令從登錄檔匯出。 XP等系統的密碼位數超過14時,會採用NTLM加密,小於14位是LM。win7等更高版本,應該是NTLM。 test:1003:E52CAC67419A9A22664345140A852F61:67A54E1C9058FCA16498061B96863248::: 注意被冒號隔斷的兩組長字串,前面是LM hash,後面是NTLM hash,hash一般存在兩個地方:sam檔案(system檔案也需要),NTDS.DIT檔案,存在域控上對應域使用者。 (1)mimikatz獲取明文(一般會報毒) 要以管理員身份執行,一般用在桌面環境。如果是終端條件,使用能以系統管理員身份執行的程式去呼叫mimikatz,執行以下兩條命令就OK. privilege::debug sekurlsa::logonpasswords (2)登錄檔匯出,本地分析(較安全準確) win2000和XP需要先提權到system許可權,server03開始,可以直接reg save,檔案可能較大,效率低,但比較準確可靠。 reg save hklm\sam sam.hive(也可省略.hive,但二者有何區別暫不清楚) reg save hklm\system system.hive reg save hklm\security security.hive(這個檔案什麼用途暫不清楚) (3)Get-PassHashes指令碼 cd c:\phpstudy\www (在終端先切換到ps1指令碼目錄) powershell -ExecutionPolicy Bypass(設定會話預設執行策略,並進入PS) import-module .\Get-PassHashes.ps1 (匯入模組) Get-PassHashes(大小寫不敏感) 在這裡插入圖片描述 (4)wce讀取明文,雜湊注入 抓取明文(wce.exe -w,wce支援win系統絕大多數版本) 很快就能顯示,但密碼位數過長時,偶爾可能不準確,如下面第一張圖,顯示的密碼中間少了兩位,第二張圖長度更長了,但顯示的密碼卻是正確的 win8和server2012如果抓不出,在目標機修改登錄檔(CMD執行下命令) reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 在這裡插入圖片描述 在這裡插入圖片描述 獲取明文並儲存 wce -o output.txt type output.tx wce的hash注入 https://blog.csdn.net/yiyefangzhou24/article/details/28631223 hash注入的原理是將我們預備好的目標機器的本地或者是域使用者hash注入到本地的認證程序lsass.exe中去,使得本地在使用ipc登入目標機器的時候就如同自己登入自己的機器一樣獲得許可權。至於目標機器的本地或者是域使用者hash如何取得那就要發揮你自己的想象力了。hash注入本身是為了對付那些破解不了的NTHASH wce.exe -s ::: wce.exe -s ::: -c cmd.exe 配合第三條的Get-PassHashes指令碼,本地進行hash注入後,成功列出了目標機的檔案。兩個主機互測,一次成功了,但測試前沒有嘗試第二張圖,不知是否是hash注入影響。攻守互換後,不成功。 在這裡插入圖片描述 在這裡插入圖片描述 當提示注入成功的時候,這時候鍵入net use命令並沒有看到有連線,其實已經可以連線了,直接使用ipc命令操作對方的機器就可以了。 域裡的域使用者hash也可以使用wce進行注入,只需要把命令格式變一變就行 wce.exe -s 使用者名稱:域名:LM-HASH:NT-HASH (5)procdump(微軟出品)+本地用mimikatz得明文,較安全 參考:http://www.91ri.org/6881.html 原帖英文 :http://blog.gentilkiwi.com/securite/mimikatz/minidump mimikatz1.0版本直接用不行(需要先注入sekurlsa.dll),2.1.1 x64版本試驗OK,另外路徑中最好不要出現中文,且需要以管理員許可權執行。 我們執行mimikatz的平臺要與進行dump的系統(source dump)相容,假如你攻擊的server2008,你需要用nt6平臺使用mimikatz,相容性如下: 在這裡插入圖片描述 1)獲取dump NT6可以使用工作管理員進行dump: 個人覺得用到情況較少,一般有桌面環境,可以考慮直接執行mimikatz 在這裡插入圖片描述 也可使用procdump(win7親測可用): 官網下載http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx procdump.exe -accepteula -ma lsass.exe lsass.dmp 原帖中是通過ipc$入侵得到的dump檔案,我是通過木馬,使用菜刀連線上傳procdump,靶機這邊我用的是管理員許可權,之所以這樣做,是考慮到實戰中,如果是低許可權使用者,也不會費勁的去破解對方密碼吧。 2)本地破解密碼 攻擊者是win7,使用mimikatz的環境也要用NT6,把dmp檔案放在mimikatz程式目錄下。 進入目錄後,直接輸入mimikatz並回車,注意許可權,再執行下面兩個命令。成功得到系統密碼,我這裡還用了syskey加密,仍然得到了明文。 sekurlsa::minidump lsass.dmp sekurlsa::logonPasswords full 在這裡插入圖片描述 9.星號檢視 通過hook函式或者改變變數屬性值來檢視明文。 通過改js程式碼,或使用瀏覽器外掛可顯示網頁中星號的明文,但實戰個人猜測用處不大,https://jingyan.baidu.com/article/fea4511a0f875df7bb91258f.html 三、內網許可權拓展(常見應用漏洞): strust2、Zabbix、Axis2、ImageMagick、FastCGI、redis、Hadoop struts攻擊參考: https://www.anquanke.com/post/id/85674 https://www.cnblogs.com/peterpan0707007/p/7495649.html https://www.anquanke.com/post/id/85744