• 1.linux分析排查


    0x01. 文件分析

    1.1 文件分析-敏感文件信息

    在linux系统下一切都是文件,其中/tmp是一个特别的临时目录文件。每个用户都可以对它进行读写操作。因此一个普通用户可以对/tmp目录执行读写操作

    image-20210328101517151

    tmp的权限中最后一位t是指如果A用户在/tmp下创建一个文件夹A, 那么B用户是无法访问的

    比如说你拿下一台linux服务器, 但是不是root权限, 你想提权的话, 可以将exp放到/tmp目录下, 然后运行

    1.2 文件分析-开机自启文件

    查看开机启动项内容/etc/init.d/ , 恶意代码很有可能设置在开机自启动的位置

    image-20210328103828898

    查看指定目录下文件时间顺序的排序 : ls -alh|head -n 10

    查看文件时间属性: stat 文件名

    image-20210328103909381

    新增文件分析

    查找24小时内被修改的文件

    find ./ -mtime 0 -name "*.php"
    

    查找72小时内新增的文件

    find ./ -ctime -2 -name "*.php"
    

    image-20210328104957732

    权限查找: 在linux系统中, 如果具有777权限, 那么这个文件很可疑

    find ./ -iname "*.php" -perm 777
    -iname   忽略大小写,    -perm用于设定筛选文件权限
    

    image-20210328105158646

    0x02. 进程分析

    2.1 进程分析-网络连接分析

    在linux中可以使用netstat进行网络连接查看

    netstat -Print network connections,routing tables,inteface statistics,masquerade connections,and multicast memberships
    

    具体帮助信息查看 man netstat

    常用命令 netstat -pantl 查看处于tcp网络套接字相关信息

    image-20210328110113238

    关闭位置连接 kill -9 pid 即可关闭 -9代表的是强制关闭,关闭的是进程

    2.2 进程分析-进程所对文件

    在linux中可以使用ps查看进程相关信息

    ps aux 
    查看所有进程信息
    

    image-20210328111722093

    使用ps aux | grep PID 筛选出具体PID的进程信息, lsof -i : 端口号也可以实现类似的功能

    image-20210328111946491

    lsof -i:22
    ps aux | grep 22 
    

    image-20210328112923557

    0x03. 登录分析

    3.1 登录分析-异常登录

    在linux中所有操作都会记录到系统日志中, 对于登录也可以查看日志信息, 查看是否异常登录

    last -i | grep -v 0.0.0.0
    查看登录日志, 筛选非本地登录    -v 0.0.0.0 去除0.0.0.0
    

    image-20210328113842975

    w 
    实时登录查看
    

    image-20210328113825897

    可以看到192.168.31.238这台主机以root登录了我们的linux主机

    3.2 登录分析-异常用户

    在linux中root用户是一个无敌的存在, 可以在linux上做任何操作

    添加一个新用户设置为root的权限

    新建用户  useradd test设置用户密码   passwd test  输入密码设置用户uid和gid都为0 ( root用户uid为0,gid也为0 )  修改passwd文件即可
    

    image-20210328182058312

    cat /etc/passwd 查看所有用户信息

    筛选uid和gid为0的用户命令, 即root权限用户

    grep "0:0" /etc/passwdawk -F: '$3==0 {print $1}' /etc/passwd
    

    image-20210328182940391

    筛选没有密码的用户

    awk -F: '$2=="!" {print $1}' /etc/shadow
    

    image-20210328182951421

    注意有root权限和空密码的用户, 重点留意

    0x04. 命令分析

    4.1 命令分析-历史命令

    在linux系统中默认会记录之前执行的命令 /root/.bash_history文件中

    用户可以使用 cat /root/.bash_history 进行查看 或者使用 history 命令进行查看

    history                                   默认情况下保留当前1000行,够用了cat /root/.bash_history
    

    image-20210328183632193

    image-20210328183653899

    注意 : wget ( 可远程下载木马 ) , ssh ( 连接内网主机 ) , tar zip类命令 ( 数据打包 ) , 系统配置等 ( 命令修改)

    补充 : 默认history没有其他的信息 , 可以在添加以下代码 , 展示更多的历史命令相关信息,在centos测试可以

    vim /etc/profile######jiagu history xianshi#########USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiexport HISTTIMEFORMAT="%F %T $USER_IP `whoami` "shopt -s histappendexport PROMPT_COMMAND="history -a"######### jiagu history xianshi ##########如果不能右键, 在xshell中shift+ins(f12)
    

    配置生效

    source /etc/profile
    

    行号 年月日 时分秒 ip 用户 命令

    image-20210328184746663

    0x05. 任务分析

    5.1 任务分析-计划任务

    在linux系统中可以使用命令 crontab 进行计划任务的设定

    crontab -h
    

    image-20210328185438818

    其中 -e 可以用来编辑设定计划任务, -l 可以列出当前用户的计划任务, -r删除当前用户所有的计划任务

    默认第一次编辑计划任务会让你选择编辑器, 最好选3,vim编辑, 如果不慎选了1nano, 可以通过select-editor修改

    image-20210328190906771

    编辑一个计划任务

    crontab -e* * * * * echo $(date) >> /tmp/time.log
    

    5.2 任务分析-开机启动

    在linux(Debian)系统中 /etc/init.d/ 目录下保存着 开机自启动程序的目录

    用户可以直接使用 /etc/init.d/程序名称 status 查看状态

    /etc/init.d/ssh status   		查看远程连接状态/etc/init.d/ssh start           	开启远程连接/etc/init.d/ssh stop           	      停止远程连接
    

    image-20210328202446163

    使用 update-rc.d 程序名称 disable 取消开机自启动 使用enable开机自启

    update-rc.d ssh disable             开启开机自启动update-rc.d ssh enable              取消开机自启动
    

    0x06. 环境变量

    6.1 环境变量-$PATH异常

    决定了 shell命令 将到哪些目录中寻找命令或程序, PATH的值是一系列目录, 当你运行一个程序时, linux在这些目录下进行搜寻编译链接, 比如你输入一个ls, 首先会在当前目录找寻ls这个文件, 如果没有再去PATH中找

    echo $PATH
    

    image-20210328203918764

    修改PATH export PATH=$PATH:/usr/local/new/bin 本次终端中有效, 重启后无效, 在/etc/profile或/home/.bashrc ( source ~/.bashrc ) 才能永久生效

    export PATH=$PATH:/usr/local/new/bin
    

    image-20210328204232200

    0x07. 后门分析

    7.1 后门分析-rkhunter

    Rkhunter具有以下功能:

    • 系统命令检查, MD5校验
    • Rookit检测
    • 本机脱敏目录, 系统配置异常检测

    安装: apt install rkhunter , 如果想要卸载 apt autoremove rkhunter

    image-20210328205401916

    基本使用 : rkhunter --check --sk

    image-20210328210341117

    重点关注 warning 不是绿色的

    -c, --check Check the local system

    --sK, --sKip-Keypress Don't wait for a keypress after each test

    7.2 webshell查杀

    推荐河马工具 linux版:

    河马webshell查杀:http://www.shellpub.com

    深信服Webshell网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html

    使用方法

    1. 下载64位版本wget -O /opt/hm-linux.tgz http://dl.shellpub.com/hm/latest/hm-linux-amd64.tgz?version=1.8.2             指定保存路径             网址2. 解压缩cd /opt/tar xvf hm-linux.tgz   
    

    注意:

    不要将本软件放置到web目录下

    不要在web目录下运行软件

    3. 查看帮助./hm -h4.  查看版本./hm version5. 扫描后门 ./hm scan 你的web目录
    

    image-20210328211231443

    image-20210328211328535

  • 相关阅读:
    听较强节奏的歌曲,能让你更长时间投入到学习中
    小康网站维护笔记
    apache基础
    python安装多版本
    apache负载调优
    docker 进阶
    openstack 网络更改版
    linux 搭建testlink的问题总结
    26. Remove Duplicates from Sorted Array(LeetCode)
    Add to List 172. Factorial Trailing Zeroes(LeetCode)
  • 原文地址:https://www.cnblogs.com/xcymn/p/15712400.html
Copyright © 2020-2023  润新知