答:
(1)信息收集
(2)漏洞扫描:开始检测漏洞,例如XSS,SQL注入,命令执行,越权访问,暴力破解…
(3)漏洞利用:利用扫描到的漏洞拿到webshell或者其他权限
(4)提权:提权服务器
(5)日志清理
(6)总结报告及修复方案
答:
1)数据库类(扫描弱口令):
1433 MSSQL
1521 Oracle
3306 Mysql
5432 PostgreSQL
2)特殊服务类(未授权/命令 执行类/漏洞):
443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB
6379 redis 未授权
7001,7002WebLogic 默认弱口令,反序列
11211 memcache 未授权访问
27017,27018 Mongodb未授权访问
50000SPA命令执行
50070,50030 hadoop默认端口未授权访问
答:
1)多地ping
2)外国ping
3)查看IP和域名绑定的历史记录
4)查询子域名
答:
登陆日志 last;
操作日志 history;
启动信息和错误日志 /var/log/message;
安全日志 /var/log/secure;
邮件日志/var/log/maillog;
计划任务日志/var/log/cron;
答:
1)web日志如apache的access.log,error.log。直接将日志清除太明显,一般用sed进行定向清除:sed -i -e ‘/192.168.132.xx/d’
2)history命令的清除,也是对~/.bash_history进行定向清除
3)wtmp日志的清除,/var/log/wtmp
4)登陆日志清除 /var/log/secure
答:webshell就是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也可以将其称作为一种网页后门。
答:网络钓鱼是通过大量发送来自知名机构的欺骗性垃圾邮件,意图诱惑收信人给出敏感信息的一种攻击方式。它常引导用户到url与接口外观与真正网站几乎无差的假冒网站输入个人数据
答:cc攻击是DDos分布式拒绝服务的一种,正常请求伪造,服务器资源耗尽,相比其他的DDos攻击CC更具有技术含量一些。这种攻击你见不到真实源IP,见不到特别大的异常流量,但是造成服务器无法正常连接。
CC攻击的原理就是攻击者控制某些主机不停的发送大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的。
答:最简单的就是
答:蜜罐好比是情报收集系统,蜜罐仿佛是故意让人攻击的目标,引诱黑客前来攻击,所以攻击者入侵后,你就知道他是如何得逞的随时了解针对服务器发动的最新攻击和漏洞,还可以通过窃听黑客之间的联系,收集黑客所用的种种工具,并且掌握他们的社交网络。
答:(HTTP+SSL)
答:TCP和UDP协议特性区别总结:
当数据传输的性能必须让位于数据传输的完整性、可控制和可靠性时,TCP协议是最好的选择
当强调传输性能而不是传输的完整性时,例如:音频和多媒体应用,UDP是最好的选择
答:
判断当前使用的CMS是否存在Nday,尝试利用公开的POC、EXP进行测试
根据CMS特征关联通CMS框架站点,进行敏感备份文件扫描,有可能获取站点备份文件,尝试从CMS源码进行代码审计,挖掘潜在漏洞
答:是一种类比的称呼,主要是用来区别于传统搜索引擎。它主要是通过集中大众网民的力量去搜索信息和资源的一种方式,它包括利用互联网的机器搜索引擎及利用各个网民在日常生活中所能掌握的信息来进行收集信息的一种方式。
答:
首先,请求端(客户端)发送一个包含 SYN 标志的 TCP 报文,SYN 即同步(Synchronize),同步报文会指明客户端使用的端口以及 TCP 连接的初始序号;
第二步,服务器在收到客户端的 SYN 报文后,将返回一个 SYN+ACK 的报文,表示客户端的请求被接受,同时 TCP 序号被加一,ACK 即确认
(Acknowledgement)。
第三步,客户端也返回一个确认报文 ACK 给服务器端,同样 TCP 序列号被加一,到此一个 TCP 连接完成。
以上的连接过程在 TCP 协议中被称为三次握手(Three-way Handshake)。
答:子域名爆破可以发现更多目标,以参加渗透测试成功的可能性,探测到更多隐藏或遗忘的应用服务,这些应用往往导致一些严重漏洞。当一个主站坚不可摧的时候,我们可以尝试从分站入手。
答:子域名爆破的泛解析:访问不存在的子域名任然会跳转,对应的返回值200
解决办法:根据确切不存在得子域名记录获取黑名单IP,对爆破过程进行黑名单过滤,但是这种宽泛得过滤任意导致漏报,所以可以将TTL也作为黑名单规则得一部分。在权威得DNS中,泛解析记录得TTL值是一样得,如果子域名记录相同但是TTL不同,即不是泛解析记录。
答:phpinfo()函数主要用于网站建设过程中测试搭建的PHP环境是否正确,很多网站在测试完毕后并没有及时删除,因此访问这些测试页面时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。
答:
使用jion:
union select 1,2
=
union select * from (select 1)a jion(select 2)b
使用like:
select ascii(mid(user(),1,1))=80
=
select user() like 'r%'
答:
对于limit可以使用offset来绕过:
select * from news limit 0,1
=
select * from news limit 1 offset 0
答:
**水平越权:**A和B拥有相同的权限的等级,他们能获取自己的个人数据,但是系统只验证了能访问数据的角色,而没有对数据做细分或者校验,导致A能访问到B的数据,这种行为称为水平越权。
**垂直越权:**A的用户权限高于B,B越权操作A的权限的情况叫做垂直越权。
防范措施:
答:
局域网地址范围分三类,以下IP段为内网IP段:
C类:
192.168.0.0 - 192.168.255.255
B类:
172.16.0.0 - 172.31.255.255
A类:
10.0.0.0 - 10.255.255.25
一般的局域网用的IP地址就叫内网
答:csrf是跨站请求伪造,就是挟持了当前已经登陆的用户程序去做用户非本意的操作,比如说在用户已经登入淘宝的情况下,用户去点开了另一个恶意链接,然后恶意链接就是请求修改用户淘宝密码的,这种情况就是跨站请求伪造。
CSRF的防范:
SSRF和CSRF的区别:
CSRF是由客户端发起请求的安全漏洞
SSRF是由服务器端发起请求的安全漏洞
答:
**原理:**web应用程序对用户输入的数据过滤不严谨,并且将输入数据当作SQL语句带入到数据中去执行。
**注入条件:**必须有参数传递;参数值带入数据库查询执行 and 1=1 返回正确 and 1=2 返回错误。
种类:
防御:
1)严格限制web应用的数据库的操作权限,给连接数据库的用户提供满足需要的最低权限,最大限度的减少注入攻击对数据库的危害
2)对进入数据库的特殊字符进行转义处理或者编码转换
3)使用正则或者特殊字符判断参数的数据格式是否合法
…
答:
5.0以下的没有information——schema这个系统表,无法列表名,只能暴力表名。
5.0以下是多用户单操作,5.0以上是多用户多操作。
答:
IIS:PUT漏洞,短文件名猜解,远程代码执行,解析漏洞
Apache:解析漏洞、目录遍历
Nginx:文件解析、目录遍历、CRLF注入、目录穿越
Tomcat:远程代码执行,war后门文件部署
JBoss:反序列化漏洞,war后门文件部署
WebLogic:反序列化漏洞、SSRF任意文件上传 war后门文件部署
答:
Windows常用的提权方法:
Linux提权方法:
答:
答:
文件上传原理:
在文件上传的功能处,若服务端脚本语言未对上传的文件进行严格验证和过滤,导致恶意用户上传恶意的脚本文件时,就有可能获取执行服务端命令的能力,这就是文件上传漏洞。存在文件上传得地方都有可能存在文件上传漏洞
防护文件上传:
答:xss跨站脚本攻击是对HTML代码的注入,是通过对网页注入浏览器可执行的代码而实现的攻击手段。
XSS分类:
反射型
存储型
DOM型
反射型和存储型都需要经过服务器解析并且和数据库产生交互
DOM型只需要经过前端解析,不需要和数据库产生交互
存储型和DOM型都会长期将攻击代码存放在受害者服务器
反射型只会反弹一次攻击代码
如何防范XSS攻击:
答:
phpinfo()
输出PHP环境信息以及相关模块、web环境等信息
passthru()
允许执行一个外部程序并回显输出,类似exec()
exec()
允许执行一个外部程序(如unix shell或者cmd命令等)
system()
允许执行一个外部程序并回显输出
scandir()
列出指定路径中的文件和目录
erro_log()
将错误信息发送到指定位置
......
答:服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行。通过修改url地址或者一个参数的变量内容,读取到web根目录以前的其他文件,但不同于目录浏览,目录浏览是可以通过浏览器直接显示www目录下每一个文件的名称,把目录列表给列出来。
漏洞产生的原因:
文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。
文件包含函数:
require()
require_once()
include()
incluede_once()
include和require区别主要是,include在包含的过程中如果出现错误,会抛出一个经过但程序继续正常允许;而require函数出现错误,会直接报错并退出程序执行
答:
答:
答:
webshell的一些语句:
union select写入
outfile方法是mysql提供的一个用来写入文件的函数,当我们可以控制输入的文件和文件的保存路径时,就可以达到传入webshell的目的。
union select '' into outfile'web目录'
分隔符写入
当union无法使用时
?id=1 INTO OUTFILE '物理路径' lines terminated by ()#
?id=1 INTO OUTFILE '物理路径' fields terminated by ()#
?id=1 INTO OUTFILE '物理路径' columns terminated by ()#
?id=1 INTO OUTFILE '物理路径' lines starting by ()#
log写入
新版本的mysql在my.ini中设置了导出文件的路径,无法再使用select into outfile来写入一句话木马,这时我们可以通过修改MySQL的log文件来获取webshell。
show variables like '%general%'; #查看配置
set global general_log = on; #开启general log模式
set global general_log_file = '网站目录/shell.php'; #设置日志目录为shell地址
select '' #写入shell
set global general_log=off; #关闭general log模式
答:
要确认设备是否误报,应当先去查看设备的完整流量日志等信息。在hvv的过程中如果确实存在异常流量应当及时上报,确认是误报后做好事件记录。
答:
扫描的数据量大,请求流量有规律可循,手动流量请求少,间隔略长
答:
Windows的系统日志:事件查看器
Windows系统日志都是在“事件查看器下面”
Linux系统日志:/var/log
答:webshell就是以asp、php、jsp等网页文件形式存在的一种命令执行环境,也可以将其称作为一种网页后门。
静态检测:
静态检测通过匹配特征码,特征值,危险函数来查找webshell的方法,只能查找已知的webshell,并且误报率和漏报率会比较高,但是如果规则完善,可以降低误报率,但是漏报率必定会有所提高。
优点是快速方便,对已知的webshell查找准确率高,部署方便
缺点是漏报率、误报率高,无法查找0day型webshell,而且容易被绕过
日志检测:
使用webshell一般不会在日志中留下记录,但是会在网站的web日志中留下webshell页面的访问记录和数据提交记录。日志分析检测技术通过大量的日志文件建立请求模型从而检测出异常文件,称之为:HTTP异常请求模型检测。
语法检测:
实现关键危险函数的捕捉方式
第一种的思路就是将专门上传文件的文件夹里面的脚本类型文件,解析成其他类型的文件,服务器不会以脚本类型执行它
第二种匹配文件夹里面的脚本类型文件,将其设置为无法读取和操作
第三种将文件上传到一个单独的文件夹,给一个二级域名,然后不给这个虚拟站点解析脚本的权限
答:PDCERF模型
Prepare(准备):准备用来检测的工具和人
Detection(检测):紧急事件监测:包括防火墙、系统、web服务器、IDS/WAF/SIEM中的日志,不正常或者是执行了越权操作的用户,甚至还有管理员的报告
Containment(抑制):首先控制受害范围,不要让攻击的影响继续蔓延到其他IT资产和业务环境,切记不要一股脑的投入全部经历到封堵后门。紧接着就是寻找根源,彻底解决,封堵攻击源
Eradication(根除)
Recover(恢复)
Follow-up(跟踪):根据各种监控去确定没有其他的攻击行为和攻击向量,紧接着就是开会反省此次事件,写报告,持续改进工作流程和工作环境。
答:
由于Log4j2组件在处理程序日记记录时存在JNDI注入缺陷,未经授权的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺陷,实现目标服务器的任意代码执行,获取目标服务器权限。
答:
答:
答:
答: