<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    紅隊筆記之痕跡清理技術要點與實戰方法總結

    VSole2022-11-30 10:25:08

    痕跡清理技術要點說明

    痕跡清理,是清理自己在目標機器上留下的所有操作痕跡。其主要目的是

    • 避免溯源
    • 隱藏攻擊方法
    • 為下一步滲透拖延時間

    每一項滲透動作都有其目的,我們都需要思考其是否真正的有必要,并不是每一次滲透均需要進行痕跡清理的動作。

    痕跡清理的限制

    • 痕跡清理這個動作本身也會產生痕跡,所以不存在完美的痕跡清理
    • 如果目標已經配置,第三方的日志記錄平臺,本機的痕跡清理作用微乎其微,除非我們可以拿下日記系統的控制權限。

    痕跡清理的技術要點

    • 痕跡清理前需要先判斷是否有必要清理痕跡。
    • 刪除文件盡量使用復寫方式,增加還原難度。
    • 如有必要可以偽造部分痕跡,混淆防守隊溯源反向。
    • 定向刪除優于全部刪除,關閉日志等方式,增加被識別難度。
    • 如果痕跡清理的目的是為了下一步操作爭取時間,那么我們需要去評估防守隊的溯源時間,以安排后面的工作計劃,當然極端情況我們可以在防守方休息時間段開展滲透。

    痕跡清理的步驟

    1、清理的必要性主要區間與你的目的。

    2、需要清理哪些內容需要根據你的攻擊路徑來判斷,也就是說你整個攻擊路徑中哪些會留下痕跡,我們需要清楚,我們的清理工作也真實針對這些痕跡進行操作。

    3、痕跡清理相對主要簡單,在你明確了需要清理哪些痕跡后,只要尋找對應的清理方法即可,下文總結常用的痕跡清理方法。

    Windows痕跡清理

    Windows日志清理

    一. Windows日志相關基礎知識

    Windows的日志文件分為3類核心日志,分別是系統日志,程序日志,和安全日志

    • 系統日志(SysEvent):記錄操作系統產生的事件,如設備驅動無法正常啟動或停止,系統進程崩潰等
    # 默認位置:
    %SystemRoot%\System32\Winevt\Logs\System.evtx
    
    • 程序日志(AppEvent):包含操作應用程序軟件相關的事件。事件包括了錯誤、警告及任何應用程序需要報告的信息。
    # 默認位置:
    %SystemRoot%\System32\Winevt\Logs\Application.evtx
    
    • **安全日志(SecEvent)?*包含安全性相關的事件。e.g.用戶權限變更,登錄及注銷,文件/文件夾訪問等信息。
    # 默認位置:
    %SystemRoot%\System32\Winevt\Logs\Security.evtx
    

    1、系統內置3個核心日志文件(System、Security、Application);默認大小均20MB,數據超過20MB,默認系統將優先覆蓋過期日志記錄。應用程序、服務日志默認最大1024KB,超過最大限制也優先覆蓋過期的日志記錄

    2、其他系統服務的日志也都儲存在%SystemRoot%\System32\Winevt\Logs\下

    操作系統日志記錄大致流程

    1、svhost啟動EventLog開始記錄日志

    2、EventLog將操作記錄先緩存為一段內存內容

    3、Wevtutil將內存內容解析為xml并且通過gui界面可視化的展現給用戶

    其中svhost,EventLog,Wevtutil具體功能說明如下;

    svchost

    svchost主要是用來實現服務進程數據共享,以此來減少系統資源消耗,很多系統程序和服務使用svchost運行。

    windows系統進程分為獨立進程和共享進程兩種,“svchost.exe”文件存在于“%systemroot%system32”目錄下,它屬于共享進程。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由svchost.exe進程來啟動。但svchost進程只作為服務宿主,并不能實現任何服務功能,即它只能提供條件讓其他服務在這里被啟動,而它自己卻不能給用戶提供任何服務。這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。

    Event Log

    Event Log主要是管理windows管理事件和事件日志。它支持日志記錄事件、查詢事件、訂閱事件、歸檔事件日志以及管理事件元數據。它可以用 XML 和純文本兩種格式顯示事件。

    EventLog的啟動需要依賴于svchost,啟動示例如下;

    C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestricted -p
    

    wevtutil

    檢索有關事件日志和發布服務器的信息。此外,還可以使用此命令來安裝和卸載事件清單,運行查詢,以及導出、存檔和清除日志。詳細可以參考微軟官方介紹。

    二. Windows日志清理方法

    Windows日志清理主要分為全量清理和定向清理,全量清理其動作較大容易被發現,定向清理相對比較隱蔽

    全量刪除方法

    通過事件查看器刪除

    開始→運?,輸? eventvwr 進?事件查看器,右邊欄選擇清除?志
    

    這里需要注意日志清理因為本身也是系統事件所以也會被記錄,這也就是不存在完美的日志清理

    通過PowerShell刪除

    # 方法一
    PowerShell -Command "& {Clear-Eventlog -Log 你要清理的日志(如Security)}"
    # 方法二
    Get-WinEvent -ListLog 你要清理的日志(如Security) -Force | % {Wevtutil.exe cl $_.Logname}
    

    暴力刪除日志文件

    1、停止Windows Event Log(EventLog) 服務

    2、刪除對應的文件

    %SystemRoot%\System32\Winevt\Logs\
    

    3、永久停用方法

     # 查詢要禁用的注冊表
    reg query "HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog\"
    # 刪除對應的注冊表
    reg delete "HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog\System"  /f
    # 重啟Windows Event Log(EventLog) 服務
    

    使用wevtutil命令行刪除

    # 進入cmd
    # 查詢 wevtutil el所有系統日志(如要刪除的日志名字清楚可以忽略此步驟)
    # 刪除對應日志,以清空系統日志為例
    wevtutil cl system
    

    msf一鍵清理

    進入meterpreter后直接執行clearev

    定向清理方法

    刪除最近數據

    wevtutil qe 你要清理的日志(如Security) /f:text /rd:true /c:刪除行數(如10行)
    

    刪除某指定單條記錄

    # 1、刪除Security下的單條日志(EventRecordID=2222),并保存為tmp1.evtx
    wevtutil epl Security tmp1.evtx "/q:*[System [(EventRecordID!=2222)]]"
    # 2、結束日志進程(釋放日志文件句柄)
    # 3、替換原日志文件
    # 4、重啟日志服務
    

    刪除某指定多條記錄

    # 1、刪除Security下的多條日志(EventRecordID為13030、13031和13032),結果保存為tmp2.evtx
    wevtutil epl Security tmp2.evtx "/q:*[System [(EventRecordID>13032) or (EventRecordID<13030)]]"
    # 2、結束日志進程(釋放日志文件句柄)
    # 3、替換原日志文件
    # 4、重啟日志服務
    

    按時間段刪除

    # 1、刪除SystemTime為2021-12-10T03:20:00至2021-12-10T03:21:00之間的日志,結果保存為1.evtx
    wevtutil epl Security 1.evtx "/q:*[System [TimeCreated[@SystemTime >'2021-12-10T03:21:00' or @SystemTime <'2021-12-10T03:20:00']]]"
    # 2、結束日志進程(釋放日志文件句柄)
    # 3、替換原日志文件
    # 4、重啟日志服務
    

    更多wevtutil用法可以參考官方文檔

    三. Windows遠程連接日志清理

    當我們使用3389端口遠程一臺機器后會在對應機器上產生對應的記錄,其記錄只要有兩部分組成;

    1、Default.rdp文件(系統隱藏文件)

    2、注冊表記錄

    所以清理痕跡主要是清理rdp文件以及注冊表中記錄

    1、刪除Default.rdp方法

    # 進入Default.rdp所在路徑
    cd %userprofile%\documents\
    # 使用attrib去掉Default.rdp文件的,系統文件屬性(S);隱藏文件屬性(H)
    attrib Default.rdp -s -h
    # 刪除
    del Default.rdp
    

    2、注冊表清理方法

    # 查詢遠程連接在注冊表中的鍵值
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default"
    # 刪除對應的鍵值,如刪除MRU0 "/v MRU0"
    reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /f /v MRU0
    

    3、如使用當前機器作為跳板的話需要使用同步驟清理Servers下的鍵值

    # 查詢具體要刪除的鍵值文件夾
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
    # 確定要刪除的文件夾進行刪除
    reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server  Client\Servers\192.168.84.128" /f
    

    # reg delete 參數說明
    reg delete  [{/v Valuename | /ve | /va}] [/f]
    指定要添加的子項或項的完整路徑。
    /v 刪除子項下的特定項。如果未指定任何項,則將刪除子項下的所有項和子項。
    /ve指定僅刪除沒有值的條目。
    /va刪除指定子項下的所有條目。不會刪除指定子項下的子項。
    /f刪除現有的注冊表子項或條目,而不要求確認。
    /?在命令提示符下顯示幫助。
    

    近期訪問記錄清理

    1、用戶最近訪問過的文件和網頁記錄

    C:\Users\Administrator\AppData\Local\Microsoft\Windows\History
    

    2、近期訪問過的文件

    C:\Users\Administrator\Recent
    

    利用覆寫增大溯源難度

    cipher /w:X # 其中X指盤符或文件具體位置

    cipher會分三次寫入:第一次寫入0x00,第二次寫入0xff,最后一次寫入隨機數字
    

    Linux痕跡清理

    Linux的痕跡清理技術大致可以分為兩類;

    1、清理登錄記錄以及Host記錄

    2、清理日志文件

    Linux清理登錄記錄以及Host記錄方法
    隱藏遠程ssh登錄記錄
    # 隱身登錄系統,不會被w、who、last等指令檢測到
    ssh -T user@@host /bin/bash -i
    # 不記錄ssh公鑰在本地.ssh目錄中
    ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i
    

    History清理

    History運行原理

    1、當 Linux 系統啟動一個 Shell 時,Shell 會從 .bash_history 文件中,讀取歷史記錄,存儲在相應內存的緩沖區中。

    2、我們平時所操作的 Linux 命令,都會記錄在緩沖區中。如果在shell運?過程中kill掉其進程,則緩存命令不會寫?history。

    3、當我們退出 Shell時(如執行exit或Ctrl+D),Shell 進程會把歷史記錄緩沖區的內容,寫回到 .bash_history 文件中去。

    全部刪除歷史記錄

    # 清空當前歷史記錄(只是清空緩存中的歷史記錄,偽刪除)
    history -c
    # 將當前緩存中的歷史記錄寫入文件(緩存中的記錄是空的-用空的數據寫入文件,將文件內容刪除)
    history -w
    

    當前shell終止history記錄

    方法一:

    # 設置當前shell內的命令不再記入日志中,命令會被記錄到歷史記錄中,可以嘗試在命令前添加空格讓記錄不被記錄
    set +o history
    # 如果需要重新記入日志,可以設置-o參數
    set -o history
    

    方法二:

    # 清除當前shell緩存命令記錄,當前session之后的命令不會再記錄,不會刪除history?件中的記錄。
    unset HISTORY HISTFILE HISTSAVE HISTZONE HISTLOG
    

    禁用History方法

    方法1:

    編輯/etc/profile并添加HISTSIZE=0

    方法2:

    在當前shell中直接輸?命令HISTSIZE=0 && HISTFILESIZE=0,這樣會將緩存的history記錄和~/.bash_history中的 記錄全部清空;

    方法3:

    在~/.bashrc初始化?件中添加命令:HISTSIZE=0 && HISTFILESIZE=0,這樣每次開啟shell都不會再記錄history命令。

    刪除指定命令記錄方法
    # 篩選要刪除的關鍵字
    history | grep "keyword"
    # 根據編號進行刪除
    history -d num
    # 或者進行批量刪除(只保留15行)
    sed -i '15,$d' .bash_history
    

    Linux日志清理

    由于Linux的設計采用萬物皆文件的思想,所以Linux系統的日志基本都是以文件的形式體現,所以相對Windows而言,Linux的日志清理和修改相對比較容易(雖然Windows也很簡單)

    全部刪除

    不留下任何痕跡,但是特征也很明顯,容易被察覺,?般不推薦使?。

    # 將?志?件全部刪除即將空字符寫??志?件,需要root權限,以下命令均可以實現:
    cat /dev/null > filename
    : > filename
    > filename
    echo "" > filename
    echo > filename
    

    針對性修改或刪除

    針對性修改,動作較小,較難被發現

    利用sed完成修改與刪除

    修改

    sed -i 's/要被取代的字符串/新的字符串/g' 目標文件
    

    刪除

    sed -i '/要刪除的內容/'d 目標文件
    

    利用grep -v完成刪除

    # 1、將目標文件中帶有關鍵字字樣的記錄刪除,并保存為一個文件
    cat 目標文件| grep -v 關鍵字(帶有關鍵字的記錄刪除) > 篡改后文件
    # 2、將偽造文件覆蓋到目標文件上
    cat 篡改后文件 > 目標文件
    

    利用覆寫增大溯源難度

    在linux中使用share命令來完成文件的覆寫,以增大文件的回復難度

    shred -f -u -z -v -n 6 目標文件 
    參數說明:
      -f, --force 必要時修改權限以使目標可寫
      -n, --iterations=N 覆蓋N 次,而非使用默認的3 次
      -u, --remove 覆蓋后截斷并刪除文件
      -v, --verbose 顯示詳細信息
      -z, --zero 最后一次使用0 進行覆蓋以隱藏覆蓋動作
    本文只為技術交流。為了您和您家人的幸福,請不要利用文中技術在用戶未授權情況下開展滲透測試!!!
    《中華人民共和國刑法》
    第二百八十五條
    違反國家規定,侵入國家事務、國防建設、尖端科學技術領域的計算機信息系統的,處三年以下有期徒刑或者拘役。
    第二百八十六條
    違反國家規定,對計算機信息系統功能進行刪除、修改、增加、干擾,造成計算機信息系統不能正常運行,后果嚴重的,處五年以下有期徒刑或者拘役;后果特別嚴重的,處五年以上有期徒刑。
    違反國家規定,對計算機信息系統中存儲、處理或者傳輸的數據和應用程序進行刪除、修改、增加的操作,后果嚴重的,依照前款的規定處罰。
    故意制作、傳播計算機病毒等破壞程序,影響計算機系統正常運行,后果嚴重的,依照第一款的規定處罰
    
    日志文件系統日志
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    如今各式各樣的Windows漏洞層出不窮,五花八門的入侵工具更是令人眼花繚亂,稍微懂點網絡知識的人都可以利用各種入侵工具進行入侵,這可給我們的網管帶來了很大的麻煩,雖然經過精心配置的服務器可以抵御大部分入侵,但隨著不斷新出的漏洞,再高明的網管也不敢保證一臺務器長時間不會被侵入,所以,安全配置服務器并不能永遠阻止黑客入侵,而如何檢測入侵者行動以保證服務器安全性就在這樣的情況下顯得非常重要。
    用戶名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之后的寬限天數:賬號失效時間:保留。查看下pid所對應的進程文件路徑,
    卡巴斯基最近推出了一款名為iShutdown的工具,該工具不僅可以檢測臭名昭著的Pegasus間諜軟件,還可以識別iOS設備上的其他惡意軟件威脅。在卡巴斯基網絡安全研究人員透露了三角測量操作的重要見解幾周后,iShutdown工具就推出了。這項調查深入探討了間諜軟件威脅如何危害iPhone。
    0x01 外網打點到Getshell目標站點:通過各種工具和在線網站,對子域名進行收集,并解析ip。發現主站存在CDN,使用fofa,搜索網站title、js等關鍵信息和子域名解析的ip對應的C段,發現真實ip。對真實ip的ip段進行掃描,發現一臺機器存在Weblogic中間件,使用exp進行測試,發現成功Getshell。administrator權限,使用免殺馬成功shell0x02 內網滲透有殺軟,做完免殺之后,直接上線CS,進行進程遷移。0x05 攻擊結果使用域管帳戶密碼對域內機器進行批量上線,部分被上線機器列表如下。
    Windows安全日志分析
    2021-10-16 06:43:51
    在應急響應初步階段,我們會對系統日志、中間件安全日志、惡意文件等進行收集。接下來便是要進一步對這些文件進行分析:對惡意文件逆向、日志文件分析、梳理入侵時間線和入侵路徑等。本文主要對Windows安全日志進行舉例分析。
    WEB安全梳理-操作系統
    2022-08-10 07:16:03
    WEB安全梳理-操作系統
    近日,美國、加拿大、新西蘭、荷蘭和英國等多個國家網絡安全政府機構發布聯合安全公告,揭示了網絡攻擊者最常利用的十大攻擊媒介。
    Linux系統日志介紹
    2022-07-22 08:07:05
    Linux系統日志介紹
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类