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

原文地址:https://www.cnblogs.com/xcymn/p/15712400.html