渗透(2)
信息收集
主机发现
首先要知道有什么主机才能进行接下来的操作
arp_sweep:使用arp请求枚举本地局域网中的所有活跃主机,arp的扫描能力还行,丢失信息较少。
udp_sweep:通过发送UDP数据包探查指定主机是否活跃,并发现主机上udp服务,丢失信息较多。
show missing 查看模块命令的必填项
show options 查看目前的配置项
set是局部配置只在当前模块下运行,setg是全局配置。
自己开三台虚拟机试一下就知道咯
端口扫描
知道了有哪些主机之后就看主机的端口有哪些
search portscan分为三类,SYN用的最多
1 |
|
服务扫描
确定开放端口后,对相应端口上所运行的服务信息进行挖掘
利用SMB进行挖掘
首先枚举暴力破解账号密码:
然后利用SMB获得目标主机的开启服务:
利用telnet服务进行挖掘
首先需要目标主机开启了telent服务:
漏洞利用
知道了主机开启的端口和服务后可以进行漏洞的利用,所有的漏洞利用模块都在:
1 |
|
在漏洞成功利用后,会与目标系统建立一个shell会话,此时就需要使用meterpreter进行后渗透
Payload的类型
singles
是一种完全独立的payload,而且使用起来就像运行calc.exe一样简单,如:windows/powershell_bind_tcp 就是一个 Single 类型的 payload,它使用 PowerShell 在目标系统上创建一个 TCP 服务,并监听一个端口,任何可以连接到该服务的客户端都可以与目标系统建立一个shell连接。
stagers
传输器载荷,用于目标机与攻击机之间建立稳定的网络连接,与传输体载荷配合攻击。通常该载荷体积都非常小,可以在漏洞利用后方便注入,这类载荷功能都非常相似,大致分为bind(正向)型和reverse(反向)型,bind型是需要攻击机主动连接目标端口的;而reverse型是目标机反连接攻击机,需要提前设定好连接攻击机的ip地址和端口号。
这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。
一种常见的Stager Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接,让目标系统主动连接我们的端口(反向连接)。另一种常见的是bind_tcp,它可以让目标系统开启一个tcp监听器,而攻击者随时可以与目标系统进行通信(正向连接)。
stages
传输体载荷,在stagers建立好稳定的连接后,攻击机将stages传输给目标机,由stagers进行相应处理,将控制权转交给stages。比如得到目标机的shell,或者meterpreter控制程序运行。这样攻击机可以在本端输入相应命令控制目标机。 如:meterpreter
stager和stage就像web入侵里面提到的小马和大马一样,由于exploit环境的限制,不能一下子把stage传过去,需要先传一个stager,stager在attacker和target之间建立网络连接,之后再把stage传过去进行下一步的行动。
1 |
|
Payload通常是结合exp来使用的
常见的stager
reverse_tcp
基于TCP的反弹shell:
1 |
|
reverse_http
基于http方式的反向连接,在网速慢的情况下不稳定。
1 |
|
bind_tcp
基于TCP的正向连接shell,因为在内网跨网段时无法连接到攻击者的机器,所以在内网中经常会使用,不需要设置LHOST。
1 |
|
Payload的生成
msfvenom — Metasploit 独立有效负载生成器,是用来生成后门的软件,在目标机上执行后门上线。
msfvenom提供了各种不同类型的有效载荷(payloads),其中涵盖了多个操作系统和使用环境,例如Android、IOS、Unix、Linux、Windows…等,用于在渗透测试和漏洞评估中利用系统漏洞、获取对目标系统的控制或执行特定的操作。
1 |
|
一些类型的Payload
1 |
|
这里用msfvenom生成一个后门exe程序去获取反弹shell:
实测下来经过了三次编码的后门程序不能运行,这里在生成后门的时候把编码删除就可以了,不过编码了免杀效果更强
lhost和lport是Metasploit Framework中的两个重要的配置选项,它们分别指定了本地主机的IP地址和端口号
生成好了之后要想办法上传到目标主机,在攻击机本地需要进行端口的监听,这里需要用到multi/handler
本地测试的时候可以用vmware tools拖入拖出,kali一般会自带,win7可以参考:这篇博客
一般来说在win7装好后会是普通版因为没有密钥,这里可以用破解工具或者直接用升级密钥,普通版会少很多东西,比如administartor的用户组就看不到
win7普通版升级为旗舰版的激活密钥:6K2KY-BFH24-PJW6W-9GK29-TMPWP(好像一直能用
随后进入到meterpreter后渗透模块…
Meterpreter
在Metasploit Framework(MSF)中,Meterpreter是一种强大的后渗透工具,用于在受攻击的系统上建立一个持久的、交互式的远程Shell。
Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。
生成后门
这个部分介绍如何利用msf其中的后门生成功能将正常的软件改为后门软件,在受害者点击了之后便可以进行攻击。
这里使用Procmon64.exe,上传到opt目录之后,使用命令成功生成payload:
1 |
|
修改配置项,用我们生成的带后门的procmon软件进行攻击:
1 |
|
如果希望对方在关闭软件后,会话依然可以保留,就需要在建立会话之后,迅速进行进程迁移
进程迁移是指为了不被受害者发现自己被攻击了从而把攻击进程伪装起来,通常是把shell进程藏在别的正常的进程中让人不易察觉。
1 |
|
查看现在的进程号和迁移到的进程:
后渗透操作
进入了meterpreter之后可以用 help
查看如何使用命令进行攻击
书接上文,拿到了meterpreter之后:
1 |
|
这里可以看到操作失败权限不够,之后会提到如何提权:
拿到了shell之后通常先将进程迁入到explorer.exe
“explorer.exe是Windows程序管理器或者文件资源管理器。它用于管理Windows图形壳,包括桌面和文件管理,删除该程序会导致Windows图形界面无法使用。资源管理器explorer.exe进程为用户提供了图形用户界面(也称为图形壳),简单的说就是用来显示系统的桌面环境,包括桌面图标和文件管理。
1 |
|
其余常用命令:
1 |
|
总结
从这里就可以看到不要乱下载软件和安装包,藏个后门在软件里面轻而易举,再进行一下进程迁移甚至都不知道自己的电脑被黑了。乱下载东西很容易就会把你的电脑上线被别人获取信息,特别是那些莫名其妙的软件园千万别去碰,因为不知道里面藏有什么,从功能那里可以看到能进行很多的操作。