应急响应
我们应急响应,要从渗透测试的角度来思考,因为自我接触信息安全以来,攻防之中,大部分是攻击,俗话说得好,兵法之,未知攻,焉知防。
信息收集,第一步,最常见的必然是开放的端口,端口呢等同于服务,那么还有什么呢,账号,密码
为了捋清楚,做一个归纳
虽然windows和Linux系统不为相同,但其攻击的流程或手段都以端口服务、账号、web、系统或应用的版本缺陷为缺口,只要能找到这个缺口,那么这个系统就防守不住了。
作为Linux,Linux有着更强的安全性。
防守方
Ax 应急响应W+L防守共性
一、账号安全
排查账号信息 /etc/passwd /etc/group /etc/shadow net user
shadow影子文件解释
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
弱口令问题
未授权访问
入侵排查
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 user
删除 user 用户
userdel -r user
将删除user用户,并且将/home目录下的user目录一并删除
二、监视系统
1.进程 netstat -an
2.端口 ps
3.服务 etc/init.d
4.远程登入 whoamifuck2 /var/log/auth.log lastb last
5.计划任务 crontab
6.日志文件 /var/log/ more /etc/rsyslog.conf 可按需所查 eventvwr.msc 中间件的日志
7.历史命令
8.系统状态
2.1 进程
lsof
查看用户启动什么进程
lsof -u root
fgrep
查看命令所在进程
fgrep ls
ps
查看进程信息
ps -ef or ps -aux
根据进程名查找端口信息
ps -ef | grep tomcat
根据进程id查看进程信息
ps -ef | grep 1095
根据进程id杀死进程
kill -9 1095
netstat
a参数是列出所有连接,n是不要解析机器名,p列出进程名
netstat -anp
根据进程id查找端口
netstat -nap | grep 1095
2.2 端口
查看端口信息
netstate -a
查看端口是那个进程打开的
lsof -i:8080
还有一种方法查看根据端口查看进程信息
netstat -tunlp | grep 8080
2.3 服务
查看服务或进程是否存在
ps -aux | grep xxx
利用services命令
service 服务名 status # 查看服务状态
service -–status-all # 查看所有服务
利用chkconfig配置工具:注意,ubuntu或debian没有这个命令
1.查看单个服务的运行状态:
chkconfig 服务名 status
2.查看所有服务的运行状态
chkconfig –list
3.关闭或开启服务状态:
chkconfig –level 345 nscd off/on
3.关闭或开启服务状态:
chkconfig –level 345 nscd off/on
4.增加服务:
chkconfig –add xxx ( 注意:服务脚本必须存放在 /etc/init.d/目录下)
如mysqld
[root@www mysql-5.1.59]#cp support-files/mysql.server etc/init.d/mysqld
chkconfig mysqld on (各等级为ON,各等级为2345等级)
这样就会以系统服务的形式启动了
5.删除服务:
chkconfig –del XXX
runlevel 查看当前等级。
查看服务文件
/etc/init.d目录下
2.4 用户登入
last、lastb、lastlog
分别为用户登入成功最后一次、失败、成功的用户
whoamifuck2
github开源shell脚本,用户入侵检测排查工具
2.5 计划任务
crontab
查看计划调度表
crontab -l or crontab -e # -e 为edit编辑状态
2.6 日志分析
安全日志 /var/log/secure 安全日志secure包含验证和授权方面信息
用户信息 /etc/passwd
命令执行记录 ~/.bash_history
root邮箱 /var/spool/mail/root
中间件日志(Web日志access_log)
登陆日志(可直接使用命令调取该信息,对应命令last/lastb)
cron(定制任务日志)日志 /var/log/cron
其他日志 redis、sql server、mysql、oracle等
2.7 历史命令
~/.bash_history
保存十万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=100000/g' /etc/profile
清除历史命令
history -c
入侵排查
进入用户目录下
cat .bash_history >> history.txt
2.8 系统状态
top
stat
这个太多了,可以参考系统信息收集一文
三、加固
总的思路
账号的管理
禁用root用户
权限的管理
禁止sudo
系统的管理
禁止写入
服务的管理
禁止远程
Bx Windows应急响应
Windows 系统的缺陷较大,所以将应急响应事件分为四类
- 病毒、木马、蠕虫事件
- Web 服务器入侵事件 或 安装的第三方服务入侵事件。
- 系统入侵事件,如利用 Windows 的漏洞攻击入侵系统、利用RDP服务弱口令入侵,跟 Web 入侵有所区别,Web 入侵需要对 Web 日志进行分析,系统入侵只能查看 Windows 的事件日志。
- 网络攻击事件(DDoS、ARP、DNS 劫持等)
入侵排查思路
web入侵:对中间价日志进行分析
系统入侵:计划任务,系统爆破痕迹(系统日志),进程进行分析
网络攻击:流量分析
攻击方视觉
未授权访问或弱口令:Redis未授权访问、Docker API未授权访问,Hadoop Yarn 未授权访问、NFS未授权访问、Rsync弱口令、PostgreSQL弱口令、Tomcat弱口令、SSH弱口令、Telnet弱口令、Windows远程桌面弱口令,mysql弱口令;
远程命令执行漏洞:WebLogic XML 反序列化漏洞、Jenkins反序列化、Jboss远程代码执行、Spring远程代码执行、ElasticSearch命令执行、永恒之蓝、Struts2系列漏洞、常见CMS的远程命令执行漏洞;
ssh爆破:Linux主机常常由ssh爆破攻入挖矿所以一定要避免弱口令以及规律性的密码。
Cx Linux应急响应
Linux 常用命令
- find / -name *.jsp #根目录下所有.jsp后缀文件
- find -type f -mtime -3 #最近3天修改过的文件
- find -type f -ctime -3 #最近3天创建的文件
- grep -nv ‘root’ /etc/passwd # 过滤出不带有某个关键词的行并输出行号
- grep -nr root / # 查看根目录下 含有root信息的文件,并标注行号
- grep -nr -v “404” ./ | grep -E “.jsp | .jspx” | more #查看根目录下后缀为.jsp .jspx文件,并从大到小排列
- head /etc/passwd #显示文件前十行
- tail -f 文件名 # 实时展示文件内容
- awk -F “ “ ‘{print $1}’ access.log| sort|uniq -c|sort -nr #对access.log日志进行分析,筛查提取访问IP 从大到小排序,并提示访问次数
- lsof -u root #查看某个用户启动了什么进程
- lsof -i:8080 # 某个端口是哪个进程打开的
- lastb #登录失败记录:/var/log/btmp
- lastlog #最后一次登录:/var/log/lastlog
- last #登录成功记录: /var/log/wtmp
- crontab -l #查看计划任务是否有恶意脚本或者恶意命令
- netstat -anp #a参数是列出所有连接,n是不要解析机器名,p列出进程名
- ps -ef / ps -aux #查看进程信息
- top # 查看进程cpu占比(动态任务,可实时查看最高cpu占有率)
- stat # 查看某个文件是否被修改过
Dx 参考
[1] https://blog.csdn.net/zycdn/article/details/106532794
[2] https://mp.weixin.qq.com/s/f38CmhZCXPvz5P-c17z-Bw
[3] https://www.cnblogs.com/moy25/p/8668432.html
[4] https://www.cnblogs.com/zyh0430/p/11877674.html
[5] https://enomothem.cn/posts/5fe1.html
[6] https://enomothem.cn/posts/f7f.html
[7] https://blog.csdn.net/jihaichen/article/details/86756008?