|
本帖最后由 gclome 于 2021-2-24 21:46 编辑
原文链接:应急响应之常用命令集合
1.linux下常用命令
1.1查看用户信息
/etc/passwd 查看用户信息文件
/etc/shadow 查看影子文件
awk -F: '$3==0{print $1}' /etc/passwd (查看系统是否还存在其他的特权账户,uid为0,默认系统只存在root一个特权账户)
who 查看当前登录用户(tty 本地登陆 pts 远程登录)
w 查看系统信息,想知道某一时刻用户的行为
uptime 查看登陆多久、多少用户,负载
passwd -d username 检查用户是否存在空口令
stat /etc/passwd #查看密码文件上一次修改的时间,如果最近被修改过,那就可能存在问题。
cat /etc/passwd | grep -v nologin #查看除了不可登录以外的用户都有哪些,有没有新增的
cat /etc/passwd | grep x:0 #查看哪些用户为root权限,有没有新增的
cat /etc/passwd | grep /bin/bash #查看哪些用户使用shell
查询可以远程登录的账号:awk ‘/\$1|\$6/{print $1}’ /etc/shadow
查询具有sudo权限的账号:more /etc/sudoers | grep -v “^#\|^$” grep “ALL=(ALL)”
1.2.历史命令
很多的服务器会有存在多用户登陆情况,登陆root用户可查看其他用户的相关账户登录信息,.bash_history保存了用户的登陆所操作的命令信息
home/root/.bash_history
history查看历史命令
cat .bash_history >>history.txt 保存历史命令
1.3.查看端口
netstat –antp
查看对应链接的文件路径
ls -l /proc/pid/exe
ls -l /proc/*/exe | grep xxx #如果我们知道恶意程序的启动文件大致位置,可以使用这个发现无文件的恶意进程
netstat -antlp | grep 172.16.222.198 | awk '{print $7}' | cut -f1 -d"/" 通过可疑的ip地址获取程序pid
1.4.查看进程
ps -aux
查看相关pid对应程序
ps –aux | grep pid
监控某一应用线程数(如ssh)
ps -eLf | grep ssh| wc –l
监控网络客户连接数
netstat -n | grep tcp | grep 侦听端口 | wc -l
ps aux --sort=pcpu | head -10 查看cpu占用率前十的进程,有时候可以发现
1.5.开机启动项
启动项文件:
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d/
1.6.定时任务
crontab -l
编辑定时任务
crontab –e
crontab -u root –l 查看root用户任务计划
ls /var/spool/cron/ 查看每个用户自己的执行计划
#删除计划任务且控制计划任务不能写东西
sed '/gcc.sh/d' /etc/crontab && chmod 0000 /etc/crontab && chattr +i /etc/crontab
常见的定时任务文件:
/var/spool/cron/* #centos的
/var/spool/cron/crontabs/* #ubuntu的
/var/spool/anacron/*
/etc/crontab
/etc/anacrontab
/etc/cron.hourly/*
/etc/cron.daily/*
/etc/cron.weekly/
/etc/cron.monthly/*
1.7.服务
chkconfig 查看开机启动项目
chkconfig --list (systemctl list-unit-files |grep enabled
)查看服务自启状态
1.8.查找文件
find查找指定的文件:find /home1 -name *.php ! -name index.php
find查看最近一天修改的文件: find / -mtime -1 > /etc/aa.txt(查看修改的文件并保存到aa的txt文档)
查找并删除 find . -name .svn | xargs rm –rf
find / -size +10000k -print:查找大于10000k的文件
md5sum -b filename:查看文件的md5值
1.9.top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
默认top是根据cpu的占用情况进行排序的
可通过按“b”键进行切换,可切换到按照内存使用情况进行排序
top -p pid 监控指定进程
free 查看当前系统内存使用情况
top -b -n1 | head
1.10.host文件
有一些挖矿程序会修改 /etc/hosts文件
1.11.日志分析
默认日志位置:var/log
1、定位有多少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
复制代码 2、登录成功的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}'
复制代码
Linux中的命令,Diff,可以查看两个文本文件的差异。
1.12.查看命令状态
很多情况下,存在ps、netstat等一些常见命令被替换,可利用stat查看该状态,查看其修改时间
stat /bin/netstat
1.13.文件清除
很多时候会遇到无法查看文件权限或是病毒在一直向某个文件写入程序,可尝试如下命令:
lsattr [恶意文件绝对路径]命令查看权限,
使用chattr -i [恶意文件绝对路径]解除文件锁定后删除。
- chmod 0000 /lib/libudev.so && rm -rf /lib/libudev.so && chattr +i /lib/(chattr +i不让lib文件被写入删除)
复制代码
结束某一进程:
Kill -9 pid
2.windows下常用命令
2.1账号安全
query user 查看当前登录账户
logoff ID 注销用户id
net user 查看用户
net user username 查看用户登录情况
lusrmgr.msc 打开本地用户组
regedit注册表查看账户,确认系统是否存在隐藏账户
利用LogParser.exe查看event日志,查询用户登录情况
LogParser.exe -i:EVT "SELECT TimeGenerated,EXTRACT_TOKEN(Strings,5,'|') AS USERNAME,EXTRACT_TOKEN(Strings,5,'|') AS SERVICE_NAME,EXTRACT_TOKEN(Strings,5,'|') AS Client_IP FROM 'C:\Users\haha\Desktop\Security.evtx' WHERE EventID=4624"
LogParser.exe日志分析工具更多用法可参考:
https://wooyun.js.org/drops/wind ... arser%E7%AF%87.html
2.2检查异常端口进程
查看目前连接:
netstat -ano
一般是查看已经成功建立的连接:
netstat -ano | findstr "ESTABLISHED"
根据pid定位程序名称
tasklist | findstr "pid"
运行中输入msinfo32,可打开系统信息,在“正在运行任务”中可获取进程详细信息,包括进程的开始时间、版本、大小等信息。
根据端口查看pid
netstat -ano | findstr "8080"
利用wmic查看进程执行时的命令
- Wmic process where name='irefox.exe' get name,Caption,executablepath,CommandLine ,processid,ParentProcessId /value
复制代码
- Wmic process where processid='2040' get name,Caption,executablepath,CommandLine ,processid,ParentProcessId /value
复制代码
2.3启动项检查
msconfig查看系统启动项
查看注册表是否有异常启动项
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
2.4查看系统定时任务
Cmd下运行schtasks(win7系统利用at),查看定时任务
C:\Windows\System32\Tasks 查看任务清单
删除任务计划
建议删除任务计划时以管理员登录
SchTasks /Delete /TN 任务计划名称
2.5查看系统服务
Services.msc
删除服务可从任务管理器中手动删除,也可使用命令:
sc stop [服务名称]停止服务后,
sc delete [服务名称]删除服务
2.6文件查看
查看最近打开的文件,运行窗口中输入“%UserProfile%\Recent”
查看C:\Documents and Settings,C:\Users下是否存在可疑用户或文件
|
|