HVV蓝初 开箱即用

发布时间 2023-07-10 18:11:23作者: 守门元

本文作者:Novatamoffat , 转来自FreeBuff

hvv蓝初 看完可去 面试可用 面经

护网蓝队(初级)
主要是会看各种攻击payload,注意常见的payload
练习各种漏洞的利用方法,学会看利用漏洞的请求长什么样,payload长什么样,payload长什么样
给个请求包,能不能认出来是攻击流量,是的话是什么漏洞的利用;

蓝队(初级):基本漏洞扫描和渗透能力 日志分析 安全设备告警分析 能看懂安全产品

前置知识概况

信息收集

服务器的相关信息(真实IP,系统类型,版本开放端口,WAF等)
网站指纹识别(CMS,CDN,证书,DNS记录等)
whois信息,姓名,备案,邮件,电话反差(邮箱丢社工库,社工准备等)
子域名收集,旁站,C段等
Google hacking 针对化搜索,PDF文件,中间件版本,弱口令扫描等
扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄露等
协议,通用漏洞,github源码等

漏洞挖掘

浏览网站,查看网站的规模,功能点,特点
端口,弱口令,目录扫描,对响应端口进行漏洞探测,mysql,ftp,ssh弱口令等
开始检测漏洞,如XSS,SSRF,SQL注入,代码执行,命令执行,越权访问,
任意文件读取,下载,文件包含,远程命令执行,弱口令,编辑器漏洞,暴力破解,重放攻击,服务器漏洞检测,最后使用漏扫工具等
CMS:内容管理系统,位于前端和后端办公系统,一般可以搜索可能会存在对应的源码或者版本漏洞
CDN:构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,
使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
利用谷歌搜索,寻找后台、用户信息泄露,源代码泄露,未授权访问,mdb文件下载,网站配置密码,php远程文件包含漏洞等信息。
中间件:是一种独立的系统软件或服务程序,连接应用程序或系统,即使不同接口仍然能交互信息

漏洞利用&提权

mysql提权、serv-u提权、oracle提权
linux内核漏洞提权
windows溢出提权

OWASP Top10

SQL注入
失效的身份认证
敏感数据泄露
XML外部实体(XXE)
失效的访问控制
安全配置错误
跨站脚本(XSS)
不安全的反序列化
使用含有已知漏洞的组件
不足的日志记录和监控

基础漏洞:

SQL注入

原理(口头语言):用户的输入嵌入到SQL语句中,然后被当做代码执行
成因:未对用户输入的数据做验证或者处理(预编译)
防御:预编译(能够防止SQL注入,但是不能处理%和_特殊字符)
黑名单:对特殊字符进行转义过滤替换或者删除、
白名单:对用户输入进行限制(正则表达式限制)、
规范编码和字符集(编码不同可能会导致宽字节注入)、
参数化查询(原理):不会把参数的内容当做sql语句执行,完成编译后套用参数运行

分类:

头注入:UA(useragent),Referer,cookie
联合查询注入
报错注入 需要用到的函数:updataxml()
rand():产生一个0-1之间随机数,rand(0),随机产生一个0-1的随机数,运行多次产生的结果一样
floor():向下取整,floor(rand()*2),随机产生0和1两个数
group by:分组排列
count():统计数量
concat():将字符串连接起来

布尔盲注
堆叠: 1:select··
时间盲注:需要用到的函数
if(condition,A,B) --如果条件成立返回A,否则返回B;用啥语句替代if???????
sleep(num) --表示延迟几秒
left(m,n) --从左向右截取字符串 m 返回其前 n 位
substr(m,1,1) --取字符串 m 的左边第一位起,1字长的字符串
ascii(m) --返回字符 m 的 ASCII 码
length(m) --返回字符串 m 的长度
count (column_name) --返回指定列的值的数目
宽字节注入:
PHP utf-8编码 数据库GBK编码
PHP防御函数:magic_quotes_gpc()
成因:PHP发送请求到mysql时经过一次gbk编码,PHP会将获取到的数据进行魔术引号的处理,
因为GBK是双字节编码,所以我们提交的%df这个字符和转译的反斜杠组成了新的汉字,
然后数据库处理的时候是根据GBK去处理的,然后单引号就逃逸了出来。
原理:在数据库中使用宽字符集,在web中没有考虑这个问题。
由于0XDF27在web中是两个字符,在php中会对0x27进行转义,把0XDF27变成0XDF5c27

面试中问题
被过滤了要怎么办

(1)过滤关键字使用大小写绕过,双写绕过,URL编码绕过
(2)过滤特殊字符空格使用URL编码绕过
(4)过滤注释使用添加一个闭合方式绕过,逻辑运算绕过
(5)过滤单引号使用宽字符绕过(前提PHP使用GBK编码)
(6)过滤明码数据使用burpsuite加密发送数据绕过
代替空格:/**/、%0a、%0b、%a0

如何写shell:利用日志写shell:

root权限,GPC关闭,知道文件路径 的前提
日志路径:var/log/mysqld.sql
select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'

取得了sql权限之后,要怎么获取系统权限

Mysql_UDF 提权 利用了root高权限,创建一个可以调用 cmd 的函数的 udf.dll 动态链接库,
导出 udf.dll 文件后,我们就可以直接在命令框输入 cmd
限制条件:
1-MySQL 数据库没有开启安全模式(确认secure_file_priv=''是否为空)
2-已知的数据库账号具有对MySQL数据库insert和delete的权限,最好是root最高权限。
3-shell有写入到数据库安装目录的权限。
MOF提权:基本上在Windows Server 2003的环境下才可以成功。
原理是C:/Windows/system32/wbem/mof/目录下的mof文件每隔几秒就会被系统执行一次,
因为这个 MOF 里面有一部分是 VBS脚本,所以可以利用这个VBS脚本 来调用CMD来执行系统命令
如果 MySQL有权限操作 mof 目录的话,就可以来执行任意命令了。

mysql5.0以上和5.0以下有什么区别:

5.0以下没有系统表(information_schema),只能暴力跑表;
为何一个mysql数据库的站,只有一个80端口开放:
1、更改了数据库端口,没有扫描出来。
2、站库分离。
3、3306 端口不对外开放

常见payload:
xss有几种:

XSS跨站脚本攻击

原理: 通过拼接恶意的html代码,利用js语句来执行攻击,实现对用户浏览器的攻击

类型:

- 反射型:攻击代码在url里,输出在http响应中
- 存储型:把用户输入的数据存储在服务器上
- DOM型:通过修改页面的DOM结点形成xss
反射和dom的区别: DOM-XSS是javascript处理输出, 而反射性xss是后台程序处理

XSS绕过:

1.大小写
2.js伪协议
3.没有分号
4.Flash
5.Html5新标签
6.Fuzz进行测试
7.双层标签绕过

修复防御:

1.对输出内容实体化编码,对JavaScript的事件进行过滤
2.对重要的cookie设置httpOnly, 防止客户端通过document.cookie读取 cookie,此 HTTP头由服务端设置。
3.csp防范xss

常问问题:

- xss蠕虫产生条件:用户之间产生交互行为的页面都可能造成xss蠕虫,不一定需要存储型xss

有shell的情况下如何长久控制:

后台登录处加一段记录登录账号密码的js,判断是否登录成功,
如果登录成功,就把账号密码记录到一个生僻的路径的文件中或者直接发到自己的网站文件中。在登录后才可以访问的文件中插入XSS脚本

存储型XSS的危害

此类型的XSS漏洞是由于恶意攻击代码被持久化保存到服务器上,然后被显示到HTML页面之中。
这类漏洞经常出现在用户评论的页面,攻击者精心构造XSS代码,保存到数据库中,当其他用户再次访问这个页面时,就会触发并执行恶意的XSS代码,从而窃取用户的敏感信息

CSRF跨站请求伪造攻击/客户端请求伪造

原理:利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
常出现在:1.能够对外发起网络请求的地方 2.请求远程服务器资源的地方 3.数据库内置功能 4.邮件系统 5.文件处理 6.在线处理工具

协议:

file:在有回显的情况下,利用 file 协议可以读取任意内容
dict:泄露安装软件版本信息,查看端口,操作内网redis服务等
gopher:gopher支持发出GET、POST请求:可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。
gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell
http/s:探测内网主机存活

引发ssrf漏洞的PHP函数

file_get_contents:文件写入字符串,当url是内网文件的时候,会先去把这个文件的内容读出来再写入,导致了文件读取。
fsockopen(主机名称,端口号码,错误号的接受变量,错误提示的接受变量,超时时间)
curl_exec():执行一个curl会话

绕过:

利用@:http://example@127.0.0.1。
例如:http://www.baidu.com@10.10.10.10与http?/10.10.10.10 请求是相同的
添加端口号:http://127.0.0.1:8080
利用短地址:http://dwz.cn/11SMa
ip 地址进制转换
DNS解析 http://127.0.0.1.xip.io/可以指向任意ip的域名:xip.io

利用:利用伪协议对内网信息进行探测

具体利用的方式:file协议查看文件、dict协议探测端口、ophergopher协议 支持GET&POST请求,
同时在攻击内网ftp、redis、telnet、Memcache上有极大作用。利用 gopher协议访问redis反弹shell

防御:

禁止跳转;禁用不需要的协议;黑名单内网ip

常见问题
XSS CSRF SSRF区别:

xss与csrf区别
XSS:跨站脚本攻击;利用站点内的信任用户盗取cookie
CSRF:跨站请求伪造攻击;通过伪装成信任用户请求信任的网站

CSRF与SSRF区别
CSRF(跨站/客户端请求伪造) => 浏览器因为JS偷偷发送数据包
SSRF(服务器端请求伪造)=> 服务器因为你传的参数偷偷发送数据包
C or S => C客户端(client)s服务端(server)

文件上传

原理:由于程序员在对用户文件上传部分的控制不足或者处理缺陷,
而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件,
并通过此脚本文件获得了执行服务端命令的能力。

服务器解析漏洞:

apache:

绕过程序检测:当碰到不认识的扩展名时,将会从后向前解析,直到碰到认识的扩展名为止,如果都不认识,则会暴露其源代码。
在上传文件时,判断文件名是否是PHP,ASP,ASPX,ASA,CER等脚本扩展名,
如果是,则不允许上传,这是可以构造类似1.php.rar等扩展名绕过程序检测,并配合解析漏洞获取webshell

iis

当建*.asa ,.asp,.cer格式的文件夹时,其目录下的任何扩展名的文件都将被IIS当做asp文件进行解析
当文件为*.asp;1.jpg时,IIS会以asp脚本来执行

nginx

原理:Nginx实际上是PHP CGI解析漏洞,在PHP配置文件中有一个关键选项cgi.fi:x_pathinfo,一般是默认开启的,
所以解析到不存在的文件时,PHP会向前递归解析,于是造成了解析漏洞。
攻击者可以上传木马文件,然后在URL后面加上xxx.php(可随便命名),就可以获得网站的webshell。
比如访问http://www.xxx.com/1.jpg/1.php,此时1.jpg会被当做php脚本来解析,这里的1.php是不存在的。

绕过方法

1.黑名单
a.后缀名不完整 .php5 .phtml等
b. .htacess
c.大小写
d.在数据包中 后文件缀名前加空格
e.后缀名前加
f.加上::$DATA
g.未循环验证,可以使用x.php..类似的方法
2.白名单:%00截断,图片马,条件竞争

防御:

1.后端验证:采用服务端验证模式
2.后缀验证:基于白名单,黑名单过滤
3.MIME验证:基于上传自带类型艰检测
4.内容检测:文件头,完整性检测
5.自带函数过滤
6.WAF防护软件:宝塔、云盾等
将上传文件与web服务隔离
白名单过滤、限制上传文件类型
文件上传路径设置为不可执行权限
检查文件上传路径
自带函数检测
自定义函数检测
图片渲染
对上传文件重命名
对文件内容压缩,重新生成文件内容
检查文件内容

文件包含

原理:程序员开发的时候没有对包含的文件进行严格的过滤,攻击者可以构造自己的图片木马文件当做PHP执行

常见包含函数:

include():找不到被包含的文件时只会产生警告,脚本将继续运行。
include_once():找不到被包含的文件时只会产生警告,脚本将继续运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。
require():找不到被包含的文件时会产生致命错误,并停止脚本运行。
require_once():找不到被包含的文件时会产生致命错误,并停止脚本运行。如果该文件中的代码已经被包含,则不会再次包含,即程序只调用一次。

PHP封装协议:

file:// — 访问本地文件系统
http:// — 访问 HTTP(s) 网址
ftp:// — 访问 FTP(s) URLs
php:// — 访问各个输入/输出流(I/O streams)
zlib:// — 压缩流
data:// — 数据(RFC 2397)
glob:// — 查找匹配的文件路径模式
phar:// — PHP 归档
ssh2:// — Secure Shell 2
rar:// — RAR
ogg:// — 音频流
expect:// — 处理交互式的流

利用:

利用../ 目录遍历
利用解析漏洞结合文件上传 绕过waf获取webshell
利用PHP封装协议 读取php文件源码

防御

PHP中使用open_basedir限制访问在指定的目录区域
过滤 点 . 反斜杠 / \,防止跨目录
禁止服务器远程文件包含
尽量不要使用动态包含,可以在需要包含的页面固定写好
危害:敏感信息泄露(任何文件读取);PHP伪协议,文件包含读源码,命令执行;
配合图片马获取webshell

PHP序列化和反序列化

原理:(在变量可控并且进行了unserialize操作的地方注入序列化对象,实现代码执行)未对用户输入的序列化字符串进行检测,
导致攻击者可以控制反序列化过程,从而导致代码执行,SQL注入,目录遍历等不可控后果。
在反序列化的过程中自动融发了某些魔术方法。当进行反序列化的时候就有可能会触发对象中的一些魔术方法。
序列化函数 :serialize():将对象转换成字符串
反序列化函数:unserialize():将字符串转换成对象

魔术方法(文件中存在可利用的类,类中有魔术方法

__wakeup() //使用unserialize时触发
__sleep() //使用serialize时触发
__construct() //创建对象时触发
__destruct() //对象被销毁时触发
__call() //在对象上下文中调用不可访问的方法时触发
__callStatic() //在静态上下文中调用不可访问的方法时触发
__get() //用于从不可访问的属性读取数据
__set() //用于将数据写入不可访问的属性
__isset() //在不可访问的属性上调用isset()或empty()触发
__unset() //在不可访问的属性上使用unset()时触发
__toString() //把类当作字符串使用时触发
__invoke() //当脚本尝试将对象调用为函数时触发
绕过wakeup的要点是:成员属性数目大于实际数目时可绕过

流量分析(PCAP 文件)

1、大量的404请求:目录扫描
2、大量select *** from:SQL注入
3、连续一个IP的多端口请求或多个IP的几个相同端口:端口扫描
4、爆破账号密码:ip.addr219.239.105.18 and http.request.uri matches “edit|uoload|modify”
5、用菜刀链接的包,post请求 ip.addr219.239.105.18 and htpp.request.method==POST

高危端口

21 FTP 可以爆破,FTP匿名登录,anonymous/anonymous
22 SSH
23 telnet
80 web
81 web
139/445 IPC,网络共享(MS17-010)
1433 mssql
1521 oracle
3306 mysql
3389 rdp
6379 redis?? Redis未授权访问,因为没有密码导致谁都能进,能造成信息泄露,反弹shell,向服务器写入ssh公钥,直接用私钥连接
7001/7002 weblogic,各种漏洞
8080 Tomcat,PUT上传webshell,但是JSP是被过滤的,可以使用1.jsp%00;后台部署war包;幽灵猫命令执行
8888
50050 cobalt strike的默认开放端口

log4j反序列化

核心原理为,在正常的log处理过程中对**${**这两个紧邻的字符做了检测,一旦匹配到类似 于表达式结构的字符串就会触发替换机制,
将表达式的内容替换为表达式解析后的内容,而不 是表达式本身,从而导致攻击者构造符合要求的表达式供系统执行 。
漏洞成因、特征:在打印日志的时候,如果日志内容中包含关键词 ${,攻击者就能将关键字所包含的内容当作变量来替换成任何攻击命令,并且执行。

安全工具

nmap

1 .-Pn,禁ping扫描,nmap在对主机执行扫描动作之前,会发送一个ICMP包,去探测远程主机是否存活,
如果对方有返回的话,nmap才认为这个扫描任务执行是有意义的,并且开始扫描。
如果没有返回包,则不执行扫描。如果对方主机设置了禁ping,在不加-Pn的情况下,是不会返回扫描结果的。
2 .-sP,此命令的意义在于是令nmap去用ping命令去探测对方主机的存活情况。
如果对方的机器能ping通的话,就告诉我们host is up。不绝对准确,因为可能对方主机设置了禁ping。
3 .-sS,半开放扫描。在TCP协议的三次握手的过程当中。
会由客户端向服务端发送SYN包,如果服务器的端口是开放的,服务器则会返回一个SYN包+一个ACK,第三部再由客户端验证服务器的ACK是否正确,
如若正确,则发送ACK包到服务器以便完成TCP连接的建立。这种扫描的原理就是客户端只执行第一步,
服务端执行第二步,第三步不做了。这种方法的好处是可以规避日志的记录。
4 .-sT,TCP协议三次完全扫描。
5 .-PR,使用ARP协议,进行局域网内主机扫描,这种扫描会令速度更快,并且结果更加准确。
6 .-O,用于探测对方主机的操作系统的。
7 .-p,计算机的端口是有65535个的。如果扫描全端口,则写作-p 1-65535
8 .-T4,默认情况是3。
9 .-P0,用于在禁ping时探测主机存活。

sqlmap

sqlmap获取webshell的参数

sqlmap的--os-shell参数取得shell
本质:写入两个 php 文件,其中的一个可以让我们用来执行命令,而另外一个可以让我们可以上传文件。
执行条件有三个:
1)网站必须是root权限
2)攻击者需要知道网站的绝对路径
3)GPC为off,php主动转义的功能关闭

goby

goby,扫描工具
可以根据情形定制一些常见端口扫描
不仅可以扫IP ,还可以扫域名
扫描的时候也可以加上 想测试是否存在的 漏洞的 POC
可以自定义暴破字典
最后报告还可以导入导出

渗透思路

渗透测试流程:如果给你一个网站,你的渗透测试思路是什么?/拿到一个待检测的站,你觉得应该先做什么?
渗透测试步骤 信息收集 漏洞挖掘 漏洞扫描 漏洞利用 权限提升 日志清理 总结报告以及修复方案

信息收集

a、服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等)
b、网站指纹识别(包括,cms,cdn,证书等),dns记录
c、whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等)
e、子域名收集,旁站,C段等
f、google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等
g、扫描网站目录结构,爆后台,网站banner,测试文件,备份等敏感文件泄漏等
h、传输协议,通用漏洞,exp,github源码等

漏洞挖掘

a、浏览网站,看看网站规模,功能,特点等
b、端口,弱口令,目录等扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。
c、XSS,SQL注入,上传,命令注入,CSRF,cookie安全检测,敏感信息,通信数据传输,暴力破解,任意文件上传,
越权访问,未授权访问,目录遍历,文件 包含,重放攻击(短信轰炸),服务器漏洞检测,最后使用漏扫工具等

漏洞扫描

开始检测漏洞,如XSS,SSRF,SQL注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含,远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等

漏洞利用

利用谷歌搜索,寻找后台、用户信息泄露,源代码泄露,未授权访问,mdb文件下载,网站配置密码,php远程文件包含漏洞等信息。

利用msf nc一些工具拿下shell或者一些其他的权限

权限提升

a、mysql提权,udf提权,mof提权,serv-u提权,oracle提权
b、windows 溢出提权
c、linux脏牛,内核漏洞提权 日志清理 总结报告及修复方案

搜索引擎

FOFA语法

查询指定cms的管理系统:app="cms"
domain= 搜索根域名带有xx的网站。例:domain=“baidu.com”
host=从url中搜索网站注意搜索要用host作为名称。例:host= “.edu.cn”
port= 查找对应443端口的资产。例:port=3389
protocol= 搜索制定协议类型(在开启端口扫描的情况下有效)。例:protocol=ssh cert=搜索证书(https或者imaps等)中带有域名的资产。例:cert=baidu.com
banner= 搜索协议中带有账户文本的资产。例:banner=users && protocol=ftp
type=搜索所有协议资产,支持subdomain和service两种。例:type=servicce
server== 搜索服务器、中间件名称。例:server=apache
高级语法需要用管道符连接如:‘|| ‘ ‘&&’,如下:
body=”后台”&&domain=”xxx.com” 查询指定域名的后台
Header=”Hikvision” 找摄像头

谷歌语法

| intext 寻找正文中含有关键字的网页
| intitle 寻找标题中含有关键字的网页
| allintitle 用法和intitle类似,只不过可以指定多个词
| inurl 将返回url中含有关键词的网页
| allinurl 用法和inurl类似,只不过可以指定多个词,// 所有关键词必须出现在在文本中
| site 指定访问的站点
| filetype 指定访问的文件类型
| cache 显示页面的缓存版本
使用shodan,夸克

zoomeye语法

钟馗之眼(zoomeye),侧重于web容器,指纹的搜索。
指纹搜索:例如:php app:dedecms var:5.7。
app:组件名称,例如:app:apache。
ver:组件版本,例如:ver:2.0。
OS:操作系统,例如:os:window。
Service:服务名称,例如:service:vpn。
Cidr:网段,例如:cidr:192.168.1.1/24。
Devic:设备名,例如:devic:router。
keyword:关键字查询,例如:keyword:technology。
尝试弱口令:例如:php app:phpmyadmin。
搜索摄像设备:1.DVRDVS-Webs,2.JAWS等等。

wireshark简单过滤规则

过滤 ip: 过滤源 ip 地址:ip.src1.1.1.1;,目的 ip 地址:ip.dst1.1.1.1;
过滤端口: 过滤 80 端口:tcp.port80,源端口:tcp.srcport80,目的端口:tcp.dstport80
协议过滤: 直接输入协议名即可,如http协议; 参考见:https://blog.csdn.net/scanf_linux/article/details/100995055
模式过滤: 过滤 get/post 包 http.request.mothod
"GET/POST

菜刀 蚁剑 冰蝎 流量特征

菜刀特征

使用了base64的方式加密了发送给“菜刀马”的指令,其中的两个关键payload z1和z2,这个名字是可变的

蚁剑特征

默认的USER-agent请求头 是 antsword xxx,
但是可以通过修改:/modules/request.js 文件中请求UA 绕过其中流量最中明显的特征为@ini_set("display_errors","0");
这段代码基本是所有 WebShell客户端链接PHP类WebShell都有的一种代码蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“_0x......=”这种形式(下划线可替换),
所以以_0x开头的参数名也很可能就是恶意流量

冰蝎特征

冰蝎看包没有发现什么特征,但是可以发现它是POST请求的
1、Accept头有application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征(UA头的浏览器版本很老)
2、特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可 知octet-stream的意思是,只能提交二进制,
而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用

冰蝎2特征:

默认Accept字段的值很特殊,而且每个阶段都一样冰蝎内置了十余种UserAgent ,每次连接 shell 会随机选择一个进行使用。但都是比较老的,r容易被检测到,
但是可以在burp中修改ua头。Content-Length: 16, 16就是冰蝎2连接的特征

冰蝎3特征:

冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态 密 钥获取;
php抓包看包没有发现什么特征,但是可以发现它是POST请求的
1)Accept头application/xhtml+xmlapplication/xmlapplication/signed- exchange属于弱特征
2)ua头该特征属于弱特征。通过burp可以修改,冰蝎3.0内置的默认16个userAgent都比较老。
现实生活中很少有人使用,所以这个也可以作为waf规则特征jsp抓包特征分析Content-Type: application/octet-stream 这是一个强特征查阅资料可知 octet-stream的意思是,
只能提交二进制,而且只能提交一个二进制,如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组);很少使用

应急响应

接下来是比较少接触的一部分,关于应急响应

网站被挂马如何应急

1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件

入侵排查的流程

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分析

判断威胁情报是否有误,就看wireshark,进行流量分析判断是否为正常业务操作

判断自己是否给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时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的

设备报警,SQL注入的报警,能看到攻击时间,攻击ip,payload,如何判断是误报还是真是攻击,如果是真实攻击,怎么判断他攻击是否成功,如果成功怎么处理
先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的

安全设备的部署

WAF

尝试在自己服务器上开通防火墙,使用cname接入的,在控制台添加要防护的网站域名,然后修改dns解析设置把流量解析到waf。(获取经验)
ufw(简单防火墙Uncomplicated FireWall)
检查防火墙的状态(默认 inactive) # ufw status
防火墙版本 # ufw version
启动ufw防火墙 # ufw enable
关闭ufw防火墙 # ufw disable
默认禁止访问所有 # ufw default deny
开放22/TCP端口 # ufw allow 22/tcp
开放53端口(tcp/udp) # ufw allow 53
禁止外部访问 # ufw deny 3306
删除已经添加过的规则 # ufw delete allow 22
允许此IP访问所有的本机端口 # ufw allow from 192.168.1.100
删除上面的规则 # ufw delete allow from 192.168.1.100
查看规则,显示行号 # ufw status numbered
删除第三条规则 # ufw delete 3
关闭ufw # ufw disable
禁止对8888端口的访问 # ufw deny 8888
打开来自192.168.0.1的tcp请求的22端口 # ufw allow proto tcp from 192.168.0.1 to any port 22

蜜罐

蜜罐:就是一台全是漏洞的靶机,吸引黑客来进攻蜜罐系统,然后掌握黑客的信息 (就类似于诱饵)
尝试搭建微步的Hfish蜜罐或者其他的(获取经验)

网上常见面试问题:

那么如果叫你部署一个蜜罐,你会开放哪些端口,为什么//你认为企业的主机哪些端口存在风险//你认为企业应该注意哪些地方的加固

21端口:FTP文件传输协议端口,用来捕获黑客的FTP爆破行为
22端口:SSH端口 链接Linux主机SSH服务的端口,用来捕获黑客的SSH爆破行为
23端口:Telnet服务,命令执行服务,用来探测黑客对于telnet的爆破
80端口/443端口:WEB服务的端口,用来捕获黑客的WEB攻击行为特征
1521:oracle数据库开放端口,捕获黑客的oracle爆破行为,UDF命令执行等行为
3306:MYSQL端口,用来捕获黑客对于mysql数据库的爆破行为,UDF命令执行等行为
3389:Windows远程桌面端口,用来捕获黑客的爆破行为
下面的相对来说不重要
6379端口:REDIS端口,捕获黑客REDIS未授权访问的攻击,黑客利用redis写ssh秘钥,写webshell,执行计划任务等的攻击
445端口:SMB服务端口-黑客利用永恒之蓝Enternalblue的攻击行为,黑客的SMB账号爆破(通俗简单理解,爆破windows账号密码)
1433端口:Microsoft SQLserver端口,用来捕获黑客爆破1433端口的行为,并且查看黑客利用sqlserver xp_cmdshell,sp_cmdshell等组件命令执行的操作,存储过程的利用
135、139端口:捕获黑客的利用RPC共享的攻击(当蜜罐部署在内网)
比如在8080端口,部署一个假的vpn页面,吸引黑客攻击

内网渗透全流程

内网渗透流程:(每一步操作都要有所了解,对不了解的,可以百度或者进行重点加固,加深印象)
拿到跳板后,先探测一波内网存活主机,用net user /domian命令查看跳板机是否在域内,
探测存活主机、提权、提取hash、进行横向移动,定位dc位置,查看是否有能直接提权域管的漏洞,拿到dc控制权后进行提权,
然后制作黄金票据做好维权,清理一路过来的日志擦擦脚印

信息收集

主机信息收集

1.网络配置 ipconfig /all
2.操作系统 systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"
3.软件信息 systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
4.服务信息 wmic /namespace:\root\securitycenter2 path antivirusproduct GET displayName,productState, pathToSignedProductExe
5.用户列表 net user
6.本地管理员信息 net localgroup administrators
7.端口信息 netstat –ano
8.补丁信息 wmic qfe get Caption,Description,HotFixID,InstalledOn
9.查防火墙 netsh firewall show config

域内信息收集

是否有域 使用ipconfig /all命令可以查看网关IP地址、DNS的IP地址以及判断当前主机 是否在域内:通过反 向解析查询命令nslookup来解析域名的IP地址,
使用解析出来的IP地 址进行对比,判断域控制器和 DNS服务器是否在同一台服务器上
登录域信息 net config workstation 域内信息收集
ICMP探测内网 for /L %I in (1,1,254) DO @ping-w 1 -n 1 192.168.174.%I | findstr "TTL="
ARP探测内网

端口信息收集

查询域信息 net view /domain
查询域主机 net view /domain:XXX
查询域用户 net group /domain
查找域控 Nslookup -type=SRV _ldap._tcp net time /domain net group "Domain Controllers" /domain
查域用户信息 net user /domain
查询域管理员 net group "Domain Admins" /domain
查询域sid信息 whoami /all

内网环境不出网

1.通过webshell实现内网socket代理
2.正向链接
3.ssh隧道
4.协议不同出网的方式不同,如dns对应dnscat2 tcp对应
5.测试是否是特定协议或端口出网

蓝队初级问的不难,应急响应比较多一些,不过多看一些网上的资料也可以 ,基本漏洞扫描和渗透能力 日志分析 安全设备告警分析 能看懂安全产品,
重点加深应急响应方面的就可以了,其次就是日志分析和安全设备告警的分析,渗透测试;

护网hvv 2023某大厂二面review

内存马你怎么查杀

如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理,
列出一个排查思路——
1、如果是jsp注入,日志中排查可以jsp的访问请求。
2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。
3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller了类型的话根据上报webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。

shiro 550 721 有什么区别

Apache Shiro反序列化漏洞:Shiro rememberMe(Shiro-550) Shiro Padding Oracle Attack(Shiro-721)
Shiro 550和721都是密码学中常用的加密算法标准,但它们使用的加密密钥长度和加密算法细节有所不同。下面是它们的简要区别: Shiro 550:使用56位密钥进行加密,是DES算法的一种变体。DES算法已经被认为是不安全的,因为它的密钥长度过短,易受到暴力破解攻击。因此,Shiro 550算法已经被淘汰,不再被推荐使用。 Shiro 721:使用128位密钥进行加密,是AES算法的一种变体。AES算法是目前广泛使用的加密算法,具有高度的安全性和可靠性。Shiro 721是对AES算法的一个改进,增加了一些加密特性,使其更加适用于某些特定的应用场景。 综上所述,Shiro 550已经不再被推荐使用,而Shiro 721是目前较为安全和可靠的加密算法之一。

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响应中

溯源会用些什么工具或者在线网站,都可以说说常用的服务和对应的端口

查入侵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等进行判断,
获取姓名电话等丢社工库看看能不能找到更多信息然后收工

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:邮件日志,包含了邮件服务器的日志信息。

windows事件ID一般是多少

Windows事件ID是用来标识不同事件类型的数字代码。不同类型的事件有不同的事件ID,通常情况下,Windows系统的事件ID是在100到999之间的整数。例如,系统启动时的事件ID为100,关机时的事件ID为200,应用程序错误的事件ID通常在1000以上。

需要注意的是,不同版本的Windows操作系统可能会有不同的事件ID编号范围和对应的事件类型,因此在查看和分析Windows日志时,需要根据具体情况进行理解和处理。

为什么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: \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应用程序应该使用最新的安全框架和库来保护自己,以及及时更新系统和软件的安全补丁。

用过哪些设备

椒图和天眼

log4j特征,如何判断他攻击成功没

以下是Log4j漏洞的一些特征:
攻击者使用恶意请求中的特定参数名称和值来触发Log4j漏洞。这些参数包括JNDI名称和恶意JNDI URL。
攻击者通常会使用反向Shell或远程访问工具来执行任意命令或控制受感染的系统。
攻击者的攻击可能被记录在受感染应用程序的日志中。这些日志通常会显示异常或错误信息,或者包含关于漏洞攻击的详细信息。
受感染的应用程序通常会发起大量的网络请求,尝试将攻击者的命令或代码发送到攻击者的服务器。
要判断Log4j漏洞攻击是否成功,可以采取以下措施:
监视受感染应用程序的日志,查看是否有异常或错误信息,或者是否包含与攻击相关的信息。
监视网络流量,查看是否有大量的请求被发送到攻击者的服务器。
检查系统中的异常或警告信息,例如系统崩溃、不正常的CPU使用率或内存使用率等。
在受感染的系统中进行代码审查,查看是否有与攻击相关的代码或配置文件。
如果发现应用程序受到了Log4j漏洞攻击,应立即采取措施来解决漏洞,并且必须对系统进行全面检查,以确保没有其他漏洞或后门存在。同时,建议采取安全措施,例如升级Log4j版本、禁用JNDI功能、限制应用程序的输入等,以防止类似漏洞的再次出现。
log4j远程代码执行漏洞
原理:Log4j 是Apache 的一个开源项目,是一款基于Java 的开源日志记录工具。
具体操作:
在正常的log处理过程中对${这两个紧邻的字符做了检测,一旦匹配到类似于表达式结构的字符串就会触发替换机制,
将表达式的内容替换为表达式解析后的内容,而不是表达式本身,从而导致攻击者构造符合要求的表达式供系统执行
修复:升级 Log4j 到最新版本,根据业务判断是否关闭 lookup

sql注入特征,看他是否攻击成功

SQL注入攻击通常具有以下特征:
基于输入参数的攻击:SQL注入攻击是基于Web应用程序的输入参数进行的。攻击者通常通过修改输入参数中的某些值来注入恶意SQL语句。
错误提示信息:SQL注入攻击可能会导致Web应用程序返回错误提示信息。攻击者可以根据这些错误提示信息,获得Web应用程序的数据库结构和其他敏感信息。
时间延迟:攻击者可能会在恶意SQL语句中添加时间延迟语句,以便测试数据库的响应时间,从而获取敏感信息。
数据库操作:SQL注入攻击可以让攻击者执行未经授权的数据库操作,例如删除、修改、添加数据等。
为了判断SQL注入攻击是否成功,可以注意以下几点:
检查Web应用程序的日志和错误提示信息,是否包含异常的SQL语句和错误信息。
检查数据库的日志,是否存在异常的数据库操作记录。
检查Web应用程序的用户数据和操作结果,是否存在异常情况,例如修改、删除、添加了未经授权的数据。
进行代码审计,检查Web应用程序的代码是否存在漏洞,例如没有对输入参数进行充分的过滤和验证。

原理(口头语言):用户的输入嵌入到SQL语句中,然后被当做代码执行
成因:未对用户输入的数据做验证或者处理(预编译)
可有看设备报警,SQL注入的报警,能看到攻击时间,攻击ip,payload,如何判断是误报还是真是攻击,如果是真实攻击,怎么判断他攻击是否成功,如果成功怎么处理
先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的

SQL注入防护方法:

使用安全的Api
对输入的特殊字符进行escape转义处理
使用白名单来规范化输入验证方法
对客户端输入进行控制,不允许输入SQL注入相关的特殊字符
服务器端在提交数据库进行SQL注入查询之前,对特殊字符进行过滤,转义,替换,删除
预编译

给你一个内网ip,告警的内网ip,怎么快速定位到他在那栋楼哪层

找到IP地址所在的子网掩码:通过查看IP地址和子网掩码可以确定这个IP地址所在的子网范围,从而缩小搜索范围。
确定IP地址的MAC地址:可以通过ARP请求获取到IP地址对应的MAC地址,然后查找交换机或路由器的ARP缓存表,找到MAC地址对应的端口。
确定交换机或路由器的位置:根据找到的交换机或路由器的端口,可以通过查看设备的物理位置和IP地址,确定设备的位置。
确定线缆连接位置:如果找到的设备有多个端口,则需要检查哪个端口连接了目标IP地址所在的子网,进而找到线缆的连接位置。
确定线缆的路径:根据线缆的连接位置,可以确定线缆的路径,从而确定目标IP地址的物理位置。

几万条告警,怎么快速找到攻击成功的告警,哪些是误报

要把告警日志数据转换为情报数据进行输出分析 告警日志数据主要来自: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,分析流量是不是正常的业务操作。

内存马怎么手工排查,不用工具,怎么手动杀内存马

内存马如何排查:如果发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪和分析,也是根据各类型的原理,
列出一个排查思路——1、如果是jsp注入,日志中排查可以jsp的访问请求。
2、如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法。
3、根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller了类型的话根据上报webshell的url查找日志,filter或者listener类型,可能会有较多的404但是带有参数的请求。
杀马:
终止进程:如果确认某个进程是内存马,可以尝试终止该进程。在Windows系统中,可以通过任务管理器或者命令行工具taskkill来终止进程;在Linux系统中,可以通过命令行工具kill或者pkill来终止进程。
删除文件:如果进程终止后,还需要删除相关的文件,以防止内存马重新启动。在Windows系统中,可以直接删除相关文件;在Linux系统中,需要先终止进程,然后再删除文件。

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时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的

怎么做溯源,国外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地址、协议和端口等信息,可以混淆攻击者的追踪。

应急响应要干什么啊

应急响应通常包括以下步骤:
确认安全事件:要及时发现安全事件,快速确认其类型、范围和危害程度,并进行预警和通报。
切断攻击链:要采取有效措施,尽可能快地切断攻击链,阻止攻击扩散和进一步损失。
收集证据:要收集、保留安全事件相关的证据和信息,以便后续的调查和追踪。
分析病毒特征:要对病毒、木马等安全事件的特征进行分析,找出其入侵方式、攻击目的、传播途径等信息,以便防止类似安全事件的再次发生。
应对措施:根据安全事件的类型和程度,采取相应的应对措施,如修补漏洞、清除恶意软件、升级补丁、修改配置等。
恢复业务:在限制损失和消除安全风险的基础上,尽快恢复业务,保障用户和业务的正常运转。
事件总结:要对安全事件的应急响应过程进行总结和反思,发现问题并进行改进,提高应急响应能力。
常见的应急响应事件分类: web入侵:网页挂马、主页篡改、Webshell 系统入侵:病毒木马、勒索软件、远控后门 网络攻击:DDOS攻击、DNS劫持、ARP欺骗 网站被挂马如何应急(具体流程都是差不多的,看着变)
1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件

判断威胁情报是否有误,就看wireshark,进行流量分析判断是否为正常业务操作

判断自己是否给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时间点去关联分析,可以还原攻击手法
快速定位就是看进程和内存看占用时间长和占用率高的

分析日志用什么工具啊

使用日志分析工具,如LogForensics,Graylog,Nagios,ELK Stack等等

那几个漏洞的原理啊

Owasp top 10漏洞原理
注入攻击:攻击者在Web应用程序中注入恶意代码,从而可以获取对应用程序的控制权。注入攻击通常利用输入验证不足、错误的编码和解码、错误的数据库配置等漏洞进行。
跨站脚本攻击(XSS):攻击者通过在Web应用程序中注入恶意脚本来攻击用户。这种攻击通常会利用Web应用程序中对输入数据的不充分验证和处理漏洞。
无效身份验证和会话管理:攻击者通过伪造用户身份,绕过身份验证和会话管理机制,从而获取对Web应用程序的控制权。这种攻击通常利用会话管理中的漏洞,如会话劫持、会话固定、会话注销等漏洞。
暴露的敏感数据:攻击者通过窃取或泄露Web应用程序中的敏感数据,如密码、信用卡号等,从而对用户或组织造成损害。这种攻击通常利用Web应用程序中对敏感数据处理的漏洞,如不正确的访问控制、加密和解密问题等漏洞。
安全配置错误:攻击者利用Web应用程序中的安全配置错误,如错误的默认配置、不必要的服务、弱密码等漏洞,从而获取对Web应用程序的控制权。
跨站请求伪造(CSRF):攻击者利用用户在登录状态下对Web应用程序的信任,向Web应用程序发起恶意请求。这种攻击通常利用Web应用程序中对输入数据的不充分验证和处理漏洞。
不安全的加密传输:攻击者可以通过窃取或篡改传输过程中的数据,从而获取敏感信息。这种攻击通常利用Web应用程序中使用的不安全加密算法和协议,如不安全的SSL/TLS协议等漏洞。
不安全的组件:攻击者利用Web应用程序中使用的不安全组件,如第三方组件、插件、库等,从而获取对Web应用程序的控制权。
访问控制不当:攻击者通过不当的访问控制,绕过应用程序的安全限制,从而获取对Web应用程序的控制权。这种攻击通常利用Web应用程序中对访问控制的不充分验证和处理漏洞,如不正确的授权、会话劫持、逻辑错误等漏洞。

内存马有几种类型

内存马是一种在受感染的主机内存中运行的恶意软件。一般来说,内存马可以分为以下几种类型:
注入型内存马:通过利用漏洞将恶意代码注入到正常进程中,从而在内存中运行。
自执行型内存马:将恶意代码写入自启动项,启动后自动运行。
进程注入型内存马:利用进程注入技术,在受感染进程的内存中运行恶意代码。
Hook型内存马:利用Windows API的Hook机制,修改进程中的关键函数,从而运行恶意代码。
要判断内存马的类型,可以使用反病毒软件或专门的安全工具对受感染主机进行扫描和分析。一般来说,不同类型的内存马会留下不同的痕迹和特征,比如某些进程的不正常行为、异常的网络连接等等。
针对不同类型的内存马,处理方法也会有所不同。一般来说,可以采取以下措施:
注入型内存马:修复漏洞、升级软件,加强网络安全防护等方法来预防类似攻击;对已经感染的主机,可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
自执行型内存马:可以通过清理自启动项、卸载恶意程序等方式来清除内存马。
进程注入型内存马:可以通过杀掉受感染进程或卸载恶意程序等方式来清除内存马。
Hook型内存马:可以通过还原Hook、修复关键函数、杀掉受感染进程或卸载恶意程序等方式来清除内存马。

正向代理 返向代理的区别啊

正向代理和反向代理是两种不同的代理服务器架构。
正向代理(Forward Proxy)是代理服务器位于客户端与目标服务器之间的一种代理方式。客户端发送请求时,先将请求发送到代理服务器,然后代理服务器再将请求发送到目标服务器。在这个过程中,客户端并不知道请求是由代理服务器发出的,只知道代理服务器的地址。正向代理常用于客户端无法直接访问目标服务器的情况下,比如防火墙的限制、访问限制等。
反向代理(Reverse Proxy)是代理服务器位于目标服务器与客户端之间的一种代理方式。客户端发送请求时,请求先到达反向代理服务器,然后由反向代理服务器将请求转发到目标服务器,目标服务器将响应发送给反向代理服务器,最后再由反向代理服务器将响应发送给客户端。在这个过程中,客户端不知道请求是由目标服务器响应的,只知道反向代理服务器的地址。反向代理常用于负载均衡、缓存、安全等方面。
在实际应用中,常常使用反向代理作为Web服务器的入口,来处理负载均衡、安全过滤、缓存等问题;同时使用正向代理来提高用户体验,隐藏客户端真实IP地址,保护隐私等

挂马怎么排查啊(xss webshell)

确认是否被攻击:可以通过检查网站页面源代码、访问日志、异常流量等方式,确定网站是否被攻击。
分析攻击方式:分析黑客攻击方式,了解攻击者的手段,比如是否是通过SQL注入、文件上传漏洞等方式进行攻击。
定位被攻击的文件:查找被攻击的文件,一般包括Web服务器的相关文件、网站源代码、数据库等,可以通过检查文件的时间戳、比对文件的MD5值等方式进行确认。
清除恶意代码:一旦确定被攻击的文件,需要清除恶意代码,可以手动清除或者使用工具进行清除。同时需要注意备份重要数据,以免误操作导致数据丢失。
安全加固:排查完恶意代码后,需要对系统进行加固,避免类似攻击再次发生,可以使用一些安全工具或者参考安全加固手册进行操作。
验证清除结果:最后需要对系统进行全面验证,确保清除工作的完整性和有效性,避免留下后门或者未发现的漏洞等问题。

网站被挂马如何应急

1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理,恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源,查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录,归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件

入侵排查的流程

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分析

什么是蜜罐啊

就是一台全是漏洞的靶机,吸引黑客来进攻蜜罐系统,然后掌握黑客的信息 (就类似于诱饵)
尝试搭建微步的Hfish蜜罐或者其他的(获取经验)
网上常见面试问题:
那么如果叫你部署一个蜜罐,你会开放哪些端口,为什么//你认为企业的主机哪些端口存在风险//你认为企业应该注意哪些地方的加固
21端口:FTP文件传输协议端口,用来捕获黑客的FTP爆破行为
22端口:SSH端口 链接Linux主机SSH服务的端口,用来捕获黑客的SSH爆破行为
23端口:Telnet服务,命令执行服务,用来探测黑客对于telnet的爆破
80端口/443端口:WEB服务的端口,用来捕获黑客的WEB攻击行为特征
1521:oracle数据库开放端口,捕获黑客的oracle爆破行为,UDF命令执行等行为
3306:MYSQL端口,用来捕获黑客对于mysql数据库的爆破行为,UDF命令执行等行为
3389:Windows远程桌面端口,用来捕获黑客的爆破行为
下面的相对来说不重要
6379端口:REDIS端口,捕获黑客REDIS未授权访问的攻击,黑客利用redis写ssh秘钥,写webshell,执行计划任务等的攻击
445端口:SMB服务端口-黑客利用永恒之蓝Enternalblue的攻击行为,黑客的SMB账号爆破(通俗简单理解,爆破windows账号密码)
1433端口:Microsoft SQLserver端口,用来捕获黑客爆破1433端口的行为,并且查看黑客利用sqlserver xp_cmdshell,sp_cmdshell等组件命令执行的操作,存储过程的利用
135、139端口:捕获黑客的利用RPC共享的攻击(当蜜罐部署在内网)
比如在8080端口,部署一个假的vpn页面,吸引黑客攻击