Windows 日志分析与清理

其他参考资料

3gstudent
渗透技巧——Windows日志的删除与绕过
kill日志记录的线程。
关于ssh清理 .bash_history 的方法,不过ssh登录记录还是存在的,只是不会留下.bash_history

1
kill -9 $$

关于 Red Team 的一些技巧, 3gstudent 的 blog 中有很多值得学习地方。 - 更新于 2017/11/30

使用方式

开始-程序-管理工具-计算机管理-系统工具-事件查看器。
然后开始清理日志。

各项日志说明

Windows 2000 的日志文件通常包括以下日志,当然以下不完全:

  1. 应用程序日志
  2. 安全日志
  3. 系统日志
  4. DNS服务器日志
  5. FTP日志
  6. WWW日志

日志文件的默认位置

应用程序日志、安全日志、系统日志、DNS日志默认位置: %systemroot%system32config,默认文件大小为512KB,管理员一般都会改变这个默认大小。

安全日志文件:%systemroot%system32configSecEvent.EVT

系统日志文件:%systemroot%system32configSysEvent.EVT

应用程序日志文件:%systemroot%system32configAppEvent.EVT

Internet信息服务FTP日志文件:%systemroot%system32logfilesmsftpsvc1,默认每天一个日志

Internet信息服务WWW日志文件:%systemroot%system32logfilesw3svc1,默认每天一个日志

Scheduler服务日志:%systemroot%schedlgu.txt

以上日志在注册表中的键

应用程序日志、安全日志、系统日志、DNS服务器日志,他们这些LOG在注册表中的:

HKEY_LOCAL_MACHINEsystemCurrentControlSetServicesEventlog

有的管理员很可能将这些日志重定位。其中EVENTLOG下面有很多子表,里面可以查到以上日志的定位目录。

Schedluler服务日志在注册表中的:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftSchedulingAgent

FTP与WWW日志详解

FTP日志

FTP与WWW日志默认情况,每天生成一个日志文件,包含了该日的一切记录,文件名通常为ex(年份)(月份)(日期),例如ex001023,就是2000年10月23日产生的日志,用记事本就可以打开,假设如下所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#Software: Microsoft Internet Infomation Services 5.0 (微软IIS 5.0)
#Version: 1.0 (版本1.0)
#Date: 20001023 0315 (服务启动时间日期)
#Fields: time cip csmethod csuristem scstatus
0315 127.0.0.1 [1]USER administrator 331 (ip地址为127.0.0.1用户名为 administrator 的用户试图登录)
0318 127.0.0.1 [1]PASS -530 (登录失败)
032:04 127.0.0.1 [1]USER nt 331 (ip地址为127.0.0.1用户名为 nt 的用户试图登录)
032:06 127.0.0.1 [1]PASS -530 (登录失败)
032:09 127.0.0.1 [1]USER cyz 331 (ip地址为127.0.0.1用户名为 cyz 的用户试图登录)
0322 127.0.0.1 [1]PASS -530 (登录失败)
0322 127.0.0.1 [1]USER administrator 331 (ip地址为127.0.0.1用户名为 administrator 的用户试图登录)
0324 127.0.0.1 [1]PASS -230 (登录成功)
0321 127.0.0.1 [1]MKD nt 550 (新建目录失败)
0325 127.0.0.1 [1]QUIT -550 (推出FTP)

从日志可以看到IP地址为127.0.0.1的用户一直在试图登录系统,换了四次用户名和密码才成功,管理员立即就可以得知攻击者的入侵时间IP地址以及探测的用户名,如上例入侵者最终是使用administrator登录的,那么就要考虑更换此用户的密码,或更改用户名。

WWW日志

WWW服务同FTP服务一样,产生的日志也是在%systemroot%system32LogFilesW3SVC1目录下,默认是每天一个日志文件,下面例举一个典型的WWW日志文件。

1
2
3
4
5
6
7
8
#Software: Microsoft Internet Infomation Services 5.0 (微软IIS 5.0)
#Version: 1.0 (版本1.0)
#Date: 20001023 0315 (服务启动时间日期)
#Fields: date time cip cusername sip sport csmethod csuriquery scstatus cs(UserAngent)
20001023 03:091 192.168.1.26 192.168.1.37 80 GET /iisstart.asp 200 Mozilla/4.0 (compatible;MSIE 5.0;Windows 98;DigExt)
20001023 03:094 192.168.1.26 192.168.1.37 80 GET /pageerror.gif 200 Mozilla/4.0 (compatible;MSIE 5.0;Windows 98;DigExt)

第一条记录是,2000年10月23日,IP地址为192.168.1.26的客户通过访问192.168.1.37服务器的80端口,查看了一个iisstart.asp的页面,这个用户的浏览器为Mozilla/4.0 (compatible;MSIE 5.0;Windows 98;DigExt),有经验的管理员可以通过安全日志、FTP日志和WWW日志来确定攻击者的IP。

即使删除了FTP日志和WWW日志,但是还是会在系统日志和安全日志中记录下来,较好的是只显示了你的机器名,并没有IP地址。

属性里记录了出现警告的原因,是因为有人试图用administrator用户名登录,出现了一个错误,来源是FTP服务。

这里有两种图标:钥匙(表示成功)和锁(表示当用户在做什么时被系统停止)。接连四个锁图标,表示四次失败审核,事件类型是帐户登录和登录注销失败。

双击第一个失败审核事件,可以获得这个事件的详细描述。

经过分析我们可以得知有一个名为CYZ的工作站,用administrator的用户名登录本机,但是因为用户名未知或密码错误(实际上是密码错误)未能成功。另外还有DNS服务器日志,这里暂略。

日志清理

通过上面,得知日志文件通常有某项服务在后台保护,除了系统日志、安全日志、应用程序日志等等,它们的服务是Windos2000的关键进程,而且与注册表文件在一块,当Windows2000启动后,启动服务来保护这些文件,所以很难删除,而FTP日志、WWW日志和Scedlgu日志都可以轻易删除。

首先要获取Administrator密码或Administrator用户组成员之一,然后Telnet远程连接

1
2
3
del schedlgu.txt
# 如果无法删除,先停止正在 使用此文件的进程
net stop "task scheduler"

分别进入FTP和WWW的目录

1
del ex*.log

停止系统日志的守护进程

1
net stop eventlog

其他常见工具

clearlog.exe

这里我们介绍一个工具 clearlog.exe
使用方法:
Usage: clearlogs [\computername] <-app / -sec / -sys>
-app = 应用程序日志
-sec = 安全日志
-sys = 系统日志
a. 可以清除远程计算机的日志
先用ipc连接上去: net use \ipipc$ 密码/user:用户名 然后开始清除: 方法
clearlogs \ip -app 这个是清除远程计算机的应用程序日志
clearlogs \ip -sec 这个是清除远程计算机的安全日志
clearlogs \ip -sys 这个是清除远程计算机的系统日志
b.清除本机日志: 如果和远程计算机的不能空连接. 那么就需要把这个工具传到远程计算机上面
然后清除. 方法:
 
clearlogs -app 这个是清除远程计算机的应用程序日志
clearlogs -sec 这个是清除远程计算机的安全日志
clearlogs -sys 这个是清除远程计算机的系统日志

c.bat

1
2
3
4
5
6
7
8
9
rem ============================== 开始
@echo off
clearlogs -app
clearlogs -sec
clearlogs -sys
del clearlogs.exe
del c.bat
exit
rem ============================== 结束

在你的计算机上面测试的时候 可以不要 @echo off 可以显示出来. 你可以看到结果
第一行表示: 运行时不显示窗口
第二行表示: 清除应用程序日志
第三行表示: 清除安全日志
第四行表示: 清除系统日志
第五行表示: 删除 clearlogs.exe 这个工具
第六行表示: 删除 c.bat 这个批处理文件
第七行表示: 退出

用AT命令. 建立一个计划任务. 这个命令在原来的教程里面和杂志里面都有. 你可以去看看详细的使用方法
AT 时间 c:c.bat

cleaniis.exe

工具:cleaniis.exe

使用方法:

1
2
3
iisantidote <logfile dir> <ip or string to hide>
iisantidote <logfile dir><ip or string to hide> stop
stop opiton will stop iis before clearing the files and restart it after

< logfile dir> exemple : c:winntsystem32logfilesw3svc1 dont forget the
使用方法解释:
cleaniis.exe iis日志存放的路径 清除参数
什么意思呢??我来给大家举个例子吧:
cleaniis c:winntsystem32logfilesw3svc1 192.168.0.1
这个表示清除log中所有此IP(192.168.0.1)地址的访问记录. —–推荐使用这种方法
cleaniis c:winntsystem32logfilesw3svc1 /shop/admin/
这个表示清除这个目录里面的所以的日志
c:winntsystem32logfilesw3svc1 代表是iis日志的位置(windows nt/2000) 这个路径可以改变
c:windowssystem32logfilesw3svc1 代表是iis日志的位置(windows xp/2003) 这个路径可以改变
这个测试表示 在日志里面没有这个ip地址.
我们看一下日志的路径 再来看一下
我们的ip(192.168.0.1)已经没有了.
已经全部清空. 同样这个也可以建立批处理. 方法同上面的那个

清除历史记录及运行的日志

cleaner.exe
直接运行就可以了

参考资料

[1] 日志分析-1
[2] 日志分析-2
[3] 日志分析-3 对抗