利用icmptunnel建立通信隧道

icmptunnel是用来搭建icmp隧道的,只能都运行在linux系统上。而pingtunnel可以运行在linux和windows上。

icmptunnel是通过建立一个tun0网卡进行的点对点通信。

过程

攻击机ip:192.168.56.128

目标机ip:192.168.56.143

在攻击机只能ping通目标机的情况下,攻击机运行icmptunnel做为客户端,目标机运行icmptunnel做为服务端

继续阅读“利用icmptunnel建立通信隧道”

仅icmp协议出网的内网主机穿透

通过某种信道获取了内网主机的shell,但是当前信道不适合做远控的通信信道(比如站库分离的网站,我们通过sql注入获取了数据库服务器的shell,但是数据库服务器只有icmp协议可以出网)。

数据库服务器tcp和udp等传输层协议不能出网,dns、http等应用层协议也不能出网,只有icmp协议可以出网。

既然icmp协议可以出网,可以利用icmp协议,构建反向的TCP over ICMP隧道或者SOCKS over ICMP隧道上线远控平台。搭建隧道的工具使用pingtunnel,它能通过icmp隧道转发tcp、udp、socks5连接。

继续阅读“仅icmp协议出网的内网主机穿透”

使用ew实现socks代理和端口转发

一,攻击者连接跳板机,再访问目标机

使用ew进行网络穿透

http://rootkiter.com/EarthWorm/

网络拓扑

攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8),这台服务器拥有内网IP地址(192.168.56.113),可以访问内网机器。

继续阅读“使用ew实现socks代理和端口转发”

CVE-2021-3156

Sudo应用提权

测试漏洞是否存在

sudoedit -s /

如果返回以sudoedit:开头的错误,则当前系统可能存在安全风险

不受影响的系统将显示以usage:开头的错误。

下载exp

https://github.com/blasty/CVE-2021-3156

继续阅读“CVE-2021-3156”

SMB协议

SMB(Server Message Block)服务器消息块,又称网络文件共享系统(Common Internet File System,缩写为CIFS),可用于计算机间共享文件、打印机访问。SMB消息一般使用NetBIOS(一般是139端口,很少使用137、138端口)或TCP协议(445端口)发送。SMB协议支持NTLM和较早的LAN Manager(LM)加密,后者由于安全性较低,容易被破解,已经很少使用。

SMB认证过程

示例为工作组环境,非域环境。域环境下认证协议采用的是Kerberos。

继续阅读“SMB协议”

LDAP协议与域用户爆破

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认证过程

LDAP v2支持三种认证方式:匿名认证、简单身份认证(明文密码)、Kerberos v4。

LDAP v3使用SASL (Simple Authentication and Security Layer) 简单身份验证和安全层 身份认证框架([RFC 2222](https://ldapwiki.com/wiki/RFC 2222)),它允许使用不同的验证机制对客户端进行身份验证,包括:DIGEST-MD5, CRAM-MD5AnonymousExternalS/KeyGSSAPI和 Kerberos。SASL指定了质询-响应协议,在该协议中,客户端和服务端之间通过协商确定使用哪种验证机制。

继续阅读“LDAP协议与域用户爆破”

在Windows系统上创建隐藏账号

渗透一台主机后,都会想办法留一个后门便于以后访问。这时可以使用创建隐藏账号的方式给系统留一个后门。

创建特殊账号

通过net user命令创建特殊账号,并将账号加入到administrators组中

net user mumsec$ 123456 /add
net localgroup administrators mumsec$ /add

创建后,这个账号可在一定条件下隐藏,输入net user无法获取账号信息。但是,在登录界面以及本地用户和组中仍能够发现该账号。

继续阅读“在Windows系统上创建隐藏账号”

Metasploit攻击载荷介绍

Metasploit 结构

Metasploit 设计尽可能采用模块化的理念。大致由库文件、插件、接口、功能程序、模块等组成。

Metasploit V4结构如下:

模块是通过 Metasploit 框架所装载、集成并对外提供的最核心的渗透测试功能实现代码。分为辅助模块(Auxiliary)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(payloads)、编码器模块(Encoders)、空指令模块(Nops)以及 V5 版本新增免杀模块(Evasion)。以下是模块的功能介绍:

继续阅读“Metasploit攻击载荷介绍”

Kerberoasting

Kerberos 协议在请求访问某个服务时存在一个缺陷,Kerberoasting 正是利用这个缺陷的一种攻击技术。首先,我们来整体了解一下正常情况下一个用户请求访问某个服务时会经过哪些步骤:

  • 首先用户将 AS-REQ 数据包发送给 KDC 密钥分发中心,要对一个域进行身份验证。
  • KDC 收到用户的请求后会验证用户的凭据,如果凭据有效,则返回 TGT 认购权证,该 TGT 认购权证用于以后的 ST 服务票据的请求。
  • 如果用户想通过身份认证访问某个服务的话,那么他需要发起票据授予请求,请求中包含 TGT 以及所请求服务的 SPN 服务主体名称。
  • 如果 TGT 有效并且没有过期,那么 TGS 会从 TGT 认购权证中提取信息创建一个用于访问目标服务的一个 ST 服务票据,该 ST 服务票据使用服务账户的凭据进行加密。然后,域控制器开始查找哪个帐户在 ServicedPrincipalName(SPN)字段中注册了所请求的 SPN。
  • 用户收到包含了服务票据的 TGS 响应数据包。
  • 最后,服务票据会转发给目标服务,然后使用服务账户的凭据进行解密。

整个过程比较简单,我们需要注意的是,服务票据会使用服务账户的哈希进行加密,这样一来,Windows域中任何经过身份验证的用户都可以从 TGS 处请求 ST 服务票据。由于服务票证是用链接到请求 SPN 的帐户的哈希加密的,所以攻击者可以离线破解这个加密块,恢复帐户的明文密码。

继续阅读“Kerberoasting”

SPN

什么是SPN

SPN,ServicePrincipal Names,即服务主体名称,是服务实例(比如:HTTP、SMB、MySQL等服务)在使用 Kerberos 身份验证的网络上的唯一标识符,其由服务类、主机名和端口组成。

Kerberos 认证过程使用 SPN 将服务实例与服务登录账户相关联,如果想使用 Kerberos 协议来认证服务,那么必须正确配置SPN。

继续阅读“SPN”