Linux手工入侵排查思路
当Linux主机发生安全事件需要进行入侵排查时,一般可以使用常见的shell命令,通过分析主机的异常现象、进程端口、启动方式、可疑文件和日志记录等信息以确认主机是否被入侵。
在这里,结合工作中Linux安全事件分析处理办法,总结了Linux手工入侵排查过程中的分析方法。
01、检查系统账号
从攻击者的角度来说,入侵者在入侵成功后,往往会留下后门以便再次访问被入侵的系统,而创建系统账号是一种比较常见的后门方式。在做入侵排查的时候,用户配置文件/etc/passwd和密码配置文件/etc/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 "^#|^#34; | grep "ALL=(ALL)"
(4)禁用或删除多余及可疑的帐号 usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头 userdel user 删除user用户 userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
(5)当前登录当前系统的用户信息 who 查看当前登录用户(tty本地登陆 pts远程登录) w 查看系统信息,想知道某一时刻用户的行为 uptime 查看登陆多久、多少用户,负载
02、检查异常端口
(1)使用netstat 网络连接命令,分析可疑端口、IP、PID等信息。 netstat -antlp|more
(2)如发现异常的网络连接需要持续观察,可抓包分析 tcpdump -c 10 -q //精简模式显示 10个包
03、检查可疑进程
(1)使用ps命令列出系统中当前运行的那些进程,分析异常的进程名、PID,可疑的命令行等。 ps aux / ps -ef
(2)通过top命令显示系统中各个进程的资源占用状况,如发现资源占用过高 top
(3)如发现异常,可使用一下命令进一步排查: 查看该进程启动的完整命令行: ps eho command -p $PID 查看该进程启动时候所在的目录: readlink /proc/$PID/cwd 查看下pid所对应的进程文件路径:ls -l /proc/$PID/exe 查看该进程启动时的完整环境变量: strings -f /proc/1461/environ | cut -f2 -d "" 列出该进程所打开的所有文件: lsof -p $PID
04、检查系统服务
Linux系统服务管理,CentOS7使用systemd控制 CentOS6之前使用chkconfig控制。
(1)对于systemd服务管理器来说,可以通过下述方式查看开机自启的服务: systemctl list-unit-files --type=service | grep "enabled"
(2)chkconfig就是CentOS6以前用来控制系统服务的工具,查看服务自启动状态: chkconfig --list chkconfig --list | grep "3:on|5:on"
05、检查开机启动项
(1)检查启动项脚本 more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/
(2)例子:当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc*.d中建立软链接即可 ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。
06、检查计划任务
利用计划任务进行权限维持,可作为一种持久性机制被入侵者利用。检查异常的计划任务,需要重点关注以下目录中是否存在恶意脚本。 /var/spool/cron/* /etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab /var/spool/anacron/*
07、检查异常文件
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以".."为名的文件夹具有隐藏属性
2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件? 可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前访问过的文件
3、针对可疑文件可以使用stat进行创建修改时间。
08、检查历史命令
一般而言,入侵者获取shell之后,会执行一些系统命令从而在主机上留下痕迹,我们可以通过history命令查询shell命令的执行历史。
(1)查询某个用户在系统上执行了什么命令 使用root用户登录系统,检查/home目录下的用户主目录的.bash_history文件
(2)默认情况下,系统可以保存1000条的历史命令,并不记录命令执行的时间,根据需要进行安全加固。 a)保存1万条命令 sed -i "s/^HISTSIZE=1000/HISTSIZE=10000/g" /etc/profile b)在/etc/profile的文件尾部添加如下行数配置信息: ######jiagu history xianshi######### USER_IP=`who -u am i 2>/dev/null | awk "{print $NF}" | sed -e "s/[()]//g"` if [ "$USER_IP" = "" ] then USER_IP=`hostname` fi export HISTTIMEFORMAT="%F %T $USER_IP `whoami` " shopt -s histappend export PROMPT_COMMAND="history -a" ######### jiagu history xianshi ########## c)source /etc/profile让配置生效
09、检查系统日志
在Linux上一般跟系统相关的日志默认都会放到/var/log下面,若是一旦出现问题,用户就可以通过查看日志来迅速定位,及时解决问题。常用日志文件如下: /var/log/btmp:记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看。 /var/log/lastlog:记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看。 /var/log/wtmp:永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看。 /var/log/utmp:记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询。 /var/log/secure:记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
一般,我们需要重点去关注secure安全日志,检查系统错误登陆日志,统计IP重试次数,成功登录的时间、用户名和ip,确认账号是否存在暴力破解或异常登录的情况。 1、定位有多少IP在爆破主机的root帐号: grep "Failed password for root" /var/log/secure | awk "{print $11}" | sort | uniq -c | sort -nr | more 定位有哪些IP在爆破: grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c 爆破用户名字典是什么? grep "Failed password" /var/log/secure|perl -e "while($_=<>){ /for(.*?) from/; print "$1 ";}"|uniq -c|sort -nr 2、登录成功的IP有哪些: grep "Accepted " /var/log/secure | awk "{print $11}" | sort | uniq -c | sort -nr | more 登录成功的日期、用户名、IP: grep "Accepted " /var/log/secure | awk "{print $1,$2,$3,$9,$11}"
为史存证以史为鉴才能面向未来中央纪委国家监委网站陈瑶9月3日是中国人民抗日战争暨世界反法西斯战争胜利纪念日,也是所有中国人必须铭记的日子。14年抗战,中国军民以血肉之躯筑长城以前仆后继赴国难,伤亡超3500万
号外石家庄解封或为9月9日,中秋佳节后全面恢复正常生活头条创作挑战赛石家庄头条石家庄疫情推理9月1日,市政府发布了两则消息公告第一继续封控,连续7日核酸检测结果均为阴性,且7日内未出现密切接触者,防控措施暂调整为出户不出小区。第二继续
一个按摩仪,能撑起一家上市公司吗?01hr按摩仪的风口强者恒强这个词,不仅应用在选股上,对于行业也是一样。大部分抱团的赛道都是炒预期的,而预期这个东西,说大可大,说小可小。一万个人心里,有一万个预期,那这样就不是一
台媒台书店探索经营新模式台湾联合新闻网9月1日发表题为台湾书店新趋势的文章,文章摘编如下自从台北敦南诚品书店结束营业后,台北人都感到无限伤悲,许多深夜睡不着的夜猫族,从此只能在城市中漫无目的游走。不只是诚
假燕窝吃了会对孕妇有什么影响?最近网上闹得沸沸腾腾的,就是刘畊宏为假燕窝公司带货的事。现在的明星无论代言还是带货翻车的越来越多。无论辛巴之前怎么样,但对事不对人,这件事还是值得点赞。事情的发展说刘畊宏出来道歉还
老戏骨廖京生娶何晴为二婚妻子,不离不弃照顾病妻?本人亲自辟谣9月2日,老戏骨廖京生在个人社交账号上分享了一段视频,曝光了自己的近况。罕见露面的廖京生,穿着深色Polo衫,头发打理得很整齐,打扮休闲。从背景来看,视频应该是在家里拍摄的,这套房
生态环境部促进经济社会发展全面绿色转型,发展生态产品第四产业21世纪经济报道记者李德尚玉实习生卢欣怡北京报道在推动减污降碳协同增效上下功夫,落实好碳达峰碳中和1N政策体系,推动能耗双控向碳排放总量和强度双控转变,大力深化全国碳排放权交易市场
演技油腻的5位男星,长着一张帅气的脸,却一个比一个做作演员都是靠脸吃饭的,很多人都羡慕他们天生能拥有一张帅气的脸庞和高挑的身材。有些人能够做到帅而不自知,在拍戏时往往忽略自己的颜值用平常心去对待角色。还有些人却做作得要死,在表演过程中
九州之首一句话安利你的家乡我的家乡是河北冀州冀州头条。大禹分天下为九州,其中即有冀州,位列九州之首,河北省简称冀,也是源于此。北魏时期女性政治家改革家冯太后,即是冀州人。古代有诗云冀州怀古
媒体非要专家泥腿子才痛快?近日,一则专家踩着地毯搞科研的消息在网络上引发争议,事件起因是8月26日28日,国家玉米产业技术体系西南及南方区2022年玉米田间开放交流活动在贵阳召开,主办方为了尊敬领导专家,所
广电疑有新规,辣目洋子改回真名李嘉琦,杨颖的英文艺名也得改9月1日,杨颖辣目洋子等人被推上了热搜榜,原因竟然是一位圈内人爆料称广电下发了新规定,之后国内所有艺人的名字都不能为英文,或者看起来很像外国人的名字。紧接着,辣目洋子率先改回原名,