1、常见的外围打点信息收集工具有哪些?
Nmap - 用于端口扫描和服务/操作系统检测。
netcat - 用于端口扫描和数据传输。
Wireshark - 用于网络数据包捕获和分析。
Maltego - 用于可视化信息之间的关系,发现新的攻击面。
FOCA - 用于从公开信息源收集目标信息。
theHarvester - 用于收集电子邮件地址、子域名等开源信息。
DNSdumpster - 用于查找子域名。
Shodan - 搜索引擎用于发现连接互联网的设备。
Recon-ng - 模块化的侦察框架。
Metasploit - 包含侦察模块的渗透测试框架。
2、描述一下信息收集的基本流程?
信息收集的基本流程通常如下:
1. 开始侦察 - 确定侦察的目标(域名、IP范围等)。
2. DNS Enumeration - 收集目标所有相关的域名信息。使用nslookup, dig等工具进行区域传送,历史
解析记录查找等。
3. 子域名枚举 - 通过字典突破、暴力破解等方法发现子域名。可以使用Sublist3r, knockpy等工具。
4. IP地址信息收集 - 使用Whois, ARIN等工具收集IP地址段、自治系统(AS)信息等。
5. 端口扫描 - 使用Nmap,unicornscan等进行TCP/UDP端口扫描,发现开放端口服务。
6. 服务枚举 - 判断端口服务类型,服务版本信息等。可使用Nmap,wappalyzer等。
7. 漏洞分析 - 根据服务版本检查已知漏洞列表,为后续渗透测试准备。
8. 敏感信息泄露扫描 - 检查是否存在默认页面、错误信息泄露网站源代码等。
9. 结果汇总 - 整理所有发现的信息,为渗透测试树立蓝图。3、如何判断目标机器是Linux还是Windows?
判断目标机器操作系统的常用方法有:
1. 使用Nmap进行操作系统检测。Nmap有强大的OS检测功能,可以通过发送特制的数据包并分析响应
特征来判断操作系统类型和版本。
2. 分析目标开放端口及服务。Linux和Windows有一些独特的开放端口,如Linux常开22端口用于
SSH,Windows开445用于SMB。某些服务版本也能推断OS,如IIS常见于Windows。
3. 检查Web应用幻数。如asp、aspx页面提示为Windows IIS服务器,php、jsp页面提示为Linux。
4. 通过定制的Banner抓取尝试推断。使用Netcat等工具连接后发送非标准协议数据,判断服务响应行
为。
5. 检查TTL值。Windows和Linux的初始TTL值不同,可用来辅助判断。
6. 利用Metasploit模块,如exploit/windows/smb/psexec等,执行后可根据响应正误判断。
7. 观察目标行为模式。如Windows主机网卡活跃时间等有一定周期性。
8. 利用漏洞扫描器的自动OS检测功能。
综合运用多种方式可以提高判断准确率。
4、如何识别目标站点是否有CDN?
1. 检查请求响应头信息中的CDN服务商特征标识,如Via/X-Cache字段包含CDN服务商名称。
2. 对域名进行DNS查询,如果返回的IP属于已知的CDN IP段,则可能使用了CDN。
3. 使用ping、traceroute等命令对域名解析的IP地址进行定位,如果返回的是CDN边缘节点的IP地址,则
可确认使用了CDN。
4. 使用子域名暴力枚举,检查是否发现指向CDN服务器的子域名。
5. 检查页面资源是否调用了CDN服务提供的域名,典型的如包含 .cloudfront.net .akamaihd.net
等。
6. 利用FOFA、Shodan等搜索引擎直接搜索目标域名和IP是否与CDN关联。
7. 对不同地理位置进行访问比较,如果返回了不同的源IP,说明使用了分布式CDN。
8. 尝试直接访问CDN边缘节点IP地址,如果可以直接访问网站内容,则存在使用CDN的可能。
5、常见的未鉴权访问漏洞有哪些?
管理面板未授权访问,如/admin、/manage等路径直接访问。
数据库管理系统未授权访问,如MySQL默认端口3306。
Web服务目录遍历漏洞,使用../可遍历访问敏感文件。
版本管理系统未授权访问,如Git、SVN服务器无认证可直接拉取源码。
数据库备份文件未授权下载,如mysql.sql、db.bak等。
日志文件未授权访问,通过/logs/路径下载日志。
配置文件未授权访问,如nginx.conf、php.ini等。
敏感接口未授权访问,部分WSDL、OpenAPI接口无需认证。
物理路径泄露,如/WEB-INF/web.xml直接暴露真实代码路径。
调试模式开启,如PHP变量display_errors被设置未打开。
6、例举常见的在信息收集过程中的FOFA查询语句?
ip="1.1.1.1" - 搜索特定ip的信息
ip="1.1.1.1/24" - 搜索一个C段的信息
title="test" - 搜索标题包含test的网页
header="server: nginx" - 搜索server响应头有nginx的信息
protocol="mysql" - 搜索开放mysql服务的ip地址信息
port="3306" - 搜索开放3306端口的信息
os="windows server 2008" -搜索操作系统信息
body="admin" - 搜索web页面源码包含admin的信息
cert="*.domain.com" - 搜索域名的证书信息
country="CN" - 搜索国家地区信息after="2021-01-01" - 搜索时间条件
isp="电信" - 搜索特定isp提供商信息
等等。可以组合使用各种搜索语法进行复合查询。
7、常见的Web中间件有哪些?可能存在哪些漏洞?
Web 服务器:Apache、Nginx、IIS 等,可能存在路径遍历、任意文件读取等漏洞。
应用服务器:Tomcat、JBoss、WebLogic等,可能存在反序列化、远程代码执行漏洞。
脚本语言解释器:PHP、Python、Ruby、Node.js等,可能存在代码注入、远程代码执行漏洞。
数据库:MySQL、Oracle、MongoDB、Redis等,可能存在SQL注入、未授权访问、代码执行漏洞。
Web服务器插件:Struts2、Spring、ThinkPHP等框架,可能存在OGNL表达式注入、远程代码执行漏
洞。
缓存组件:Memcached、Redis、Varnish等,可能存在未授权访问、代码执行、信息泄露漏洞。
前端组件:jQuery、React、Vue.js等,可能存在XSS、信息泄露漏洞。
负载均衡:Nginx、HAProxy、F5 BIG-IP等,可能存在路径遍历、信息泄露、RCE漏洞。
8、文件上传功能中的检测方式有哪些?
文件上传功能的安全检测通常分为前端检测和后端检测:
前端检测主要通过JavaScript和HTML5来实现,包括:
检查文件大小是否超过最大限制
检查文件类型是否在允许列表内
HTML5中的accepts属性限制上传文件类型
检查文件名是否包含非法字符
后端检测主要通过服务端代码来实现,包括:
校验文件名及扩展名是否合法
检测文件头是否与扩展名一致
将文件内容写入临时目录而不是web目录
设置上传文件目录为不可执行
限制单个用户上传数量和总量
9、有哪些绕过文件上传安全检测的方式?
常见的绕过文件上传安全检测的方式包括:
修改图片文件头,使其被识别成jpg,但实际包含php代码。
利用双扩展名如file.php.jpg,服务端可能只校验第一个扩展名。
URL 编码如file.php%00.jpg会被解释成file.php。
利用异常文件扩展名如file.php。或者file.php/。
内容类型攻击,修改请求头的Content-Type为image/jpeg,即使上传PHP文件也可能成功。
限制大小,上传一个木马脚本然后包含一个大文件再上传。
利用路径截断如../../a.png可以存为任意目录。
Apache解析漏洞如-a.php4与.htaccess配合使a.png成为可执行。
利用临时文件如/tmp中的文件可以包含PHP代码然后访问。
内容过滤绕过,利用图像马、隐藏代码、代码拆分。
利用解析漏洞如IIS 6.0中%c1%1c会解析成/.
10、SQL注入有哪些类型?
1. 错误型注入:基于SQL语句错误反馈进行注入,如额外添加 ' 引起语法错误
2. 联合查询注入:使用UNION连接多条查询语句,获取额外数据
3. 布尔盲注:根据返回页面不同判断条件True/False
4. 时间盲注:根据数据库响应时间差异判断条件 True/False5. 报错注入:利用数据库报错回显来获取信息
6. 插入注入:插入新的后门用户或提取数据
7. 二次注入:发生在网站登录、搜索等功能中
8. 函数调用注入:调用数据库函数如group_concat()
9. 宽字节注入:使用宽字节编码绕过黑名单过滤
10. 堆查询注入:同时执行多条语句
11、常用的Windows命令有哪些?
ipconfig - 查看IP地址配置信息
ping - 测试网络连接
netstat - 查看网络连接、端口和状态
tasklist - 查看运行的进程
taskkill - 强制终止进程
systeminfo - 查看系统信息
nslookup - DNS查询工具
net - 用户和组管理
schtasks - 任务计划管理
netsh - 网络配置与防火墙管理
reg - 注册表操作
12、常用的Linux命令有哪些?
ifconfig/ip - 查看和配置网络接口IP地址
ping/traceroute - 测试网络连通性
netstat - 显示网络状态信息和端口
tcpdump - 网络抓包分析
nslookup/dig - DNS查询
nc/netcat - 网络调试和数据传输
sudo/su - 提权命令
ps/top - 进程查看和控制
iptables - 防火墙规则管理
ssh - 远程登录
curl/wget - http请求与文件下载
vi/nano - 文本编辑器
find - 文件搜索
grep/egrep - 文本搜索
13、正向shell和反向shell的原理和区别是什么?
1. 原理
正向Shell:攻击者监听端口,受害者主机连接攻击者并执行命令,最后返回结果。
反向Shell:受害者主机监听端口,攻击者连接受害者主机并执行命令,最后返回结果。
1. 区别
连接发起方不同:正向Shell由受害者发起连接,反向Shell由攻击者发起连接。
防火墙问题:正向Shell容易被防火墙阻断,反向Shell难以被阻断。
隐蔽性不同:反向Shell更隐蔽,不易引起怀疑。
用途不同:正向Shell更适合内网渗透,反向Shell更适合远程控制。
实现难易程度:反向Shell实现更简单。
总结而言,反向Shell在渗透测试中用得更多,因为它更稳定、隐蔽,能有效绕过防火墙。14、如何在Windows中建立隐藏账户?
1. 使用administrator账户建立新账户,名称和描述留空。
2. 打开注册表编辑器,定位到HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers Names
3. 找到刚才建立的空账户,修改其名称值的数据为需要的隐藏账户名。
4. 关闭注册表编辑器。
5. 使用命令 "net user 隐藏账户名 /active:yes" 激活用户。
6. 使用命令 "net localgroup administrators 隐藏账户名 /add" 将账户添加到管理员组。
15、那些漏洞经常被用于打点?
身份认证漏洞:弱口令、默认账号密码、密码重置缺陷等。
访问控制漏洞:目录遍历、任意文件读取、匿名访问等。
命令/代码注入漏洞:SQL注入、XSS、模板注入、代码执行等。
信息泄露漏洞:路径泄露、错误信息泄露、源码泄露等。
逻辑缺陷:业务流程漏洞、竞争条件等。
组件漏洞:Struts2、Spring、Jackson等组件反序列化RCE。
Web服务器漏洞:Nginx、Apache目录遍历、解析漏洞。
服务端请求伪造(SSRF):Eg Redis未授权访问。
越权漏洞:用户能访问非授权信息或功能。
16、连接不了目标MySQL数据库可能原因有哪些?
防火墙阻挡了连接请求
用户权限问题:确认使用的用户名和密码拥有远程连接权限。
绑定了特定地址:MySQL只监听内网地址或特定外网地址。
数据库用户最大连接数限制:一个用户可用连接数已达上限。
读写分离配置问题:写库无法连接,需指定读库地址。
连接被拒绝:可检查MySQL error log获得具体拒绝原因。
其他安全策略限制:如IPS拦截、ACL规则等也可能造成连接失败。
17、常见的网络服务端口和可能被利用的漏洞?
21号端口FTP:暴力破解、匿名登录、目录遍历
22号端口SSH:弱口令破解、私钥泄露
23号端口Telnet:明文传输、弱口令
25号端口SMTP:邮件伪造、命令注入
80号端口HTTP:各类Web漏洞如SQL注入、XSS、RCE等
135/445端口RPC/SMB:暴力破解、远程代码执行
139/445端口SMB:永恒之蓝、ms17-010等漏洞利用
389号端口LDAP:匿名绑定、注入攻击
443号端口HTTPS:SSL漏洞、证书问题
3306端口MySQL:弱口令、提权、SQL注入
5432端口PostgreSQL:SQL注入、代码执行
6379端口Redis:未授权访问、写公钥、代码执行
18、Log4j2 的漏洞原理?
1. Log4j2在处理日志信息时,支持Lookup功能,可以引用外部输入的数据。
2. Lookup支持调用各种方法,包括通过JNDI从LDAP服务器获取数据。
3. 攻击者可以构造恶意LDAP服务器,将要执行的Java代码以Object对象注入。
4. Log4j2在渲染日志时,会调用恶意LDAP服务器提供的恶意类,最终导致代码执行。
5. 利用这个漏洞,攻击者可以完全控制目标服务器。
主要问题在于Log4j2对用户可控输入数据的处理存在漏洞,没有对 JNDI/LDAP 输入进行很好的限制,导致
可构造让其加载远程恶意代码并执行,从而被利用。19、正向代理和反向代理有什么区别?
1. 代理对象不同
正向代理:代理客户端,为客户端访问外部服务器。
反向代理:代理服务器端,为服务器处理来自客户端的请求。
1. 代理透明性
正向代理:客户端需要手动配置,对目标服务器不透明。
反向代理:客户端不需要配置,对目标服务器透明。
1. 主要使用场景
正向代理:访问受限网络,保护客户端隐私。
反向代理:负载均衡,缓存,访问控制。
1. 典型软件
正向代理:Fiddler, VPN
反向代理:Nginx, HAProxy, Squid
总结:
正向代理代表客户端,客户端需要知晓存在代理;反向代理代表服务器,对客户端透明
20、常见的Windows系统提权方法有哪些?
利用Windows内核漏洞:如MS15-051, MS17-010等
利用服务漏洞:如IIS Webdav、WMI服务等提权
利用软件漏洞:如Adobe Reader、Chrome 浏览器等沙盒逃逸
利用注册表切换用户:替换StickyKey后门
密码 hashes拦截提权:通过Mimikatz截取密码hashes
修改注册表提权:如修改EnableLUA等
内置管理员帐户提权:如Administrator、support_388945a0等
Windows子系统:如COM+系统、PowerShell等接口调用
永恒之蓝(Eternal Blue):MS17-010漏洞,可远程提权
永恒之银(Eternal Romance):SMB远程溢出
基于令牌的提权:RottenPotato、JuicyPotato利用
明文密码:搜索服务配置文件含有的明文密码
密码信任关系:Golden Ticket、Silver Ticket注入
scheduled tasks/jobs任务调度:添加任务实现提权
21、Windows系统下有哪些后门持久化的方法?
添加新管理员账户:利用系统漏洞添加隐藏的管理员账号。
更改注册表:修改自动登录、DisableRegistryTools等实现持久控制。
修改启动项:添加程序启动项实现开机自启动。
修改服务:利用漏洞修改某服务为自动启动实现持久化。
嵌入DLL: 将恶意DLL注入到系统进程如LSASS.exe中。
注册表 autorun 键:添加自启动项到注册表实现持久化。
组策略:利用组策略推送后门实现全局控制。
定时任务计划:添加定时任务实现持久控制。
修改shortcut权限:LNK权限修改可实现自动运行程序。
更改文件关联:EXE关联到频繁打开的文件类型下。
写入SAM数据库:通过mimikatz写入密码实现持久化。
利用WMI进行持久化控制。22、常见的Linux系统提权方法有哪些?
利用系统漏洞:如DirtyCow、overlayfs等内核漏洞
利用软件漏洞:如MySQL UDF、PHP cgi等提权
配置文件权限提权:如/etc/sudoers、ssh authorized_keys等
变量路径提权:如LD_PRELOAD、LD_LIBRARY_PATH等
cron定时任务:写入后门脚本到cron任务目录
错误的文件系统权限:如/etc/passwd文件可写
明文密码:从配置文件等发现密码后提权
密码复用:dump密码后尝试在其他系统重用
NFS根目录挂载:写入后门文件实现提权
环境变量路径提权:如PATH变量包含可写目录
影子文件提权:如/etc/shadow备份文件可读
不安全的容器逃逸:docker逃逸后提权
sudo规则不当配置:sudo规则缺陷导致提权
个人SUID/GUID程序:用户目录可执行文件设SUID
23、Linux系统中实现木马后门持久化的方式有哪些?
crontab定时任务:在crontab定时任务中添加执行后门脚本的任务。
系统服务:通过修改/etc/init.d或systemd的service配置,设置木马程序为系统服务自启动。
rc.local/rc.d:在rc.local或rc.d脚本中添加启动项。
用户登录脚本:在/etc/profile、.bashrc、.bash_profile等登录脚本中加入后门。
/etc/init或/etc/init.d:在init启动目录下添加后门程序。
LD_PRELOAD/LD_LIBRARY_PATH:设置动态链接库路径为后门程序。
ssh authorized_keys:添加后门ssh公钥获得持久化控制。
隐藏在系统二进制程序中:在ls等程序中嵌入后门代码。
Linux内核模块Rootkit:编译内核模块实现rootkit隐藏后门。
利用chroot环境逃逸:breakout后持久控制主系统。
24、有哪些常用的Webshell检测工具?
D盾:国产webshell检测工具,支持扫描php/jsp/asp后门
php-malware-finder:PHP木马检测工具
PHPMalScanner:PHP后门扫描工具
Acunetix:商业化Web漏扣检测工具,可检测部分Webshell
Yara:基于规则的木马检测框架
Webshell-Detection-Tool:基于机器学习的webshell检测工具
25、应急响应的流程和思路?
1. 检测和入侵发现:通过IDS、监控系统或其他方式检测到入侵行为。
2. 首次评估与隔离:进行初步评估,对出现问题的系统或资产进行隔离。
3. 证据收集与保全:对可能重要的日志、文件等数据进行收集和保存,确保证据链不被破坏。
4. 渗透路径分析:分析入侵路径,判断攻击源,确定影响范围。
5. 漏洞分析与风险评估:分析入侵利用的漏洞类型,评估对业务的风险影响。
6. 系统修复与漏洞修补:针对发现的漏洞和风险进行修复,打补丁,切换安全配置。
7. 恢复业务与监控:验证环境安全后逐步恢复业务,继续监控可能存在的后门。
8. 事后分析总结:总结应急响应过程,提炼改进意见,完善应急预案。26、Windows系统常用应急响应方法?
账户控制:锁定或更改可疑账号密码
进程检查:检查异常进程并终止
服务检查:停止可疑服务
网络连接:断开可疑连接,检查后门
日志分析:收集并分析关键日志找出痕迹
文件检查:扫描查找木马病毒文件
内存 Dump:转存系统内存以备分析
网络隔离:将受影响主机移至隔离区
证据保全:磁盘镜像保全文件证据
恢复和修复:重建或修复受影响系统
加固防护:打补丁、修改密码、端口等
切换业务:Failover到备用系统
业务跟踪:持续监控业务运行状态
27、Linux系统常用应急响应方法?
日志分析:检查日志文件,分析入侵行为
网络隔离:将受影响服务器移至隔离区,断网
进程检查:检查异常进程,并终止可疑进程
文件检查:查找并删除可疑文件如后门程序
根KIT检测:检测并清除可能存在的ROOTKIT
证据保全:对重要文件和日志进行备份
28、常见的网络攻击防御设备有哪些?
防火墙(Firewall):检测和过滤恶意流量,实现访问控制。
入侵检测系统(IDS):基于签名或行为检测入侵行为。
入侵防御系统(IPS):同IDS,并可以主动阻断攻击。
网络沙箱(Sandbox):在隔离环境分析可疑文件和进程。
Web应用防火墙(WAF):保护Web应用,防御OWASP Top10等威胁。
负载均衡(Load Balancer):避免单点故障,实现高可用。
互联网访问管理(IAM): 根据策略控制访问互联网的权限。
数据外泄防护系统(DLP):防止机密数据被非法传输。
蜜罐(Honeypots):通过诱饵系统获取攻击者信息。
日志分析系统(SIEM):日志关联分析检测攻击行为。
邮件/Web网关(Secure Gateway):过滤垃圾信息和木马病毒。
数据库审核(Database Audit): 监控数据库活动,检测SQL注入等威胁。
29、常见的威胁情报分析平台有哪些?
奇安信威胁情报中心:奇安信推出的威胁情报分析平台
VenusEye威胁情报中心:启明星辰威胁情报中心
绿盟威胁情报平台:NTI 威胁情报中心
微步情报
安恒威胁情报
360威胁情报中心
深信服安全中心
IBM X-Force
VirusTotal
Threatcrowd 开源威胁情报
GreyNoise30、水坑攻击和鱼叉式钓鱼攻击有什么区别?
水坑攻击(Watering Hole Attack)和鱼叉式钓鱼攻击(Spear Phishing)的主要区别:
1. 目标选择不同:
水坑攻击针对访问特定网站的用户群体。
鱼叉式钓鱼攻击针对具体重要目标个人或组织。
1. 技术手段不同:
水坑攻击通过植入恶意代码到特定网站进行群体感染。
鱼叉式钓鱼利用社会工程学个性化诱导特定目标上当。
1. 发现难易不同:
水坑攻击受害者广泛,较易被发现。
鱼叉式钓鱼目标具体,安全事件更隐蔽。
1. 威胁级别不同:
水坑攻击属于非定向型钓鱼威胁。
鱼叉式钓鱼威胁性更高,隐蔽性更强。
总体而言,鱼叉式钓鱼威胁更为隐蔽和有针对性,防御难度更大。
31、蓝队常用反制手段有哪些?
入侵检测:通过IDS/IPS设备检测异常并阻断。
漏洞扫描:定期扫描内外网识别系统漏洞。
日志分析:通过SIEM等工具分析日志关联检测入侵行为。
网络监控:通过Netflow等监控网络流量,发现异常通信。
文件检测:检测关键系统的文件完整性。
正在执行的进程检测:检查关键进程是否被替换。
内存分析:分析进程内存发现隐藏的后门。
沙箱检测:利用沙箱运行可疑程序。
凭据扫描:发现账号密码是否被利用。
蜜罐引诱:利用蜜罐系统获取攻击者信息。
威胁情报:整合外部威胁情报发现隐患。
恢复和修复:及时修补发现的漏洞。
32、WAF和CDN的关系以及区别?
1. 作用对象不同:
WAF 是对网站和 Web 应用进行防护。
CDN 是对网站静态内容进行分发。
1. 技术思路不同:
WAF 属于蓝队防御技术,主要通过规则引擎检测和阻断攻击。
CDN 属于网络架构的优化,主要通过缓存和就近访问提高性能。
1. 部署位置不同:
WAF 部署在源站前,直接对接源站对流量进行检测。
CDN 部署在源站之外,对源站透明。
1. 安全功能不同:
WAF 提供主动防护,如 Web 攻击阻断、CC 防护等。
CDN 对安全贡献较小。总体来说,WAF 和 CDN 的安全功能不同,一般同时使用可以获得更好的防护效果。
33、如何保护无线网络的安全性?
1. 加密和认证
应当使用强加密方式如WPA2进行加密。
设置复杂预共享密钥,或使用RADIUS等认证系统。
1. SSID隐藏和隔离
不要广播SSID,对外隐藏网络名称。
将用户访问网络与内部网络进行隔离。
1. 更改默认配置
更改默认的管理员密码、SSID等信息。
禁用不需要的协议和服务。
1. 限制MAC地址
仅允许已知的设备通过MAC地址访问。
1. 关闭不使用的无线接口
关闭2.4G和5G频段不使用的无线接口。
1. 频繁更新固件
及时更新路由器固件打补丁防止漏洞利用。
1. 开启日志审计
分析日志发现异常访问行为。
1. 设置防火墙策略
对访问无线网络的流量进行过滤。
1. 使用WPA3等新标准
采用更安全的无线标准和协议。
34、如何制订一个有效的企业网络安全策略?
1. 识别关键资产,评估风险
明确核心业务系统、数据库、服务器等关键资产。
对资产进行风险评估,识别重要安全控制点。
2.建立多层防护
采取防火墙、IPS、IDS、WAF等多种技术方式进行层层防护。
不同安全区域采取不同安全控制措施。
1. 加强访问控制
建立严格的网络访问控制机制,针对不同用户实施分级和细粒度访问控制。
1. 数据分类和选择性加密
根据敏感程度对数据分类,对重要数据采用加密技术。
1. 用户安全培训
加强员工和相关用户的安全意识培训。1. 安全监测和事件响应
建立安全监控系统,完善安全事件响应机制。
7.定期审计和评估
定期对策略和技术方案进行评估和审计, 不断优化完善。
1. 策略管理维护
明确网络安全策略的维护机制、更新周期等。
35、常见的逆向分析工具有哪些?
IDA Pro:功能强大的逆向工具,支持多种处理器架构。
Ghidra:NSA开源的逆向工具,功能接近IDA。
OllyDbg:Windows平台上常用的逆向调试工具。
x64dbg:开源的Windows逆向和调试工具。
Radare2:支持多平台的开源逆向框架。
Binary Ninja:新兴的多平台逆向IDE。
Hopper:适用于macOS和Linux的逆向工具。
Cutter:基于Radare2的跨平台GUI逆向工具。
Capstone:轻量级的多平台反汇编框架。
Frida:注入式逆向调试框架,支持iOS/Android。
Angr:基于符号执行的二进制分析框架。
Windbg:微软的 Windows调试工具。
gdb:Linux系统自带的调试器。
36、内存取证的流程和分析流程?
1. 内存采集
在目标系统运行时对物理内存进行Dump备份。
1. 内存镜像
将内存Dump文件做成镜像,用于分析。
1. 分析工具加载镜像
在逆向工具中加载内存镜像进行分析。
1. 检索和解析进程信息
查找感兴趣的进程信息,转存PE文件及相关数据结构。
1. 检索动态链接库
提取加载的DLL文件并对比系统本身DLL,找出异同。
1. 分析内存段信息
分析内存段(堆/栈/数据段等),查找敏感数据。
1. 分析注册表与文件对象
从镜像提取注册表hive与打开的文件对象,分析文件交互行为。
1. 分析网络活动
从套接字和连接检索网络通信数据。
1. 分析恶意代码行为分析进程执行流程,函数调用以识别恶意行为。
1. 编写报告总结
编写完整的取证分析报告。
37、常用的内存取证分析工具有哪些?
Volatility:开源的内存分析框架,支持多种系统。
Rekall: another 开源内存取证框架,Python编写。
DumpIt:小巧的Windows内存提取工具。
Winpmem: 轻量级Windows物理内存提取工具。
FTK Imager:Forensic Toolkit商业取证工具,支持内存提取。
Redline:Mandiant出品的内存取证工具,界面友好。
Magnet RAM Capture:Magnet Forensics商业内存取证工具。
Belkasoft Live RAM Capturer:视春商业工具,支持多种系统。
WindowsSCOPE:用于分析Windows内存的开源工具。
LiME: Linux内存提取工具,可以dump Linux内存。
Memoryze: Mandiant开源内存取证框架。
Memorpy: Python编写的内存取证框架。
38、常用的磁盘取证分析工具有哪些?
EnCase:商业数字取证工具,功能齐全,行业标准。
FTK:AccessData的数字取证工具,具备强大的分析功能。
Autopsy:Sleuth Kit的图形界面版本,开源取证工具。
Sleuth Kit:著名的开源取证分析工具套件。
CAINE:包含取证工具的Linux发行版。
DEFT:用于取证的Linux发行版本。
Helix3 Pro:专业取证集成平台,基于Linux。
X-Ways:Windows平台的商业取证工具。
ProDiscover:Windows平台上流行的商业取证工具。
Nuix:进行电子取证的商业工具。
Oxygen Forensic:移动设备取证的商业工具。
Magnet AXIOM: Magnet Forensics推出的数字取证平台。
Foremost:命令行下的文件恢复开源工具。
各大安全公司也有自主研发的取证产品。
39、常用的网络流量取证分析工具有哪些?
Wireshark:开源网络分析工具,功能强大。
tcpdump:Linux下命令行网络抓包工具。
Windump:Windows平台tcpdump。
NetworkMiner:开源的网络取证分析工具。
CapAnalysis:开源网络流量分析工具。
NetWitness:RSA提供的商业网络取证系统。
Solera Networks DeepSee:网络录像回放和取证平台。
ManageEngine NetFlow:基于NetFlow的流量分析平台。
ntop:基于流量的网络监控和分析。
NIKSUN NetDetector:商业网络取证与安全分析平台。
Darktrace:使用机器学习的网络取证工具。
padd:轻量级的网络分析工具。
Xplico:开源网络取证和数据提取工具。
NetEye:网络监控审计产品。40、如何应对社会工程学攻击?
1. 培训提高安全意识
定期对员工进行社工防范培训,警惕常见骗局。
1. 制定安全策略
制定明确的验证、授权和数据泄露策略。
1. 采用双因素验证
加强关键操作的身份验证,避免单一因素被利用。
1. 谨慎处理陌生联系
提醒员工谨慎处理未预期的电话、邮件、即时消息联系。
1. 验证请求合法性
对敏感操作要求进行充分验证,确认请求来源合法。
1. 不泄露敏感信息
不向未授权方泄露密码、机密数据等敏感信息。
1. 使用专业社工防御服务
由专业团队进行人工介入和引导,防御社工攻击。
1. 录音录像存档
对疑似社工攻击进行记录,以便事后调查和取证。
1. 加强安全监控
关注访问和数据传输异常,发现潜在的攻击。
通过用户培训和流程控制,可以有效降低社工攻击的成功率。
41、有哪些社会工程学攻击技巧?
预文本攻击:先提供部分正确信息取得目标信任。
尾随入侵、恶意USB掉落等。依靠人的心理漏洞进行攻击。
42、XSS和CSRF攻击的区别是什么?
XSS(跨站脚本)攻击和CSRF(跨站请求伪造)攻击的主要区别:
1. 攻击方式不同
XSS是注入客户端执行代码,劫持用户会话。
CSRF是伪造请求让用户以自己的身份执行操作。
1. 注入代码位置不同
XSS是注入到网站可信内容然后返回到用户浏览器。
CSRF是通过诱使用户点击链接到攻击者网站。
1. 依赖条件不同
XSS需要找到注入点如网站输入框。
CSRF需要目标网站用户登录状态被激活。
1. 防御方式不同XSS需要输出编码,CSRF需要伪随机TOKEN。
XSS依赖输出过滤,CSRF依赖请求验证。
总结:XSS是代码注入执行,CSRF是伪造用户请求。
43、如何快速判断一个网站是否使用了WAF?
1. 发送含有特定攻击载荷的请求,试图触发WAF规则,如SQL注入、XSS payload等,观察响应。
2. 检查响应头中是否包含WAF特征标志,如X-WAF字段等。
3. 检查响应内容是否返回WAF的警告或阻断页面。
4. 使用WAF扫描工具,如wafw00f,自动检测已知WAF规则。
5. 对页面进行敏感词注入,观察是否被过滤,提示使用WAF。
6. 对同一请求进行多种变型观察响应,判断是否存在规则引擎行为。
7. 利用搜索引擎结果判断网站是否公开使用WAF。
8. 检查页面源代码中是否有WAF相关的注释信息。
9. 尝试known vulnerabilities看响应是否与预期不同,提示有WAF。
44、如何Bypass反病毒或EDR的检测?
1. 文件洗白
使用垃圾指令和重编译等处理减少可检测特征。
1. 修改文件hash
修改文件轻微细节来改变hash,逃避基于hash检测。
1. 动态执行
不使用文件,通过内存加载执行绕过文件检测。
1. 加壳上壳
使用多层加密壳工具增加解析难度。
1. 反反调试
检测并阻止调试器,避免行为分析。
1. 进程欺骗
伪装成正规进程的名称和路径欺骗检测。
1. 代码混淆
使用代码虚假路径、混淆器增加逆向难度。
1. 分阶段加载
分段加载执行流绕过只检测启动的EDR。
1. API HOOK
劫持底层API函数来隐藏行为。
45、网站指纹识别方法有哪些?
网站指纹识别常用的方法包括:
根据响应头识别:检查Server、X-Powered-By等标头信息。
根据页面内容识别:搜索关键字、标签、版本信息等。
根据自定义404页面识别:不同服务器和程序的404页面存在差异。
根据错误信息识别:解析详细的错误消息提示。根据源代码识别:查看网页源码中的注释、代码结构等特征。
根据JS文件识别:检查js文件名称、代码结构等指纹信息。
根据 favion 图标识别:不同服务器icon可能存在特点。
根据网页字体识别:字体文件可作为应用指纹。
根据应用特有文件识别:存在特定名称配置、图片等文件。
根据HTTP响应特征识别:如header顺序、数据块等结构化差异。
根据证书识别:通过证书指纹判断所用中间件。
46、域渗透的入口有哪些?
盗用域用户凭证:获取用户账号密码后直接登录。
密码喷洒:使用密码喷洒工具尝试常见密码。
Protocol协议漏洞:如SMTP未授权访问,LDAP注入等。
VPN和远程访问漏洞:VPN服务和远程桌面漏洞。
服务端漏洞利用:如Exchange、AD、Netlogon等服务器漏洞。
Token盗取与伪造:窃取NetNTLM hash进行Token伪造。
内网连接:通过已控设备进行内网连接。
第三方应用接入:如用户接入受信任的第三方应用。
密钥接管攻击:利用组策略等获取域控制器机密。
基于密码的攻击:使用明文密码、密码喷洒等。
内网设备跨站:路由器、打印机等内网设备被跨站利用。
47、获取域控权限的方法有哪些?
1. 密码喷洒攻击
通过密码字典或暴力破解尝试域控制器管理员账户密码。
1. PASS-THE-HASH攻击
通过Dump的Hash直接传递给域控制器,绕过认证。
1. Kerberoasting
请求服务票据触发加密,获取Hash后破解明文密码。
1. 从域管理员工作站入手
通过获取域管工作站权限再横向移动到域控。
1. MS14-068漏洞利用
SpikeAllows代码执行漏洞,可导致远程代码执行。
1. Zerologon攻击
设置Netlogon加密为0,实现未授权访问。
1. 基于密码的攻击
明文密码获取,本地管理员密码破解。
1. DCShadow攻击
创建恶意域控制器并加入域控制器列表。
1. SID Hijacking
通过对象SID历史,将权限修改到高权限对象上。
1. DCSync攻击
利用Mimikatz从域控制器抓取密码Hash。48、Kerberoasting攻击利用了哪些特点?
1. 获取Kerberos票据
Kerberoasting利用正常的Kerberos认证协议,请求用户的服务票据。
1. 服务帐户的使用
许多服务帐户采用弱密码或密码策略不同,容易被破解。
1. 密码哈希的离线破解
获取Kerberos服务票据后包含用户密码的哈希,可以离线进行破解。
1. 用户行为的监控
监控网络流量可以获取到服务票据的传输请求。
1. 权限的维持
破解出密码后可以持久控制该服务帐户和相关资源。
1. 散列算法的弱点
部分哈希算法如DES存在被破解的风险。
1. AS-REP Roasting
不要求预认证的票据以明文传输可直接获取密码哈希。
通过请求服务票据获得密码哈希后破解明文弱密码,是Kerberoasting的主要利用方式。
49、Golden Ticket和Silver Ticket的区别是什么?
1. Golden Ticket 是伪造的域控制器(DC)票据,Silver Ticket 是伪造的服务票据。
2. Golden Ticket 可以访问域控制器的所有资源,权限最大。Silver Ticket 只能访问指定服务。
3. Golden Ticket 默认有10年的有效期。Silver Ticket有可配置的有效期。
4. Golden Ticket 需要域控制器的NTLM哈希。Silver Ticket需要指定用户的NTLM哈希。
5. Golden Ticket 可以在域内横向移动。Silver Ticket只能访问指定服务。
6. Golden Ticket 可以修改组策略、创建用户等。Silver Ticket不能。
7. Golden Ticket 作用域是整个域。Silver Ticket针对特定服务。
总结: Golden Ticket权限更大,可控制整个域;Silver Ticket仅针对某一服务帐户。
50、域内持久化控制的方法有哪些?
Golden Ticket: 伪造域控制器票据实现永久控制。
Mimikatz DCSync: 从域控制器获取密码哈希实现持久化权限。
植入后门: 在域控制器上安装webshell等后门程序。
创建永不过期用户: 创建配置不过期的域管理员用户。
修改域策略: 修改组策略添加管理员或配置永不过期密码。
密码哈希保存: 将获得的密码哈希保存用于持久访问。
Shadow管理员: 在被盗用帐户上添加shadow管理员。
DCShadow: 注册恶意域控制器并加入域控制器列表。
注册恶意SPN: 注册持久的Kerberos SPN凭证。
恶意GPO: 推送带有后门的组策略对象。
注册恶意服务: 注册auto-start服务实现启动持久化。51、有哪些协议可被用于内网横向移动?
RDP:远程桌面协议,用于Windows远程连接。
WMI:Windows管理规范,用于远程管理Windows。
SMB:服务器消息块,用于访问文件共享等。
MSSQL:Microsoft SQL Server数据库服务。
SSH:Secure Shell协议,用于Linux远程连接。
HTTP/HTTPS:访问内网Web应用进行横向移动。
DNS:域名系统服务,用于查询和传输。
LDAP:轻目录访问协议,用于访问Active Directory。
FTP:文件传输协议,用于访问文件服务器。
Redis:Redis内存数据库,可被利用。
VNC:虚拟网络计算机远程控制服务。
SNMP:简单网络管理协议,用于监控设备。
52、域内主机发现的方法有哪些?
扫描:使用Nmap、Masscan等扫描域内网段。
LLMNR/NBNS投毒:利用响应报文获取NetBIOS信息。
LDAP查询:通过LDAP服务查询主机和共享等信息。
DNS记录枚举:查询并解析所有域DNS记录。
ARP扫描:使用ARP请求获取局域网活跃主机。
SNMP服务枚举:查询SNMP服务获取连接设备。
Windows注册表:解析注册表获取主机信息。
Kerberos枚举:提取Kerberos数据库发现主机身份信息。
NetSession枚举:获取活动用户会话的主机信息。
WMI查询:通过WMI服务远程查询主机信息。
PowerView:通过PowerShell工具进行主机枚举。
BloodHound:基于graph关系映射的主机发现。
53、Zerologon攻击的原理是什么?
1. 利用Netlogon远程协议中的脆弱加密。
2. Netlogon使用AES加密,密钥派生依赖计算机帐户密码。
3. 设置目标计算机帐户密码为0,会产生全0加密密钥。
4. 使用全0密钥加密数据,等价于无加密。
5. 攻击者可以伪造任意身份,访问域控的Netlogon服务。
6. 向Netlogon服务提交恶意计算机帐户,加入域控。
7. 恶意计算机帐户获得域内的高权限访问。
8. 攻击者可以远程执行任意代码,控制整个域。
54、DCSync攻击的原理是什么?
1. DCSync是域控制器的一个功能,用于复制Active Directory信息。
2. 域管和部分服务账户拥有DCSync权限。
3. 攻击者获取这些账户的访问权限。
4. 利用DCSync功能提取域控制器的NTDS.dit数据库。
5. NTDS.dit中包含所有域用户的账号密码哈希。
6. 使用Mimikatz从内存中提取hashes,或从文件中提取。
7. 拿到哈希后可进行Pass-the-Hash攻击。
8. 也可以进行暴力破解来获取明文密码。
9. 控制高权限域账号,进一步获取域控。55、有哪些Docker逃逸技术?
1. 利用运行时漏洞:如CVE-2019-5736逃逸到宿主机。
2. 利用配置错误:如宿主机隐藏文件可访问、特权模式启动等。
3. 利用 mount 命名空间:通过 mount 命名空间访问宿主机文件系统。
4. 利用设备映射:宿主机中的设备文件被容器映射从而访问。
5. 利用外部卷:外部存储的文件系统可以作为逃逸的舞台。
6. 利用符号链接:通过 symlink 文件逃逸到宿主机文件系统。
7. 内核模块注入:加载恶意内核模块进一步逃逸。
8. 特权容器逃逸:由特权容器进一步逃逸到宿主机。
9. 密码或密钥被泄露:如docker API密钥等被利用。
56、云环境信息收集的方法有哪些?
子域名枚举:通过搜索引擎、证书透明度等获取子域名。
源码泄露:通过GitHub搜索等方式找出泄露的云环境源代码。
云存储扫描:寻找公开的Buckect并枚举文件。
云 metadata 查询:通过在主机内查询metadata服务。
配置错误扫描:发现错误配置的云服务如MongoDB等。
API枚举:通过破解或钓鱼获取的API密钥枚举资产信息。
证书透明度:从SSL证书透明日志中解析绑定的域名。
旁站技术:从第三方服务中获取云资产信息。
搜索引擎挖掘:使用特定语法从搜索引擎中获取信息。
社会工程学:通过人为渠道获取云环境访问。
日志分析:解析错误日志、监控日志等发现线索。
57、针对云存储服务的攻击方式有哪些?
访问控制不当:未授权访问私有存储。
权限提升:通过路径遍历达到提权。
信息泄露:源代码、日志、备份等文件泄露。
接口误配置:GET方法开启删除、不合适的CORS规则等。
用户凭证泄露:访问密钥明文泄露被利用。
社会工程学:人为方式获取访问Token。
客户端漏洞:如上传组件漏洞导致远程代码执行。
服务器端请求伪造(SSRF):能够对内网进行端口扫描。
接口越权:能调用非授权的接口删除文件。
恶意软件传播:存储服务作为传播渠道。
永久数据删除:重要文件无法恢复。
加密问题:数据传输和存储加密强度不足。
58、云数据库服务如何进行渗透?
弱口令利用:直接使用默认或简单密码进数据库。
认证绕过漏洞:如MongoDB无需密码直接访问。
公网直连:公网可以直接访问数据库服务。
配置不当:如允许"%"通配符登录。
账号权限过大:云数据库账号拥有不必要的权限。
SQL注入漏洞:应用对用户输入验证不严可被SQL注入。
账号被盗用:访问密钥被窃取后拿去使用。
网络隔离失败:云数据库与其他服务在同一网络。
数据加密弱:关键数据存储和传输中可被解密。59、如何渗透AWS S3存储桶?
1. 枚举公开存储桶
使用工具如aws-s3-bucket-brute、S3Scanner自动或手动枚举发现公开Bucket。
1. 权限校验
检查Bucket的访问权限,是否可以匿名上传下载文件。
1. 搜索密钥
在文件中搜索可能包含的访问密钥信息。
AccessKeyId,SecretAccessKey泄露
Bucket劫持与子域接管
Lambda函数执行命令
60、如何判断是否存在APT持续渗透?有哪些典型特征?
1. 异常登录活动
发现新用户异地登录,重要账号在异常时间登录。
2.异常进程活动
进程树出现异常进程,检查进程运行目录是否合规。
1. 数据传输异常
监测大量敏感数据在短时间被传输。
1. 频繁的C&C通信
与外部特定通信频繁,传输流量字节随机。
1. 系统文件被修改
关键系统文件如hosts被修改,DLL被替换。
1. 反病毒软件被关闭
防护软件进程或实时保护被关闭。
1. 账号权限被提升
普通账号获得管理和系统权限。
1. 登录脚本被修改
登录启动脚本增加可疑内容。
1. 后门程序出现
发现可疑进程和注册表项等后门迹象。
1. 日志被清除
安全日志出现固定删除或不连续。61、如何有效应对DDoS攻击?
业务高可用:设计冗余和分布式架构,提高抗攻击能力。
流量清洗:使用DDoS流量清洗服务,过滤攻击流量。
应用层防护:识别并过滤攻击应用层包,如HTTP flood等。
调整业务架构:非核心业务流量进行隔离,保证关键系统稳定。
协议分析:通过分析数据包特征识别DDoS攻击。
黑洞路由:将攻击流量引流到空路由“黑洞”。
部署DDoS防护产品:如Anti-DDoS、CDN等产品。
增强带宽:根据需要适当提高带宽扩展攻击容量。
攻击源封禁:封禁发起攻击的源IP。
监控流量异常:监控网络流量发现大流量异常。
业务访问限制:在攻击期间暂时限制正常业务。
62、如何检测内存马和文件马,它们的检测方式有什么区别?
检测内存马和文件马的主要区别:
1. 内存马检测
分析运行进程的内存映像
检查进程加载的模块
查看进程网络连接
分析进程行为
需要借助内存取证工具进行分析。
1. 文件马检测
文件权限扫描
文件哈希检测
反病毒软件扫描
代码静态分析
行为检测
沙箱检测
可以通过文件本身特征或运行行为检测。
1. 区别
内存马仅存在于内存,重启后消失。
文件马存在磁盘文件,重启后依然存在。
内存马需要运行时内存分析。文件马可以直接对文件检测。
63、如何评估最新出现的零日攻击对系统的风险?
1. 了解攻击途径
分析攻击是否可以远程利用,还是需要取得一定系统权限。
1. 判断攻击复杂度
简单执行的攻击往往危害更大。
1. 确定影响范围
判断攻击是否具有目标性,还是更加通用广泛。
1. 评估系统部署情况
确认受影响的系统和组件是否已在目标环境部署。1. 监控攻击活动
通过钓鱼信息、蜜罐系统监测攻击活跃程度。
1. 模拟攻击手段
在测试环境中复现攻击,评估其可行性。
1. 分析业务影响
根据部署情况,模拟攻击成功的业务影响。
1. 确定应急措施
制定应对攻击的技术和业务应急措施。
64、应对内部威胁的检测策略有哪些?
1. 强化权限管理
最小权限原则,敏感操作分级授权。
1. 监控高危操作
监控添加用户、批量数据传输、登录失败等操作。
1. 检测异常数据流
关注大量敏感数据传输、异常数据访问时间等。
1. 重点监控易被利用角色
如系统管理员、DBA、高权限账号等。
1. 行为分析检测
基于用户行为和风险建模进行检测。
1. 网络隔离
采用内外网隔离与访问控制模型。
1. 日志记录审计
详细记录用户操作日志,相关系统统一纳入SIEM分析。
1. 数据访问控制
对敏感数据实施严格的访问控制策略。
1. 意识培训
加强员工数据安全和监管意识培训。
1. 离职管理
员工离职时及时撤销权限,进行安全审计。
65、常见的攻击检测系统有哪些?
入侵检测系统(IDS):基于签名和行为分析识别恶意活动。
入侵防御系统(IPS):在IDS基础上增加了主动防御功能。
网络取证分析系统(NIDS):通过流量捕获和分析发现攻击。
主机入侵检测系统(HIDS):在主机上检测恶意活动。
应用层入侵检测系统(AIDS):专门针对应用层进行攻击检测。
蜜罐系统:通过诱导和引诱攻击者进行检测。沙箱检测系统:在隔离环境检测 UNKNOWN 恶意样本。
防病毒系统(AV):基于黑白名单和云查询检测木马文件。
网页攻击检测系统(WAF):防护Web应用常见漏洞攻击。
文件完整性监控系统:检测关键文件的非授权修改。
66、针对SSH服务的安全配置有哪些?
1. 使用密钥认证,禁用密码认证
2. 更改默认端口,避免扫描发现
3. 限制可登录用户
4. 限制同时登录会话数
5. 关闭不需要的功能子系统如X11转发
6. 更改服务端和客户端默认配置
7. 使用防爆破工具如Fail2ban,锁定频繁失败的IP
8. 检查密码策略强度
9. 定期审计用户权限
10. 启用日志记录和监控
11. 更新到最新安全版本
12. 通过堡垒机进行访问控制
13. 对操作进行监控审计
67、有哪些攻击溯源的方法?
分析日志:从大量系统和网络日志中关联发现攻击源。
回溯路由:通过跟踪网络路径回溯到攻击真实源。
IP侦察:通过搜索引擎等发现攻击IP的相关信息。
钓鱼邮件源头追踪:通过邮件头信息查找发件源。
欺骗交互:通过与攻击者反复交互获取有效信息。
流量回放:重放原始攻击流量取得更多证据。
地区定位:通过语言特征等判断攻击方可能的地理位置。
时间线分析:通过行为时间关联分析可能相关的攻击源。
特征关联:不同攻击中相关特殊特征的关联分析。
攻击相似性:与已知攻击手段进行对比找出相似点。
情报分析:融合内部与外部威胁情报进行溯源。
对比行为模式:对比正常和攻击行为模式找出异常。
68、针对Linux系统,有哪些常用安全加固手段?
1. 系统补丁更新,及时修复已知漏洞
2. 更改默认账号和密码,避免弱密码
3. 关闭不需要的服务,最小化开放端口
4. 部署和配置防火墙,严格控制访问
5. 开启SELinux或AppArmor强制访问控制
6. 安装和配置主机入侵检测系统 HIDS
7. 使用SSH key登录,禁用密码及root远程登录
8. 加密敏感数据存储分区或文件
9. 系统文件完整性检查,发现非授权修改
10. 审计对系统关键文件和日志的访问
11. 为重要账号启用多因素认证
12. 配置账号、目录、文件访问控制列表
13. 启用日志审计,发送至中央日志服务器
14. 部署漏洞扫描定期检查安全状态
15. 应用容器、沙箱技术进行隔离69、Redis未授权漏洞如何修复?
1. 绑定本地登录地址
在配置文件中设置bind 127.0.0.1,限制仅本地访问。
1. 设置复杂密码
不使用默认空密码,设置一个强复杂密码。
1. 禁用远程连接
设置 protected-mode 和 rename-command 防止远程连接。
1. 网络隔离
将Redis服务放在内网环境,不向公网开放端口。
1. 账号权限控制
设置只允许特定账号从指定IP进行访问。
1. 认证机制扩展
通过插件进行LDAP、Kerberos等认证控制。
1. TLS加密传输
使用SSL证书对连接进行加密保护。
1. 实时监控
监控并阻止异常访问和命令执行。
70、XXE漏洞的原理是什么?
XXE(XML外部实体注入)漏洞的原理是:
1. XML支持定义外部实体,可以访问文件系统、内网资源等。
2. 可提交自定义的 XML 文档。
3. XML 解析器在解析时会载入定义的外部实体。
4. 攻击者在 XML中定义外部实体指向敏感文件或内网端口。
5. 解析器在解析 XML 时会读取或请求外部实体内容。
6. 最终导致敏感信息泄露或内网端口访问。
7. 攻击载荷如定义外部实体为文件:///etc/passwd。
8. XML解析器会自动读取解析该文件,最终实现任意文件读取。
利用方式:
文件读取:外部实体读取文件内容
SSRF:外部实体访问内网端口
DoS:外部实体造成大量无效解析
拒绝服务
71、XXE漏洞和SSRF漏洞的区别是什么?
1. XXE属于XML解析漏洞,SSRF属于服务端请求伪造漏洞。
2. XXE依赖XML解析器,SSRF依赖开发语言和协议实现。
3. XXE触发机制是外部实体引用,SSRF是服务误信用户输入的目标地址。
4. XXE可以导致文件读取,SSRF可以对内网目标进行端口扫描。
5. XXE可以通过DTD实体引用攻击,SSRF依赖参数控制目标。
6. XXE攻击效果取决于解析器支持,SSRF取决于网络访问功能实现。7. XXE针对业务上下文,SSRF可在更多地方触发。
8. XXE防御重点是输入过滤,SSRF重点是输出验证。
总结:XXE是XML解析层面漏洞,SSRF是网络请求层面漏洞。两者都可能导致敏感信息泄露。
72、MySQL UDF的提权原理是什么?需要什么条件才能成功?
1. 原理
MySQL支持创建自定义函数(UDF)
可以编写脚本语言实现的恶意UDF
调用恶意UDF执行系统命令,实现提权
2.需要条件
MySQL版本需要支持加载UDF
当前用户有FILE权限,可以读取文件
查询结果能回显到攻击者页面
开放了本地文件加载,可以加载自定义so文件
3.利用流程
编译恶意MySQL UDF,如shell.so
上传恶意so文件到服务器
创建函数指向恶意so文件
调用创建的函数,执行系统命令
4.防御
避免开放FILE权限
限制只从plugin目录加载UDF
避免以root身份连接数据库
73、有哪些Webshell管理工具?
中国菜刀:功能强大的Webshell控制工具
哥斯拉:知名的多功能Webshell管理工具
AntSword:跨平台Webshell工具,支持多种脚本语言
Behinder:动态二进制加密Webshell管理客户端
MSF:Metasploit框架内置的多种Webshell
Weevely:用于管理php webshell的工具
74、服务器被上传Webshell,应该如何处理?
隔离主机
定位事件范围,查看文件 webshell 创建时间,对 webshell 取证样本
通过创建时间结合日志分析可疑行为,以及启动用户的其他进程确定漏洞
清除 webshell 及残留文件,修复漏洞
75、有哪些Windows 日志分析工具?
Logparser:微软免费日志分析工具,可通过SQL进行日志查询分析。
Splunk:领先的日志管理和分析平台,功能强大。
Solarwinds Log Analyzer: Solarwinds公司出品的日志管理工具。
ManageEngine EventLog Analyzer:LOGSENSE公司的日志分析工具。
GreyLog: 开源的分布式日志分析系统,设计灵活。
ELK Stack:Elasticsearch、Logstash、Kibana日志分析架构。
RSA NetWitness:提供完整的日志管理和SIEM功能。
OSSIM:开源的SIEM系统,带有日志分析功能。NXLog:多平台开源日志收集工具。
PRTG Network Monitor: Paessler公司的网络及日志监控工具。
DumpEvent:微软命令行日志 dump 工具。
EventcombMT:高效的Windows事件日志分析工具。
76、Windows系统入侵排查思路?
1. 检查系统重要文件是否被修改,如系统DLL、注册表等。
2. 检查系统进程及启动项,是否存在恶意进程和自启动项。
3. 检查账户信息,是否存在新增可疑用户或组。
4. 检查网络连接状态,是否有异常进程在进行网络通信。
5. 调查系统日志事件,是否有异常登录、管理员活动等。
6. 利用反病毒软件全面扫描系统。
7. 利用Rootkit工具检查是否存在Rootkit。
8. 使用签名验证工具验证重要系统文件签名。
9. 监视关键系统端口和服务的网络连接。
10. 解读注册表key值,判断是否有动态链接库注入等行为。
11. 查看计划任务中是否存在可疑任务。
12. 安全启动进行系统还原,检查还原点是否被篡改。
13. 进行内存镜像分析,判断是否存在可疑进程和注入。
77、什么是EDR?有哪些相关产品?它的作用是什么?
1. 定义
EDR是部署在终端和服务器上的一个解决方案,用于检测、调查和响应终端上发生的敏感事件。
2.产品
常见产品有卡巴斯基EDR、赛门铁克EDR、CrowdStrike Falcon、深信服EDR、亚信EDR等。
3.作用
实时监控和检测终端风险行为
对事件进行快速分析和响应
通过云平台管理所有节点
支持威胁狩猎和根本原因分析
自动化隔离受感染主机
4.特征
行为分析、认知服务、全盘可见性、准确检测、自动化响应是EDR的主要特征。
78、如何检测Windows影子用户?
1. 查看本地用户的SID历史记录,使用 net user 命令。
2. 检查用户目录,看是否有重复或可疑的用户文件夹。
3. 分析任务管理器和进程对应的用户名,检查是否有隐藏进程。
4. 使用PowerShell获取本地用户列表,与控制面板用户对比。
5. 使用 reg query HKLMSOFTWAREMicrosoftWindows NTCurrentVersionProfileList 查看
配置文件列表。
6. 检查注册表 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlhivelist项。
7. 使用工具如DumpSID、WinArpLookup等枚举系统用户信息。
8. 检查事件日志有无畸形的账户创建事件。
9. 利用authenticated权限枚举系统用户信息。
10. 比较安全日志与登录会话事件的用户列表差异。79、如何防范钓鱼邮件攻击?
1. 培训员工识别钓鱼邮件能力,提高警惕。
2. 使用证书或DKIM等email验证机制。
3. 部署反垃圾和反钓鱼的邮件网关,自动检测标记。
4. 检测邮件内容是否使用公司域名,但来源不正确。
5. 识别通用的社会工程诱导话术或恐吓内容。
6. Hover检查链接实际URL,是否与显示的不一致。
7. 启用邮件免责声明,说明邮件验证要点。
8. 对包含可执行附件的邮件进行隔离。
9. 限制个人邮箱直接发送敏感信息,使用企业安全网关。
10. 建立严格的邮件安全策略,如禁止转发等。
11. 采取技术综合人工的方式提高识别能力。
12. 使用沙箱环境检测可疑附件。
80、如何检测ICMP隧道流量?
1. 分析ICMP流量大小,隧道流量的载荷大小一般较大。
2. 检测ICMP流量中的特征点,如标志性字符等。
3. 统计源/目的IP的ICMP流量,异常大可能存在隧道。
4. 检查数据包的ICMP ID和Seq值变化情况,隧道流量是有序变化的。
5. 对比不同协议栈实现的ICMP回复差异。
6. 检测数据包负载内容的熵值,隧道流量具有较高的熵特征。
7. 在IDS规则中增加ICMP协议keywords,如'icmp_id'。
8. 使用网络forensics工具分析ICMP流量特征。
9. 构造反向ICMP隧道对端响应,观察是否存在对应回应。
10. 动态调整IDS对ICMP检测的灵敏度和过滤规则。
81、有哪些构建免杀Payload的方法?
1. 编码处理:异或、ROT-13、Base64等编码绕过静态检测。
2. 加壳与免杀程序
3. 动态加载:运行时加载执行代码,规避反病毒扫描。
4. 加密执行:加密Payload,运行时解密执行。
5. 在内存中执行:不写入磁盘,直接在内存中执行Payload。
6. 沙盒检测逃避:检测虚拟环境并修改Payload行为。
7. 模块拆分:Payload分段加载绕过检测。
8. 流量特征混淆:使用自定义协议、混淆数据流。
9. 重写打包:修改编译参数重新打包,更改静态特征。
10. API调用:使用WinAPI等调用方式替代常规操作实现隐蔽。
82、JSONP 和 CORS跨域有什么区别?
1. 原理不同
JSONP 是通过标签的 src 属性,利用浏览器同源策略对 script 标签的特殊处理来实现跨域。
CORS 是通过在请求和响应头中添加信息,由浏览器和服务器协商来决定是否允许跨域。
2.安全性不同
JSONP只能发GET请求,CORS支持多种请求方式。
JSONP面临更多安全风险如XSS。
3.浏览器支持不同
JSONP可以兼容更多老旧浏览器。
CORS需要浏览器支持HTML5。4.实现难度不同
JSONP的实现相对更简单。
CORS需要服务器端配合实现。
83、CORS跨域漏洞原理?
1. CORS通过设置HTTP头实现跨域访问控制。
2. 浏览器会根据响应头中的Access-Control-Allow-Origin来决定是否允许响应。
3. 攻击者可通过控制响应头欺骗浏览器,绕过CORS限制。
4. 主要存在以下问题导致漏洞:
任意源被设置为*
返回了多个Access-Control-Allow-Origin
未验证Origin请求头的可信来源
5.攻击者可通过以下利用方式进行攻击:
跨域读取敏感数据
CSRF攻击绕过同源策略
JSON劫持攻击
身份验证绕过
6.防范方法是正确配置CORS头,避免跨域漏洞产生。
84、常用Nmap指令参数?
nmap -sn 192.168.1.1/24 :PING扫描网段
nmap -sP 192.168.1.1/24 :PING扫描网段
nmap -p 80,443,21 IP :扫描指定端口
nmap -F:快速扫描,常用端口
nmap -sV IP:版本检测
nmap -sC IP:默认脚本扫描
nmap -v -sV -p- -T4 IP:详细扫描所有端口
nmap -O IP:操作系统检测
nmap --script vuln IP:漏洞扫描
nmap -sU -p- IP:UDP全端口扫描
nmap -P0 IP:不使用Ping,可扫描防火墙后端
nmap -Pn IP:不做主机发现,假定所有主机都存活
nmap -sS -sV -v IP:TCP SYN扫描+版本检测
nmap -D RND:IP欺骗和MAC地址随机化
85、什么是半开连接扫描?
1. 扫描程序发送SYN数据包到目标端口,作为TCP三次握手的第一步。
2. 如果端口开放,目标主机会返回SYN/ACK包。
3. 扫描程序不完成三次握手,不发送ACK,保持半开连接状态。
4. 根据目标端口的响应情况,判断端口状态。
5. 如果端口关闭,目标主机会响应RST包拒绝连接。
6. 不进行完整握手,可以加速扫描速度。
7. 较难被日志记录,隐蔽性强。86、OWASP TOP 10 2021 有哪些漏洞 ?
失效的访问控制
加密失败
注入漏洞
不安全的设计
安全配置错误
易受攻击和过时的组件
认证和授权失败
软件和数据完整性故障
安全日志记录和监控失败
SSRF服务器请求伪造
87、SSRF有哪些危害?
1. 访问内网系统获取敏感信息。攻击者可以利用SSRF访问内网数据库、管理系统等,获取敏感数据。
2. 执行未授权的命令。攻击者可以访问内网服务并执行未授权的操作,如关闭服务器等。
3. 端口扫描和网络映射。攻击者可以通过SSRF对内网进行端口扫描,发现更多内网资产。
4. 攻击内网网站。攻击者可以访问内网web应用并进行进一步渗透。
5. 绕过防火墙限制。利用SSRF可以绕过防火墙对外网的访问限制。
6. 引发拒绝服务。攻击者可以对内网或外网服务提起大量请求,引发拒绝服务。
7. 代理访问外网。攻击者可以以网站服务器的身份访问外网,绕过访问控制。
8. 植入后门。攻击者可以在成功接管网站后,通过SSRF进一步植入webshell等后门。
88、内网渗透大致流程?
1. 收集信息 收集目标内网域名、IP段、操作系统等信息,寻找潜在的攻击面。
2. 获取内网访问 通过社工、漏洞利用等方式获得一个内网机器的访问权限。
3. 横向移动 从获取访问权限的机器开始,通过各种方式在内网中横向移动,获取更多权限。
4. 提权 尝试在获得的内网机器上提权,获取系统管理员或域管理员等高权限。
5. 内网资产发现 通过端口扫描、网络嗅探等方式,发现内网中的其他服务器、数据库等资产。
6. 获取域控制器 尝试获取域控制器的控制权,从而接管整个内网的管理权限。
7. 清理痕迹 删除攻击日志,关闭后门进程,修改时间戳,伪造正常登录记录。
8. 权限持久化 在内网域中设置后门账号,维持长期的控制权限。
9. 数据窃取 获取内网敏感数据,如研发资料、客户信息、财务数据等。
89、缓冲区溢出的原理和防御手段?
缓冲区溢出(Buffer Overflow)是一种常见的程序漏洞,原理是当向缓冲区写入的数据大小超过了这个缓冲
区本身的大小时,多出来的数据就会溢出到相邻内存区域,导致数据被篡改或者程序崩溃。
主要的防御手段包括:
1. 使用语言或者编译器提供的边界检查功能,在编译时就可以检查出缓冲区溢出风险。比如C语言可以
使用FORTIFY_SOURCE编译选项。
2. 使用栈保护技术如Stack Guard、StackShield等在运行时检测缓冲区溢出。
3. 避免使用易受溢出影响的危险函数如gets(),改用更安全的函数如fgets()。
4. 减少程序中固定大小的缓冲区,使用可变大小的动态分配缓冲区。
5. 缩减程序权限,使其无法执行危险操作。比如使用非根账号运行服务程序。
6. 使用地址空间布局随机化(ASLR)技术随机化程序模块在内存中的位置,使溢出更难成功控制程序执行
流程。
7. 定期进行代码审计,发现并修复缓冲区溢出漏洞。90、有哪些常见的业务逻辑漏洞?
1. 越权访问:用户可以访问本不该访问的功能或数据。比如普通用户进入管理员页面。
2. 竞争条件:一个资源被多个线程/用户同时访问,导致结果不确定。比如双11抢购。
3. 输入验证缺失:没有对用户输入进行充分验证和过滤,可导致SQL注入、XSS等漏洞。
4. 业务流程漏洞:业务流程设计不合理,可被利用破坏正常流程。比如订单多次退款。
5. 配置错误:系统配置不当,导致非预期的业务逻辑。比如错误的价格配置。
6. 数值错误:数值运算、比较有误导致非预期结果。比如订单金额计算错误。
7. 默认值问题:默认值设置不当,被利用绕过安全检查。比如默认管理员账号存在。
8. 缺陷设计:业务设计过程中存在安全缺陷。比如生成可预测的订单号。
91、什么是多因素身份验证?有哪些手段?
多因素身份验证(Multi-Factor Authentication, MFA)是一种通过使用用户本身的多种身份验证方式来实
现的身份验证机制。它通常需要用户提供以下两种或两种以上的验证方式:
1. 知识因素:用户知道的信息,比如密码、PIN码等。
2. 拥有因素:用户拥有的物品,比如硬件安全令牌、手机等。
3. 生物识别因素:用户的生物特征,比如指纹、面部等。
常见的多因素身份验证手段包括:
密码 + 硬件安全令牌:用户输入账号密码,同时使用硬件令牌产生一次性验证码。
密码 + 短信验证码:用户输入密码,同时在手机收到的短信验证码。
指纹 + 面容识别:同时使用指纹和面部识别用户身份。
密码 + 声纹识别:输入密码组合声纹认证。
生物特征 + 位置信息:指纹加上设备地理位置信息确认身份。
92、OSI 的七层模型是哪些?
1. 物理层(Physical layer):定义物理设备标准,如电缆、连接器的电气特性、布线等。
2. 数据链路层(Data link layer):负责节点间的数据传输,进行节点地址寻址、差错检测等。
3. 网络层(Network layer):确定数据包从源到目的地的路由路径,进行逻辑地址寻址。
4. 传输层(Transport layer):提供端到端的连接和差错控制,进行流量控制、段序号和校验。
5. 会话层(Session layer):建立及管理会话连接。
6. 表示层(Presentation layer):进行数据格式变换、代码转换、数据加密等。
7. 应用层(Application layer):网络应用接口层,提供网络服务。
OSI模型划分了计算机网络的不同功能,每一层都依赖下一层提供服务,形成了网络协议设计和数据通信的
重要参考模型。这有助于各层的网络设备和协议标准互操作。
93、简述HTTP通信过程?
1. 建立 TCP 连接:HTTP 基于 TCP/IP 协议,客户端向服务器的 HTTP 端口(默认80)发起 TCP 连接请求,
服务器接受连接,三次握手完成 TCP 连接的建立。
2. 发送请求:客户端向服务器发送请求报文,请求报文包含请求方法(GET/POST 等)、请求资源路径、
HTTP 协议版本等信息。
3. 返回响应:服务器接收请求后,生成响应报文发送给客户端,响应报文包含状态码、响应头信息、响应
正文等。
4. 通信结束:服务器主动关闭 TCP 连接,客户端被动关闭连接,完成报文的发送。
5. 客户端处理响应:浏览器等客户端解析响应报文,获取状态码,显示或使用响应返回的资源。
在 TCP 连接内可以持续进行多个请求和响应的传输,实现持久连接,减少重复建立连接的开销。HTTP 协议
是一个无状态的请求-响应协议。94、GET请求和 POST 请求的相同之处和区别?
GET请求和POST请求的相同点:
都使用TCP作为传输层协议,都可以传送不受限制大小的数据。
都使用请求头来传递参数信息。
都可以进行重定向跳转。
请求后都能在浏览器中前进、后退。
两者的区别:
GET 把参数数据暴露在URL上,POST放在请求体中。
GET对数据长度有限制(特定的浏览器及服务器的限制),POST对数据长度无限制。
GET仅用于请求数据,POST还可以用于修改服务器上的资源。
GET请求会被浏览器主动缓存,POST不会被缓存。
GET请求参数会保留在浏览器历史记录中,POST的参数不会保留。
从语义上,GET用于获取资源,POST用于传输实体数据。
GET安全性较低,POST安全性较高。
综上,Get请求适用于获取资源,POST更适用于传输大量数据,对安全性要求较高的场景。但两者可以互相
模拟实现对方的效果。
95、常见的HTTP状态码有哪些?
常见的HTTP状态码及含义如下:
1xx信息性状态码:表示请求已被接收,需要继续处理。比如100 Continue。
2xx成功状态码:表示请求成功被服务器接收、理解、接受。比如200 OK。
3xx重定向状态码:表示需要进行附加操作以完成请求。比如301 Moved Permanently。
4xx客户端错误状态码:表示请求包含语法错误或无法完成请求。比如404 Not Found。
5xx服务器错误状态码:表示服务器在处理请求的过程中发生了错误。比如500 Internal Server
Error。
较常用的状态码包括:
200表示访问成功。
301表示永久重定向。
404表示页面不存在。
403表示禁止访问。
500表示服务器内部错误。
96、HTTPS的工作原理,它是如何保证数据传输安全的?
HTTPS 的工作原理是在 HTTP 的基础上加入了SSL/TLS 加密机制,从而保证了数据传输的安全性。
1.客户端向服务器发起连接,服务器返回证书(包含公钥)。
2.客户端验证证书有效性,如果验证成功,生成一个随机的预主密码,用证书中的公钥加密,发送给服务器。
3.服务器使用自己的私钥解密出预主密码。
4.客户端和服务器协商生成主密码。
5.客户端和服务器使用主密码以及摘要函数和加密算法加密传输数据。
通过这一系列过程,HTTPS 实现了:
1.加密(数据被加密传输,防窃听)。
2.认证(验证证书,确认通信方身份)。
3.完整性校验(摘要算法校验数据完整性)。97、Cookie和Session的区别?
Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式,但两者有以下区别:
1. 存储位置不同:
Cookie 数据存放在客户的浏览器上;
Session 数据放在服务器上。
1. 安全性不同:
Cookie 不安全,用户可以自行修改cookie中的数据;
Session 存储在服务器端,相对更安全。
1. 存储大小不同:
Cookie 保存的数据不能超过4K左右;
Session 存储的数据量更大,一般无大小限制。
1. 过期时间不同:
Cookie可以设置失效时间,默认是关闭浏览器后失效;
Session 在一定时间内没有活动就会失效,需要配置过期时间。
1. 用途不同:
Cookie 通常用于存储用户信息、网站偏好设置等;
Session 用于在一段时间内保持用户的状态和数据,跟踪用户操作。
综上,Session机制通过服务端记录用户状态来保持会话,Cookie机制通过在客户端保存信息来识别用户。
两者可以配合使用,以实现无状态HTTP协议的会话跟踪。
98、什么是Websocket连接?
WebSocket是一种网络通信协议,可以实现浏览器与服务器之间的全双工、双向通信,使得数据可以快速
地双向传输。
WebSocket 的主要特点包括:
建立在 TCP 协议之上,服务器端的实现比较容易。
与 HTTP 协议有良好的兼容性。默认端口也是80和443。
数据格式比较轻量,性能开销小。
可以发送文本,也可以发送二进制数据。
没有同源限制,客户端可以与任意服务器通信。
协议标识符是ws(如果加密则为wss),如:ws://example.com。
客户端可以通过JavaScript向服务器发出建立WebSocket连接的请求。
建立连接后通信时,客户端与服务器可以双向传送数据。
通过 WebSocket,客户端和服务器之间可以建立低延迟、高频率的交互通信,用于实时应用、游戏、聊天
等场景。
99、Websocket连接有哪些安全问题?
1. 拒绝服务攻击(DoS):攻击者可以不断建立WebSocket连接,耗尽服务器资源。
2. 协议攻击:利用WebSocket握手过程中的漏洞进行攻击,比如部分实现没有正确验证Sec-WebSocket
Key。
3. 跨站脚本(XSS):WebSocket客户端 JavaScript代码如果存在XSS漏洞,可能导致sockets被恶意使用。
4. 网络钓鱼:攻击者可以通过WebSocket实现更加逼真的钓鱼网站,骗取用户信息。
5. 缺乏加密:早期浏览器不支持wss协议,通信可能被截获。
6. 认证问题:没有正确的身份认证机制,可能导致未经授权的连接。
7. 信息泄露:WebSocket可能泄露一些敏感信息,如用户IP,操作系统等。
8. 缓冲区溢出:一些WebSocket服务器实现存在缓冲区溢出漏洞,可被利用进行攻击。
100、如何防止DNS欺骗?
1. 使用DNSSEC等支持DNS密钥验证的域名解析服务,避免域名解析被篡改。
2. 启用域名注册商的域名锁定服务,防止域名被转移或修改DNS。
3. 使用反向代理服务器解析域名,避免直接向公网DNS解析。
4. 启用DNS递归查询扫描,检测可疑的域名解析。
5. 部署本地DNS解析服务,直接指定可信赖的上游DNS。
6. 禁用公共DNS服务,使用内部DNS服务器。
7. 使用集中式的网络防火墙,只允许从指定DNS解析结果。
8. 控制和监测网络流量,发现使用未知域名的请求。
9. 提高用户和管理员安全意识,识别可疑邮件、网站。
10. 定期审计和更新相关网络服务,加强安全配置。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...