內網滲透 | 內網中的信息收集


內網滲透 | 內網中的信息收集

 
 

 

無論是通過外網打點,還是水坑釣魚,進入內網后的第一步,也是最重要的一步就是信息收集,而且信息收集往往是一直穿插在整個內網滲透過程中。

 

工作組和域的區分

1.ipconfig /all
有Primary Dns Suffix(主 DNS 后綴)就說明是域內,空的則當前機器應該在工作組。
2.net config workstation 
=工作組特征=
------------------------------------------------
軟件版本                      Windows 10 Home China
工作站域                       WORKGROUP
登錄域                          MicrosoftAccount
------------------------------------------------
=域特征=
------------------------------------------------
工作站域                     HACK7
工作站域 DNS 名稱            hack7.local
登錄域                       HACK7
------------------------------------------------
3.systeminfo
這里注意字體大小寫,工作組一般都是全大寫,但是遇到的也有小寫的情況,暫時不明白怎么設置的
=工作組特征=
------------------------------------------------
域:               WORKGROUP
------------------------------------------------
=域特征=
------------------------------------------------
域:               hack7.local
------------------------------------------------
4.net time /domain
=工作組特征=
------------------------------------------------
找不到域 WORKGROUP 的域控制器。
請鍵入 NET HELPMSG 3913 以獲得更多的幫助。
------------------------------------------------
=域特征=[需要域用戶才能成功查詢]
------------------------------------------------
\\DC.hack7.local的當前時間是2020/7/12 13:21:32
------------------------------------------------

  

工作組內信息收集

工作組采取的一般都是常規滲透方法,因為工作組一般都是個人和少數服務器。

通常使用的方法有:
掃描網段中的web服務,常用的有phpstudy,wampserver等,來尋找搭建的服務漏洞
掃描開放端口信息,以及對應的服務,判斷是否存在漏洞。
掃描主機由於沒有更新到最新版本導致的系統漏洞,比如MS17-010,補丁號為KB4013389
hash抓取,hash注入,hash碰撞,口令爆破,IPC登陸,WMI,未授權訪問,文件共享系統。
ARP嗅探/欺騙攻擊(Cain和Ettercap)
DNS劫持,會話劫持。
社會工程學
...

  

 

本機信息收集

用戶系統信息收集

1.查看當前用戶權限
whoami /all
2.查看系統信息
systeminfo
systeminfo /S 192.168.1.101 /U testlab\test /P "test" 查看遠程機器的系統配置
3.查當前機器的機器名,知道當前機器是干什么的
hostname
4.查看在線用戶,注意管理員此時在不在
quser / query user
5.查當前機器中所有的用戶名,開始搜集准備用戶名字典
net user
6.查當前機器中所有的組名,了解不同組的職能,如:IT,HR,admin,file
net localgroup
7.查指定組中的成員列表
net localgroup "Administrators"
8.查詢本機所有的盤符
wmic logicaldisk get description,name,size,freespace /value
fsutil fsinfo drives
fsutil fsinfo volumeinfo C:|findstr "卷名"     查看卷名稱,需要管理員權限
9.防火牆相關
netsh firewall show state    查看防火牆狀態
netsh firewall show config    查看防火牆配置
設置防火牆日志存儲位置:
netsh advfirewall set currentprofile logging filename "C:\Windows\temp\FirewallLOG.log"
關閉防火牆:
netsh firewall get opmode disable  (WIN2003之前)
netsh advfirewall set allprofiles state off (WIN2003之后)
允許某個程序的全連接:
netsh firewall add allowdprogram C:\nc.exe "allow nc" enable   (WIN2003之前)
允許某個程序連入:
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
允許某個程序外連:
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
10.其他
set     查看當前機器的環境變量配置,看有沒有我們可以直接利用到的語言環境
ver     查看當前機器的NT內核版本,不彈窗
winver     查看當前機器的NT內核版本,彈窗,在非圖形界面不執行這個命令
fsutil fsinfo drives     列出當前機器上的所有盤符
net share         查看當前機器開啟的共享
driverquery     查看當前機器安裝的驅動列表
net share public_dir="c:\public" /grant:Everyone,Full     設置共享
dir /a-r-d /s /b    找當前用戶可讀寫目錄,可能會很多

  



網絡連接信息收集

1.查看tcp/udp網絡連接狀態信息
netstat -ano         查看本機所有的tcp,udp端口連接及其對應的pid
netstat -anob         查看本機所有的tcp,udp端口連接,pid及其對應的發起程序
netstat -ano | findstr "ESTABLISHED"     查看當前正處於連接狀態的端口及ip
netstat -ano | findstr "LISTENING"         查看當前正處於監聽狀態的端口及ip
netstat -ano | findstr "TIME_WAIT"         查看當前正處於等待狀態的端口及ip
2.查看網絡配置
ipconfig /all
3.查看本地DNS緩存
ipconfig /displaydns
4.查看路由表
route print
5.查找有價值的內網arp通信記錄
arp -a
6.跟蹤本機出口ip
tracert 8.8.8.8

  

 

軟件進程信息收集

1.查看殺毒軟件
wmic /namespace:\\root\securitycenter2 path antivirusproduct GET displayName,productState,pathToSignedProductExe
2.查看本機安裝程序
wmic product get name /value
wmic product get name,version
3.查看當前機器的進程信息
tasklist /svc     顯示當前機器所有的進程所對應的服務 [只限於當前用戶有權限看到的進程]
tasklist /m     顯示本地所有進程所調用的dll [同樣只限於當前用戶有權限看到的進程]
tasklist /v     尋找進程中有無域管啟用的進程,或者殺軟進程
taskkill /im iexplore.exe /f     用指定進程名的方式強行結束指定進程

  

 

歷史憑證信息收集

引用自:https://github.com/klionsec/RedTeamer
批量抓取當前機器上的 "各類基礎服務配置文件中保存的各種賬號密碼"
   比如,各種數據庫連接配置文件,各類服務自身的配置文件(redis,http basic...)...
想辦法 "控制目標 運維管理 / 技術人員 的單機,從這些機器上去搜集可能保存着各類敏感網絡資產的賬號密碼表"
   比如, *.ls,*.doc,*.docx, *.txt....
抓取各類 "數據庫客戶端工具中保存各種數據庫連接賬號密碼
   比如,Navicat,SSMS[MSSQL自帶客戶端管理工具,里面也可能保存的有密碼(加密后的base64)]
抓取當前系統 "注冊表中保存的各類賬號密碼hash" [ Windows ]
抓取當前系統所有 "本地用戶的明文密碼/hash" [ Windows & linux ]
抓取當前系統的所有 "用戶token" [ Windows ]
抓取 "windows憑據管理器中保存的各類連接賬號密碼"
抓取 "MSTSC 客戶端中保存的所有rdp連接賬號密碼"
抓取各類 "VNC客戶端工具中保存的連接密碼"
抓取 "GPP目錄下保存的各類賬號密碼" [ 包括組策略目錄中XML里保存的密碼hash 和 NETLOGON目錄下的某些腳本中保存的賬號密碼 ]
抓取各類 "SSH客戶端工具中保存的各種linux系統連接賬號密碼", SecureCRT,Xshell,WinSCP,putty
抓取各類 "瀏覽器中保存的各種web登錄密碼和cookie信息",Chrome [360瀏覽器],Firefox,IE,QQ瀏覽器
抓取各類 "數據庫表中保存的各類賬號密碼hash"
抓取各類 "FTP客戶端工具中保存的各種ftp登錄賬號密碼", filezila, xftp...
抓取各類 "郵件客戶端工具中保存的各種郵箱賬號密碼", forxmail, thunderbird...
抓取各類 "SVN客戶端工具中保存的所有連接賬號密碼及項目地址"
抓取各類 "VPN客戶端工具中保存的各種vpn鏈接賬號密碼"

  

 

用戶敏感文件收集

1.指定目錄下搜集各類敏感文件
dir /a /s /b d:\"*.txt"
dir /a /s /b d:\"*.xml"
dir /a /s /b d:\"*.mdb"
dir /a /s /b d:\"*.sql"
dir /a /s /b d:\"*.mdf"
dir /a /s /b d:\"*.eml"
dir /a /s /b d:\"*.pst"
dir /a /s /b d:\"*conf*"
dir /a /s /b d:\"*bak*"
dir /a /s /b d:\"*pwd*"
dir /a /s /b d:\"*pass*"
dir /a /s /b d:\"*login*"
dir /a /s /b d:\"*user*"
2.指定目錄下的文件中搜集各種賬號密碼
findstr /si pass *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si userpwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si pwd *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si login *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
findstr /si user *.inc *.config *.ini *.txt *.asp *.aspx *.php *.jsp *.xml *.cgi *.bak
3.查看,刪除 指定文件
type c:\windows\temp\admin_pass.bak 查看某個文件內容
del d:\ad\*.* /a /s /q /f             強制刪除指定路徑下的所有文件
tree /F /A D:\ >> file_list.txt     導出指定路徑下的文件目錄結構
rd /q/s c:\windows\temp\test         刪除文件夾

  



存活主機探測

基於icmp

for /L %I in (0,1,254) DO @ping -w 1 -n 1 192.168.7.%I | findstr "TTL=" >> pinglive.txt

  

 

掃描的話建議直接在內網進行掃描,速度和准確率都比較有保障。

常用的工具[最多10秒一個c段]:nbtscan[基於smb和netbios的內網主機發現方式]、Ladon、自開發工具
socks代理掃描:goby

  

 

域內信息收集

下文僅限於域內的信息收集,均不會涉及域內認證原理等概念,后面會對windows認證方式單獨寫一篇總結。

net組件搜集域內信息

net user /domain    查看當前域中的所有用戶名,根據用戶名總數大概判斷域的規模
net user xingzheng /domain    查看指定用戶在當前域中的詳細屬性信息
net accounts /domain    查看當前域的域內賬戶密碼設置策略
net config workstation    查看看當前的登錄域
net view     查看當前域中在線的機器,不太直觀,批處理把機器名對應的ip也顯示出來
----
WIN10下使用Net view會出現如下報錯
System error 1231
System error 6118
解決:https://social.technet.microsoft.com/Forums/en-US/6f102ed1-8e76-4cb7-8dec-05714466d441/net-view-system-error-1231?forum=win10itpronetworking
----
net view /domain    查看所有的域名稱
net view /domain:domain_name    查看指定域中在線的計算機列表
net time /domain    查看時間服務器,一般域控會做時間服務器
net accounts /domain    查看當前域的域內賬戶密碼設置策略
net group /domain    查看當前域中的所有組名
net group "domain admins" /domain    查看當前域中的域管賬戶
net group "domain computers" /domain    查看當前域中的所有的計算機名(登錄過該域的計算機)
net group "domain controllers" /domain    查看域控
nltest /domain_trusts    查看域內信任關系

  

 

其他補充

nltest /domain_trusts    查看域內信任關系
dnscmd /zoneexport hack7.local dns.txt    ※【DC執行】導出域內DNS信息
nslookup -q=mx hack7.local    查看域內郵件服務器
nslookup -q=ns hack7.local    查看域內DNS服務器
netdom query pdc    查看域內的主域控,僅限win2008及之后的系統

  

dsquery導出域信息

利用dsquery 工具搜集域內信息,域成員機器需要自己傳上去

dsquery computer    查看當前域內的所有機器,dsquery工具一般在域控上才有,不過你可以上傳一個dsquery
dsquery user    查看當前域中的所有賬戶名
dsquery group    查看當前域內的所有組名
dsquery subnet    查看到當前域所在的網段,結合nbtscan使用
dsquery site    查看域內所有的web站點
dsquery server    查看當前域中的服務器(一般結果只有域控的主機名)
dsquery user domainroot -name admin* -limit 240    查詢前240個以admin開頭的用戶名

  



csvde導出域信息

如果你有一個當前有效的域用戶賬戶及密碼
csvde.exe –f c:\windows\temp\e.csv –n –s 192.168.1.100(DC的IP) –b 域用戶名 域名 域用戶密碼
如果你可以使用域成員主機的system權限或者當前就在DC上
csvde.exe –f c:\windows\temp\e.csv –n –s 192.168.1.100(DC的IP)

  



Bloodhound/Sharphound

BloodHound以用圖與線的形式,將域內用戶、計算機、組、Sessions、ACLs以及域內所有相關用戶、組、計算機、登陸信息、訪問控制策略之間的關系更直觀的展現在Red Team面前進行更便捷的分析域內情況,更快速的在域內提升自己的權限。它也可以使Blue Team成員對己方網絡系統進行更好的安全檢測及保證域的安全性。 這里直接介紹需要在內網機器中執行的相關命令: 此工具的導出相對來說比較暴力,且目前此工具 exe 原版已經被識別並被各種殺軟查殺,包括微軟win10自帶的殺軟 Windows Defender 。

詳細參考: https://www.anquanke.com/post/id/214046

 

SPN掃描

不同於常規的tcp/udp端口掃描,由於spn本質就是正常的Kerberos請求,所以掃描是非常隱蔽,日前針對此類掃描的檢測暫時也比較少。大部分win系統默認已自帶spn探測工具即:setspn.exe,此操作無需管理權限,需域內機器執行。

setspn -T target.com -Q */*        可完整查出當前域內所有spn

  

詳細介紹:域安全-SPN掃描

http://hackergu.com/kerberos-sec-spn-search/

 

ldapsearch

詳細介紹:滲透基礎——活動目錄信息的獲取

https://3gstudent.github.io/3gstudent.github.io/%E6%B8%97%E9%80%8F%E5%9F%BA%E7%A1%80-%E6%B4%BB%E5%8A%A8%E7%9B%AE%E5%BD%95%E4%BF%A1%E6%81%AF%E7%9A%84%E8%8E%B7%E5%8F%96/

定位域控

查詢dns解析記錄

若當前主機的dns為域內dns,可通過查詢dns解析記錄定位域控。

 
C:\Users\xingzheng>nslookup -type=all _ldap._tcp.dc._msdcs.hack7.local
DNS request timed out.
    timeout was 2 seconds.
服務器:  UnKnown
Address:  192.168.86.109
_ldap._tcp.dc._msdcs.hack7.local        SRV service location:
          priority       = 0
          weight         = 100
          port           = 389
          svr hostname   = dc.hack7.local
dc.hack7.local  internet address = 192.168.86.109

  

SPN掃描

在SPN掃描結果中可以通過如下內容,來進行域控的定位。

CN=DC,OU=Domain Controllers,DC=hack7,DC=loca

  

net group

C:\Users\xingzheng>net group "domain controllers" /domain
這項請求將在域 hack7.local 的域控制器處理。
組名     Domain Controllers
注釋     域中所有域控制器
成員
-------------------------------------------------------------------------------
DC$
命令成功完成。

  

端口識別

掃描內網中同時開放389和53端口的機器。

端口:389
服務:LDAP、ILS
說明:輕型目錄訪問協議和NetMeeting Internet Locator Server共用這一端口。
端口:53
服務:Domain Name Server(DNS)
說明:53端口為DNS(Domain Name Server,域名服務器)服務器所開放,主要用於域名解析,DNS服務在NT系統中使用的最為廣泛。
通過DNS服務器可以實現域名與IP地址之間的轉換,只要記住域名就可以快速訪問網站。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM