栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux下应急溯源常用命令

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux下应急溯源常用命令

作者:r0n1n
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

0x00 前言

在各企业面对黑客入侵影响业务正常运行的安全事件时,首先要定位事件发生的时间,地点,之后对黑客攻击手法进行回溯黑客画像(主要判断黑客攻击手法及其路径,他从哪里进来的?他在服务器上做了什么?怎么追踪?),从而更精准的定位黑客身份信息,来降低后续损失。

0x01 常用命令 1、账号相关
#查询特权用户特权用户(uid 为0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
root

#查询可以远程登录的帐号信息
[root@localhost ~]# awk '/$1|$6/{print $1}' /etc/shadow
root:$1$VJkWOIro$gRi9wy.FrsUE/W5oc3vVS.:18644:0:99999:7:::
xxxxx:$1$VJkWOIro$gRi9wy.FrsUE/W5oc3vVS.:18644:0:99999:7:::
[root@localhost ~]# 


#查看当前登录用户(tty 本地登陆  pts 远程登录) /var/log/utmp
w/who
2、程序相关

需要查看当前异常系统进程,及额外开放端口。

#查看当前开放端口
netstat -tnlp 

#查看当前系统上运行的所有进程
ps -ef

#查看进程
ps aux | grep pid


#可以直接看到进程实时情况
top

#查看cpu占用率前十的进程,互补top
ps aux --sort=pcpu | head -10

3、日志相关
日志默认存放位置:/var/log/

查看日志配置:more /etc/rsyslog.conf

#查看系统的成功登录、关机、重启等 /var/log/wtmp
last

#查看登陆失败的用户日志 /var/log/btmp
lastb

#查看所有用户登陆日志 /var/log/lastlog
lastlog

#查看谁在使用某个端口
lsof -i :5001

#查看内部对外的网络连接
lsof -nPi
#集诊断、调试、统计一体的工具。`strace -f -p pid` 查看进行的行为
Strace

#Linux工具,如果系统命令被替换了可以使用此命令来查看系统相关信息。
busybox

3.1 定位爆破root帐号来源IP

#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 "$1n";}'|uniq -c|sort -nr

3.2 查询登录成功的IP

#last命令,它会读取位于/var/log/wtmp的文件,并把该文件记录的登录系统的用户名单。
#grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

3.3 查询增加用户日志

#登录成功的日期、用户名、IP:
#grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}' 
#grep "useradd" /var/log/secure 

Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali

3.4 查询删除用户日志

# grep "userdel" /var/log/secure
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'

3.5 查询su切换用户记录

#sudo -l

Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user test by root(uid=0)
4、启动项相关

#开机启动配置文件
/etc/rc.local
/etc/rc.d/rc[0~6].d

只要将脚本放到/etc/rc.d目录下,再创建软连接ls -s /etc/rc.d/rc*.d就可以完成自启动项设置

#检查启动项文件脚本
more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/
5、定时任务
#排查以下文件
/var/spool/cron

2、开始安装
./configure --prefix=/usr/local/bash    //编译检查
make    //编译成二进制
make install    //默认安装在/usr/local/

安装成功后对应目录如下:

此时可以修改/etc/passwd中用户shell环境,也可以用编译好的bash文件直接替换原有的bash二进制文件,但对原文件做好备份。

usermod -s /usr/local/bash/bin/bash test

替换时注意:
1、一定要给可执行权限,默认是有的,不过有时候下载到windows系统后,再上传就没有可执行权限了,这里一定要确定,不然你会后悔的;
2、替换时原bash被占用,可以修改原用户的bash环境后再进行替换。

查看效果,我们发现history记录已经写到了/var/log/message中。

如果要写到远程logserver,需要配置syslog服务,具体配置这里不做详细讲解,大家自己研究,发送到远端logserver效果如下图所示。

通过以上方法,可以有效保证history记录的完整性,避免攻击者登录系统后,通过取消环境变量、删除history记录等方式抹掉操作行为,为安全审计、应急响应、溯源分析等提供了完整的原始数据。

0x03 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/277442.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号