网络安全 - 应急响应检查表
前言
本项目旨在为应急响应提供全方位辅助,以便快速解决问题。结合自身经验和网络资料,形成检查清单,期待大家提供更多技巧,共同完善本项目。愿大家在应急之路一帆风顺。
图片皆来源于网络,如有侵权请联系删除。
一、应急响应综合
应急响应类型
-
Web入侵
- 挂马、网页篡改(如博彩和黑帽SEO)、植入Webshell、黑链、暗链等
-
主机入侵
- 病毒木马、勒索软件、远控后门、系统异常、RDP爆破、SSH爆破、主机漏洞、数据库入侵等
-
网络攻击
- DDoS攻击、DNS劫持、ARP欺骗等
-
路由器/交换机异常
- 内网病毒、配置错误等
初步信息收集
-
客户属性
- 如名称、区域、领域等
-
入侵范围
- 如主机数量、网段等
-
入侵现象
- 如CPU过高、勒索界面、异常网络链接、安全设备告警等
-
客户需求
- 是否要求溯源、是否要求协助修复等
整体分析流程
相关工具/资源
可疑域名后缀
- .ru:俄罗斯,盛产黑客。
- .ws:东萨摩亚,易申请,难追踪注册者。
- .cc:科科斯群岛,易申请,难追踪注册者。
- .pw:帕劳,易申请,难追踪注册者。
- .bz:伯利兹,易申请,难追踪注册者。
- .su:苏联,虽已解体,但仍与黑产有关。
- .bw:伯兹瓦纳,易申请,难追踪注册者。
- .gw:几内亚比绍,易申请,难追踪注册者。
- .ms:蒙塞拉特岛,易申请,难追踪注册者。
- .mz:莫桑比克,易申请,难追踪注册者。
这些域名后缀通常被用于注册可疑的域名,因其易于获取且难以追踪注册者,可能被黑客或不法分子滥用。
常见动态域名提供商
'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', 'vicp.cc', 'eicp.net', 'uicp.cn', '51vip.biz', 'xicp.cn', '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'
杂项
-
收集信息:
- 操作系统版本及补丁情况
- 数据库版本
- 中间件/服务器信息
- 网络拓扑图
- 受害范围与影响程度
- 处置情况及采取的措施
- 提取的日志类型(主机日志、安全设备日志、数据库日志等)
-
确保亲自求证,以眼见为实,以耳听为虚。
相关项目
Bypass007/Emergency-Response-Notes: 应急响应实战笔记,一个安全工程师的自我修养。 (github.com)
二、web应急响应
各中间件/服务器日志默认存放位置
-
IIS:
- Windows:
C:\WINDOWS\system32\LogFiles
- Windows:
-
Apache:
- Linux:
/usr/local/apache/logs/
- Windows:
apache/logs/
- Linux:
-
Tomcat:
- 配置文件:
conf/logging.properties
- 日志文件:
logs/catalina.xx.log
logs/host-manager.xx.log
logs/localhost.xx.log
logs/manager.xx.log
- 主要记录系统启动、关闭日志、管理日志和异常信息。
- 配置文件:
-
WebLogic:
- 日志位置:
domain_name/servers/server_name/logs/
- 日志文件:
server_name.log
:服务器启动和停止日志access.log
:安装在该服务器之上的应用程序的 HTTP 访问日志
- 日志位置:
-
JBoss:
- 日志位置:
LOG4J配置默认Deploy/conf/
- 示例:
jboss/server/default/conf/jboss-log4j.xml
- 日志位置:
这些信息有助于在应急响应情况下迅速定位和检查关键日志文件。
webshell排查
1)整站打包用WebShell扫描工具扫描
使用专门的WebShell扫描工具,对整个网站进行扫描,以便检测和清除任何潜在的WebShell文件或代码。
相关文章:36-4 PHP 代码审计基础-CSDN博客
2)使用命令行进行关键字搜索
在Linux环境下,通过命令行查找包含特定关键字的PHP文件:
find /var/www/ -name "*.php" -print0 | xargs -0 egrep -H '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'
这条命令会递归搜索 /var/www/
目录下所有的 .php
文件,并查找包含指定关键字的行。
3)特定路径下搜索eval($_POST
在指定目录(例如 /app/website/
)下,搜索包含 eval($_POST
的内容:
grep -i -r 'eval($_POST' /app/website/*
4)递归查找包含eval($_POST
的文件
递归查找指定目录(例如 /app/website/
)下所有文件,查找包含 eval($_POST
的行:
find /app/website/ -type f | xargs grep 'eval($_POST'
这些命令和步骤有助于发现和清除WebShell,其中关键是通过关键字搜索检测到可能的恶意代码。
数据库排查
MySQL 日志
-
错误日志
- 默认开启,文件名格式为
hostname.err
。 - 位置:通常在 MySQL 数据目录,记录数据库错误信息。
- 示例:
hostname.err
- 默认开启,文件名格式为
-
查询日志
- 记录用户的所有操作,一般情况下默认关闭。
- 文件名:
general_log_file
- 常见于潜在的恶意操作(如
getshell
攻击)检测。 - 示例:
general_log_file
-
慢查询日志
- 记录执行时间超过指定时间的查询语句。
- 文件名:
slow_query_log_file
- 有助于检测可能导致性能问题或安全漏洞的慢查询操作。
- 示例:
slow_query_log_file
-
事务日志
- 文件名通常是
ib_logfile0
等。 - 用于事务的持久化和恢复,一般直接操作较少。
- 文件名通常是
-
二进制日志
- 记录修改数据或可能引起数据改变的 MySQL 语句。
- 文件名类似
mysql-bin.000001
,在数据目录中。 - 对于数据库复制和恢复非常重要。
MSSQL 日志
- 错误日志
- 使用
exec xp_readerrorlog
命令读取。 - 位置:Object Explorer -> Management -> SQL Server Logs -> View Logs。
- 示例路径(SQL Server 2008):
R2\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG
- 使用
其他检查点(Misc)
-
异常文件检查
- 检查
mysql\lib\plugin
目录下的异常文件。
- 检查
-
异常存储过程
- 检查
select * from mysql.func
查询结果,查看是否存在异常的存储过程。
- 检查
-
MSSQL 存储过程
- 检查
xp_cmdshell
等存储过程的使用情况。
- 检查
-
异常登录
- 监视数据库日志,注意异常的登录尝试。
-
数据库弱口令
- 检查数据库用户的密码强度,避免使用弱口令。
-
MySQL 相关命令
- 使用如下命令查看日志配置和状态:
show global variables like '%log%'; show global variables like '%gene%'; show master status;
- 使用如下命令查看日志配置和状态:
-
其他
- 检查
mysqld
配置文件,通常是my.cnf
,确保日志配置符合安全最佳实践。
- 检查
这些指南将有助于管理员或安全专家检测和应对数据库安全问题,保护数据库免受恶意攻击和意外操作的影响。
三、linux应急响应
文件
- 查看文件列表
ls -alt
- 查找72小时内新增的文件
find / -ctime -72h
- 查看最近10个文件
ls -alt | head -n 10
- 查找24小时内被修改的JSP文件
find ./ -mtime 0 -name "*.jsp"
- 根据特定日期反推变更的文件
ls -al /tmp | grep "Feb 27"
- 查找权限为777的文件(示例为.jsp文件)
find / -type f -name "*.jsp" -perm 0777
- 分析隐藏文件(以.xxx为例)
find / -type f -name ".*.xxx"
- 检查sshd文件是否包含IP信息
strings /usr/bin/.sshd | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
- 查找特定时间内被修改的文件
find /etc/ /usr/bin/ /usr/sbin/ /bin/ /usr/local/bin/ -type f -mtime 0
- 查找24小时内访问过的文件
find /tmp -iname "*" -atime 1 -type f
- 命令目录
/usr/bin /usr/sbin
日志
/var/log/messages - 包含整体系统信息,包括系统启动期间的日志。此外,mailx、cron、daemon、kern和auth等内容也记录在/var/log/messages中。
/var/log/dmesg - 包含内核缓冲信息(kernel ring buffer)。系统启动时,会在屏幕上显示与硬件相关的信息,可以使用dmesg命令查看这些信息。
/var/log/auth.log - 包含系统授权信息,如用户登录和使用的权限机制等。
/var/log/boot.log - 包含系统启动过程的日志信息。
/var/log/daemon.log - 包含各种系统后台守护进程的日志信息。
/var/log/dpkg.log - 记录使用dpkg命令安装或清除软件包的日志。
/var/log/kern.log - 包含内核产生的日志,有助于在定制内核时解决问题。
/var/log/lastlog - 记录所有用户的最近登录信息。这不是一个ASCII文件,需要使用lastlog命令查看内容。
/var/log/maillog 或 /var/log/mail.log - 包含系统运行的电子邮件服务器的日志信息,如sendmail的日志。
/var/log/user.log - 记录所有等级用户的系统信息日志。
/var/log/Xorg.x.log - 来自X服务器的日志信息。
/var/log/alternatives.log - 记录更新和替代信息的日志文件。
/var/log/btmp - 记录所有失败登录的信息。使用lastb命令可以查看btmp文件的内容。
/var/log/cups/ - 包含所有打印信息的日志文件。
/var/log/anaconda.log - 在安装Linux时,记录所有安装信息的日志文件。
/var/log/yum.log - 包含使用yum安装的软件包信息的日志文件。
/var/log/cron - 每当cron进程开始一个工作时,将相关信息记录在此文件中。
/var/log/secure - 包含验证和授权方面的信息,例如sshd记录的所有信息(包括失败登录)。
/var/log/wtmp 或 /var/log/utmp - 包含登录信息的文件。使用wtmp可以查找当前登录用户以及登录和注销的历史记录。
/var/log/faillog - 包含用户登录失败的信息,记录错误的登录尝试。
此外,/var/log目录还包含以下基于系统特定应用的子目录:
/var/log/httpd/ 或 /var/log/apache2/ - 包含Apache服务器的access_log和error_log信息。
/var/log/lighttpd/ - 包含Lighttpd服务器的access_log和error_log信息。
/var/log/mail/ - 包含邮件服务器的额外日志信息。
/var/log/prelink/ - 包含被prelink修改的.so文件的信息。
/var/log/audit/ - 包含Linux audit daemon记录的信息。
/var/log/samba/ - 包含由Samba服务器记录的信息。
/var/log/sa/ - 包含由sysstat软件包每日收集的sar文件。
/var/log/sssd/ - 用于守护进程安全服务的日志信息。
/var/log/目录下常见日志文件及其功能:
- wtmp:记录用户登录、注销、系统启动和关闭等信息。使用命令
last
查看。 - lastlog:记录每个用户最后一次登录的信息。使用命令
lastlog
查看。 - secure:包含系统认证信息,如 SSH、FTP 登录尝试及其结果。也记录了许多其他应用程序的输入、帐号和密码。使用命令
cat /var/log/secure
或grep "Accepted" /var/log/secure
查看登录成功的记录。 - cron:记录与定时任务相关的日志信息。使用命令
cat /var/log/cron
查看。 - message:系统启动后的信息和错误日志,也包括整体系统信息。使用命令
cat /var/log/message
查看。 - apache2/access.log:Apache HTTP Server 的访问日志,记录所有访问该服务器的请求。使用命令
cat /var/log/apache2/access.log
查看。 - faillog:记录登录系统失败的账户信息。使用命令
cat /var/log/faillog
查看。
- xferlog(通常指vsftpd.log):记录 VSFTPD FTP 服务器的文件传输日志。使用命令
cat /var/log/xferlog
查看。 - 查看登录成功的IP地址的示例命令:
# 这个命令我执行,没有回显
grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr# 建议换这个
grep "Accepted " /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
- 查看登录失败的IP地址的示例命令:
grep 'Failed' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
- 监控日志文件变化的命令:
tail -n 400 -f demo.log
其他命令示例:
查找包含ERROR的行数:
grep -c 'ERROR' demo.log
查看爆破尝试次数最多的IP:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
这些命令和日志文件可以帮助系统管理员监控和分析系统的安全性和运行状态。
用户
-
last: 显示用户登录历史记录。
-
/etc/shadow: 存储加密的用户密码以及相关设置。
-
uptime: 显示系统运行时间和当前用户数。
-
/etc/sudoers: 记录授权使用sudo命令的用户列表和权限。
-
/etc/passwd: 包含系统用户的基本信息,如用户名、UID等。
-
查看UID为0的帐号:
awk -F: '$3 == 0 {print $1}' /etc/passwd
-
查看能够登录的帐号:
grep -E "/bin/bash$" /etc/passwd | cut -d: -f1
-
awk '/$1|$6/{print $1}' /etc/shadow: 查看/etc/shadow文件中的用户名和其它相关信息。
-
lastlog: 显示系统中所有用户最近一次登录的信息。
-
lastb: 显示用户的错误登录列表。
-
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)": 查看sudo配置文件中具有ALL=(ALL)权限的用户列表,排除注释和空行。
-
who: 查询utmp文件并报告当前登录的每个用户。
-
w: 查询utmp文件并显示当前系统中每个用户及其所运行的进程信息。
-
users: 打印当前登录的用户,每个用户名对应一个登录会话。
端口
netstat -anpt
自启动
-
~/.bashrc: 用户的bash shell启动时执行的脚本文件,对单个用户有效。
-
/etc/rc.local: 系统启动时自动运行的脚本文件,已过时,不建议使用。
-
/etc/init.d: 存放系统服务启动脚本的目录,用于管理系统级别的启动和关闭。
-
chkconfig: 用于管理系统服务的命令行工具。
-
chkconfig --list | grep "3:on|5:on": 查看在运行级别3和5下开启的服务列表。
-
/etc/init.d/rc.local: rc.local文件在/etc/init.d/目录下的符号链接,曾用于启动脚本。
-
/etc/rc.local: 同样是一个过时的系统启动脚本文件,通常在某些旧版Linux发行版中仍然存在。
-
/etc/init.d/ 开机启动项: 指所有在系统启动时自动执行的服务和脚本,位于/etc/init.d/目录下。
-
/etc/cron*: 定时任务相关的目录和文件,用于执行定期执行的作业任务。
这些是管理和配置Linux系统自启动和定时任务的主要文件和命令。
计划任务
-
crontab -l: 查看当前用户的cron任务列表。
-
crontab /etc/cron*: 编辑或查看系统中的cron任务,通常用于管理全局cron任务。
-
crontab -u root -l: 查看root用户的cron任务列表。
-
cat /etc/crontab: 显示系统范围的cron任务配置文件内容。
-
ls /etc/cron.*: 列出cron任务相关的目录和文件。
-
/var/spool/cron/*: 包含每个用户的cron作业文件。
-
/etc/crontab: 系统范围的cron任务配置文件。
-
/etc/cron.d/*: 包含特定应用程序的cron任务文件。
-
/etc/cron.daily/*: 每天执行的cron任务脚本。
-
/etc/cron.hourly/*: 每小时执行的cron任务脚本。
-
/etc/cron.monthly/*: 每月执行的cron任务脚本。
-
/etc/cron.weekly/*: 每周执行的cron任务脚本。
-
/etc/anacrontab: anacron系统的配置文件,用于处理延迟执行任务。
-
/var/spool/anacron/*: anacron的任务执行目录。
-
/var/log/cron*: cron任务的日志文件。
这些是管理和配置Linux系统中计划任务的主要目录、文件和命令。
杂项
-
stat: 显示文件或文件系统的详细信息,包括文件权限、所有者、大小、修改时间等。
-
echo $PATH: 显示当前用户的环境变量PATH,列出可执行文件的搜索路径。
-
./rpm -Va > rpm.log: 检查系统安装的软件包中文件的完整性,将结果输出到rpm.log文件。
-
kill -9: 强制终止进程,使用SIGKILL信号,通常作为最后手段使用。
-
chattr -i: 设置文件或目录为非不可修改状态。
-
rm: 删除文件或目录。
-
setfacl: 设置文件访问控制列表(ACL)。
-
getfacl: 获取文件的访问控制列表(ACL)。
-
lsattr: 显示文件或目录的扩展属性。
-
ssh: 远程登录和执行命令的工具。
-
chmod: 修改文件或目录的权限。
-
find / -perm -004000 -type f: 查找具有设置了设置用户ID (setuid) 和设置组ID (setgid) 标志的文件。
-
chattr +i: 设置文件或目录为不可修改(immutable)。
-
chmod 000: 去除文件或目录的所有执行权限。
-
echo $LD_PRELOAD: 查看当前设置的预加载库路径。
SSH 后门快速判断步骤:
-
检查SSH版本:
ssh -V
-
查看sshd文件的详细信息:
stat /usr/sbin/sshd
-
使用strings命令检查sshd文件是否包含可能的后门信息:
strings /usr/sbin/sshd | egrep '[1-9]{1,3}.[1-9]{1,3}.'
-
监控sshd进程的文件读写操作以发现可疑行为:
ps axu | grep sshd | grep -v grep strace -o aa -ff -p <sshd_pid> grep open aa* | grep -v -e No -e null -e denied | grep WR
这些命令和步骤涵盖了在系统管理和安全审计中常见的操作和检查点。
四、windows应急响应
图片来源:Windows应急响应常识 - 0x4D75 - 博客园 (cnblogs.com)
文件
-
最近使用的文件和下载文件:
C:\Documents and Settings\Administrator\Recent
C:\Documents and Settings\Default User\Recent
%UserProfile%\Recent
这些路径包含了用户最近使用的文件和浏览器下载的文件。可以根据日期排序来查找最近活动的文件。
-
下载目录:
- 通常是浏览器默认下载文件的存储位置,可在浏览器设置中查找。
-
回收站文件:
- 查看回收站中删除的文件,可能包含有价值的信息或者删除记录。
-
程序临时文件:
- 可能存储在系统的临时文件夹中,如
C:\Windows\Temp\
或%Temp%
目录下。
- 可能存储在系统的临时文件夹中,如
-
历史文件记录:
- 操作系统和应用程序可能会记录文件打开、保存和编辑的历史记录,需要根据具体应用程序查找。
-
应用程序打开历史:
- 不同的应用程序可能会有记录用户操作的功能,例如文档编辑器或者特定工具软件。
-
搜索历史:
- 操作系统和应用程序通常会记录用户的搜索历史,可以在相关设置中查找或者通过日志文件查看。
-
快捷方式(LNK):
- 可能包含文件的访问路径和使用记录,可以在文件资源管理器中查看属性。
-
临时目录:
- 可能存储在系统临时文件夹或者用户临时文件夹中,如
C:\Windows\Temp\
或%Temp%
目录。
- 可能存储在系统临时文件夹或者用户临时文件夹中,如
-
操作系统版本相关的路径:
- 在不同版本的Windows操作系统中,用户文件和临时文件存储的路径可能有所不同,需要根据具体操作系统版本调整路径。
-
开始-运行,输入%UserProfile%\Recent:
- 这是一个快捷方式,可以直接打开当前用户的最近文件夹。
根据这些信息,你可以通过查找这些路径和设置来分析最近的文件活动、下载记录以及可能的异常文件或活动。
日志
1. 服务器日志
- FTP连接日志和HTTPD事务日志:
- 存放路径:%systemroot%\system32\LogFiles\
- IIS日志格式:默认使用W3C扩展格式。
2. 操作系统日志
- 登录成功的所有事件:
LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM c:\Security.evtx WHERE EventID=4624"
- 指定登录时间范围的事件:
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"
- 提取登录成功的用户名和IP:
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"
- 登录失败的所有事件:
LogParser.exe -i:EVT -o:DATAGRID "SELECT * FROM c:\Security.evtx WHERE EventID=4625"
- 提取登录失败用户名进行聚合统计:
LogParser.exe -i:EVT "SELECT EXTRACT_TOKEN(Message, 13, ' ') AS EventType, EXTRACT_TOKEN(Message, 19, ' ') AS Username, COUNT(EXTRACT_TOKEN(Message, 19, ' ')) AS Times, EXTRACT_TOKEN(Message, 39, ' ') AS LoginIP FROM c:\Security.evtx WHERE EventID=4625 GROUP BY Message"
3. 系统历史开关机记录
- 开关机事件记录:
LogParser.exe -i:EVT -o:DATAGRID "SELECT TimeGenerated, EventID, Message FROM c:\System.evtx WHERE EventID=6005 OR EventID=6006"
工具和命令解释
- LogParser.exe:用于从Windows事件日志文件中查询和提取数据的工具。
- EventID:每种事件类型在Windows事件日志中都有一个唯一的EventID,用于准确筛选特定类型的事件。
- EXTRACT_TOKEN:在LogParser查询中用于从事件消息中提取特定信息字段的函数。
这些命令和路径可以帮助您有效地查找和分析服务器和操作系统日志中的特定事件类型和相关信息。
工具安装:日志分析工具Log Parser详细安装-CSDN博客
工具使用:日志分析工具logParser的使用-腾讯云开发者社区-腾讯云 (tencent.com)
账户
新增用户
- 在Windows上,使用命令
net user <username> <password> /add
添加新用户,重点检查新增的账号。
弱口令
-
弱口令是指容易被破解的密码,应该使用复杂、长且包含多种字符类型的密码来增强安全性。
管理员对应键值
-
管理员用户在注册表中的路径:
HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users
。
查看账户变化
-
使用
lusrmgr.msc
可以管理本地用户和组,并查看账户变化历史。
列出当前登录账户
-
net user
命令可以列出当前登录的用户账户。
列出当前系统所有账户
-
使用
wmic UserAccount get
命令可以列出当前系统中所有的用户账户。
查看管理员组成员
-
net localgroup administrators
命令用于查看本地管理员组的成员。
隐藏/克隆账户
-
克隆账户通常会涉及到修改注册表中的特定键值。一个示例键值是
HKEY_LOCAL_MACHINE/SAM/SAM/Domains/Account/Users
,用于管理账户。
D盾查杀
-
D盾是一种安全工具,用于检测和清除系统中的恶意软件和安全漏洞。
日志 - 登录时间/用户名
- 您可以通过操作系统的事件日志,如Security事件日志,来查看登录时间和相关的用户名信息。
进程
查看进程及其服务信息
tasklist /svc | findstr pid
:列出所有进程及其服务,并查找包含 "pid" 的行。netstat -ano
:显示网络状态和当前正在运行的进程及其 PID。tasklist /svc
:列出所有正在运行的进程及其服务。findstr
:在输出中查找指定的字符串模式。
使用WMIC获取进程和服务信息
wmic process | find "ProcessId" > proc.csv
:通过WMIC获取进程列表,并将包含 "ProcessId" 的行保存到 proc.csv 文件中。Get-WmiObject -Class Win32_Process
:使用PowerShell获取系统中所有进程的详细信息。Get-WmiObject -Query "select * from win32_service where name='WinRM'" -ComputerName Server01, Server02 | Format-List -Property PSComputerName, Name, ExitCode, ProcessID, StartMode, State, Status
:- 查询指定计算机(Server01 和 Server02)上名为 "WinRM" 的服务的详细信息,并以列表形式显示计算机名、服务名、退出代码、进程ID、启动模式、状态和状态。
进程的安全性和性能监控
- 没有签名验证信息的进程
- 没有描述信息的进程
- 进程的属主
- 进程的路径是否合法
- CPU或内存资源占用长时间过高的进程
其他实用工具和命令
msinfo32
:系统信息工具,可用于查看系统硬件和软件配置。wmic process get caption,commandline /value
:获取进程名称和命令行参数。wmic process where caption="svchost.exe" get caption,commandline /value
:获取指定进程名称为 "svchost.exe" 的进程的名称和命令行参数。wmic service get name,pathname,processid,startname,status,state /value
:获取服务的名称、路径、进程ID、启动账户、状态和状态。wmic process get CreationDate,name,processid,commandline,ExecutablePath /value
:获取进程的创建日期、名称、进程ID、命令行和可执行路径。wmic process get name,processid,executablepath | findstr "7766"
:查找进程名为 "7766" 的进程的名称、进程ID和可执行路径。
端口
netstat -ano
- CLOSED:无连接活动或正在进行。
- LISTEN:监听状态,服务端正在等待客户端的连接请求。
- SYN_RECV:服务端收到了一个连接请求(SYN),正在等待确认。
- SYN_SENT:客户端发送了一个连接请求(SYN),正在等待服务端的确认。
- ESTABLISHED:连接已经建立,数据可以传输。
- FIN_WAIT1:请求关闭连接,正在等待对方发送关闭请求。
- FIN_WAIT2:连接正在关闭,等待对方的关闭请求确认。
- TIME_WAIT:连接已经关闭,等待足够的时间以确保远程端接收到连接关闭的消息。
- CLOSE_WAIT:远程端已经关闭连接,本地端正在等待关闭连接。
- LAST_ACK:本地端已经发送了关闭连接请求,等待远程端的确认。
- CLOSING:双方同时尝试关闭连接,但仍在进行中。
- UNKNOWN:无法识别的端口状态,可能由于系统或网络问题。
自启动
注册表路径:
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run:系统启动时所有用户都会运行的程序。
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce:系统启动时运行一次的程序。
- HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\Explorer\Run:通过组策略配置的自启动项。
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run:当前用户登录时运行的程序。
- HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce:当前用户登录时运行一次的程序。
- HKLM\Software\Microsoft\Windows\CurrentVersion\RunonceEx:扩展的RunOnce配置。
文件系统路径:
- (ProfilePath)\Start Menu\Programs\Startup:用户个人设置中启动菜单中的程序。
工具和命令:
-
msconfig:系统配置实用程序,用于管理启动项和服务。
- 使用msconfig可以在“启动”选项卡中查看和管理系统启动时加载的程序。
-
gpedit.msc:组策略编辑器,可用于管理通过组策略设置的自启动项。
其他位置:
- 开始 > 所有程序 > 启动:包含当前用户登录时自动启动的程序的文件夹路径。
计划任务
文件系统路径:
- **C:\Windows\System32\Tasks**:包含系统级别的计划任务。
- **C:\Windows\SysWOW64\Tasks**:64位Windows系统上用于32位应用程序的任务计划路径。
- **C:\Windows\tasks**:另一个可能包含计划任务的路径,但通常不是主要的系统任务计划存储位置。
命令和工具:
-
schtasks:命令行工具,用于创建、删除、查询、更改计划任务。
- 可以通过命令行来管理计划任务,如创建、修改和删除任务等操作。
-
taskschd.msc:任务计划程序管理器,用于通过图形用户界面管理计划任务。
- 可以直观地查看和管理计划任务,包括创建、编辑和删除任务等。
-
at:命令行工具,用于一次性安排计划任务执行某项工作。
控制面板路径:
- 开始 > 设置 > 控制面板 > 任务计划:在控制面板中可以访问和管理计划任务。
- 提供了一个图形化界面来管理和配置计划任务,适合不熟悉命令行的用户使用。
注册表
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- 用户配置文件列表,包括用户的注册表配置信息。
-
*HKLM\SAM\Domains\Account*
- SAM数据库中的账户信息,包括本地用户账户。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\policies\system
- 系统策略设置,可能包含系统安全策略配置。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components
- Active Setup组件安装信息,用于初始化用户环境。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths
- 应用程序路径设置,包含注册的应用程序路径信息。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
- Windows登录过程配置,如自动登录设置等。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center\Svc
- 安全中心服务相关配置,用于检查系统安全状态。
-
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
- 用户最近输入的文件路径记录,可能包含用户活动追踪信息。
-
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
- 用户最近运行的程序记录,用于查看用户活动。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\StartMenu
- 开始菜单配置,可能包含启动项设置。
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
- 会话管理器配置,用于管理系统会话和进程。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders
- 用户文件夹路径设置,用于确定用户文件夹位置。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellExtensions\Approved
- 扩展名注册表项,用于注册Shell扩展和插件。
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\AppCertDlls
- 应用程序认证DLL列表,用于加载应用程序认证DLL。
-
HKEY_LOCAL_MACHINE\Software\Classes\exefile\shell\open\command
- 可执行文件的打开命令配置,用于检查可执行文件的执行路径。
-
HKEY_LOCAL_MACHINE\BCD00000000
- 启动配置数据的注册表分支,用于管理系统启动配置。
-
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
- 本地安全权限子系统(LSA)配置,用于管理安全策略和权限。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\BrowserHelperObjects
- 浏览器辅助对象的注册表设置,用于管理浏览器插件和辅助工具。
-
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
- 64位Windows系统上的浏览器辅助对象设置。
-
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Extensions
- Internet Explorer浏览器扩展设置,用于管理IE浏览器的扩展功能。
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Extensions
- Internet Explorer扩展的注册表设置,用于管理IE浏览器的扩展功能。
-
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
- 64位Windows系统上的Internet Explorer扩展设置。
-
*HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run*
- 系统启动时自动运行的程序配置。
-
HKEY_CLASSES_ROOT\exefile\shell\open\command
- 可执行文件的打开命令设置,用于确定可执行文件的执行路径。
服务
services.msc
杂项
-
查看指定时间范围包括上传文件夹的访问请求:
findstr /s /m /I “UploadFiles” *.log
关键信息是 x.js:
findstr /s /m /I “x.js” *.asp
-
根据关键字搜索 shell.asp 文件:
for /r d:\ %i in (shell.asp) do @echo %i
-
显示系统环境变量:
set
-
显示系统信息:
systeminfo
-
匹配 IP 地址的正则表达式:
((?:(?: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))))
-
建议安装的安全软件:
- 360
- 小A
- 瑞星
- 腾讯管家
- 金山
- 火绒
五、网络层应急响应
DDOS 攻击类型判断与特征
SYN 类攻击判断:
- 服务器 CPU 占用率异常高。
- 大量 SYN_RECEIVED 状态的网络连接。
- 网络恢复后,服务器负载瞬间增高,断开后负载迅速降低。
UDP 类攻击判断:
- 服务器 CPU 占用率异常高。
- 网卡每秒接收大量数据包。
- 网络 TCP 状态正常。
CC 类攻击判断:
- 服务器 CPU 占用率异常高。
- Web 服务器出现 Service Unavailable 提示。
- 大量 ESTABLISHED 状态的网络连接,单个 IP 可达数十至上百个连接。
- 用户无法正常访问网站,或访问过程非常缓慢。软重启后短暂恢复正常,几分钟后再次不可访问。
常见攻击类型与防御建议:
- ICMP Flood: 大流量攻击,可通过防火墙屏蔽 ICMP 包。
- SYN Flood: 使用 SYN Cookies、SYN Cache 等防御机制,调整 TCP 半开连接队列和重试策略。
- UDP Flood: 增加带宽、使用 CDN、关闭不必要的 UDP 服务等防御。
- CC 攻击: 使用 WAF、限制单 IP 连接数、优化服务器性能等防御策略。
- 慢速连接攻击: 使用请求速率限制、连接超时机制等防御手段。
- Slowloris 攻击: 优化服务器并发连接设置,使用反代服务缓解攻击。
- DNS 放大攻击: 关闭递归查询、限制 DNS 请求频率等防御手段。
- NTP Flood、SSDP Flood 等: 封禁不必要的服务、使用近源清洗等方式缓解攻击效果。
通用防御建议:
- 使用 DDoS 防火墙、流量清洗服务、CDN 加速等硬防护措施。
- 优化网络架构、采用负载均衡技术分流流量。
- 设置防火墙规则、限制单 IP 请求频率,保护关键网络设备免受攻击。
详细参考资料可查阅:浅谈 DDoS 攻击与防御 - 奇妙的 Linux 世界
2024/8/6 20:35:57
ARP欺骗攻击
定义和特征: ARP攻击针对以太网地址解析协议(ARP),通过欺骗局域网内设备,使其误认为攻击者控制的MAC地址是合法网关的MAC地址,从而导致网络通信被篡改或中断。
- 攻击方式: 欺骗局域网内设备,使其将攻击者的MAC地址错误地映射为合法网关的MAC地址。
- 特征: 网络通信异常,可能出现断流或数据包丢失情况。
检测方法:
- 观察局域网中大量的ARP通信。
- 使用命令
arp -a
查看本地ARP缓存,检查是否存在异常条目。
防御措施:
- 配置防火墙,限制ARP请求和响应。
- 实施MAC地址绑定,限制每个端口只能绑定指定的MAC地址。
DNS劫持攻击
定义和特征: DNS劫持是指攻击者控制了DNS服务器或在数据包传输过程中篡改DNS响应,将用户意图访问的域名解析到恶意或非授权的IP地址。
- 攻击方式: 攻击者篡改DNS响应,将合法域名解析为非法IP地址。
- 特征: 用户访问合法网站时跳转到不明网站,或看到与预期不符的内容。
防御措施:
- 使用可信赖的DNS服务器,如Google DNS、OpenDNS等。
- 采用HTTPS协议,通过加密通信确保数据完整性。
- 向相关部门(如工信部、运营商)投诉恶意DNS服务器或劫持行为。
HTTP劫持(内容劫持)
定义和特征: HTTP劫持指攻击者在用户与网站交互过程中,篡改或注入未经授权的内容,例如弹出广告窗口或修改网页内容。
- 攻击方式: 插入恶意JavaScript或DOM操作,改变网页显示或行为。
- 特征: 用户在正常网站浏览过程中看到未预期的内容或行为。
防御措施:
- 使用HTTPS协议,通过加密通信保护数据完整性。
- 向工信部或运营商报告恶意HTTP劫持行为,协助封锁攻击源。
这些防御措施能够有效减少或防止对网络和用户造成的各种安全威胁。
- https://www.hi-linux.com/posts/50873.html
- https://www.cnblogs.com/zdz8207/p/10729294.html
六、交换机/路由器应急响应
相关文章:

网络安全 - 应急响应检查表
前言 本项目旨在为应急响应提供全方位辅助,以便快速解决问题。结合自身经验和网络资料,形成检查清单,期待大家提供更多技巧,共同完善本项目。愿大家在应急之路一帆风顺。 图片皆来源于网络,如有侵权请联系删除。 一…...

AD常用PCB设计规则介绍 (详细版)
AD09常用PCB设计规则介绍 电气设计规则用来设置在电路板布线过程中所遵循的电气方面的规则,包括安全间距、短路、未布线网络和未连接引脚这四个方面的规则: (1)、安全间距规则(clearance) 该规则用于设定在PCB设计中࿰…...

mysql主从服务配置
主从MySQL服务器 [rootlocalhost ~]# yum -y install ntpdate [rootlocalhost ~]# ntpdate cn.ntp.org.cn [rootlocalhost ~]# yum -y install rsync [rootlocalhost ~]# vim mysql.sh #!/bin/bash yum list installed |grep libaio if [ $? ne 0 ]; then yum -y install…...

Redis基础总结、持久化、主从复制、哨兵模式、内存淘汰策略、缓存
文章目录 Redis 基础Redis 是什么,有哪些特点为什么要使用 Redis 而不仅仅依赖 MySQLRedis 是单线程吗Redis 单线程为什么还这么快 Redis 数据类型和数据结构五种基本数据结构及应用场景其他数据类型Redis 底层数据结构 Redis 持久化数据不丢失的实现AOF 日志RDB 快…...

Java与Python优劣势对比:具体例子与深入分析
在软件开发的世界里,Java和Python是两座不可忽视的高峰。它们各自拥有独特的优势和应用场景,为开发者提供了多样化的选择。本文将通过具体例子,深入分析Java和Python在不同方面的表现,以期为读者提供更为详尽的参考。 1. 语法简洁…...

C++内存泄漏介绍
C内存泄漏(Memory Leak)是指程序在运行过程中,动态分配的内存没有被适当地释放或回收,导致这部分内存始终被占用,无法再被程序或其他程序使用。这种情况通常发生在使用了new或malloc等函数动态分配内存后,忘…...

C++分析红黑树
目录 红黑树介绍 红黑树的性质与平衡控制关系 红黑树节点的插入 情况1:不需要调整 情况2:uncle节点为红色 情况3:uncle节点为黑色 总结与代码实现 红黑树的删除(待实现) 红黑树的效率 红黑树介绍 红黑树是第二种平衡二…...

mysql线上查询之前要性能调优
查询优化是数据库性能调优的关键方面,目的是减少查询的执行时间和资源消耗。以下是一些常见的查询优化技巧及其示例: 使用合适的索引 问题: 全表扫描导致查询缓慢优化: 为经常用于搜索条件的列添加索引示例: 假设有一…...

GPIO输出控制之LED闪烁、LED流水灯以及蜂鸣器应用案例
系列文章目录 STM32之GPIO(General Purpose Input/Output,通用型输入输出) 文章目录 系列文章目录前言一、LED和蜂鸣器简介1.1 LED1.2 蜂鸣器1.3 面包板 二、LED硬件电路2.1 低电平驱动电路2.2 高电平驱动电路 三、蜂鸣器硬件电路3.1 PNP型三…...

体系结构论文导读(三十四):Design of Reliable DNN Accelerator with Un-reliable ReRAM
文章核心 这篇文章主要讨论了一种在不可靠的ReRAM(阻变存储器)设备上设计可靠的深度神经网络(DNN)加速器的方法。文章提出了两种关键技术来解决ReRAM固有的不可靠性问题:动态定点(DFP)数据表示…...

WebStock会话
其实使用消息队列也可以实现会话,直接前端监听指定的队列,使用rabbitmq的分组还可以实现不同群聊的效果。 1、依赖搭建: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org…...

5_现有网络模型的使用
教程:现有网络模型的使用及修改_哔哩哔哩_bilibili 官方网址:https://pytorch.org/vision/stable/models.html#classification 初识网络模型 pytorch为我们提供了许多已经构造好的网络模型,我们只要将它们加载进来,就可以直接使…...

软件安全测试报告内容和作用简析,软件测试服务供应商推荐
在数字化时代,软件安全问题愈发凸显,安全测试显得尤为重要。软件安全测试报告是对软件系统在安全性方面进行评估和分析后的书面文件。该报告通常包含测试过程、测试发现、漏洞描述、风险评估及改进建议等重要信息。报告的目的是为了帮助开发团队及时发现…...

算法板子:树形DP、树的DFS——树的重心
思想: 代码: #include <iostream> #include <cstring> using namespace std;const int N 1e5 10;// vis标记当前节点是否被访问过; vis[1]true代表编号为1的节点被访问过 bool vis[N]; // h数组为邻接表; h数组上的每个坑位都串了一个单链…...

在C语言中,联合体或共用体(union )是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。
在C语言中,union 是一种特殊的数据类型,允许在相同的内存位置存储不同的数据类型。这意味着 union 中的所有成员共享同一块内存空间,因此它们之间会相互覆盖。在你给出的 Acceleration_type union 定义中,包含了三种不同类型的成员…...

MS2201以太网收发电路
MS2201 是吉比特以太网收发器电路,可以实现超高速度的 全双工数据传输。它的通信遵从 IEEE 802.3 Gigabit Ethernet 协议 中的 10 比特接口的时序要求协议。 MS2201 支持数据传输速率从 1Gbps 到 1.85Gbps 。 主要特点 ◼ 电源电压: 2.5V 、 3.3V …...

乐乐音乐Kotlin版
简介 乐乐音乐Kotlin版,主要是基于ExoPlayer框架开发的Android音乐播放器,它支持lrc歌词和动感歌词(ksc歌词、krc歌词、trc歌词、zrce歌词和hrc歌词等)、多种格式歌词转换器及制作动感歌词、翻译歌词和音译歌词。 编译环境 Android Studio Jellyfish | …...

C语言——预处理和指针
C语言——预处理和指针 预处理宏宏定义宏的作用域带参的宏 文件包含条件编译 指针指针的概念指针的定义指针变量初始化指针一维整型数组 预处理 编程的流程分为:编辑、编译、运行、调试四个阶段; 预处理属于编译阶段,编译过程又可以分为&…...

iptables防火墙(一)
目录 1、Linux防火墙基础 2、iptables的四表五链结构 2.1 iptables的四表五链结构介绍 2.2 四表五链 2.2.1 四表 2.2.2 五链 2.3 包过滤的匹配流程 2.3.1 规则链之间匹配顺序 2.3.2 规则链内部的处理规则 2.3.3 数据包过滤的匹配流程 3、 编写防火墙规则 3.1 iptabe…...

(leetcode学习)50. Pow(x, n)
实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000示例 2: 输入:x 2.10000, n 3 输出:9.26100示例 …...

QT 5.12.0 for Windows 安装包 QT静态库 采用源码静态编译生成
qt-5.12.0-static.zip 下载地址(资源整理不易,下载使用需付费,且文件较大,不能接受请勿浪费时间下载): 链接:https://pan.baidu.com/s/1ftfHFG_jGFwVaOAvBVrNFg?pwdtvtp 提取码:tvtp...

【生成式人工智能-三-promote 神奇咒语RL增强式学习RAG】
如何激发模型的能力 提示词 promotCoTRL 增强式学习Reforcement learning提供更多的资料提供一些范例Incontext- learning 任务拆解让模型自己检查错误让模型多次生成答案Tree of Thoughts让模型使用其他工具RAG写程序POT其他工具 让多个模型合作参考 在模型不变的情况下&#…...

C++连接oracle数据库连接字符串
//远程连接,需要安装oracle客户端sprintf(szConnect4, ("Provider OraOLEDB.Oracle.1; Password %s; Persist Security Info True; User ID %s; Data Source \"(DESCRIPTION (ADDRESS_LIST (ADDRESS (PROTOCOL TCP)(HOST %s)(PORT 1521)) )(CONN…...

判断字符串是否接近:深入解析及优化【字符串、哈希表、优化过程】
本文将详细解析解决这个问题的思路,并逐步优化实现方案。 问题描述 给定两个字符串 word1 和 word2,如果通过以下操作可以将 word1 转换为 word2,则认为它们是接近的: 交换任意两个现有字符。将一个现有字符的每次出现转换为另…...

C 和 C++ 中信号处理简单介绍
信号处理是编程中一个重要的主题,特别是在需要处理异步事件和错误情况的系统中。在 C 和 C 语言中,信号处理机制提供了一种优雅的方式来响应特定的系统事件,例如用户中断、异常情况或其他信号。在这里,我将详细介绍 C 和 C 中信号…...

什么是云边协同?
当今信息技术高速发展的时代,"云边协同"(Edge Cloud Collaboration)已经成为一个备受关注的话题。它涉及到云计算和边缘计算的结合,为数据处理、存储和应用提供了全新的可能性。本文将介绍云边协同的概念、优势以及在不…...

YOLOv5改进 | 主干网络 | 将backbone替换为MobileNetV2【小白必备教程+附完整代码】
秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…...

ARMxy边缘计算网关用于过程控制子系统
在现代工业生产中,过程控制系统的优化对于提高生产效率、保证产品质量、降低能源消耗等方面都具有重要意义。而 ARMxy 工控机作为一种高性能、高可靠性的工业控制设备,正逐渐成为过程控制系统优化的新选择。 ARMxy 工控机采用了先进的 ARM 架构处理器&am…...

Python | TypeError: unsupported operand type(s) for +=: ‘int’ and ‘str’
Python | TypeError: unsupported operand type(s) for : ‘int’ and ‘str’:深度解析 在Python编程中,遇到“TypeError: unsupported operand type(s) for : ‘int’ and ‘str’”这类错误通常意味着你尝试将一个整数(int)和…...

什么是开源什么是闭源?以及它们之间的关系
开源软件(Open Source Software) 定义:开源软件是指其源代码可以被公众访问和使用的软件。用户可以查看、修改和增强软件的源代码。 许可:通常遵循特定的开源许可证,如GNU通用公共许可证(GPL)、…...