├── img ├── esc00.png ├── esc01.png ├── esc02.png ├── esc03.png ├── esc04.png └── esc05.png ├── LICENSE └── README.md /img/esc00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc00.png -------------------------------------------------------------------------------- /img/esc01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc01.png -------------------------------------------------------------------------------- /img/esc02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc02.png -------------------------------------------------------------------------------- /img/esc03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc03.png -------------------------------------------------------------------------------- /img/esc04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc04.png -------------------------------------------------------------------------------- /img/esc05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/safe6Sec/emergency-response-checklist/master/img/esc05.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 LSA 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # emergency-response-checklist 2 | 3 | ## 目录 4 | 5 | * [emergency-response-checklist](#emergency-response-checklist) 6 | * [目录](#目录) 7 | * [前言](#前言) 8 | * [应急响应综合](#应急响应综合) 9 | * [应急响应类型](#应急响应类型) 10 | * [初步信息收集](#初步信息收集) 11 | * [整体分析流程](#整体分析流程) 12 | * [相关工具/资源](#相关工具资源) 13 | * [可疑域名后缀](#可疑域名后缀) 14 | * [常见动态域名提供商](#常见动态域名提供商) 15 | * [misc](#misc) 16 | * [相关项目](#相关项目) 17 | * [web应急响应](#web应急响应) 18 | * [各中间件/服务器日志默认存放位置](#各中间件服务器日志默认存放位置) 19 | * [IIS](#iis) 20 | * [apache](#apache) 21 | * [tomcat](#tomcat) 22 | * [weblogic](#weblogic) 23 | * [jboss](#jboss) 24 | * [webshell排查](#webshell排查) 25 | * [数据库排查](#数据库排查) 26 | * [数据库日志](#数据库日志) 27 | * [mysql日志](#mysql日志) 28 | * [mssql日志](#mssql日志) 29 | * [misc](#misc-1) 30 | * [linux应急响应](#linux应急响应) 31 | * [文件](#文件) 32 | * [日志](#日志) 33 | * [用户](#用户) 34 | * [进程](#进程) 35 | * [端口](#端口) 36 | * [自启动](#自启动) 37 | * [计划任务](#计划任务) 38 | * [misc](#misc-2) 39 | * [windows应急响应](#windows应急响应) 40 | * [文件](#文件-1) 41 | * [日志](#日志-1) 42 | * [帐号](#帐号) 43 | * [进程](#进程-1) 44 | * [端口](#端口-1) 45 | * [自启动](#自启动-1) 46 | * [计划任务](#计划任务-1) 47 | * [注册表](#注册表) 48 | * [服务](#服务) 49 | * [misc](#misc-3) 50 | * [网络层应急响应](#网络层应急响应) 51 | * [DDOS](#ddos) 52 | * [ARP欺骗](#arp欺骗) 53 | * [DNS劫持](#dns劫持) 54 | * [HTTP劫持(内容劫持)](#http劫持内容劫持) 55 | * [参考资料](#参考资料) 56 | * [交换机/路由器应急响应](#交换机路由器应急响应) 57 | * [交换机负载过高(cpu100\x)](#交换机负载过高cpu100) 58 | * [交换机排查常用命令](#交换机排查常用命令) 59 | * [路由器常用命令](#路由器常用命令) 60 | * [misc](#misc-4) 61 | * [相关资料](#相关资料) 62 | 63 | 64 | 65 | 66 | ## 前言 67 | 68 | 本项目旨在为应急响应提供全方位辅助,以便快速解决问题。
69 | 结合自身经验和网络资料,形成checklist,期待大家提供更多技巧,共同完善本项目,欢迎issue/pr。 70 | 71 | 愿大家应急之路一帆风顺 72 | 73 | [下载PDF](https://github.com/theLSA/emergency-response-checklist/releases/download/1.0/emergency-response-checklist.pdf) 74 | 75 | //图片皆来源于网络

76 | 77 | 78 | ## 应急响应综合 79 | 80 | ### 应急响应类型 81 | 82 | web入侵:挂马、网页篡改(博彩/黑帽SEO等)、植入webshell,黑页,暗链等
83 | 主机入侵:病毒木马、勒索软件、远控后门、系统异常、RDP爆破、SSH爆破、主机漏洞、数据库入侵等
84 | 网络攻击:DDOS攻击、DNS/HTTP劫持、ARP欺骗等
85 | 路由器/交换机异常:内网病毒,配置错误等
86 | 87 | ### 初步信息收集 88 | 89 | 客户属性:如名称/区域/领域等
90 | 入侵范围:如主机数/网段等
91 | 入侵现象:如cpu过高,勒索界面,异常网络链接,安全设备告警等
92 | 客户需求:是否要求溯源,是否要求协助修复等
93 | 94 | 95 | ### 整体分析流程 96 | 97 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc00.png) 98 | 99 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc01.png) 100 | 101 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc02.png) 102 | 103 | 104 | ### 相关工具/资源 105 | 106 | 应急响应资源汇总:
107 | [https://github.com/theLSA/hack-er-tools](https://github.com/theLSA/hack-er-tools) 108 | 109 | ### 可疑域名后缀 110 | 111 | >顶级域名 申请地区或机构 为何重点关注
112 | .ru 俄罗斯 俄罗斯盛产黑客
113 | .ws 东萨摩亚 不知名国家,易申请,难追踪注册者
114 | .cc 科科斯群岛 不知名国家,易申请,难追踪注册者
115 | .pw 帕劳 不知名国家,易申请,难追踪注册者
116 | .bz 伯利兹 不知名国家,易申请,难追踪注册者
117 | .su 苏联 前苏联虽然解体了,顶级域名还在使用,且多与黑产有关
118 | .bw 伯兹瓦纳 不知名国家,易申请,难追踪注册者
119 | .gw 几内亚比绍 不知名国家,易申请,难追踪注册者
120 | .ms 蒙塞拉特岛 不知名国家,易申请,难追踪注册者
121 | .mz 莫桑比克 不知名国家,易申请,难追踪注册者
122 | 123 | ### 常见动态域名提供商 124 | 125 | >'f3322.net','3322.org','7766.org','8866.org', '9966.org','8800.org','2288.org','6600.org', 'f3322.org', 'ddns.net', 'xicp.net', 'vicp.net','wicp.net','oicp.net','xicp.net','vicp.cc','eicp.net','uicp.cn','51vip.biz','xicp.cn','uicp.net','vicp.hk','5166.info','coyo.eu','imblog.in','imzone.in','imshop.in','imbbs.in','imwork.net','iego.cn','vicp.co','iego.net','1366.co','1866.co','3utilities.com','bounceme.net','ddnsking.com','gotdns.ch','hopto.org','myftp.biz','myftp.org','myvnc.com','no-ip.biz','no-ip.info','no-ip.org','noip.me','redirectme.net','servebeer.com','serveblog.net','servecounterstrike.com','serveftp.com','servegame.com','servehalflife.com','servehttp.com','serveminecraft.net','servemp3.com','servepics.com','servequake.com','sytes.net','webhop.me','zapto.org','dynamic-dns.net','epac.to','longmusic.com','compress.to','wikaba.com','zzux.com','dumb1.com','1dumb.com','onedumb.com','wha.la','youdontcare.com','yourtrap.com','2waky.com','sexidude.com','mefound.com','organiccrap.com','toythieves.com','justdied.com','jungleheart.com','mrbasic.com','mrbonus.com','x24hr.com','dns04.com','dns05.com','zyns.com','my03.com','fartit.com','itemdb.com','instanthq.com','xxuz.com','jkub.com','itsaol.com','faqserv.com','jetos.com','qpoe.com','qhigh.com','vizvaz.com','mrface.com','isasecret.com','mrslove.com','otzo.com','sellclassics.com','americanunfinished.com','serveusers.com','serveuser.com','freetcp.com','ddns.info','ns01.info','ns02.info','myftp.info','mydad.info','mymom.info','mypicture.info','myz.info','squirly.info','toh.info','xxxy.info','freewww.info','freeddns.com','myddns.com','dynamicdns.biz','ns01.biz','ns02.biz','xxxy.biz','sexxxy.biz','freewww.biz','www1.biz','dhcp.biz','edns.biz','ftp1.biz','mywww.biz','gr8domain.biz','gr8name.biz','ftpserver.biz','wwwhost.biz','moneyhome.biz','port25.biz','esmtp.biz','sixth.biz','ninth.biz','got-game.org','bigmoney.biz','dns2.us','dns1.us','ns02.us','ns01.us','almostmy.com','ocry.com','ourhobby.com','pcanywhere.net','ygto.com','ddns.ms','ddns.us','gettrials.com','4mydomain.com','25u.com','4dq.com','4pu.com','3-a.net','dsmtp.com','mynumber.org','ns1.name','ns2.name','ns3.name','changeip.name','ddns.name','rebatesrule.net','ezua.com','sendsmtp.com','trickip.net','trickip.org','dnsrd.com','lflinkup.com','lflinkup.net','lflinkup.org','lflink.com','dns-dns.com','proxydns.com','myftp.name','dyndns.pro','changeip.net','mysecondarydns.com','changeip.org','dns-stuff.com','dynssl.com','mylftv.com','mynetav.net','mynetav.org','ikwb.com','acmetoy.com','ddns.mobi','dnset.com','authorizeddns.net','authorizeddns.org','authorizeddns.us','cleansite.biz' 126 | 127 | ### misc 128 | 129 | 1)收集信息:操作系统版本,补丁,数据库版本,中间件/服务器,网络拓扑,受害范围,处置情况,提取日志(主机,安全设备,数据库等) 130 | 131 | 2)务必亲自求证,眼见为实耳听为虚 132 | 133 | ### 相关项目 134 | 135 | [https://github.com/Bypass007/Emergency-Response-Notes](https://github.com/Bypass007/Emergency-Response-Notes) 136 | 137 |
138 | 139 | ## web应急响应 140 | 141 | ### 各中间件/服务器日志默认存放位置 142 | 143 | #### IIS 144 | 145 | C:\WINDOWS\system32\LogFiles 146 | 147 | #### apache 148 | 149 | Linux:/usr/local/apache/logs/ 150 | Windows:apache/logs/ 151 | 152 | #### tomcat 153 | 154 | conf/logging.properties 155 | 156 | logs/catalina.xx.log 157 | logs/host-manager.xx.log 158 | logs/localhost.xx.log 159 | logs/manager.xx.log 160 | 主要记录系统启、关闭日志、管理日志和异常信息 161 | 162 | 163 | #### weblogic 164 | 165 | domain_name/servers/server_name/logs/ 166 | server_name.log:server启停日志 167 | access.log:安装在该server之上的应用http访问日志 168 | 169 | #### jboss 170 | 171 | LOG4J配置默认Deploy/conf/ 172 | 如jboss/server/default/conf/jboss-log4j.xml 173 | 174 | 175 | ### webshell排查 176 | 177 | 1)整站打包用webshell扫描工具扫 178 | 179 | 2) 180 | find /var/www/ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode' 181 | 182 | 3) 183 | grep -i –r eval\(\$_post /app/website/* 184 | 185 | 4) 186 | find /app/website/ -type f|xargs grep eval\(\$_post 187 | 188 | 189 | ### 数据库排查 190 | 191 | #### 数据库日志 192 | 193 | ##### mysql日志 194 | 195 | 1)错误日志:默认开启,hostname.err 196 | 197 | 2)查询日志:记录用户的所有操作。默认关闭,general_log_file(常见getshell手法) 198 | 199 | 3)慢查询日志:记录执行时间超过指定时间的查询语句,slow_query_log_file(慢查询getshell) 200 | 201 | 4)事务日志:ib_logfile0 202 | 203 | 5)二进制日志:记录修改数据或有可能引起数据改变的mysql语句,log_bin,默认在数据目录,如mysql-bin.000001 204 | 205 | ##### mssql日志 206 | 207 | exec xp_readerrorlog 208 | 209 | object Explorer-Management-SQL Server logs-view-logs 210 | 211 | SQL Server 2008: R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG 212 | 213 | 214 | 215 | #### misc 216 | 217 | 1)mysql\lib\plugin目录的异常文件
218 | 2)select * from mysql.func的异常
219 | 3)mssql检查xp_cmdshell等存储过程
220 | 4)异常数据库登录
221 | 5)数据库用户弱口令
222 | 6)mysql相关命令
223 | show global variables like '%log%';
224 | show global variables like '%gene%';
225 | show master status;
226 | systemmore /mydata/data/stu18_slow.log;
227 | showbinary logs;
228 | showmaster logs;
229 | showbinlog events in 'mysql-bin.000011';
230 | show processlist;
231 | 注意mysqld配置文件


232 | 233 | ## linux应急响应 234 | 235 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc03.png) 236 | 237 | ### 文件 238 | 239 | ls -alt 240 | 241 | 查找72小时内新增的文件:
242 | find / -ctime -2 243 | 244 | 文件日期、新增文件、可疑/异常文件、最近使用文件、浏览器下载文件 245 | 246 | /var/run/utmp 有关当前登录用户的信息记录 247 | 248 | /etc/passwd 用户列表 249 | 250 | /tmp 临时目录 251 | 252 | ~/.ssh 253 | 254 | /etc/ssh 255 | 256 | ​查看文件:
257 | ls -alt | head -n 10 258 | 259 | ​查找24小时内被修改的JSP文件:
260 | find ./ -mtime 0 -name "*.jsp" 261 | 262 | ​根据确定时间去反推变更的文件:
263 | ​ls -al /tmp | grep "Feb 27" 264 | 265 | 查找777的权限的文件:
266 | find / *.jsp -perm 4777 267 | 268 | 隐藏文件.xxx 269 | 270 | 分析sshd 文件是否包括IP信息:
271 | strings /usr/bin/.sshd | egrep '[1-9]{1,3}.[1-9]{1,3}.' 272 | 273 | 更改:
274 | find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime 0 275 | 276 | 访问:
277 | find /tmp -iname "*" -atime 1 -type f 278 | 279 | 命令目录:/usr/bin /usr/sbin 280 | 281 | ### 日志 282 | 283 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc04.png) 284 | 285 | /var/log/
286 | 287 | /var/log/wtmp 登录进入,退出,数据交换、关机和重启纪录,即last
288 | /var/log/lastlog 文件记录用户最后登录的信息,即lastlog
289 | /var/log/secure 记录登入系统存取数据的文件,如 pop3/ssh/telnet/ftp
290 | /var/log/cron 与定时任务相关的日志信息
291 | /var/log/message 系统启动后的信息和错误日志
292 | /var/log/apache2/access.log apache access log
293 | /var/log/message 包括整体系统信息
294 | /var/log/auth.log 包含系统授权信息,包括用户登录和使用的权限机制等
295 | /var/log/userlog 记录所有等级用户信息的日志
296 | /var/log/cron 记录crontab命令是否被正确的执行
297 | /var/log/xferlog(vsftpd.log)记录Linux FTP日志
298 | /var/log/lastlog 记录登录的用户,可以使用命令lastlog查看
299 | /var/log/secure 记录大多数应用输入的账号与密码,登录成功与否
300 | var/log/faillog   记录登录系统不成功的账号信息
301 | 302 | history (cat /root/.bash_history) 303 | 304 | 查看爆破失败的IP:
305 | grep 'Failed' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr 306 | 307 | 查看登录成功的IP:
308 | grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr 309 | 310 | more messages 311 | 312 | 定位有多少IP在爆破主机的root帐号:
313 | grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more 314 | 315 | 登录成功的IP:
316 | grep "Accepted " /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more 317 | 318 | 监控最后400行日志文件的变化 等价与 tail -n 400 -f (-f参数是实时):
319 | tail -400f demo.log 320 | 321 | 标记该行重复的数量,不重复值为1:
322 | uniq -c demo.log 323 | 324 | 输出文件demo.log中查找所有包行ERROR的行的数量:
325 | grep -c 'ERROR' demo.log 326 | 327 | cat /var/log/secure |grep 'Accepted password‘ 328 | 329 | 查看登录成功的日期、用户名及IP:
330 | grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}' 331 | 332 | 查看试图爆破主机的IP:
333 | 开启iptables: 334 | grep "refused" /var/log/secure* | awk {'print $9'} | sort | uniq -c |sort -nr | more 335 | 336 | 未开启iptables:
337 | grep "Failed password" /var/log/secure* | grep -E -o "(([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}))" | uniq -c 338 | 339 | 查看爆破主机的ROOT账号的IP:
340 | grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort 341 | 342 | 查看爆破用户名字典:
343 | grep "Failed password" /var/log/secure | awk {'print $9'} | sort | uniq -c | sort -nr 344 | 345 | grep -o "Failed password" /var/log/secure|uniq -c 346 | 347 | grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11} 348 | 349 | 350 | ### 用户 351 | 352 | last
353 | /etc/shadow 密码登陆相关信息
354 | uptime 查看用户登陆时间
355 | /etc/sudoers sudo用户列表
356 | /etc/passwd
357 | 358 | 查看UID为0的帐号:
359 | awk -F: '{if($3==0)print $1}' /etc/passwd 360 | 361 | 查看能够登录的帐号:
362 | cat /etc/passwd | grep -E "/bin/bash$" 363 | 364 | awk '/\$1|\$6/{print $1}' /etc/shadow 365 | 366 | lastlog 系统中所有用户最近一次登录信息
367 | 368 | lastb 用户错误的登录列表 369 | 370 | more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)" 371 | 372 | who 查询utmp文件并报告当前登录的每个用户 373 | 374 | w 查询utmp文件并显示当前系统中每个用户和它所运行的进程信息 375 | 376 | users 打印当前登录的用户,每个用户名对应一个登录会话。如果一个用户不止一个登录会话,其用户名显示相同次数 377 | 378 | 379 | ### 进程 380 | 381 | lsof 382 | 383 | ps aux | grep pid | grep –v grep 384 | 385 | lsof -i:1677 查看指定端口对应的程序 386 | 387 | lsof -p 1234 检查pid号为1234进程调用情况 388 | 389 | strace -f -p 1234 跟踪分析pid号为1234的进程 390 | 391 | lsof -g gid 找恶意文件关联的lib文件 392 | 393 | ps -aux或ps -ef 394 | 395 | pstree -a 396 | 397 | 获取进程pid后可cd到/proc/对应pid/fd 398 | 399 | 隐藏进程查看
400 | ps -ef | awk '{print}' | sort -n | uniq >1 401 | ls /proc | sort -n |uniq >2 402 | diff 1 2 403 | 404 | netstat -anptl 405 | 406 | top 407 | 408 | ### 端口 409 | 410 | netstat -anpt 411 | 412 | ### 自启动 413 | 414 | ~/.bashrc 415 | 416 | rc.local 417 | 418 | /etc/init.d 419 | 420 | chkconfig 421 | 422 | chkconfig --list | grep "3:on\|5:on" 423 | 424 | /etc/init.d/rc.local 425 | 426 | /etc/rc.local 427 | 428 | /etc/init.d/ 开机启动项 429 | 430 | /etc/cron* 定时任务 431 | 432 | 433 | ### 计划任务 434 | 435 | crontab -l 436 | 437 | crontab /etc/cron* 438 | 439 | crontab -u root -l 440 | 441 | cat /etc/crontab 442 | 443 | ls /etc/cron.* 444 | 445 | /var/spool/cron/* 446 | 447 | /etc/crontab 448 | 449 | /etc/cron.d/* 450 | 451 | /etc/cron.daily/* 452 | 453 | /etc/cron.hourly/* 454 | 455 | /etc/cron.monthly/* 456 | 457 | /etc/cron.weekly/ 458 | 459 | /etc/anacrontab 460 | 461 | /var/spool/anacron/* 462 | 463 | /var/log/cron* 464 | 465 | ### misc 466 | 467 | stat 468 | 469 | echo $PATH 470 | 471 | ./rpm -Va > rpm.log 472 | 473 | kill -9 474 | 475 | chattr –i 476 | 477 | rm 478 | 479 | setfacl 480 | 481 | getfacl 482 | 483 | lsattr 484 | 485 | ssh 486 | 487 | chmod 488 | 489 | find / -perm -004000 -type f 490 | 491 | chattr +i 492 | 493 | 去执行权限: 494 | 495 | chmod 000 496 | 497 | 查看预加载库: 498 | 499 | echo $LD_PRELOAD 500 | 501 | ssh后门快速判断: 502 | 503 | strings /usr/bin/.sshd | egrep '[1-9]{1,3}\.[1-9]{1,3}\.' 504 | 505 | >检查SSH后门:
506 | 1)比对ssh的版本
507 | ssh -V
508 | 2)查看ssh配置文件和/usr/sbin/sshd的时间:
509 | stat /usr/sbin/sshd
510 | 3)strings检查/usr/sbin/sshd,是否有邮箱信息
511 | 4)通过strace监控sshd进程读写文件的操作
512 | 一般的sshd后门都会将账户密码记录到文件,可以通过strace进程跟踪到ssh登录密码文件。
513 | ps axu | grep sshd | grep -v grep
514 | root 65530 0.0 0.1 48428 1260 ? Ss 13:43 0:00 /usr/sbin/sshd
515 | strace -o aa -ff -p 65530
516 | grep open aa* | grep -v -e No -e null -e denied| grep WR
517 | aa.102586:open("/tmp/ilog", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4


518 | 519 | 520 | 521 | ## windows应急响应 522 | 523 | ![](https://github.com/theLSA/emergency-response-checklist/raw/master/img/esc05.png) 524 | 525 | //图片来源:[https://www.cnblogs.com/0x4D75/p/9838098.html](https://www.cnblogs.com/0x4D75/p/9838098.html) 526 | 527 | ### 文件 528 | 529 | C:\Documents and Settings\Administrator\Recent 530 | 531 | C:\Documents and Settings\Default User\Recent 532 | 533 | %UserProfile%\Recent 534 | 535 | 文件日期、新增文件、可疑/异常文件、最近使用文件、浏览器下载文件 536 | 537 | 下载目录 538 | 539 | 回收站文件 540 | 541 | 程序临时文件 542 | 543 | 历史文件记录 544 | 545 | 应用程序打开历史 546 | 547 | 搜索历史 548 | 549 | 快捷方式(LNK) 550 | 551 | c:\windows\temp\ 552 | 553 | Window 2003 C:\Documents and Settings 554 | 555 | Window 2008R2 C:\Users\ 556 | 557 | Temp/tmp目录 558 | 559 | 开始-运行,输入%UserProfile%\Recent 560 | 561 | 时间排序文件 562 | 563 | ### 日志 564 | 565 | 开审核策略 566 | 567 | 系统日志,程序日志,安全日志 568 | 569 | eventvwr.msc 570 | 571 | 1)服务器日志: 572 | 573 | FTP连接日志和HTTPD事务日志:%systemroot% \system32\LogFiles\ 574 | 575 | IIS日志默认存放在System32\LogFiles目录下,使用W3C扩展格式 576 | 577 | 2)操作系统日志: 578 | 579 | 登录成功的所有事件:
580 | LogParser.exe -i:EVT –o:DATAGRID “SELECT * FROM c:\Security.evtx where EventID=4624″ 581 | 582 | 指定登录时间范围的事件:
583 | LogParser.exe -i:EVT –o:DATAGRID “SELECT * FROM c:\Security.evtx where TimeGenerated>’2018-06-19 23:32:11′ and TimeGenerated<’2018-06-20 23:34:00′ and EventID=4624″ 584 | 585 | 提取登录成功的用户名和IP:
586 | LogParser.exe -i:EVT –o:DATAGRID “SELECT EXTRACT_TOKEN(Message,13,’ ‘) as EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,’|') as Username,EXTRACT_TOKEN(Message,38,’ ‘) as Loginip FROM c:\Security.evtx where EventID=4624″ 587 | 588 | 589 | 登录失败的所有事件:
590 | LogParser.exe -i:EVT –o:DATAGRID “SELECT * FROM c:\Security.evtx where EventID=4625″ 591 | 592 | 提取登录失败用户名进行聚合统计:
593 | LogParser.exe -i:EVT “SELECT EXTRACT_TOKEN(Message,13,’ ‘) as EventType,EXTRACT_TOKEN(Message,19,’ ‘) as user,count(EXTRACT_TOKEN(Message,19,’ ‘)) as Times,EXTRACT_TOKEN(Message,39,’ ‘) as Loginip FROM c:\Security.evtx where EventID=4625 GROUP BY Message” 594 | 595 | 596 | 系统历史开关机记录:
597 | LogParser.exe -i:EVT –o:DATAGRID “SELECT TimeGenerated,EventID,Message FROM c:\System.evtx where EventID=6005 or EventID=6006″ 598 | 599 | ### 帐号 600 | 601 | 新增用户 602 | 603 | 弱口令 604 | 605 | 管理员对应键值 606 | 607 | lusrmgr.msc 查看账户变化 608 | 609 | net user 列出当前登录账户 610 | 611 | wmic UserAccount get 列出当前系统所有账户 612 | 613 | C:\>net localgroup administrators 614 | 615 | 隐藏/克隆帐号: 616 | 617 | LD_check 618 | 619 | 注册表-管理员键值: 620 | 621 | HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users 622 | 623 | D盾查杀 624 | 625 | 日志-登录时间/用户名 626 | 627 | 628 | ### 进程 629 | 630 | tasklist /svc | findstr pid 631 | 632 | netstat -ano 633 | 634 | tasklist /svc 635 | 636 | findstr 637 | 638 | wmic process | find "Proccess Id" > proc.csv 639 | 640 | Get-WmiObject -Class Win32_Process 641 | 642 | Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 | Format-List -Property PSComputerName, Name, ExitCode, Name, ProcessID, StartMode, State, Status 643 | 644 | >没有签名验证信息的进程
645 | 没有描述信息的进程
646 | 进程的属主
647 | 进程的路径是否合法
648 | CPU或内存资源占用长时间过高的进程
649 | 650 | msinfo32 651 | 652 | wmic process get caption,commandline /value 653 | 654 | wmic process where caption=”svchost.exe” get caption,commandline /value 655 | 656 | wmic service get name,pathname,processid,startname,status,state /value 657 | 658 | wmic process get CreationDate,name,processid,commandline,ExecutablePath /value 659 | 660 | wmic process get name,processid,executablepath| findstr "7766" 661 | 662 | 663 | ### 端口 664 | 665 | netstat -ano 666 | 667 | CLOSED:无连接活动或正在进行
668 | LISTEN:监听中等待连接
669 | SYN_RECV:服务端接收了SYN
670 | SYN_SENT:请求连接等待确认
671 | ESTABLISHED:连接建立数据传输
672 | FIN_WAIT1:请求中止连接,等待对方FIN
673 | FIN_WAIT2:同意中止,请稍候
674 | ITMED_WAIT:等待所有分组死掉
675 | CLOSING:两边同时尝试关闭
676 | TIME_WAIT:另一边已初始化一个释放
677 | LAST_ACK:等待原来的发向远程TCP的连接中断请求的确认
678 | CLOSE-WAIT:等待关闭连接
679 | 680 | 681 | ### 自启动 682 | 683 | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 684 | 685 | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce 686 | 687 | HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run 688 | 689 | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 690 | 691 | HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce 692 | 693 | HKLM\Software\Microsoft\Windows\CurrentVersion\RunonceEx 694 | 695 | (ProfilePath)\Start Menu\Programs\Startup 启动项 696 | 697 | msconfig 启动选项卡 698 | 699 | gpedit.msc 组策略编辑器 700 | 701 | 开始>所有程序>启动 702 | 703 | msconfig-启动 704 | 705 | 706 | ### 计划任务 707 | 708 | C:\Windows\System32\Tasks\ 709 | 710 | C:\Windows\SysWOW64\Tasks\ 711 | 712 | C:\Windows\tasks\ 713 | 714 | schtasks 715 | 716 | taskschd.msc 717 | 718 | at 719 | 720 | 开始-设置-控制面板-任务计划 721 | 722 | ### 注册表 723 | 724 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList,HKLM\SAM\Domains\Account\ 725 | 726 | hklm:\Software\Microsoft\Windows\CurrentVersion\policies\system 727 | 728 | hklm:\Software\Microsoft\Active Setup\Installed Components 729 | 730 | hklm:\Software\Microsoft\Windows\CurrentVersion\App Paths 731 | 732 | hklm:\software\microsoft\windows nt\CurrentVersion\winlogon 733 | 734 | hklm:\software\microsoft\security center\svc 735 | 736 | hkcu:\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths 737 | 738 | hkcu:\Software\Microsoft\Windows\CurrentVersion\explorer\RunMru 739 | 740 | hklm:\Software\Microsoft\Windows\CurrentVersion\explorer\Startmenu 741 | 742 | hklm:\System\CurrentControlSet\Control\Session Manager 743 | 744 | hklm:\Software\Microsoft\Windows\CurrentVersion\explorer\ShellFolders 745 | 746 | hklm:\Software\Microsoft\Windows\CurrentVersion\ShellExtensions\Approved 747 | 748 | hklm:\System\CurrentControlSet\Control\Session Manager\AppCertDlls 749 | 750 | hklm:\Software\Classes\exefile\shell\open\command 751 | 752 | hklm:\BCD00000000 753 | 754 | hklm:\system\currentcontrolset\control\lsa 755 | 756 | hklm:\Software \Microsoft\Windows\CurrentVersion\Explorer\BrowserHelper Objects 757 | 758 | hklm:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects 759 | 760 | hkcu:\Software\Microsoft\Internet Explorer\Extensions 761 | 762 | hklm:\Software\Microsoft\Internet Explorer\Extensions 763 | 764 | hklm:\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions 765 | 766 | HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ HKEY_CLASSES_ROOT\exefile\shell\open\command 767 | 768 | ### 服务 769 | 770 | services.msc 771 | 772 | ### misc 773 | 774 | 查看指定时间范围包括上传文件夹的访问请求: 775 | 776 | findstr /s /m /I “UploadFiles” *.log 777 | 778 | 关键信息是x.js 779 | 780 | findstr /s /m /I “x.js” *.asp 781 | 782 | 根据关键字搜索: 783 | 784 | for /r d:\ %i in (*shell*.asp) do @echo %i 785 | 786 | set 787 | 788 | systeminfo 789 | 790 | ((?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d))).){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))) 791 | 792 | 安装安全软件:360/小A/瑞星/腾讯管家/金山/火绒

793 | 794 | 795 | ## 网络层应急响应 796 | 797 | ### DDOS 798 | 799 | >SYN 类攻击判断
800 | 1.服务器 CPU 占用率很高。
801 | 2.出现大量的 SYN_RECEIVED 的网络连接状态。
802 | 3.网络恢复后,服务器负载瞬时变高。网络断开后瞬时负载下将。
803 | 804 | >UDP 类攻击判断
805 | 1.服务器 CPU 占用率很高。
806 | 2.网卡每秒接受大量的数据包。
807 | 3.网络 TCP 状态信息正常。
808 | 809 | >CC 类攻击判断
810 | 1.服务器 CPU 占用率很高。
811 | 2.Web 服务器出现类似 Service Unavailable 提示。
812 | 3.出现大量的 ESTABLISHED 的网络连接状态且单个 IP 高达几十个甚至上百个连接。
813 | 4.用户无法正常访问网站页面或打开过程非常缓慢,软重启后短期内恢复正常,几分钟后又无法访问。
814 | 815 | >参考资料:[https://www.hi-linux.com/posts/50873.html](https://www.hi-linux.com/posts/50873.html) 816 | 817 | 818 | 常见攻击类型: 819 | 820 | icmp flood: 821 | 822 | >此攻击属于大流量攻击,其原理就是不断发送不正常的 ICMP 包(所谓不正常就是 ICMP 包内容很大),导致目标带宽被占用。但其本身资源也会被消耗,并且目前很多服务器都是禁 ping 的(在防火墙里可以屏蔽 ICMP 包),因此这种方式已经落伍。 823 | 824 | 825 | syn flood: 826 | 827 | 原理就是伪造大量不存在的IP地址,阻断TCP三次握手的第三次ACK包,即不对服务器发送的SYN+ACK数据包做出应答。由于服务器没有收到客户端发来的确认响应,就会一直保持连接直到超时,当有大量这种半开连接建立时,即造成SYN Flood攻击。 828 | 829 | 特征:syn+ack 830 | netstat -n -p TCP | grep SYN_RECV 831 | 832 | 防御:
833 | 在Linux上可以修改以下配置提高TCP半开连接队列大小的上限:
834 | /proc/sys/net/ipv4/tcp_max_syn_backlog

835 | 可以减少半开状态下等待ACK消息的时间或者重试发送SYN-ACK消息的次数:
836 | /proc/sys/net/ipv4/tcp_synack_retries
837 | SYN Cookies
838 | SYN Cache
839 | 840 | IPS规则
841 | 开启防火墙,限制单ip的syn包的频率 842 | 843 | 844 | 845 | udp flood: 846 | 847 | >由于 UDP 是一种无连接的协议,因此攻击者可以伪造大量的源 IP 地址去发送 UDP 包,此种攻击属于大流量攻击。正常应用情况下,UDP 包双向流量会基本相等,因此在消耗对方资源的时候也在消耗自己的资源。 848 | 849 | 850 | CLDAP协议 Reflection DDoS: 851 | 852 | >在CLDAP中只提供三种操作:searchRequest、searchResponse (searchResEntry和searchResDone)、abandonRequest,在不提供身份验证功能的情况下,客户端可以使用UDP数据报对LDAP服务器389端口发起操作请求。由于客户端发起searchRequest后服务端将返回searchResEntry和searchResDone两条应答消息,一般情况下执行该操作将具有较小数据包反射出较大数据包的效果,这一缺陷随即被利用进行反射放大DDoS攻击 853 | 854 | 855 | ACK flood: 856 | 857 | >ACK Flood 攻击是在 TCP 连接建立之后进行的。所有数据传输的 TCP 报文都是带有 ACK 标志位的,主机在接收到一个带有 ACK 标志位的数据包的时候,需要检查该数据包所表示的连接四元组是否存在。如果存在则检查该数据包所表示的状态是否合法,然后再向应用层传递该数据包。如果在检查中发现该数据包不合法(例如:该数据包所指向的目的端口在本机并未开放),则主机操作系统协议栈会回应 RST 包告诉对方此端口不存在。 858 | 859 | >当发包速率很大的时候,主机操作系统将耗费大量的精力接收报文、判断状态,同时要主动回应 RST 报文,正常的数据包就可能无法得到及时的处理。这时候客户端的表现就是访问页面反应很慢,丢包率较高。 860 | 861 | 862 | Connection Flood: 863 | 864 | >典型的并且非常有效的利用小流量冲击大带宽网络服务的攻击方式。这种攻击的原理是利用真实的 IP 地址向服务器发起大量的连接,并且建立连接之后很长时间不释放。长期占用服务器的资源,造成服务器上残余连接 (WAIT 状态) 过多,效率降低,甚至资源耗尽,无法响应其它客户所发起的连接。 865 | 866 | 867 | DNS 放大攻击: 868 | 869 | 原理:伪造DNS数据包,向DNS服务器发送域名查询报文了,而DNS服务器返回的应答报文则会发送给被攻击主机。放大体现在请求DNS回复的类型为ANY,攻击者向服务器请求的包长度为69个字节,而服务器向被攻击主机回复的ANY类型DNS包长度为535字节,大约放大了7倍(放大倍数视具体情况)。 870 | 构造受害者IP为源IP 871 | 大量DNS服务器实现DDoS 872 | 873 | 特征:大量dns请求
874 | 防御:IPS规则、关闭递归查询,DNS解析器应仅向源自受信任域的设备提供其服务,acl。
875 | 增大带宽、联系ISP上游阻断。
876 | 877 | 878 | CC攻击: 879 | 880 | >原理就是借助代理服务器针对目标系统的消耗资源比较大的页面不断发起正常的请求,造成对方服务器资源耗尽,一直到宕机崩溃。因此在发送 CC 攻击前,我们需要寻找加载比较慢,消耗资源比较多的网页。比如:需要查询数据库的页面、读写硬盘的文件等。 881 | 882 | 883 | 慢速连接攻击: 884 | 885 | >针对HTTP协议,先建立起HTTP连接,设置一个较大的Conetnt-Length,每次只发送很少的字节,让服务器一直以为HTTP头部没有传输完成,这样连接一多就很快会出现连接耗尽。 886 | 887 | 888 | Slowloris 攻击: 889 | 890 | >Slowloris 是一种慢速连接攻击,Slowloris 是利用 Web Server 的漏洞或设计缺陷,直接造成拒绝服务。其原理是:以极低的速度往服务器发送 HTTP 请求,Apache 等中间件默认会设置最大并发链接数,而这种攻击就是会持续保持连接,导致服务器链接饱和不可用。Slowloris 有点类似于 SYN Flood 攻击,只不过 Slowloris 是基于 HTTP 协议。 891 | 892 | NTP Flood 893 | 894 | 895 | SSDP Flood 896 | 897 | 898 | 899 | DOS通用防御:
900 | 砸钱,上抗d设备,流量清洗,高防,硬防,cdn,隐藏真实ip

901 | 902 | 903 | >网络层 DDoS 防御
904 | 1.限制单 IP 请求频率。
905 | 2.网络架构上做好优化,采用负载均衡分流。
906 | 3.防火墙等安全设备上设置禁止 ICMP 包等。
907 | 4.通过 DDoS 硬件防火墙的数据包规则过滤、数据流指纹检测过滤、及数据包内容定制过滤等技术对异常流量进行清洗过滤。
908 | 5.采用 ISP 近源清洗,使用电信运营商提供的近源清洗和流量压制,避免全站服务对所有用户彻底无法访问。这是对超过自身带宽储备和自身 DDoS 防御能力之外超大流量的补充性缓解措施。
909 | 910 | >应用层 DDoS 防御
911 | 1.优化操作系统的 TCP/IP 栈。
912 | 2.应用服务器严格限制单个 IP 允许的连接数和 CPU 使用时间。
913 | 3.编写代码时,尽量实现优化并合理使用缓存技术。尽量让网站静态化,减少不必要的动态查询。网站静态化不仅能大大提高抗攻击能力,而且还给骇客入侵带来不少麻烦,至少到现在为止关于 HTML 的溢出还没出现。
914 | 4.增加 WAF(Web Application Firewall)设备,WAF 的中文名称叫做 Web 应用防火墙。Web 应用防火墙是通过执行一系列针对 HTTP / HTTPS 的安全策略来专门为 Web 应用提供保护的一款产品。
915 | 5.使用 CDN / 云清洗,在攻击发生时,进行云清洗。通常云清洗厂商策略有以下几步:预先设置好网站的 CNAME,将域名指向云清洗厂商的 DNS 服务器;在一般情况下,云清洗厂商的 DNS 仍将穿透 CDN 的回源的请求指向源站,在检测到攻击发生时,域名指向自己的清洗集群,然后再将清洗后的流量回源。
916 | 6.CDN 仅对 Web 类服务有效,针对游戏类 TCP 直连的服务无效。这时可以使用 DNS 引流 + ADS (Anti-DDoS System) 设备来清洗,还有在客户端和服务端通信协议做处理(如:封包加标签,依赖信息对称等)。
917 | 918 | >参考资料:[https://www.hi-linux.com/posts/50873.html](https://www.hi-linux.com/posts/50873.html) 919 | 920 | 921 | ### ARP欺骗 922 | 923 | >ARP攻击,是针对以太网地址解析协议(ARP)的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。
924 | ---百度百科 925 | 926 | 在网络中产生大量的ARP通信 927 | 928 | arp -a 929 | 930 | 防御:
931 | 防火墙,mac地址绑定 932 | 933 | ### DNS劫持 934 | 935 | 控制域名解析权限,比如访问google.com解析到了baidu.com的IP,比如通过iframe打开google.com 936 | 937 | 防御:
938 | 换DNS服务器,采用https,向工信部/运营商投诉 939 | 940 | ### HTTP劫持(内容劫持) 941 | 942 | 在和网站交互过程中的劫持了请求,比如在右下角出现广告弹窗(插入js或dom) 943 | 944 | 防御:
945 | 采用https,向工信部/运营商投诉 946 | 947 | 948 | ### 参考资料 949 | 950 | [https://www.hi-linux.com/posts/50873.html](https://www.hi-linux.com/posts/50873.html) 951 | 952 | [https://www.cnblogs.com/zdz8207/p/10729294.html](https://www.cnblogs.com/zdz8207/p/10729294.html) 953 | 954 |
955 | 956 | ## 交换机/路由器应急响应 957 | 958 | ### 交换机负载过高(cpu100%) 959 | 960 | 常见原因:
961 | 线路老化,端口接错(千兆/百兆/环路),内网病毒蠕虫,业务变动导致流量剧增,PBR,广播风暴 962 | 963 | 现象:
964 | 丢包,延时较大 965 | 966 | ### 交换机排查常用命令 967 | show process cpu
968 | show platform health
969 | sh int | i protocol | rate | broadcasts 哪个端口收发包较多
970 | show ip traffic
971 | Monitor session 1 soure interface cpu
972 | Monitor session 1 des interface 具体接口
973 | sh platform cpu packet statistics
974 | 975 | ### 路由器常用命令 976 | enable 进入特权模式
977 | config terminal 进入全局配置模式
978 | router(config)#line console 0 进入控制台口
979 | router(config-line)#line vty 0 4 进入虚拟终端(Ctrl+z)返回特权模式
980 | int s0/0 进入Serail接口
981 | no shutdown 激活当前接口
982 | ip address 设置IP地址
983 | int f0/0.1 进入子接口
984 | copy running-config startup-config 保存配置
985 | show version 显示路由器的版本信息
986 | show running-config 显示整个路由器的配置
987 | show run interface serial 0 显示端口s0的配置
988 | show int serial 0 显示端口s0的状态
989 | show contr serial 0 显示端口s0是DTE还是DCE
990 | show cdp neighbor 显示连接了哪些邻居
991 | show cdp entry * 显示连接的路由的具体信息
992 | show cdp interface s0 显示s0口连接的邻居
993 | show ip route
994 | show run 查看当前配置
995 | 996 | 997 | 998 | ### misc 999 | 1000 | >HiPri代表是处理高优先级的进程,LoPri代 1001 | 表处理低优先级的进程,LoPri 值比较大原因是因为进程超过了HiPri给定的Target,然后交给了LoPri来处理 1002 | 1003 | >Cat4k Mgmt HiPri和Cat4k Mgmt LoPri两个进程的原理。当某个进程占用CPU时间超过规定的CPU分配时间时,Cat4k Mgmt HiPri进程便会接管这个进程; 而当Cat4k平台上某项进程占用CPU超出了应分配的CPU时间时,Cat4k Mgmt LoPri进程会接管这项进程,使其他进程能够得到CPU时间。 1004 | 1005 | ### 相关资料 1006 | 1007 | [https://www.cisco.com/c/zh_cn/support/docs/switches/catalyst-3750-series-switches/68461-high-cpu-utilization-cat3750.html](https://www.cisco.com/c/zh_cn/support/docs/switches/catalyst-3750-series-switches/68461-high-cpu-utilization-cat3750.html) 1008 | 1009 | [https://blog.51cto.com/2825930/2286871](https://blog.51cto.com/2825930/2286871) 1010 | 1011 | [https://blog.51cto.com/2825930/2286867](https://blog.51cto.com/2825930/2286867) 1012 | 1013 | [www.voidcn.com/article/p-ynqudrjf-wr.html](www.voidcn.com/article/p-ynqudrjf-wr.html) 1014 | 1015 | [blog.sina.com.cn/s/blog_4ca83f8301015357.html](blog.sina.com.cn/s/blog_4ca83f8301015357.html) 1016 | --------------------------------------------------------------------------------