「「查看进程」」
ps aux ps -ef pstree -aup top 1 每个逻辑CPU状态 b 高亮 x 高亮排序列 ps aux | grep pid
lsof -i:port -i 筛选关键字,比如进程名、PID、USER、IPv4/IPv6、TCP/UDP pstree -aphn -a 显示该进程命令行参数 -p 显示pid -h 高亮当前进程以及父进程 -n 按照pid排序
「「网络连接」」
netstat -antlp -a 显示所有连接和端口 -n 以数字形式显示ip和port -t 显示tcp -l 显示监听的服务 -p 显示建立连接的进程名以及pid ESTABLISHED 建立连接、LISTENING 侦听状态、TIME_WAIT 连接超时 ss –antpr -a 显示所有连接和端口 -n 不解析服务的名称 -t 显示tcp sockets -l 显示监听的端口 -p 显示监听端口的进程 -r 把ip解析为域名 tcpdump –i eht0 -w eee.pcap -i 要抓取的网卡接口 -w 要保存的文件名 -C 100m 大于100M分割为另一个包 -c 10000 超过1万个停止抓包 src host xxx 仅仅捕获由该主机发起的流量 drc host xxx 仅仅捕获发往该ip地址的流量 src port xxx 仅仅捕获由该端口发起的流量 #查看 PID 所对应的进程文件路径 file /proc/$PID/exe
「「异常文件」」
ls -alth
-a 显示所有文件
-l 显示文件权限,属组属主,大小,日期
- t 按照时间顺序排序
-h 高亮
strace -f -e trace=file 接可执行文件
-e 跟踪子进程
-f 跟踪类型,file、process、trace, abbrev, verbose, raw, signal, read, write, fault,inject, status, kvm
find
find path –name xxx search_filename/directory
find path -name "*.php" -exec tar -rvf sss.tar.gz {} ; • find / ( -path /etc -o -path /usr ) -prune -o -name '*.conf'
-mtime 修改时间
-ctime 属性权限更改
-atime 访问时间
grep file_content search_directory
-R 搜索字符串
-P 使用正则匹配
-n 包含字符串文件的行号
grep -RPn "(xx.xx.xx) *(" /var/log
grep -RPn
“assthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile|php_uname|eval|tcpflood|udpflood|edoced_46esab)
*(" /var/www
strings
strings /usr/bin/.sshd | grep '[1-9]{1,3}.[1-9]{1,3}.' //分析sshd文件,是否包括IP信息
file
lsattr/chattr
-a 只能增加数据,但不能删除
-i 不能删除,改名,设定链接,不能写入或新增
lsattr malaware_file
chattr –i malaware_file
chattr +i malaware_file
hexdump
-b 以8进制显示输出结果
-c 以ASCII码显示输出结果
-C 以〸进制+ASCII码显示输出结果
「「后门账户」」
#主要查看uid为0的账户
cat /etc/passwd
#查询特权用户特权用户(uid 为0)
awk -F: '$3==0{print $1}' /etc/passwd
#查询可以远程登录的帐号信息
awk '/$1|$6/{print $1}' /etc/shadow
#除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
#禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
usermod -L user
#将删除user用户,并且将/home目录下的user目录一并删除
userdel -r user
「「ssh公钥」」
/root/.ssh/authorized_keys
「「登录日志」」
last lastb 登陆失败 lastlog 最后一次登陆
「「查看启动项」」
more /etc/rc.local
「「查看服务」」
#查看服务自启动状态 chkconfig --list
「「任务计划」」
crontab -l 查看计划任务 crontab -e 编辑计划任务 crontab -r 删除计划任务 crontab -u 查看某用户计划任务 ls -al /var/spool/cronexe,查看某恶意进程对应的二进制文件或查看文件已 经被删除,但是进程还在跑的情况 /sys linux伪文件系统,为linux提供内核、驱动、设备信息,包括但不限于各种总线,有点 类似于window硬件管理 /root、/home root用户目录、普通用户目录 都存放着用户shell相关的配置文件,例如.bashrc、.bash_history、.ssh、.config、 profile 可能会存在恶意alias(bashrc)、攻击留下来的历史命令信息(.bash_history)、用来维 持权限的免密登陆(.ssh/authorized_keys)、一些软件的配置信息(.config) /boot 主要存放linux内核文件以及引导加载程序,出现问题的比较少,利用难度比较高 /run 该目录是临时文件系统, 存储是启动之后的所有信息 /srv 区别于/var目录,主要存储用户主动产生的数据和对外的服务 /tmp 临时文件目录,用户存放用户产生的临时文件,可以随时销毁,或者系统可以自动销 毁,权限比较低 由于权限比较低,所以恶意软件或者攻击行为会在此路径下生成或落地木马以及工具。
「「Rootkit查杀」」
专用查杀工具 chkrootkit rkhunter
「「linux常用工具」」
nethogs 是一个小型的“网络顶部”工具。它不像大多数工具那样按协议或每个子网分解流量,而是按进程对带宽进行分组。
iftop iftop用于查看网络上的流量情况,包括实时速率、总流量、平均流量等,是一款实时流量监控工具。
Windows「「进程」」
#查看进程 tasklist tasklist –m |findstr "string" -m 显示所有exe/dll的服务,如果没有指定参数将显示所有加载模块 -svc 显示每个进程服务 -v 显示所有进程详细服务信息 #强制停止某进程 taskkill /T /F /PID #获取进程的全路径 wmic process | finderstr “xxxx”
「「异常网络流量」」
#可用fistr过滤,类似Linux的grep命令
netstat -antop tcp
-a 显示所有连接和端口
-n 以数字形式显示ip和port
-t 显示连接状态
-o 显示连接关联进程ID
-p TCP/UDP
> eee.txt 如果连接很多可以接>,输出到文件, cat eee.txt |awk '{print $2}'
ESTABLISHED 建立连接 LISTENING 侦听状态 TIME_WAIT 连接超时 SYN_SENT 请求连接 SYN_RECVD 收到请求连接
#打印路由表
route print
#查看网络代理配置情况
REG QUERY "HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"
「「敏感文件路径」」
%WINDIR% %WINDIR%/System32 %TEMP% %APPDATA% %LOCALAPPDATA% %LOCALAPPDATA%Low %ProgramData%Temp %ProgramData%TempLow %UserProfile%Recent
「「账户」」
查询登陆系统会话
query user
把账户踢出会话
logoff ID
-
打开lusrmgr.msc,查看是否有新增/可疑的账号
-
用D盾 -> 查看服务器是否存在隐藏账号、克隆账号
「「查看启动项」」
运行->msconfig 引导、服务、工具 #查看系统开机时间 net statistics workstation #查看系统计划任务 schtasks /query /fo LIST /v #查看程序启动信息 wmic startup get command,caption #查看主机服务信息 wmic service list brief
「「计划任务」」
一些恶意软件通常会写入计划任 务达到维持权限,横向的目的
命令类的: 运行->tasksch.msc
工具类的: Autoruns、这台计算机->(右键)计算机管理->计划任务程序
「「系统日志」」
win +r eventvwr.msc
或者计算机管理——事件查看器事件日志分析
「「对于Windows事件日志分析,不同的EVENT ID代表了不同的意义」」
| 事件ID | 说明 |
|---|---|
| 4624 | 登录成功 |
| 4625 | 登录失败 |
| 4634 | 注销成功 |
| 4647 | 用户启动的注销 |
| 4672 | 使用超级用户(如管理员)进行登录 |
| 4720 | 创建用户 |
「「每个成功登录的事件都会标记一个登录类型,不同登录类型代表不同的方式」」
| 登录类型 | 描述 | 说明 |
|---|---|---|
| 2 | c(Interactive) | 用户在本地进行登录。 |
| 3 | 网络(Network) | 最常见的情况就是连接到共享文件夹或共享打印机时。 |
| 4 | 批处理(Batch) | 通常表明某计划任务启动。 |
| 5 | 服务(Service) | 每种服务都被配置在某个特定的用户账号下运行。 |
| 7 | 解锁(Unlock) | 屏保解锁。 |
| 8 | 网络明文(NetworkCleartext) | 登录的密码在网络上是通过明文传输的,如FTP。 |
| 9 | 新凭证(NewCredentials) | 使用带/Netonly参数的RUNAS命令运行一个程序。 |
| 10 | 远程交互,(RemoteInteractive) | 通过终端服务、远程桌面或远程协助访问计算机。 |
| 11 | 缓存交互(CachedInteractive) | 以一个域用户登录而又没有域控制器可 |
「「系统补丁是否打全」」
#cmd systeminfo #工具和在线地址 https://i.hacking8.com/tiquan https://github.com/bitsadmin/wesng
「「其他排查项」」
杀毒软件功能是否异常?
是否有异常驱动文件?C:WindowsSystem32drivers
都记录了那些日志,Web日志
「「映像劫持」」
参考学习文档https://ssooking.github.io/2019/12/windows%E5%90%8E%E9%97%A8-%E6%98%A0%E5%83%8F%E5%8A%AB%E6%8C%81/
「「工具篇」」
「微软官方的几款工具」
具体介绍百度,或者参考以前的安服工程师修炼手册
autoruns https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns
tcpview https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
procexp https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
Network Monitor https://www.microsoft.com/en-us/download/confirmation.aspx?id=4865
「火绒剑」
「卡巴斯基」 dr.web 无需安装、不与其他杀毒软件冲突、不会被病毒限制启动
「wirshark」 流量抓包神器 可以抓五层流量,应、表、会、传、网、数
ip.addr== 匹配地址(源/目的) 数据包 tcp.port== 匹配TCP端口 http.request.uri=="xxx" 匹配指定URL http.host == "domain" 匹配域名的数据包
具体教程:https://gitlab.com/wireshark/wireshark/-/wikis/CaptureFilters
「Browser_Network_Analysis」
F12检查功能,用途网页篡改,可以用Burpsuite或者Wireshark替代,根据网页文件、js、css加载顺序,时间先后顺序判断网页跳转所在。
webshell排查❝❝
常见的检测方法有基于主机的流量-文件-日志检测、关键字(危险函数)匹配、语义分析等
❞
❞
web日志审计access.log(/var/log/nginx)
使用工具查杀Web目录
Windows:D盾 - http://www.d99net.net/down/WebShellKill_V2.0.9.zip
Linux:河马 - https://www.shellpub.com/
但工具查杀不靠谱,还是要手动查看Web目录下的可解析执行文件;
通过Web访问日志分析可快速定位到webshell位置。
「「网站被植入WebShell的应急响应流程」」
主要关注Web日志,看有哪些异常的HTTP访问,如果有源码,可以用文件对比的方法快速定位Webshell。(一定要是客户备份的源码,千万不要直接到主源码上操作。)
-
定位时间和范围:扫描WebShell位置;定位文件创建的时间;检查Web根目录.htaccess文件
-
Web日志审计:例如查看access.log(/var/log/nginx),下载到本地审计
-
漏洞分析:分析可能存在漏洞的地方,复现漏洞GetShell。
-
漏洞修复:清除WebShell并修复漏洞对系统和Web应用进行安全加固



