前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux 溯源命令集合-主机层(持续更新)

linux 溯源命令集合-主机层(持续更新)

原创
作者头像
枪哥四海为家
修改2021-01-27 12:01:15
2.6K0
修改2021-01-27 12:01:15
举报

记录一些在攻击溯源中常用到的溯源命令,持续更新:

linux主机层溯源常用命令:

scp远程上传:
scp my_local_file.zip root@192.168.1.104:/usr/local/nginx/html/webs

scp远程下载:
scp root@192.168.1.104:/usr/local/nginx/html/webs/about.zip .

查看root用户历史操作命令:
history

查看当前用户与他运行的进程信息
w

查看当前登录的用户,默认输出用户名,终端类型,登录日期和远程主机
who

用单独一行打印当前登录的用户,每个用户对应一个登录会话,如果某用户登录不止一个会话,显示相同次数
users

查看本机器每个用户最后一次成功登录记录
lastlog

查看每个用户登录,注销及系统启动,停机事件
last

查看登录失败用户,时间及远程IP地址,使用lastb进行查看。单独执行lastb指令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容
记录的登入失败的用户名单,全部显示出来。
lastb

最近爆破数量
lastb|wc -l 

查看异常端口占用情况:
netstat -antlp|more

查看下pid对应的进程文件路径($PID为对应的pid号):
ls -l /proc/$PID/exe
或
file /proc/$PID/exe

查看自启动脚本:
ubuntu自启动脚本路径(/etc/init.d):
ls -alt /etc/init.d   
centOS自启动脚本路径(/etc/rc.d/init.d):
ls -alt /etc/rc.d/init.d
chkconfig
systemctl list-unit-files

查看50分钟内修改的文件:
find ./ -cmin -50 -name "*.php"  

查看进程占用情况:
ps -ef|grep xxx

查找哪些IP存在登录失败(大概率为暴力破解的):
grep "Failed pass" /var/log/secure|awk '{print $13}'|egrep '[0-8]+\.'|sort |uniq -c

查找暴力破解的用户和字典(即寻找暴力破解过程中登录失败的用户名):
grep "Failed pass" /var/log/secure|egrep invalid|awk '{print $11}'|sort |uniq -c

查找登录成功的用户IP:
grep "Accept" /var/log/secure|awk '{print $9" "$11}'|sort|uniq -c

定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr| more

定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print  "$1\n";}'|uniq -c|sort -nr

登录成功的IP有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

登录成功的日期、用户名、IP:
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

查看日志中新增的用户:
grep "useradd" /var/log/secure
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001,
home=/home/kali, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali

删除用户kali日志:
grep "userdel" /var/log/secure
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'

su切换用户:
Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session opened for user good by root(uid=0)

sudo授权执行:
sudo -l
Jul 10 00:43:09 localhost sudo: good : TTY=pts/4 ; PWD=/home/good ; USER=root;
COMMAND=/sbin/shutdown -r now

打开审计日志:
service auditd start / systemctl start auditd

持久启动审计日志:
chkconfig add auditd / systemctl enable auditd

查看两个文件不同处:
diff -c -a -r cms1 cms2

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

使用zcat 打开压缩包,根据新生成的文件asdfasd快速定位日志位置的方法:
zcat access_2020-12-2* |grep asdfasdf

通过端口查看对应进程PID:
netstat -ano| findstr "3389"

通过进程查看对应PID:
tasklist | findstr “PID”

查寻特权账户(uid为0):
awk -F: '$3==0{print $1}' /etc/passwd

查询可以远程登录的账号信息:
awk '/\$1|\$6/{print $1}' /etc/shadow

查询除了root账号外,其他账号是否存在sudo权限:
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)*"

各子账号操作过的命令:路径为/home/账号名/.bash_history
vim /home/ubuntu/.bash_history

检查异常进程:
ps aux|grep $PID
检查系统开机后处于哪个级别:
运行级别含义
0 关机
1 单用户模式,可以想象为windows的安全模式,主要用于系统修复
2 不完全的命令行模式,不含NFS服务
3 完全的命令行模式,就是标准字符界面
4 系统保留
5 图形模式
6 重启动
virr /etc/inittab

查找777的文件
find / *.php -perm 4777 

登录日志审计:
 last > last.log
 who /var/log/utmp #当前用户登录情况及IP地址记录
 who /var/log/wtmp #当前用户登录记录及IP地址记录
 cat /var/log/lastlog #最后登录日志
 cat /var/log/secure #登录日志,成功失败都有
 cat /var/log/faillog #登录失败日志,未必有
 cat /var/log/cron #计划任务,恶意程序、木马后门启动集中地或者cd /etc/crontab && ls
 cat ~/.bash_history 记录操作指令,但是最好有shelllog,因为shelllog是内核hook的,及时攻击者敲了unset history也可以记录操作
 #有异常进程和连接先干掉,从甲方首先保障回复切断攻击,保护自己然后再开始分析入侵细节。从乙方来说也可以避免干扰。


日志查看:tail -f /var/log/apport.logmore /var/log/xorg.0.logcat /var/log/mysql.errless /var/log/messagesgrep -i fail /var/log/boot

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档