1.windows系统
win系统总体排查项应该包括
(1)系统启动项
直接在搜索框输入msconfig
可以看到,我找到了这个程序,将找到的启动项名称复制,直接到浏览器中搜索,可以看到是否有可能是病毒木马程序
(2)注册表的检测
windows10
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
可以看到,我这个什么都没有
windows7
win7自启动注册表如下:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
(3)Temp临时文件夹
有些可以的木马文件,比如dll、exe、sys、msi等一些可疑的文件会放在temp文件夹下,将可疑的文件放入病毒检测网站比如360,进行检测
Temp文件目录建议使用%temp%在c盘下直接搜
浏览器信息分析
主要是查看一些浏览器的历史浏览信息,是否会存在被黑客攻击的情况
1、分析浏览器的浏览记录,可以使用browserhistoryview工具进行查看
2、分析浏览器的下载记录,可以使用browserdownloadview工具进行查看
下载连接
http://www.bytepan.com/KuL4xbQfoea
版本经过多家病毒分析,安全无毒,放心下载使用
3、分析浏览器的cookie信息,可以使用IEcookieview工具进行查看
这上面使用到的工具还在病毒检测中心检测,所以就不截图了
文件时间属性检测
如果文件的修改时间早于创建时间,说明这个文件十分是可疑的,因为一些webshell工具可以修改文件的修改时间
可以通过最近的打开文件的是否有病毒或者木马程序,Recent目录里含有最近打开过的文件
win10可以在快速访问钟查找
win7可以在C:\Users\leo\Recent地址下查找
我觉得,其实使用D盾之类的工具,直接全盘扫描也是可以的,但是在被入侵之后,扫描类的工具不能用,这个也可以提供一个思路
在cmd使用find命令可以快速查询到含有指定内容的文件
分析可以进程
病毒木马之类的文件,在生效的时候,可能会与外界进行联系,每一次通信都会用不同的端口,所以可以根据网络状态查找木马
使用netstat -ano | find “ESTABLISHED”,可以查找可疑的端口链接,通过非寻常的端口来确认可以程序,比如443,80端口基本上都是正常的,127.0.0.1基本上属于回环地址
tasklist /SVC | find "pid"查看对应PID的实际进程
taskkill /pid 17224 /F /T 强制终止指定pid进程
分析windows任务计划
黑客通常会给受害机设置定时任务,用以维持木马的持久化
创建任务的命令
schtasks /create /tn test /sc DAILY /st 23:18 /tr C:\beacon.exe /F
我们可以使用命令进行查询
win7使用at
win10使用schtasks.exe可以查看到定时任务计划
也可以通过任务计划程序(可视化界面)查看
分析隐藏账户
在计算机中建立隐藏账户,使用net user 也查询不到隐藏账户
下是建立隐藏账户的cmd命令,可以在用户管理界面将隐藏账户进行删除或者修改其权限
net user test$ qQ123456 /add 添加用户
net user localgroup administrators test$ /add 添加管理员
黑客还可以利用注册表新建账户,这种更难被察觉到,以下利用hideadmin工具针对注册表创建隐藏用户
进入注册表的用户目录(需要给sam目录给予权限),对生成的隐藏账户进行删除
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users注册表用户所在目录
分析恶意进程
使用process exploer可以对任务管理器进程进行分析,可以将可疑进程发送到病毒检测网站进行检测,随后进行删除操作。
系统更新与补丁
执行cmd命令systeminfo查看系统已安装补丁,也可以查看控制面板程序的已安装更新面板来查看补丁。win10直接在设置里的更新与安全进行查看更新。
Windows审核策略
本地审核策略
若系统出现问题,即可查询到日志信息或追踪入侵者。
Windows日志筛选
搜索事件查看器,找到安全日志
通过筛选功能可以更方便查询到指定的事件内容,不同的事件ID对应不同的事件操作
4624 | 登陆成功 |
---|---|
4625 | 登陆失败 |
4634 | 注销成功 |
4647 | 用户启动注销 |
4672 | 超级用户登录 |
通过事件ID筛选
使用管理员账户远程登录主机时,主机会出现以下的事件ID
4776 | 凭证登录 |
---|---|
4648 | 凭据登录 |
4624 | 登录成功 |
4672 | 超级用户登录 |
在入侵提权过程中,黑客一般都会利用net user或者net localgroup语句创建用户,日志记录的事件ID为:4732,4722,4724
4732 | 添加用户 |
---|---|
4724 | 重置用户密码 |
4722 | 启用用户账号 |
linux系统排查
分析敏感文件或目录
TMP临时目录
tmp目录是一个放置临时文件的目录,普通用户对其目录内的文件都具有读写的操作,因此tmp目录经常被利用至提权
引用别人的图片
开机自启动文件分析
查看自启动文件:ls -alh /etc/init.d/ (-h显示文件大小)
寻找敏感文件(例如webshell)
以下是常用到的find命令:
find ./ mtime 0 name “*.php” //查找24小时内修改过的指定文件 mtime:修改时间 0:24小时
find ./ ctime -2 name “*.php” //查找72小时内生成的指定文件 ctime:创建时间
find ./ iname “.php” -perm 777 //查找权限为777的指定文件 iname:不区分大小写 perm:指定权限
进程分析
分析网络连接
常用命令:netstat -pantl ,列出tcp相关的服务连接。
netstat -pantl | grep “ESTABLISHED”,查看已建立的tcp服务连接。
以下是netstat的使用参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
若要关闭某个进程,使用命令:kill -9 pid
对进程文件分析
以下是常用到的linux命令:
ps -aux :列出所有的进程
ps -aux | grep pid:列出指定pid的进程
lsof -i:端口号:列出指定端口的进程(摆烂了)
登录分析
在linux的操作都会被记录在系统日志中,可以通过日志信息查询是否有异常登录
last -i | grep -v 0.0.0.0 : 查询非本地登录的日志信息,-i显示IP
w命令,实时查看登录日志
分析异常用户
常用提权root用户的操作
新建用户,随后修改用户uid为0来变成root权限用户
useradd test
passwd test 输入密码
vim /etc/passwd 修改用户uid为0
排查异常用户
grep “0:0” /etc/passwd
ls -l /etc/passwd 查看文件最近修改时间
awk -F: ‘$30 {print $1}’ /etc/passwd
awk -F: '$2"!" {print $1}’ /etc/shadow
历史命令history分析
linux系统之前执行的命令会保存在/root/.bash_history文件中,以下是查看history的命令。
cat /root/.bash_history
history
特别注意到的历史命令:wegt(远程下载)、ssh(连接内网)、tar zip(压缩打包)
有些黑客还会修改你的系统命令,例如把netstat命令给改了,之后这命令就无法正常使用
分析计划任务
使用crontab命令进行排查计划任务
crontab -l //列出计划任务
crontab -r //删除计划任务
crontab -e //编辑计划任务
开机自启动项
设置开机自启动
ls /etc/init.d/ 查看开机自启动文件
/etc/init.d/ apache2 status 查看apache2服务状态
/etc/init.d/ apache2 start 设置apache2服务开机自启动
update-rc.d apache2 enable 设置apache2服务开机自启动
关闭开机自启动
update-rc.d apache2 disable 取消apache2服务开机自启动
$PATH变量异常
P
A
T
H
就
是
环
境
变
量
,
需
要
去
查
看
PATH就是环境变量,需要去查看
PATH就是环境变量,需要去查看PATH有没有异常的变量
echo $PATH 输出变量
vim /etc/profile,随后添加export PATH= P A T H : / u s r / l o l / f a k e r , 再 s o u r c e / e t c / p r o f i l e 。 这 个 方 法 是 永 久 修 改 PATH:/usr/lol/faker,再source /etc/profile。这个方法是永久修改 PATH:/usr/lol/faker,再source/etc/profile。这个方法是永久修改PATH变量。
后门排查之rkhunter工具使用
安装工具:apt-get install rkhunter
常用命令:rkhunter --check --sk (–sk表示自动补全)
系统加固
阻止非root用户登录
touch /etc/nologin
给密码文件设置权限
chmod 644 /etc/passwd
chmod 600 /etc/shadow
chmod 644 /etc/group
修改文件默认权限
umask=027
给日志或其他重要文件加固
chattr +a /var/log/messages //设置此文件只能追加数据
chattr +i /var/log/messages.* //设置文件不能被修改且删除
chattr +i /etc/shadow
chattr +i /etc/passwd chattr +i /etc/group
屏蔽banner信息
vi /etc/ssh/sshd_config 将banner设置成NONE
增强秘钥
authconfig --passalgo=sha512 --update //启用 SHA512 替代 MD5加密
限制登录次数
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=120 //登录三次后锁定账户,普通用户5秒后解锁,root用户120秒后解锁
设置历史命令最大保存条数
vim /etc/profile 修改HISTSIZE为20(默认是1000)
总结一下
window系统要查看的
1.安全日志(根据事件ID信息进行筛选排查)
2.注册表(主要查看隐藏用户或者影子用户)
3.开机启动文件检测(直接查看启动项,使用msconfig命令)
4.Temp临时文件(使用%temp%搜索)
5.浏览器信息查询(查询访问记录和下载记录,使用工具分析)
6.文件时间属性分析(主要根据修改时间和创建时间对比)
7.分析可疑进程 (使用netstat -ano | find "ESTABLISHED"查看,找到指定pid,然后查看)
8.分析Windows计划任务
9.分析恶意进程(使用process exploer可以对任务管理器进程进行分析)
10.系统更新与补丁(及时更新)
11.Windows审核策略
Linux系统要查看的
1.分析敏感文件或目录
TMP临时目录
2.开机自启动文件分析
查看自启动文件:ls -alh /etc/init.d/ (-h显示文件大小)
3.进程分析
分析网络连接
4.登录分析
在linux的操作都会被记录在系统日志中,可以通过日志信息查询是否有异常登录
5.分析异常用户
常用提权root用户的操作
6.历史命令history分析
linux系统之前执行的命令会保存在/root/.bash_history文件中,以下是查看history的命令。
7.分析计划任务
使用crontab命令进行排查计划任务
8.开机自启动项
设置开机自启动
9.$PATH变量异常
P
A
T
H
就
是
环
境
变
量
,
需
要
去
查
看
PATH就是环境变量,需要去查看
PATH就是环境变量,需要去查看PATH有没有异常的变量
10.后门排查之rkhunter工具使用
11.系统加固
好麻烦,因为技术不知道能不能用到,所以先储备着