Linux入侵检测基础

标签: 运维安全 | 发表时间:2015-12-18 16:57 | 作者:Blood_Zero
出处:http://drops.wooyun.org

0x00 审计命令


在linux中有5个用于审计的命令:

  • last:这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出。
  • lastb:这个命令用于查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出。
  • lastlog:这个命令用于查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出。
  • who:这个命令用户查看当前登录系统的情况;这个命令就是将/var/log/utmp文件格式化输出。
  • w:与who命令一致。

关于它们的使用:man last,last与lastb命令使用方法类似:

last [-R] [-num] [ -n num ] [-adFiowx] [ -f file ] [ -t YYYYMMDDHHMMSS ] [name...]  [tty...]
lastb [-R] [-num] [ -n num ] [ -f file ] [-adFiowx] [name...]  [tty...]
who [OPTION]... [ FILE | ARG1 ARG2 ]

参数说明:

  1. 查看系统登录情况

    last:不带任何参数,显示系统的登录以及重启情况

    p1

  2. 只针对关机/重启

    使用 -x参数可以针对不同的情况进行查看

    p2

  3. 只针对登录

    使用 -d参数,并且参数后不用跟任何选项

    p3

  4. 显示错误的登录信息

    lastb

  5. 查看当前登录情况

    who、w

0x01 日志查看


在Linux系统中,有三类主要的日志子系统:

  • 连接时间日志: 由多个程序执行,把记录写入到/var/log/wtmp和/var/run/utmp,login等程序会更新wtmp和utmp文件,使系统管理员能够跟踪谁在何时登录到系统。(utmp、wtmp日志文件是多数Linux日志子系统的关键,它保存了用户登录进入和退出的记录。有关当前登录用户的信息记录在文件utmp中; 登录进入和退出记录在文件wtmp中; 数据交换、关机以及重启的机器信息也都记录在wtmp文件中。所有的记录都包含时间戳。)
  • 进程统计: 由系统内核执行,当一个进程终止时,为每个进程往进程统计文件(pacct或acct)中写一个记录。进程统计的目的是为系统中的基本服务提供命令使用统计。
  • 错误日志: 由syslogd(8)守护程序执行,各种系统守护进程、用户程序和内核通过syslogd(3)守护程序向文件/var/log/messages报告值得注意的事件。另外有许多Unix程序创建日志。像HTTP和FTP这样提供网络服务的服务器也保持详细的日志。

日志目录: /var/log(默认目录)

  1. 查看进程日志

    cat /var/log/messages

    p4

  2. 查看服务日志

    cat /var/log/maillog

    p5

0x02 用户查看


Linux不同的用户,有不同的操作权限,但是所有用户都会在/etc/passwd /etc/shadow /etc/group /etc/group- 文件中记录;

  1. 查看详细

    • less /etc/passwd:查看是否有新增用户
    • grep :0 /etc/passwd:查看是否有特权用户(root权限用户)
    • ls -l /etc/passwd:查看passwd最后修改时间
    • awk -F: '$3==0 {print $1}' /etc/passwd:查看是否存在特权用户
    • awk -F: 'length($2)==0 {print $1}' /etc/shadow:查看是否存在空口令用户

    注:linux设置空口令:passwd -d username

    p6

0x03 进程查看


  1. 普通进程查看

    进程中我们一般使用ps来查看进程;man ps

    • ps -aux:查看进程
    • lsof -p pid:查看进程所打开的端口及文件
  2. 检查隐藏进程

    • ps -ef | awk '{print }' | sort -n | uniq >1
    • ls /proc | sort -n |uniq >2
    • diff 1 2

    注:以上3个步骤为检查隐藏进程

0x04 其他检查


  1. 检查文件

    • 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目录下的文件)
  2. 检查网络

    • ip link | grep PROMISC:正常网卡不应该存在promisc,如果存在可能有sniffer
    • lsof -i
    • netstat -nap:查看不正常端口
    • arp -a:查看arp记录是否正常
  3. 计划任务

    • crontab -u root -l:查看root用户的计划任务
    • cat /etc/crontab
    • ls -l /etc/cron.*:查看cron文件是变化的详细
    • ls /var/spool/cron/
  4. 检查后门

    对于linux的后门检查,网络上有一些公开的工具,但是在不使用这些工具的前提时,我们可以通过一些命令来获取一些信息。

    首先就是检测计划任务,可以参考上面;
    第二:查看ssh永久链接文件:vim $HOME/.ssh/authorized_keys
    第三:lsmod:检查内核模块
    第四:chkconfig --list/systemctl list-units --type=service:检查自启
    第五:服务后门/异常端口(是否存在shell反弹或监听)
    其它:
    ls /etc/rc.d
    ls /etc/rc3.d

相关 [linux 入侵检测 基础] 推荐:

Linux入侵检测基础

- - WooYun知识库
在linux中有5个用于审计的命令:. last:这个命令可用于查看我们系统的成功登录、关机、重启等情况;这个命令就是将/var/log/wtmp文件格式化输出. lastb:这个命令用于查看登录失败的情况;这个命令就是将/var/log/btmp文件格式化输出. lastlog:这个命令用于查看用户上一次的登录情况;这个命令就是将/var/log/lastlog文件格式化输出.

Oracle 管理之 Linux 网络基础

- - CSDN博客数据库推荐文章
1、TCP/IP 网络配置文件. TCP/IP 网络配置文件. IP配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0. 网管配置文件:/etc/sysconfig/network. 域名解析:/etc/host.conf. 主机配置:/etc/hosts.

入侵检测工具rkhunter安装

- - C1G军火库
rkhunter是Linux下的一款开源入侵检测工具. rkhunter具有比 chrootkit更为全面的扫描范围. 除rootkit特征码扫描外,rkhunter还支持端口扫描,常用开源软件版本和文件变动情况检查等. rkhunter的官方网站位于 http://www.rootkit.nl/,目前最新的版本是rkhunter-1.3.8.

Linux上的基础网络设备详解

- - 博客园_知识库
  网络虚拟化是 Cloud 中的一个重要部分. 作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理、用法、数据流向. 您通过此文,能够知道如何使用 Linux 的基础网络设备进行配置以达到特定的目的,分析出 Linux 可能的网络故障原因.   Linux 抽象网络设备简介.   和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成.

开源入侵检测系统Snort V2.9.4.1发布

- - FreebuF.COM
Snort是一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS. Snort符合通用公共许可(GPL——GUN General Pubic License),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它.

著名开源入侵检测系统(IDS/IPS):Snort V2.9.5发布

- - FreebuF.COM
Snort是一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(Network Intrusion Detection/Prevention System),即NIDS/NIPS. 在全球拥有百万级的下载量和近400,000的注册用户,已经成为IPS的标准.

Linux及Arm-Linux程序开发笔记(零基础入门篇) - 一点一滴的Beer - 博客园

- -
一、Arm-Linux程序开发平台简要介绍. 1.1程序开发所需系统及开发语言. 二、Linux开发平台搭建. 2.2安装Linux虚拟机. 2.3虚拟机的一些基本配置. 三、Fedora-linux系统. 3.1控制终端的基本操作命令. 3.2.2 Qt库及Qt界面设计软件. 四、使用Eclipse CDT开发Linux程序.

记一次成功的sql注入入侵检测附带sql性能优化

- Bloger - 博客园-首页原创精华区
很多同学和园友都遇到过sql注入的,其中大部分都是代码的不严谨造成的,都是犯过很多错误才学会认真起来. 但是如果是让你接手一个二等残废的网站,并让你在上面改版,而且不能推翻式改版,只能逐步替换旧的程序,那么你会非常痛苦,例如我遇到的问题:.                                                                                                       .

浅谈大型互联网企业入侵检测及防护策略

- - 美团点评技术团队
如何知道自己所在的企业是否被入侵了. 是没人来“黑”,还是因自身感知能力不足,暂时还无法发现. 其实,入侵检测是每一个大型互联网企业都要面对的严峻挑战. 价值越高的公司,面临入侵的威胁也越大,即便是Yahoo这样的互联网鼻祖,在落幕(被收购)时仍遭遇全量数据失窃的事情. 安全无小事,一旦互联网公司被成功“入侵”,其后果将不堪想象.

Javascript 里跑Linux

- rockmaple - Shellex's Blog
牛逼到暴的大拿 Fabrice Bellard,用Javascript实现了一个x86 PC 模拟器,然后成功在这个模拟器里面跑Linux(请用Firefox 4 / Google Chrome 11打开,Chome 12有BUG). 关于这个东西… 伊说 “I did it for fun“,大大啊大大啊….