| 服务器可疑账号 | 服务器账号 | 无 | net user 查看本机用户,看不到隐藏帐户 |
| | | | 隐藏账户删除:删除注册表(先要添加一下权限) |
| | | | HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\下对应帐户的键值(共有两处) |
| | | | 计算机管理 compmgmt.msc 本地用户和组lusrmgr.msc |
| 日志检测 | 应用程序日志 | Log Parser | eventvwr.msc调出事件查看器 |
| | 安全日志 | Auto Scan IIS Log(IIS) | |
| | 系统日志 | | windows 防火墙日志 C:\Windows\System32\LogFiles\Firewall\pfirewall.log |
| | web应用日志(IIS apache等) | | IIS日志 C:\Windows\System32\LogFiles\Firewall\ 可以利用Auto Scan IIS Log进行自动分析 |
| 端口开放情况 | 开放端口 | 无 | netstat -ano 注意ESTABLISHED 建立连接 |
| 进程 | 可疑进程 | Process Explorer | 熟练使用sysinternals系列软件 |
| | | PC hunter | 查看进程的详细信息包括CPU,GPU,IO,线程,句柄,内存 |
| | | Process Monitor | windows启动程序管理 |
| | | Autoruns查看WMI事件 | 实时显示文件系统,注册表,网络活动,进程或线程活动,资料收集事件 |
| | | | 查看进程名、远程地址和TCP连接的状态等 |
| | | | 开始–运行–输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等 |
| 启动 | 异常启动项 | 无 | 登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。 |
| | 计划任务 | | 单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,特别注意如下注册表项: |
| | 服务自启动 | | HKEY_CURRENT_USER\software\micorsoft\windows\currentversion\run |
| | | | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 这时常规启动项,很多程序会写在这里 |
| | | | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce |
| | | | HKLM/Software/Microsoft/Windows/CurrentVersion/Explorer/ShellExecuteHooks 这里是挂钩的地方,正常的程序一般不会写入该地址,恶意软件的几率很大 |
| | | | HKLM/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/Windows/Appinit_Dlls 机器狗,蝴蝶机 及其变种可能存在的位置 |
| | | | HKLM/System/CurrentControlSet/Services 灰鸽子 可能存在的位置 |
| | | | 需要注意注册表的特殊字符(不可见,或者乱码) |
| | | | 打开计算机配置> windows设置> 脚本 |
| 计划任务 | 检查计划路径 | 无 | 输入 cmd,然后输入at,检查计算机与网络上的其它计算机之间的会话或计划任务,如有,则确认是否为正常连接。 |
| 服务自启动检查 | services.msc | 无 | services.msc,注意服务状态和启动类型,检查是否有异常服务 |
| 检查系统相关信息 | 补丁检查 | 脚本 | systeminfo |
| | | | github.com/GDSSecurity… 补丁检测Python脚本 |
| | | | github.com/SecWiki/win… 这是提权的exp 地址,也包括 补丁号,但是补丁号不完整 |
| 恶意文件查杀 | 病毒 后门 | Seqrite | C:>dir /S /A:H 隐藏文件 |
| | webshell | 趋势杀毒软件 | |
| | | Bitdefende | |
| | | Seqrit | |
| | | 卡巴斯基 | |
| | | 赛门铁克 | |
| | | D盾(webshell) | 查看最近修改的文件 dir /a/o-d/p %SystemRoot%System32 (可能出现运行时间过长现象) |
| | | 安全狗(webshell) | 运行中输入%UserProfile%\Recent,分析最近打开分析可疑文件。 |
| | | 深信服WebShellKillerTool(webshell) | pedump pe文件分析 可以查看输入表看看有没有调用什么奇怪api |
| linux | 文件分析 | 敏感目录 | tmp目录 | ls –alt /tmp/ |
| | | 开机启动项 | ls -alt /etc/init.d/ |
| | | /etc/passwd | ls -alt /etc/passwd 按时间排序 ls -alt | head -n 10 |
| | 新增文件 | 24h内修改文件 | find ./ -mtime 0 -name "*.jsp" 查找24h内修改的以jsp结尾的文件 |
| | | 查找文件内容未修改权限修改 | find ./ -ctime 0 |
| | | | 根据确定时间去反推变更的文件 ls -al /tmp | grep "Feb 27" |
| | 特殊文件 | 权限777文件 | find / *.jsp -perm 4777 从根目录查找以jsp结尾的权限为777的文件,4的含义可执行即为文件所有者 |
| | 隐藏文件 | 以“.”开头文件 | ls -alt |
| | 文件关键字 | webshell关键字 | find /var/www/ -name "*.php" | xargs egrep 'assert | phpspy | c99sh | milw0rm | eval | (gunerpress | (base64_decoolcode | spider_bc | shell_exec | passthru | ($_\POST[ | eval (str_rot13 | .chr( | ${"_P | eval($_R | file_put_contents(.*$_ | base64_decode' |
| | webshell查杀 | 在线查杀webshell | 1 网站安全狗网马查杀 download.safedog.cn/download/so… |
| | | | 2 D盾 Web查杀 www.d99net.net/down/WebShe… |
| | | | 3 深信服WebShellKillerTool edr.sangfor.com.cn/tool/WebShe… |
| | | | 4 BugScaner killwebshell tools.bugscaner.com/killwebshel… |
| | | | 5 河马专业版查杀Webshell n.shellpub.com/ |
| | | | 6 OpenRASP WEBDIR+检测引擎 scanner.baidu.com |
| | | | 7 深度学习模型检测PHP Webshell webshell.cdxy.me/ |
| | | 本地查杀webshell | 本地使用 github.com/erevus-cn/s… |
| 进程 | 网络连接 | netstat命令 | netstat –antlp | more |
| | 进程信息 | ps命令 | ps aux | grep pid | grep –v grep |
| | | lsof命令 | lsof -i:1677 查看指定端口对应的程序 |
| | | | lsof -p pid 查看打开的文件 |
| | | | lsof来监视文件操作,lsof -i @localhost:20,80 -r 3 列出目前连接主机localhost上端口为:20,80相关的所有文件信息,隔3秒重复执行 |
| | 系统命令是否被替换 | ls & stat 命令 | ls -alt /usr/bin | head -10 按时间排序前10个 |
| | | | ls -al /bin /usr/bin /usr/sbin/ /sbin/ | grep "Jan 15" 列举出文件最后修改时间为 Jan 15 的文件 |
| | 程序是否被替换 | strace & ltrace | strace -f -F -o ~/straceout.txt myserver |
| | 隐藏进程 | ps & ls 命令 | ps -ef | awk '{print}' | sort -n | uniq >1 |
| | | | ls /proc | sort -n | uniq >2 |
| | | | diff 1 2 |
| 系统信息 | history信息 | /root/.bash_history | cat /root/.bash_history |
| | 用户信息 | useradd & userdel | stat 查看 |
| | | 可疑账号 | 查看UID为0的帐号:awk -F: '{if(3==0)print1}' /etc/passwd |
| | | | 查看能够登录的帐号:cat /etc/passwd | grep -E "/bin/bash$" |
| | 系统路径 | 环境变量 | echo $PATH 分析有无敏感可疑信息 |
| | 启动执行的文件 | profile 与 .profile | cat /etc/profile cat ~/.profile 在用户登录的时候会被执行的脚本 |
| | | bashrc | cat /etc/bashrc 启动 bash 时会使用的脚本,同理还需要检查 .zshrc 等文件,mac下有此文件 |
| | | rc*.d | 在各个运行层面上会被启动的脚本,均有可能藏有后门 |
| | | bash.bashrc | cat /etc/bash.bashrc , ubuntu 下的 bashrc |
| | | init.d 与 init | 用于启动服务的脚本,每当执行 service xxx start 之类的命令时,都会调用这两个目录的脚本,两个目录作用相同, init.d 是旧时代 linux 下的用法, init 是新时代 linux 下的用法,目前仍然在过渡阶段,所以两个目录都可能会使用。 |
| | | rc.local | cat /etc/rc.local 开机启动项 |
| | | /etc/cron* | 通过crontabl –l 查看当前的任务计划有哪些,是否有后门木马程序启动相关信息;ls /etc/cron* |
| 日志分析 | 系统 | 登陆信息 | /var/log/lastlog: 最后一次登录,lastlog |
| | | | /var/log/btmp: 纪录失败的登录,lastb |
| | | | 使用last命令,用于显示用户最近登录信息(数据源为/var/log/wtmp,var/log/btmp),last root |
| | | | users: 显示当前登录的用户 |
| | | | 登录验证情况记录,例如su、ssh登录失败的时候产生的日志 |
| | | | /var/log/auth.log |
| | | | /var/log/secure |
| | | ac -d命令 | 显示每个用户的总的连接时间(centos可用) |
| | | /var/log/syslog(ubuntu) /var/log/messages(centos) | cat /var/log/syslog | grep CRON 分析一些cron服务,默认RedHat Linux不生成该日志文件 |
| | | 引导信息 | /var/log/boot.log |
| | | 邮件信息 | /var/log/maillog |
| | http服务 | /var/log/apache2/access.log | 1、扫描或攻击特征 |
| | | /var/log/httpd/access.log | egrep '(select | script | acunetix | sqlmap)' /var/log/httpd/access_log |
| | | | 2、访问频率 |
| | | | grep 'POST' /var/log/httpd/access_log | awk '{print $1}' | sort | uniq -c | sort -nr |
| | | | 3、Content-Length |
| | | | awk '{if(10>5000000){print 0}}' /var/log/httpd/access_log |
| | ssh服务 | 登陆信息 | 登录成功:grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr |
| | | | 登录失败:grep 'Failed' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr |
| | | 检测ssh后门 | 比对版本 ssh -V |
| | | | 查看ssh配置文件和/usr/sbin/sshd的时间 |
| | | | > stat /usr/sbin/sshd |
| | | | strings检查/usr/sbin/sshd,看是否有邮箱信息 |
| | | | strings可以查看二进制文件中的字符串,在应急响应中是十分有用的。有些sshd后门会通过邮件发送登录信息,通过strings /usr/sbin/sshd可以查看到邮箱信息。 |
| | | | 通过strace监控sshd进程读写文件的操作 |