渗透测试常见的面试题
拿到一个待检测的站,你觉得应该先做什么?收集信息:whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息另说通过站长之家收集域名whois通过nmap 御剑查找服务器系统版本 通过google hack 进一步探测网站的信息 通过google hack 和钟馗之眼查看一些敏感信息,用awvs进行漏洞扫描mysql的网站注入,5.0以上和
- 拿到一个待检测的站,你觉得应该先做什么?
收集信息: whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息另说
通过站长之家收集域名whois通过nmap 御剑查找服务器系统版本 通过google hack 进一步探测网站的信息 通过google hack 和钟馗之眼查看一些敏感信息,用awvs进行漏洞扫描
- mysql的网站注入,5.0以上和5.0以下有什么区别?
5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。
5.0以下是多用户单操作,5.0以上是多用户多操做。
- 在渗透过程中,收集目标站注册人邮箱对我们有什么价值?
丢社工库里看看有没有泄露密码,然后尝试用泄露的密码进行登录后台。
用邮箱做关键词进行丢进搜索引擎。
利用搜索到的关联信息找出其他邮箱进而得到常用社交账号。
社工找出社交账号,里面或许会找出管理员设置密码的习惯 。
利用已有信息生成专用字典。
观察管理员常逛哪些非大众性网站,拿下它,你会得到更多好东西。
- 判断出网站的CMS对渗透有什么意义?
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
- 目前已知哪些版本的容器有解析漏洞,具体举例。
IIS 6.0
/xx.asp/xx.jpg "xx.asp"是文件夹名
- 当建立*.asa、.asp格式的文件夹时,其目录下的任意文件都将被IS当作为asp文件解析。
(2)当文件.asp;*.jpg llS6.0同样会将文件当做asp文件解析。
IIS 7.0/7.5
默认Fast-CGI开启,直接在url中图片地址后面输入/1.php,会把正常图片当成php解析
Nginx
版本小于等于0.8.37,利用方法和IIS 7.0/7.5一样,Fast-CGI关闭情况下也可利用。
空字节代码 xxx.jpg.php
1、 将php.ini文件中的cgi.fix_pathinfo的值设置为0,这样php再解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404页面
2、 php-fpm.conf中的security.limit_extensions后面的值设置为.php
Apache
上传的文件命名为:test.php.x1.x2.x3,Apache是从右往左判断后缀
Lighttpd
xx.jpg/xx.php,
6.目标站发现某txt的下载地址为\
http://www.test.com/down/down.php?file=/upwdown/1.txt,\
你有什么思路?
在file=后面尝试输入index.php下载它的首页文件,然后在首页文件里继续查找其他网站的配置文件,可以找出网站的数据库密码和数据库地址。
7.发现 demo.jsp?uid=110 注入点,你有哪几种思路获取 webshell,哪种是优选?
1.有写入权限的,构造联合查询语句使用using INTO OUTFILE,可以将查询的输出重定向到系统的文件中,
2.写入 WebShell 使用 sqlmap –os-shell 原理和上面一种相同,来直接获得一个 Shell,这样效率更高,通过构造联合查询语句得到网站管理员的账户和密码,然后扫后台登录后台,再在后台通过改包上传等方法上传 Shell
8.如何利用Google Hacking快速查找URL中含有/admin/login.php的网站/
并列举其他常用的Google Hacking高级操作参数。
site:找到与指定网站有关的URL
参数:
Intext:搜索带有关键字的页面
Inurl:搜索含有关键字的链接
Intitle:搜索含有关键字标题
Cache:查看指定URL快照
Filetype:搜索指定类型文件
9.例如www.baidu.com 存在DNS域传送漏洞,\
写出利用方法(Windows和Linux任意一种即可)
Linux:
dig @存在域传送漏洞服务器ip地址 axfr
查询内容【域名,不要带www】
Windows:
nslookup
set type=ns
ls -d url >url.txt
防御方法:
区域传送是DNS常用的功能,区域传送的漏洞也不是没有办法解决的,严格限制允许区域传送的主机即可
- 注入分为哪几种?这几种在注入的时候有什么分别?
三种:字符型,数字型,搜索型;
区别:字符型有闭合字符 数字型没有 搜索型是在搜索框进行注入
- XSS分为几种?简单描述cookie和session
dom型,反射型,存储型
cookies文件的内容大致上包括了诸如用户名、密码、设置等信息。保存在客户端
session中主要保存用户的登录信息、操作信息等等。此 session将在用户访问结束后自动消失
存储数据的大小不同,一个 cookie存储的数据不超过3 K; session存储在服务器上可以任意存储数据,但是,当 session存储数据太多时,服务器可选择进行清理。
- 请列举常见的可以对网站进行自动化的web扫描工具
Awvs:web站点扫描
Nessus:kali自带的web站点扫描
Nikto:这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。
其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。
Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker的反IDS方法。
13.甲方重要网站被黑客上传了WEBSHELL并截图证明,\
身为乙方安全工程师的你负责处理此事,\
请思考,你需要做些什么?如果需要应急,请从Windows和Linux两个\
服务器方面入手,分别写出你的应急思路
一、Linux应急响应
主要流程步骤:
①识别现象-> 从客户场景的主机异常现象出发,先识别出病毒的可疑现象
②清除病毒-> 然后定位到具体的病毒进程以及病毒文件,进行清除
③闭环兜底-> 病毒一般会通过一些自启动项及守护程序进行重复感染,所以我们要执行闭环兜底确保病毒不再被创建
④系统加固-> 将主机上的病毒项清除干净后,最后就是进行系统加固了,防止病毒从Web再次入侵进来。
Linux 账号安全 历史命令 检查异常端口 检查异常进程 检查开机启动项 检查定时任务 检查服务 检查异常文件 检查系统日志
14.你常用的渗透工具有哪些,最常用的是哪个?
burpsuite nmap cs metasploit
- windows 权限控制,种后门有哪几种方式?
服务,启动目录,注册表,计划任务,镜像劫持,shift
- php文件包含有哪些函数?
include include_once require require_once
- php命令执行有哪些函数?
system、exec、popen 、passthru、shell_exec eval() assert() preg_replace() call_user_func() $a($b)
- mysql的网站注入,5.0以上和5.0以下有什么区别?
5.0以下不存在Information_schema,数据库表,字段需要盲猜
19.mysql注入点,对目标站直接写入一句话\
需要具备哪些条件?\
读文件函数是什么?写shell函数是什么?
条件:root权限以及网站的绝对路径。
读文件函数:load_file()
写shell函数:into outfile或dumpfile
20.phpmyadmin 如何渗透?
phpmyadmin可尝试爆破,
老版本输入登录用户名不输入密码登录,
低权限可读文件,获取web配置继续以root身份getshell。
高权限可以利用文件包含,或者直接out file写shell。
还可以利用日志文件getshell。
- sqlmap查询当前数据库参数是啥?
一。注入access数据库常用的参数
sqlmap.py -u "url" //判断参数是否存在注入
sqlmap.py -u "url" --tables //猜解表名
sqlmap.py -u "url" --columns -T "要猜解的表名" //猜解列名
sqlmap.py -u "url" --dump -C "列名" -T “表名” //爆出字段数据
二。注入MySQL数据库常用参数
sqlmap.py -u "url" //判断参数是否存在注入
sqlmap.py -u "url" --current-db //查看网站当前数据库
sqlmap.py -u "url" --is-dba //查看当前用户权限
sqlmap.py -u "url" --tables //猜解表名
sqlmap.py -u "url" --columns -T "要猜解的表名" //猜解列名
sqlmap.py -u "url" --dump -C "列名" -T “表名” //爆出字段数据
- 如何判断web服务器是linux还是windows?
TTL值判断。大于100是win,小于是linux
文件大小写,但是不准确有些windows下web服务器自身区分大小写。
http请求返回头。
Web报错。
404页面分析判断。
- CSRF、XSS 、XXE、Ssrf 分别是什么?以及修复方式?
csrf 跨站请求伪造 增加token 增加Referer 新增 HTTP Header
XSS 跨站脚本攻击,一般可获取cookie,挂马钓鱼等操作。 对用户的输入(和URL参数)进行过滤,对输出进行html编码 过滤URL输出,转化为html格式
XXE xml外部实体注入,读取文件等,特殊情况下可直接获取权限。 过滤用户提交的XML数据 使用开发语言提供的禁用外部实体的方法
SSRF 服务器端请求伪造,通常在web加载资源图片地方容易产生,可探测内网,如果有redis可以尝试getshell。
限制协议为HTTP,HTTPS,或禁止使用不需要的协议
设置URL白列表或限制内网IP
过滤返回信息
统一错误信息
限制请求的端口为http常用的端口
- 常见的不同web服务器解析漏洞? IIS apache nginx 等怎么利用
IIS 5 6 /a.asp/a.jpg a.asp;x.jpg 对于IIS服务器5版本和6版本存在两个解析漏洞,分别为目录解析和文件解析
目录解析
简介:在网站下建立文件夹的名称中以.asp或.asa等作为后缀的文件夹,其目录内任何扩展名的文件都被IIS当作asp可执行文件去解析并执行.
文件解析/后缀解析
简介:在IIS6.0下,分号后面的内容不被解析,举个栗子,xx.asp;.jpg将会当作xx.asp去解析执行.
IIS7 fast-cgi模式 a.jpg/x.php
IIS7/7.5在Fast-CGI运行模式下,在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件。
该解析漏洞利用需两个条件:
- php.ini里cgi.fix_pathinfo=1(默认为1)
2.在”Handler Mapping”中取消勾选以下内容:php-5.3.8>Request Restrictions>Invoke handler only if request is mapped to:
Apache aaa.php.jpg
解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断
配置如下:
AddHandler application/x-httpd-php .php
或者
<FilesMatch ".+\.ph(ar|p|tml)">
SetHandler application/x-httpd-php
</FilesMatch>
Nginx a.jpg/x.php
nginx把以’.php’结尾的文件交给fastcgi处理,对于任意文件名,在后面添加/xxx.php,即可将文件作为php解析。
- linux 和windows应急分别从哪些方面下手?
Windows:检查系统账号安全 检查异常端口、进程 检查启动项、计划任务、服务 日志分析
Linux:账号安全 历史命令 检查异常端口 检查异常进程 检查开机启动项 检查定时任务 检查服务 检查异常文件 检查系统日志
- http返回头里面有哪些项?能说出来几个 分别什么作用?
Content-Type:text/html;charset=UTF-8 告诉客户端,资源文件的类型,还有字符编码,客户端通过utf-8对资源进行解码,然后对资源进行html解析。(类型和字符编码)
Content-Encoding:gzip 告诉客户端,服务端发送的资源是采用gzip编码的,客户端看到这个信息后,应该采用gzip对资源进行解码。(内容编码机制)
Date: Tue, 03 Apr 2018 03:52:28 GMT 这个是服务端发送资源时的服务器时间,GMT是格林尼治所在地的标准时间。(发包时间)
Server:Tengine/1.4.6 这个是服务器和相对应的版本,只是告诉客户端服务器信息。(告诉客户端服务器信息)
Transfer-Encoding:chunked 这个响应头告诉客户端,服务器发送的资源的方式是分块发送的。
Last-Modified: Dec, 26 Dec 2015 17:30:00 GMT 所请求的对象的最后修改日期(按照 RFC 7231 中定义的“超文本传输协议日期”格式来表示)
Connection:keep-alive 这个字段作为回应客户端的Connection:keep-alive,告诉客户端服务器的tcp连接也是一个长连接,客户端可以继续使用这个tcp连接发送http请求。
ETag: “737060cd8c284d8af7ad3082f209582d” 就是一个对象(比如URL)的标志值,就一个对象而言,比如一个html文件,如果被修改了,其Etag也会别修改,所以,ETag的作用跟Last-Modified的作用差不多,主要供WEB服务器判断一个对象是否改变了
- redis 未授权在渗透中如何利用?
寻找web目录,尝试写shell。Linux尝试写启动项,加sshkey远程登录。
- 渗透测试执行流程?
1.前期交互阶段:确定渗透的范围、目标、限制条件以及服务合同细节。
2.信息收集阶段:信息收集是渗透攻击的前提,可以有针对性地制定模拟攻击测试计划,提高模拟攻击的成功率
3.威协建模阶段:使用获取到的信息,来标识出目标系统上可能存在的安全漏洞与弱点
4.漏洞分析阶段:从获取的信息中分析和理解那些攻击途径会是可行的
5.渗透攻击阶段:针对目标系统实施深入研究和测试的渗透攻击
6.后渗透攻击阶段:寻找客户组织最具价值和尝试进行安全保护的信息和资产
7.报告阶段:使用报告文档来表明在渗透测试过程中做了那些
- 简单介绍一下nmap工具及使用?
网络发现和安全审计工具
主机发现
端口扫描
应用程序和版本探测
操作系统探测
-p 指定端口扫描
-sT tcp扫描
-sP ping扫描
-Pn 不进行ping扫描
- nmap在扫描过程中如何规避安全设备?
选项
功能
-T
时序选项
-f
报文分段
--data-length
指定发包长度
--mtu
指定偏移量大小(必须是8的倍数)
-D
使用诱饵进行源地址欺骗
-sl
空闲扫描(源地址欺骗)
--source-port
源端口欺骗
--spoof-mac
源MAC地址欺骗
- 简单介绍一下metasploit工具?
是一个漏洞利用工具 Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。
- metasploit中有哪些模块?
渗透攻击/漏洞利用模块:利用发现的安全漏洞或配置弱点对远程目标进行攻击
攻击载荷模块:目标系统在被渗透攻击之后在目标系统上运行任意命令或者执行特定代码。
辅助模块:负责执行扫描、嗅探、指纹识别等相关功能以辅助渗透测试
空指令模块:是一些对程序运行状态不会造成任何实质性影响的空操作或无关操作指令
编译器模块:对攻击载荷进行各种不同形式的编码
后渗透攻击模块:主要用于在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作
规避模块:主要用于规避Windows Defender防火墙、Windows应用程序控制策略(applocker)等的检查。
- cs有接触过吗?介绍一下cs的功能吧?
渗透测试软件,分为客户端与服务端,可以进行团队分布式操作
功能
端口转发.
扫描多模式端口Listener
Windows exe程序生成
Windows dll动态链接库生成
java程序生成
office宏代码生成
- 什么是Xray?有什么功能?如何使用?
web安全评估工具
功能:xray支持主动、被动多种扫描方式,可以灵活定义Poc
如何使用:可以与burpsuite联动进行对网页的漏洞扫描
- 介绍一下burpsuite工具及其常用模块有哪些?
是由多个不同的小工具(功能模块)组成的集合,工具与工具之间可以联动
Target: 显示目标目录结构的一个功能
Proxy:拦截HTTP HTTPs的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截、查看修改在两个方向上的原始数据流(拦截代理模块)
Intruder:一个定制的高度可配置的工具,对Web应用程序进行自动化攻击,如:枚举标识符、收集有用的数据以及使用fuzzing技术探测常规漏洞(攻击模块)
Repeater: 一个靠手动操作来触发单独的HTTP请求,并分析应用程序响应的工具(重放模块)
Sequencer:用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具Decoder:进行手动执行或对应用程序数据者智能解码编码的工具(编码模块)
Comparer:通常是通过一些相关的请求和响应得到两项数据的—-个可视化的"差异"(对比模块)
- Webshell管理工具有哪些?有什么不同之处?
蚁剑:shell不再进行免杀,触发流量有特定的规则库,在菜刀的基础上做了界面优化
冰蝎:要使用jdk环境,功能更加完善,流量加密,难以被检测
哥斯拉 哥斯拉全部类型的shell均过市面所有静态查杀
哥斯拉流量加密能过市面全部流量waf
菜刀
- 什么是OWASP TOP 10?OWASP top10都有哪些漏洞?
总结了Web应用程序最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。
sql注入,文件包含,xss,文件上传,逻辑漏洞,csrf,ssrf,
OWASP Top 10包括:注入、失效身份验证和会话管理、敏感信息泄露、XML,外部实体注入攻击(XXE)、存取控制中断、安全性错误配置、跨站脚本攻击(XSS)、不安全的反序列化、使用具有已知漏洞的组件、日志记录和监控不足。
38.数据库类型?常见的端口?什么是SQL注入? \
SQL注入的类型有哪些?\
关系型和非关系型
关系型 1、MySql数据库,默认端口是:3306;
2、Oracle数据库,默认端口号为:1521;
3、Sql Server数据库,默认端口号为:1433;
非关系型
- Redis数据库,默认端口号:6379;
2.Memcache d数据库,默认端口号:11211 ;
3.MongoDB数据库,默认端口号:27017;
用户提交带有恶意的数据与SQL语句进行字符串方式的拼接,从而影响了SQL语句的语义,最终产 生数据泄露的现象
攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后台数据库乃至整个应用系统的入侵。
SQL注入的类型有哪些:
数字型
字符型
搜索型
SQL注入自动化注入工具有哪些?SQLmap常用的参数?\
如何绕过WAF?\
sqlmap
-u 直接输入目标url
-r 从文本文件中获取http请求
如何绕过WAF?\
脚本绕过
1大小写绕过
2编码绕过
3利用注释符
4重写绕过
5二阶注入
6宽字节注入
什么是堆叠注入?mysql提权方式有哪些?\
堆叠注入就是将一堆sql语句叠加在一起执行,使用分号结束上一个语句再叠加其他语句一起执行。
提权:udf提权
反弹shell提权
mysql提权之后可以执行命令吗?\
可以
如何突破注入时字符被转义?SQL注入如何防御?
利用宽字节注入,编码注入
适用于数据库使用双字节编码方式(如GBK)WAF利用AddSlashes()等函数对敏感字符进行转义的场景
1分级管理
2参数传值
3使用安全参数
4漏洞扫描
5多层验证
6数据库信息加密
39.什么是XSS?XSS类型有哪些?XSS漏洞有哪些危害?\
XSS漏洞如何防御?
xss跨站脚本攻击
攻击者往web页面或url里插入恶意JavaScript脚本代码且应用程序对用户输入的内容没有过滤,那么当正常用户浏览该页面时,嵌入在web页面的恶意JavaScript脚本代码会被执行,从而达到恶意攻击正常用户的目的。
类型:
反射性xss:它是非持久型,参数型的跨站脚本。
存储型xss:它是将脚本代码写进数据库可以永久保存数据,危害最大
DOM型xss:与反射性相似,但是DOM是树形结构,利用DOM标签
危害:获取用户cookie、键盘记录、xss gets hell、刷流量,执行弹窗广告、传播蠕虫病毒。
防御:
使用htmlspecialchars函数进行实体编码
使用http only对cookie进行限制
对用户输入的内容进行过滤
40.文件上传都有哪些绕过方式?文件上传漏洞应该如何防御?\
.htacees文件有什么作用?\
拿到一个webshell发现网站根目录下有.htaccess文件,\
我们能做什么?
绕过方式:
前端:
1前端js绕过
后端:
2黑白名单绕过
3针对文件类型绕过
4路径截断绕过与普通截断绕过
5 win系统解析漏洞绕过
如何防御:
1文件上传的目录设置为不可执行
2判断文件类型
3使用随机数改写文件名和文件路径
4单独设置文件服务器的域名
5使用安全设备
作用:
1URL重写、自定义错误页面
2 MIME类型配置
3访问权限的控制等
4主要体现在伪静态的应用
5自定义404错误页面
6禁止访问指定文件类型
7图片防盗链
8文件密码保护
9阻止/允许特定IP/IP段
10目录浏览与主页
11将内容符合php语法规则的文件当作PHP文件解析
12匹配文件名中的关键字
13匹配文件名
拿到htaccess文件可以做什么:
匹配文件名
匹配关键字
匹配文件内容
插入<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php .jpg文件会被解析成.php文件
- 什么是文件包含?文件包含分类?\
在php当中包含的函数有哪些?\
php伪协议有哪些?如何利用?文件包含漏洞如何防御?
什么是:
把可重复使用的函数写入到单文件中,在使用该函数时,直接调用此文件,无需再次编写函数,这一调用文件的过程被称为包含。.
分类:
本地文件包含
远程文件包含
在php当中包含的函数有哪些?\
Include
Include_ once
Require
Require_once
php伪协议有 利用:
php://input 可以获取POST的数据流
php://filter 可以获取指定文件的源码
zip:// 可以访问压缩包里的文件
phar:// 和zip://类似绝对路径和相对路径都可以
data:// 同样类似于php://input
防御:
设置白名单
过滤危险字符
限制包含的路径
限制包含的文件类型
关闭危险配置
42.什么是命令执行?命令执行的分类?\
导致远程代码执行、系统命令执行的函数有哪些?\
命令执行漏洞如何防御?
什么是:命令执行漏洞是指攻击者可以随意执行系统命令,
分类:分为远程代码执行,系统命令执行两类
远程代码执行:函数: evval() assert()preg_replace() cal user_func() $a($b)
系统命令执行:函数: system() exec() shell_exec() passthru() popen()反引号
命令执行漏洞如何防御:
1禁用部分系统函数
2严格过滤关键字符
3严格限制允许的参数类型
4使用escapeshellarg函数来处理命令函数
5使用safe_mode_exec_dir指定可执行文件的路径(php.ini)
- 什么是dos、ddos攻击?如何防御?
ddos:攻击就是分布式拒绝服务攻击,指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,可使目标服务器进入瘫痪状态。
DoS:拒绝服务(Denial of Service)指的是通过各种手段,最终导致目标系统崩溃、失去响应,从而无法正常提供资源或服务的情况。
流量净化,增加带宽,提高性能
- 定期扫描漏洞(要确保服务器软件没有任何漏洞,防止攻击者入侵。确保服务器采用最新系统,并打上安全补丁)
- 在骨干节点配置防火墙
- 过滤不必要的服务和端口(过滤不必要的服务和端口,即过滤路由器上的假IP…只打开服务端口已经成为许多服务器的一种流行做法。)
- 检查访问者的来源(使用单播反向路径转发等方法,通过反向路由器查询,检查访客IP地址是否为真,如果为假,则屏蔽。)
- 带宽资源要充裕(网络带宽直接决定了能抗受攻击的能力)
44.抓包工具用过哪些?如何使用?
WireShark
查需要抓包的接口,对接口进行抓包,通过函数进行数据过滤
使用步骤:
1.点击菜单“Capture” -> “Options...” 便会打开抓取配置界面
2.在“Capture”里,选择与外网连接的网卡,不知道选择哪一个,可以点击全部选择
3.在“Capture Filter”中写入过滤条件。这里是用来筛选所抓取报文的。对于AS2端口来说,录入“Port 8080”就是“仅仅抓取端口是8080”的所有通信报文,也可以根据真实使用的端口来选择
4.然后,点击“Start”按钮就可以了。接下来,WireShark会在主界面显示出已经抓取的通讯报文。如果没有任何数据,请检查你的配置是否正确
5.在抓取到数据之后,可以使用菜单“Capture” -> “Stop”来停止抓取,然后使用“File” -> “Save”将抓取到的内容保存在磁盘上,保存之后的文件扩展名一般为“pcapng”文件。这个文件就可以用来分析底层的网络通讯问题。
45.文件权限修改用什么命令?格式是怎么样的?
chmod
字母法:chmod (u g o a) (+ - =) (r w x) (文件名)
数字法:chmod 777 文件名
第一个数字7:代表用户 u 的权限 rwx, 4 (r) + 2 (w) + 1 (x) = 7
第二个数字7:代表用户 g 的权限 rwx, 4 (r) + 2 (w) + 1 (x) = 7
第三个数字7:代表用户 o 的权限 rwx, 4 (r) + 2 (w) + 1 (x) = 7
[u g o a] 含义
u user 表示该文件的所有者
g group 表示与该文件的所有者属于同一组( group )者,即用户组
o other 表示其它用户组
a all 表示这三者皆是
+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。其他参数说明:
-c : 若该文件权限确实已经更改,才显示其更改动作
-f : 若该文件权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本
46.复制文件用哪个命令?\如果需要连同文件夹一块复制呢?
cp
cp -r
{
cp doc1/a.c doc2 表示将doc1下的a.d文件复制到doc2目录下;
cp -r doc1 doc2 表示将doc1及其doc1下所包含的文件复制到doc2下;
cp -r doc1/. doc2 表示将doc1下的文件复制到doc2,不包括doc1目录;
说明:cp参数 -i:询问,如果目标文件已经存在,则会询问是否覆盖;
}
47.终止进程用什么命令? 带什么参数?
kill 命令的基本语法格式如下:
[root@bogon ~]# kill [信号或参数] PID
注意,kill 命令是按照 PID 来确定进程的,所以 kill 命令只能识别 PID,而不能识别进程名。在使用 kill 命令终止一个进程之前,必须知道该进程的 PID,可以通过在一个命令行上输入多个 PIDs 的方法,一次终止多个进程。
参数:
-l:信号,如果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a:当处理当前进程时,不限制命令名和进程号的对应关系
-p:指定 kill 命令只打印相关进程的进程号,而不发送任何信号
-s:指定发送信号
-u:指定用户
48.移动文件用哪个命令?改名用哪个命令?
mv [选项] 源文件或目录 目标文件或目录
. mv命令选项
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不提示直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
改名:mv 原名字 修改的名字(修改目录名字同理)
把123.txt重命名为456.txt
[root@zcwyou zcwyou]# mv 123.txt 456.txt
49.Windows入侵排查思路?
一.检查系统账号安全
1.查看服务器是否有弱口令,远程管理端口是否对公网开放(使用netstat -ano命令、或者问服务器管理员)
2.lusrmgr.msc命令查看服务器是否存在可疑账号、新增账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉
3.用 D 盾或者注册表中查看服务器是否存在隐藏账号、克隆账号
4.结合日志,查看管理员登录时间、用户名是否存在异常
检查方法:Win+R 打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”,导出 Windows 日志–安全,利用 Log Parser 进行分析
二.检查异常端口、进程
1.netstat -ano检查端口连接情况,是否有远程连接、可疑连接
2.任务管理器-进程
三.检查启动项、计划任务、服务
四.检查系统相关信息
查看系统版本以及补丁信息
查找可疑目录及文件
五.日志分析
50.Linux入侵排查思路?
一.账号安全
who 查看当前登录用户(tty本地登陆 pts远程登录)
w 查看系统信息,想知道某一时刻用户的行为
uptime 查看登陆多久、多少用户,负载
1、用户信息文件/etc/passwd
root:x:0:0:root:/root:/bin/bash
account:password:UID:GID:GECOS:directory:shell
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后shell
注意:无密码只允许本机登陆,远程不允许登陆
2、影子文件/etc/shadow
root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留
/etc/passwd 存储一般的用户信息,任何人都可以访问;/etc/shadow 存储用户的密码信息,只有 root 用户可以访问
二.历史命令
通过 .bash_history 查看帐号执行过的系统命令
1、root的历史命令 histroy
2、打开 /home 各帐号目录下的 .bash_history,查看普通帐号历史命令
历史操作命令的清除:history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录
三.检查异常端口
netstat -antlp|more
查看下pid所对应的进程文件路径,
运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)
四.检查异常进程
ps aux | grep pid
- 检查开机启动项
- 开机启动配置文件
/etc/rc.local
/etc/rc.d/rc[0~6].d
六.检查定时任务
crontab -l 列出某个用户cron服务的详细内容
Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
crontab -e 使用编辑器编辑当前的crontab文件
如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件
2、利用anacron实现异步定时任务调度
重点关注
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
七.检查服务
chkconfig --list 命令,可以查看系统运行的服务
八.检查异常文件
九.检查系统日志
Linux的登录日志查看文件
日志默认存放位置:/var/log/
查看可登录的账户 cat/etc/passwd|grep ‘/bin/bash’
查看所有用户最后的登录信息 lastlog
查看用户最近登录信息 last 其中,/var/log/wtmp 存储登录成功的信息、btmp 存储登录失败的信息、utmp 存储当前正在登录的信息
查看当前用户登录系统情况 who
- 介绍一下Linux安全加固?
1.关闭不必要的系统服务
2.更改 SSH 默认端口
3.禁止 root 用户远程ssh 登录
4.限制用户使用su命令切换 root
5.密码复杂度策略
6.检查密码重复使用次数限制
7.检查是否存在空口令账号
8.禁止同时按下ctrl+alt+del重启
9.禁用telnet服务
- 介绍一下windows安全加固?
1.保持 Windows 升级
2.使用 IIS 防范工具
3.移除缺省的 Web 站点
4.如果你并不需要 FTP 和 SMTP 服务,请卸载它们
5.有规则地检查你的管理员组和服务:
6.严格控制服务器的写访问权限
7.设置复杂的密码
8.减少/排除 Web 服务器上的共享
9.禁用 TCP/IP 协议中的 NetBIOS
10.使用 TCP 端口阻塞
11.仔细检查 .bat 和 .exe 文件:每周搜索一次 .bat
12.管理 IIS 目录安全
13.使用 NTFS 安全
14.管理用户账户
15.审计你的 Web 服务器
53.接触过哪些安全设备?分别介绍一下功能?
1、防火墙
防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护。
同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
2、防毒墙
相对于防火墙来说,一般都具有防火墙的功能,防御的对象更具有针对性,那就是病毒。
功能同防火墙,并增加病毒特征库,对数据进行与病毒特征库进行比对,进行查杀病毒。
部署方式同防火墙,大多数时候使用透明模式部署在防火墙或路由器后或部署在服务器之前,进行病毒防范与查杀。
3、入侵防御(IPS)
相对于防火墙来说,一般都具有防火墙的功能,防御的对象更具有针对性,那就是攻击。
防火墙是通过对五元组进行控制,达到包过滤的效果,而入侵防御IPS,则是将数据包进行检测(深度包检测DPI)对蠕虫、病毒、木马、拒绝服务等攻击进行查杀。
功能同防火墙,并增加IPS特征库,对攻击行为进行防御。
4、统一威胁安全网关(UTM)
字面意思就是把威胁都统一了,其实就是把上面三个设备整合到一起了。功能同时具备防火墙、防毒墙、入侵防护三个设备的功能。
5、安全隔离网闸
安全隔离网闸是一种由带有多种控制功能专用硬件在电路上切断网络之间的链路层连接,并能够在网络间进行安全适度的应用数据交换的网络安全设备
54.如何排除设备误报?
修改报警规则,从源头上减少误报
- 拿shell了如何处理?
Window
尽一切可能搜集该主机的信息,如:该主机上各种服务的用户名和密码。为接下来的内网渗透弱口令爆破做准备。
Linux
我们要做的就是先让我们接下来操作的所有命令不在主机上留下任何痕迹。我们可以执行下面的命令,这样我们接下来执行的所有命令都不会在 .bash_history中看到了。这条命令只对当前终端有效!
export HISTFILE=/dev/null export HISTSIZE=0
然后查看当前用户身份,是否是root权限身份,如果不是的话,查看系统版本,是否可以利用已知漏洞提权的,比如 CVE-2016-5195 。 Linux下用SUID提权
然后要做的自然就是维持权限了,传送门——> Linux获取权限
whoami #查看当前用户身份
uname -a #查看系统信息
history #查看命令历史,有可能可以查看到管理员的一些重要命令,包括密码等
last #查看登录历史
cat /etc/passwd #查看用户
cat /etc/shadow #查看密码
56.如何溯源攻击
1、攻击源捕获
安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等
日志与流量分析,异常的通讯流量、攻击源与攻击目标等
服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等
邮件钓鱼,获取恶意文件样本、钓鱼网站URL等
蜜罐系统,获取攻击者行为、意图的相关信息
2、溯源反制手段
IP定位技术
根据IP定位物理地址—代理IP
溯源案例:通过IP端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息
ID追踪术
ID追踪术,搜索引擎、社交平台、技术论坛、社工库匹配
溯源案例:利用ID从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息
网站url
域名Whois查询—注册人姓名、地址、电话和邮箱。—域名隐私保护
溯源案例:通过攻击IP历史解析记录/域名,对域名注册信息进行溯源分析
恶意样本
提取样本特征、用户名、ID、邮箱、C2服务器等信息—同源分析
溯源案例:样本分析过程中,发现攻击者的个人ID和QQ,成功定位到攻击者。
社交账号
基于JSONP跨域,获取攻击者的主机信息、浏览器信息、真实 IP及社交信息等
利用条件:可以找到相关社交网站的jsonp接口泄露敏感信息,相关网站登录未注销
3、攻击者画像
攻击路径
攻击目的:拿到权限、窃取数据、获取利益、DDOS等
网络代理:代理IP、跳板机、C2服务器等
攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等
攻击者身份画像
虚拟身份:ID、昵称、网名
真实身份:姓名、物理位置
联系方式:手机号、qq/微信、邮箱
组织情况:单位名称、职位信息
57.你用过微步吗?介绍下?
微步云沙箱提供完整的多维检测服务,运行环境来分析和收集文件的静态和动态行为数据,结合微步威胁情报云,分钟级发现未知威胁。
58.遇到.exe文件如何处理?
出现exe文件夹解决办法如下:
先丢入云沙箱中查看是否含有病毒,
1、重启电脑,进入安全模式中全盘杀毒,使用顽固木马清除软件清除和通过系统急救箱清除;
2、在系统中直接启动杀毒软件的全盘杀毒功能,同时启用顽固木马清除;
3、因为清除之后隐藏的文件夹无法显示,所以在文件夹选项里设置显示所有隐藏文件;
4、显示被隐藏的文件夹;
5、在运行栏里输入“regedit”运行注册表编辑器。
打开如下位置 :[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden ]问题出现在 CheckedValue 这个键上,可以双击它, 将它的值改为1
59.如何查看当前进程?
Linux:ps
netstat查看端口
netstat -nltp | grep 端口号
-a:显示本机所有连接和监听地端口
-n:网络IP地址的形式,显示当前建立的有效连接和端口
-r:显示路由表信息
-s:显示按协议的统计信息
-v:显示当前有效的连接
-t:显示所有TCP协议连接情况
-u:显示所有UDP协议连接情况
-i:显示自动配置端口的状态
-l:仅仅显示连接状态为listening的服务网络状态
Windows:tasklist
60.介绍一下常见的web应用组件端口(比如mysql、tomcat)?
Mysql :3306
https: 443
http:80
tomcat:8080
Telnet:23
ftp:21
TFTP:69
SSH:22
61.windwos如何查看本地的端口连接状况?
依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。在命令提示符状态下输入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。
Netstat命令用法
命令格式:Netstat -a -e -n -o -s-an
-a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。
-e 表示显示以太网发送和接收的字节数、数据包数等。
-n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。
-o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。
-s 表示按协议显示各种连接的统计信息,包括端口号。
-an 查看所有开放的端口
62.Windows和Linux的日志文件放在哪里?
Windows系统日志:事件查看器
具体步骤如下:
我的电脑 - 右键单击 - 管理 - 计算机管理 - 系统工具 - 事件查看器 - Windows日志;
Win+R 输入eventvwr.msc
Linux系统日志:/var/log
63.服务器存在webshell,如何处理?
1、定位时间范围
通过发现的webshell文件创建时间点,去翻看相关日期的访问日志。
2、Web 日志分析
经过日志分析,在文件创建的时间节点并未发现可疑的上传,但发现存在可疑的webservice接口
- 漏洞分析
- 访问webservice接口,发现变量:buffer、distinctpach、newfilename可以在客户端自定义
4、漏洞复现
尝试对漏洞进行复现,可成功上传webshell,控制网站服务器
5、漏洞修复
清除webshell并对webservice接口进行代码修复。
从发现webshell到日志分析,再到漏洞复现和修复,本文暂不涉及溯源取证方面。
杀毒软件
更多推荐
所有评论(0)