审计命令
last
这个命令可用于查看我们系统的成功登录、关机、重启等情况,本质就是将/var/log/wtmp文件格式化输出,因此如果该文件被删除,则无法输出结果。
相关参数:
last -10(-n) 查看最近10条记录
last -x reboot 查看重启的记录
last -x shutdown 查看关机的记录
last -d 查看登陆的记录
last –help 命令帮助信息
last -f wtmp 用last命令查看wtmp文件(直接打开无法查看)
lastb
这个命令用于查看登录失败的情况,本质就是将/var/log/btmp文件格式化输出。
相关参数:
lastb name(root) 查看root用户登陆失败记录
lastb -10(-n) 查看最近10条登陆失败记录
lastb –heplp 命令帮助信息
lastlog
这个命令用于查看用户上一次的登录情况,本质就是将/var/log/lastlog文件格式化输出。
相关参数:
lastlog 所有用户上一次登陆记录
lastlog -u username(root) root用户上一次登陆记录
lastlog –help 命令帮助信息
who
这个命令用户查看当前登录系统的情况,本质就是将/var/log/utmp文件格式化输出。主要用来查看当前用户名称,以及登陆的ip地址信息,w命令与who一样,会更详细一些。
history
查看历史命令记录,其实就是查看root/.bash_history文件内容,删除这个文件,记录就没了。
相关参数:
history 查看所有历史记录
history -10 查看最近10条记录
history | grep “wget” 查看wget相关信息的记录
history –help 命令帮助信息
history显示时间戳:
export HISTTIMEFORMAT="%F %T
whoami"
history | more
检查用户
Linux不同的用户,有不同的操作权限,但是所有用户都会在/etc/passwd、/etc/shadow、/etc/group文件中记录。
less /etc/passwd 查看是否有新增用户
grep :0 /etc/passwd 查看是否有特权用户(root权限用户)
ls -l /etc/passwd 查看passwd最后修改时间
cawk -F: '$3==0 {print $1}' /etc/passwd 查看是否存在特权用户
awk -F: 'length($2)==0 {print $1}' /etc/shadow 查看是否存在空口令用户
注:linux设置空口令:
passwd -d username
检查进程
一般被入侵的服务器都会运行一些恶意程序,或是挖矿程序,或者DDOS程序等等,如果程序运行着,那么通过查看进程可以发现一些信息。
普通进程
ps -aux 查看进程
top查看进程
lsof -p pid 查看进程所打开的端口及文件
lsof -c 进程名 查看关联文件
ps -aux | grep python | cut -d ' ' -f 2 | xargs kill 杀死python相关的进程
检查/etc/inetd.conf文件,输入:
cat /etc/inetd.conf | grep –v "^#"
,输出的信息就是你这台机器所开启的远程服务。
隐藏进程
ps -ef | awk '{print}' | sort -n | uniq >1
ls /proc | sort -n |uniq >2
diff 1 2
检查文件
被入侵的网站,通常肯定有文件被改动,那么可以通过比较文件创建时间、完整性、文件路径等方式查看文件是否被改动。
find / -uid 0 -print 查找特权用户文件
find / -size +10000k -print 查找大于10000k的文件
find / -name "…" -prin 查找用户名为…的文件
find / -name core -exec ls -l {} \; 查找core文件,并列出详细信息
md5sum -b filename 查看文件的md5值
rpm -qf /bin/ls 检查文件的完整性(还有其它/bin目录下的文件)
whereis 文件名 查看文件路径
ls -al 文件名 查看文件创建时间
du -sh 文件名 查看文件大小
检查网络
检查网络的目的,是查看黑客是否通过篡改网卡类型,进行流量嗅探等操作。
ip link | grep PROMISC 正常网卡不应该存在promisc,如果存在可能有sniffer
lsof -i
netstat -nap 查看不正常端口
arp -a 查看arp记录是否正常
ifconfig -a 查看网卡设置
检查计划任务
当我们尝试kill恶意程序时,往往会遇到被kill程序自动启动的问题,那么就要检查下计划任务(cron)了。
crontab -u root -l 查看root用户的计划任务
cat /etc/crontab
ls -l /etc/cron.* 查看cron文件是否变化的详细信息
ls /var/spool/cron/
检查系统后门
可以使用工具,如:Conmodo、rkhunter等,当然也可以手工输入命令检查。
vim $HOME/.ssh/authorized_keys 查看ssh永久链接文件
lsmod 检查内核模块
chkconfig –list/systemctl list-units –type=service 检查自启
查看著名的木门后门程序:
ls /etc/rc.d #系统开机后,此目录下的文件会被启动
ls /etc/rc3.d
find / -name “.rhosts” –print
find / -name “.forward” –print
打包文件
当我们做好一切入侵检测分析后,我们需要把一些日志文件copy到本地进行更进一步详细的分析时,怎么打包服务器相关信息,并且copy到本地呢?
打包web文件
打包文件名中包含jsp的文件,打包后的文件为my_txt_files.tar:
tar cvf my_txt_files.tar find . -type f -name "*.jsp*"
打包日志文件
tar -cvf log.tar /var/log
打包其他信息
last > last.log
netstat -an > netstat.log