Windows
检查系统账号
#查询当前登录系统的会话
query user
#把用户踢出会话
logoff ID
打开lusrmgr.msc,查看是否有新增/可疑的账号,用D盾 -> 查看服务器是否存在隐藏账号、克隆账号
查看网络连接
#查看本机所有的tcp,udp端口连接及其对应的pid
#可用findstr过滤,类似Linux的grep命令
netstat -ano
#打印路由表
route print
#查看网络代理配置情况
REG QUERY "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"
检查进程
#列出所有进程
tasklist
#强制停止某进程
taskkill /T /F /PID
检查启动项
#查看系统开机时间
net statistics workstation
#查看系统计划任务
schtasks /query /fo LIST /v
#查看程序启动信息
wmic startup get command,caption
#查看主机服务信息
wmic service list brief
检查浏览器访问记录
直接打开浏览器
杀软工具
火绒-火绒剑:https://www.huorong.cn/
卡巴斯基:http://devbuilds.kaspersky-labs.com/kvrt/latest/full/
系统日志审计
运行框输入eventvwr.msc
,打开事件查看器
系统日志
记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。
系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。
默认位置:%SystemRoot%System32WinevtLogsSystem.evtx
应用程序日志
包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件
例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。
如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。
默认位置:%SystemRoot%System32WinevtLogsApplication.evtx
安全日志
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。
安全日志也是调查取证中最常用到的日志。
默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志
或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。
默认位置:%SystemRoot%System32WinevtLogsSecurity.evtx
系统和应用程序日志存储着故障排除信息,对于系统管理员更为有用。
安全日志记录着事件审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于调查人员而言,更有帮助。
事件日志分析
对于Windows事件日志分析,不同的EVENT ID代表了不同的意义
事件ID | 说明 |
---|---|
4624 | 登录成功 |
4625 | 登录失败 |
4634 | 注销成功 |
4647 | 用户启动的注销 |
4672 | 使用超级用户(如管理员)进行登录 |
4720 | 创建用户 |
每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式:
登录类型 | 描述 | 说明 |
---|---|---|
2 | c(Interactive) | 用户在本地进行登录。 |
3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
4 | 批处理(Batch) | 通常表明某计划任务启动。 |
5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
7 | 解锁(Unlock) | 屏保解锁。 |
8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 |
9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 |
10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可 |
Linux
账号安全
先查看基础用户信息文件(/etc/passwd,/etc/shadow,/etc/group)
1、查询特权用户特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd
2、查询可以远程登录的帐号信息
awk '/$1|$6/{print $1}' /etc/shadow
3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
4、禁用或删除多余及可疑的帐号
usermod -L user #禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
userdel -r user #将删除user用户,并且将/home目录下的user目录一并删除
查看历史命令
cat ~/bash_history >> history.txt
检查网络连接
netstat
-antlp|more
#查看 PID 所对应的进程文件路径
file /proc/$PID/exe
检查异常进程
ps aux | grep pidbr
检查开机启动项
系统运行级别示意图:
运行级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户模式,可以想象为windows的安全模式,主要用于系统修复 |
2 | 不完全的命令行模式,不含NFS服务 |
3 | 完全的命令行模式,就是标准字符界面 |
4 | 系统保留 |
5 | 图形模式 |
6 | 重启动 |
#系统默认允许级别
vi /etc/inittab
id=3:initdefault #系统开机后直接进入哪个运行级别
当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d
目录下,然后在/etc/rc.d/rc*.d
中建立软链接即可
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
#S开头代表加载时自启动
检查定时任务
ls -al /var/spool/cron/*cat /etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
#查看目录下所有文件
more /etc/cron.d/*
/etc/anacrontab
/var/spool/anacron/*
anacrontab是啥
检查服务
chkconfig --list #查看服务自启动状态,可以看到所有的RPM包安装的服务
#源码包安装的服务位置
/user/local/
检查异常文件
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“..”为名的文件夹具有隐藏属性
2、针对可疑文件可以使用
stat
查看创建修改时间3、发现WebShell、远控木马的创建时间
如何找出同一时间范围内创建的文件?
find ./ -iname "*" -atime 1 -type f
#找出 ./ 下一天前访问过的文件
检查系统日志
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 | 说明 |
---|---|
/var/log/cron | 记录系统定时任务相关的日志 |
/var/log/message | 记录Linux操作系统常见的系统和服务错误信息(首要检查对象) |
/var/log/btmp |
记录错误登录(登陆失败)日志;使用lastb命令查看 |
/var/log/lastlog |
记录系统中所有用户最后一次成功登录时间,使用lastlog命令查看 |
/var/log/wtmp |
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件;用last命令来查看 |
/var/log/utmp | 只记录当前登录用户的信息;使用w,who,users等命令来查询 |
/var/log/secure | 记录验证和授权方面的信息,如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码 |
#查询ssh登录记录
more /var/log/secure
#安装软件的日志-> Centos
/var/log/yum.log
#安装软件的日志-> Ubuntu
/var/log/apt/
/var/log/syslog:只记录警告信息,常常是系统出问题的信息;
syslog是Linux系统默认的日志守护进程
默认的syslog配置文件是/etc/sysctl.conf文件
syslog不可以使用vi等工具直接查看,它是二进制文件,使用 lastlog 查看
默认Centos,Fedora不生成该日志文件,但可以配置让系统生成该日志文件
/etc/rsyslog.conf
文件中加上:*.warning /var/log/syslog
该日志文件能记录当用户登录时login记录下的错误口令、Sendmail的问题、su命令执行失败等信息
正确清空syslog日志的方式
cat /dev/null > /etc/init.d/syslog
最后
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
无害实验室拥有对此文章的修改和解释权如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的
本文始发于微信公众号(无害实验室sec):Windows 与Linux 应急响应实践
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论