【红队战术】windows、linux系统、web日志痕迹清理工具

git clone https://github.com/xanszZZ/clear_tool

本工具是由python编写的windows、linux系统痕迹清理工具。支持清理windows web日志清理,包括IIS、apache、nginx中间件的日志文件清理,支持清理linux web日志清理,在使用本工具前需找到对应系统web日志目录

一些中间件默认web日志目录:

IIS:
%SystemDrive%\inetpub\logs\LogFiles
注:不同的 Win版本iis日志路径不一样,这里列出几个
C:\Windows\System32\LogFiles # win_s_2003
C:\inetpub\logs\LogFiles # win_s_2008r2
%SystemDrive%\inetpub\logs\LogFiles # win_s_2012r2

apache:
apache默认日志在安装目录下的logs目录中

nginx:
nginx默认日志在安装目录下的logs目录中。

参数

 -s 选择w或l ,对应windows和linux系统

-u 选择想要清理的关键ip

-p 在IIS中间件中,对应目标日志文件的名字不同,选择对应的名字,在linux中选择要删除的日志文件

将工具放入对应目录下

python clear_tool.py -s w -u 127.0.0.1 

目标主机没有python环境可直接使用打包好的exe文件(注:原项目没有Tomcat功能)
clear_tool.exe -s w -u 127.0.0.1 

命令示例

Liunx日志清理:

python3 clear.py -s l -u 192.168.1.108 -p /path/to/linux/logfile

清理Windows(IIS)日志:

python3 clear.py -s w -u 192.168.1.108 -p C:\path\to\iis\logfile.log

清理Apache日志:

python3 clear.py -u 192.168.1.108 -p /path/to/apache/access.log

增加一个Tomcat日志清理

通过此修改,您现在可以使用参数-s t或–sys t来指定要清理 Tomcat 日志。参数-por–path将指定 Tomcat 日志目录的路径。

例如,要清理目录中特定IP地址的Tomcat日志/path/to/tomcat/logs,可以运行示例命令:

python3 clear.py -s t -u 192.168.1.108 -p /path/to/tomcat/logs
import argparse
import os
import textwrap

def main(sys, ip, path):
    if sys == 'l':
        os.system(f"sed -i '/{ip}/d' /var/log/{path}")
        print(f"Linux {path} 日志清理完成")
    elif sys == 'w' and path:
        os.system(f'findstr /v {ip} {path}.log > {path}_new.log')
        os.system('net stop w3svc')
        os.system(f'del {path}.log')
        os.system(f'rename {path}_new.log {path}.log')
        os.system('net start w3svc')
        print("IIS 日志清理完成")
    elif sys == 't' and path:
        os.system(f'grep -v {ip} {path}/catalina.out > {path}/catalina_new.out')
        os.system(f'rm {path}/catalina.out')
        os.system(f'mv {path}/catalina_new.out {path}/catalina.out')
        print("Tomcat 日志清理完成")
    else:
        os.system(f'findstr /v {ip} access.log > access_new.log')
        os.system('del access.log')
        os.system('rename access_new.log access.log')
        os.system(f'findstr /v {ip} error.log > error_new.log')
        os.system('del error.log')
        os.system('rename error_new.log error.log')
        print("Apache 日志清理完成")


if __name__ == '__main__':
    banner = """ 
         _____   _       _____       ___   _____   
        /  ___| | |     | ____|     /   | |  _  \  
        | |     | |     | |__      / /| | | |_| |  
        | |     | |     |  __|    / / | | |  _  /  
        | |___  | |___  | |___   / /  | | | | \ \  
        \_____| |_____| |_____| /_/   |_| |_|  \_\ 
                                                version: 0.0.1
                                                author:  xans
    """
    print(banner)
    # 使用argparse去解析命令行传来的参数
    parser = argparse.ArgumentParser(description="clear tool",
                                     formatter_class=argparse.RawDescriptionHelpFormatter,
                                     epilog=textwrap.dedent('''example:
        python3 clear.py -s w -u 192.168.1.108 
        '''))
    # 添加参数
    parser.add_argument("-s", "--sys", dest="sys", type=str, help="input a system")
    parser.add_argument("-u", "--ip", dest="ip", type=str, help="input a ip")
    parser.add_argument("-p", "--path", dest="path", type=str, help="input a path")
    # 把参数的值解析到对象中
    args = parser.parse_args()

    main(args.sys, args.ip, args.path)

后续有时间在添加其它功能…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

David_Jou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值