icmptunnel是用来搭建icmp隧道的,只能都运行在linux系统上。而pingtunnel可以运行在linux和windows上。
icmptunnel是通过建立一个tun0网卡进行的点对点通信。
过程
攻击机ip:192.168.56.128
目标机ip:192.168.56.143
在攻击机只能ping通目标机的情况下,攻击机运行icmptunnel做为客户端,目标机运行icmptunnel做为服务端
icmptunnel是用来搭建icmp隧道的,只能都运行在linux系统上。而pingtunnel可以运行在linux和windows上。
icmptunnel是通过建立一个tun0网卡进行的点对点通信。
过程
攻击机ip:192.168.56.128
目标机ip:192.168.56.143
在攻击机只能ping通目标机的情况下,攻击机运行icmptunnel做为客户端,目标机运行icmptunnel做为服务端
通过某种信道获取了内网主机的shell,但是当前信道不适合做远控的通信信道(比如站库分离的网站,我们通过sql注入获取了数据库服务器的shell,但是数据库服务器只有icmp协议可以出网)。
数据库服务器tcp和udp等传输层协议不能出网,dns、http等应用层协议也不能出网,只有icmp协议可以出网。
既然icmp协议可以出网,可以利用icmp协议,构建反向的TCP over ICMP
隧道或者SOCKS over ICMP
隧道上线远控平台。搭建隧道的工具使用pingtunnel,它能通过icmp隧道转发tcp、udp、socks5连接。
使用ew进行网络穿透
http://rootkiter.com/EarthWorm/
网络拓扑
攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8),这台服务器拥有内网IP地址(192.168.56.113),可以访问内网机器。
测试漏洞是否存在
sudoedit -s /
如果返回以sudoedit:开头的错误,则当前系统可能存在安全风险
不受影响的系统将显示以usage:开头的错误。
下载exp
https://github.com/blasty/CVE-2021-3156
SMB(Server Message Block)服务器消息块,又称网络文件共享系统(Common Internet File System,缩写为CIFS),可用于计算机间共享文件、打印机访问。SMB消息一般使用NetBIOS(一般是139端口,很少使用137、138端口)或TCP协议(445端口)发送。SMB协议支持NTLM和较早的LAN Manager(LM)加密,后者由于安全性较低,容易被破解,已经很少使用。
示例为工作组环境,非域环境。域环境下认证协议采用的是Kerberos。
LDAP(Lightweight Directory Access Protocol) 轻量目录访问协议。LDAP 协议之前有一个 X.500 DAP 协议规范,该协议十分复杂,是一个重量级的协议,后来对 X.500进行了简化,诞生了 LDAP 协议,与 X.500 相比变得较为轻量,目前最新的版本是LDAP v3(RFC 2251)。
在域内LDAP是用来访问Acitve Directory数据库的目录服务协议。AD DS域服务通过使用LDAP名称路径表示对象在Active Directory数据库中的位置。管理员使用LDAP协议来访问活动目录中的对象,LDAP通过“命令路径”定位对象在数据库中的位置,即使用标识名(Distinguished Name,DN)和相对标识名(Relative Distinguished Name,RDN)标识对象。
LDAP v2支持三种认证方式:匿名认证、简单身份认证(明文密码)、Kerberos v4。
LDAP v3使用SASL (Simple Authentication and Security Layer) 简单身份验证和安全层 身份认证框架([RFC 2222](https://ldapwiki.com/wiki/RFC 2222)),它允许使用不同的验证机制对客户端进行身份验证,包括:DIGEST-MD5, CRAM-MD5, Anonymous, External, S/Key,GSSAPI和 Kerberos。SASL指定了质询-响应协议,在该协议中,客户端和服务端之间通过协商确定使用哪种验证机制。
渗透一台主机后,都会想办法留一个后门便于以后访问。这时可以使用创建隐藏账号的方式给系统留一个后门。
通过net user命令创建特殊账号,并将账号加入到administrators组中
net user mumsec$ 123456 /add
net localgroup administrators mumsec$ /add
创建后,这个账号可在一定条件下隐藏,输入net user无法获取账号信息。但是,在登录界面以及本地用户和组中仍能够发现该账号。
Metasploit 设计尽可能采用模块化的理念。大致由库文件、插件、接口、功能程序、模块等组成。
Metasploit V4结构如下:
模块是通过 Metasploit 框架所装载、集成并对外提供的最核心的渗透测试功能实现代码。分为辅助模块(Auxiliary)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(payloads)、编码器模块(Encoders)、空指令模块(Nops)以及 V5 版本新增免杀模块(Evasion)。以下是模块的功能介绍:
Kerberos 协议在请求访问某个服务时存在一个缺陷,Kerberoasting 正是利用这个缺陷的一种攻击技术。首先,我们来整体了解一下正常情况下一个用户请求访问某个服务时会经过哪些步骤:
整个过程比较简单,我们需要注意的是,服务票据会使用服务账户的哈希进行加密,这样一来,Windows域中任何经过身份验证的用户都可以从 TGS 处请求 ST 服务票据。由于服务票证是用链接到请求 SPN 的帐户的哈希加密的,所以攻击者可以离线破解这个加密块,恢复帐户的明文密码。
SPN,ServicePrincipal Names,即服务主体名称,是服务实例(比如:HTTP、SMB、MySQL等服务)在使用 Kerberos 身份验证的网络上的唯一标识符,其由服务类、主机名和端口组成。
Kerberos 认证过程使用 SPN 将服务实例与服务登录账户相关联,如果想使用 Kerberos 协议来认证服务,那么必须正确配置SPN。