导航
当前位置:网站首页 > 网络教程 > 内网渗透使用的工具,内网渗透方法

内网渗透使用的工具,内网渗透方法

作者:hacker 日期:2022-10-27 分类:网络教程

导航:

用Powershell框架Empire进行内网域渗透(一)

自从powershell在windows开始预装之后,就成为Windows内网渗透的好帮手,好处多多:天生免杀、无文件落地、 无日志(雾) 。

于是老外开发了 empire 框架,毕竟 cobalt strike 要收费的不是?

功能模块丰富,老外把内网[域]渗透中能用到的都整合进去了:内网探测,提权,凭据获取,横向移动,权限维持。模块那么多,不懂就 searchmodule 或者[tab]两下。

基于 debian 系的,如kali或者ubuntu都可以安装。

git clone

在执行安装脚本之前,建议修改软件源和 pip 源,避免因为网络问题安装失败。

sudo ./setup/install.sh

安装好后执行 ./empire 后就可以用了。

先查看可用的 Listener 有哪些?[tab]两下就出来了所有可用的。

通过 info 查看指定模块的配置信息

这里还是先使用http的监听,通过 set Port 8080 修改监听的端口, 2.x版必须同时设置 Host ,然后 execute 启动监听。

通过list命令查看正在运行的监听

可以通过usestager来生成文件,引诱对方运行,可以看到支持linux、Windows、osx。

这里我们选用launcher_bat,通过 info 查看可以配置的参数。

这里需要注意的是Listener的Name,必须跟前面启用的Listener的一致。

生成的文件内容是这样子的

其中那么一大段的powershell命令,跟 (Empire: listeners) launcher powershell test 的执行结果是一样的。这里先不关心怎么让其在别的机子上运行,那是另外的技术活。

用win7的cmd执行了那一串命令后,进程中可以看到有powershell.exe

执行 agents 命令查看回连的机子,然后 interact BNR1T9ZC 来与之进行交互。

通过 help 命令可以查看到在agent上可以执行很多命令。这里挑些重要的讲。

bypassuac ,顾名思义就是绕过uac的。除非你是本机的administrator,否则普通管理员都需要右键某个程序,然后选择 run as administrator 才能运行,这都是uac作的怪。

因为这里是用普通域用户权限执行的,连本机的普通管理员都不算,所以失败了。

sc,屏幕截图命令,可以通过这个了解机子上的人正在做什么。

我们看看usemodule还有哪些可用的模块?(有些模块需要对应权限才能成功运行)

输入 help agentcmds 可以看到可供使用的常用命令

执行 ipconfig 查看网卡信息(如果不在help列表中,那么会自动执行远程主机上的可用命令)

可以看到dns的ip是1.1.1.10,既是域控的ip

当你获得一个会话之后,又想要派生更多会话,怎么办?

使用 invoke_shellcode 来注入 meterpreter 的shellcode

metasploit先要设置一个 listener

然后empire执行

成功获取meterpreter会话(才怪, empire2.5 版本)

在session1建立到1.1.1.0/24网段的路由跳转

run autoroute -s 1.1.1.0/24

通过sesesion1打通网段后,可以看到域控服务器1.1.1.10开放的端口

使用ms17010成功获取meterpreter会话。

至此,域控拿下,可以开始漫游内网。(还是得靠metasploit,单一个empire做的事情很有限)

获取域管理员的明文凭据

用后渗透模块 credential_collector 收集可用的凭据

empire 可以直接使用 mimikatz 来获取凭据。 注意,此时客户端上powershell进程占用的cpu可达90%,会引起卡顿

creds 查看获取的凭据

利用pth来传递hash,用这个hash创建一个新的进程,可以看到新的进程id是3032

然后 credentials/tokens 查看不同用户的进程id

对指定进程steal_token之后,再去与agent交互就是域用户user的权限了。

用revtoself再切换回原来的权限(普通域用户权限太低做不了什么)

到这里尝试了好几个 situational_awareness/network/powerview 的模块返回的都是空结果,看来是需要域管理员才能执行成功。

碰巧域管理员也登陆这台机子,那么就能用他的权限做很多事情了。

也可以使用 usemodule management/psinject 进行切换,设置好ProcessId即可

现在我们又获得了一次域管理员权限,可以开始横向移动了。

先内网探测下可用的机子有哪些,使用了 situational_awareness 中的三个模块:

find_localadmin_access user_hunter get_domain_controller

又一次可以确定1.1.1.10就是域控所在了。用 lateral_movement/invoke_psexec 移动到域控服务器上面。

终于又回到了域控服务器,接下来要考虑的是如何导出域控上面的所有hash,并且维持权限。

内网渗透-常用工具免杀

Mimikatz其实并不只有抓取口令这个功能,它还能够创建票证、票证传递、hash传递、甚至伪造域管理凭证令牌等诸多功能。由于mimikatz的使用说明网上资料很多,这里就不多加介绍内网渗透使用的工具了,随着这两年hw行动越来越多,企事业单位也都开始注重内网安全,有预算的会上全套的终端安全、企业版杀软或者EDR,就算没有预算的也会装个360全家桶或者主机卫士之类的,这也导致很多时候内网渗透使用的工具你的mimikatz可能都没法拷贝过去或者没有加载执行,拿了台服务器却横向移不动就尴尬了。因为这款工具特别出名所以被查杀的机率很大, 我们可以通过 github 上的开源代码对其进行源码免杀从而 bypass 反病毒软件。

Mimikatz 源代码下载

免杀步骤

替换 mimikatz 关键字 shenghuo

mimikatz 下的文件全部改为 shenghu

把项目里所有的文件注释去掉

/_ Benjamin DELPY gentilkiwi benjamin@gentilkiwi.com Licence : _/

打开红色框框内的内容,替换图标文件

出现 无法找到 v140 的生成工具(平台工具集 =“v140”),要选择自己安装的平台工具集

重新生成

生成的程序能够正确运行

成功过360

PrintSpoofer做免杀

printspoofer提权工具目前主流的提权工具之一,360 安全会自动查杀,其他杀毒软件并不会查杀。

源码下载地址:

将PrintSpoofer.cpp 里面的输出帮助文档全部清空

导入图标

重新生成,程序生成成功

成功过360

metasploit 是一款开源的安全漏洞检测工具,同时Metasploit 是免费的工具,因此安全工作人员常用 Metasploit 工具来检测系统的安全性。Metasploit Framework (MSF) 在 2003 年以开放源码方式发布,是可以自由获取的开发框架。 它是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、 shellcode 编写和漏洞研究提供了一个可靠平台。其中攻击载荷模块(Payload) , 在红队中是个香饽饽,使用这个模块生成的后门,不仅支持多种平台,而且 Metasploit 还有编码器模块(Encoders),生成后门前,对其进行编码转换,可以混 淆绕过一部分杀毒软件。

工具 Dev-Cpp 5.11 TDM-GCC 4.9.2 Setup 下载地址

metasploit源码下载:metasploit-loader/master/src/main.c

选择:文件-新建项目-consoleApplication-c 项目

把winsock2.h 移动到windows.h 上 不然编译会出错。

将这四处的数字改为其他数字

设置攻击载荷,执行后成功上线

成功过360

生成python64位的shellcode

添加生成的shellcode

编译成程序

pyinstaller -F test.py —noconsole

此时还要做的就是更改图标,这里介绍一种方法

首先右击它,选择“添加到压缩文件”

在弹出来的一个“压缩文件名和参数”框中设置压缩文件格式为“ZIP”,压缩方式为“存储”,压缩选项为“创建自解压格式压缩文件”。

随后选择“高级”选项卡。选择了“高级”选项卡以后直接点击“自解压选项”

在设置选项卡中解压后运行对应程序

在模式选项卡中选择解压临时文件夹和全部隐藏

随后再选择“更新”选项卡,在覆盖方式中选择“覆盖所有文件”

最后选择“文本和图标”选项卡,在自定义自解压文件徽标和图标中选择“从文件加载自解压文件图标”,点击“浏览”,找到自己想要加载的图标文件后并打开

然后就点击确定(两次)就可以生成一个新的exe程序了。图标已经改变了,再运行测试一下

上传去目标主机,这里更改了程序名称

在线查杀

是很流行的编程语言,也可以用它来做一个加载器运行cobaltstrike的 shellcode,生成出来的 文件特别的小,可以很好地投递传输。

项目地址 用 vs2017 打开 sln 项目文件

选择 xorkryptor 生成编码器 用 cobalt strike生成 raw 二进制文件

encrypt.bin 就是经过编码后的文件

项目里面存有 Rsources 和 encrypt.bin 文件 事实上项目是没有这个文件夹和文 件所以在当前目录新建文件夹和将生成好的shellcode文件 encrypt.bin 复制到文 件夹里。右键选择编译文件即可。

此时文件正常

重新编译,成功生成后门程序

成功过360

成功上线

cobalt strike使用跳板进行内网渗透

Pivoting ,在本手册中,指内网渗透使用的工具的是「将一个受害机器转为其他攻击和工具的跳板」。Cobalt Strike 的Beacon 提供了多种 pivoting 选项。前提是 Beacon 处于交互模式。交互模式意味着一个 Beacon 每 秒内多次连接到团队服务器。使用 sleep 0 命令来使内网渗透使用的工具你的 Beacon 进入交互模式。

通过 [beacon] → Pivoting → SOCKS Server 来在你的团队服务器上设置一个 SOCKS4a 代理服务 器。或者使用 socks 8080 命令来在端口 8080 上设置一个 SOCKS4a 代理服务器(或者任何其他你想 选择的端口)。

所有经过这些 SOCKS 服务器的连接都将被转变为让相关联 Beacon 执行的连接、读写和关闭任务。你 可以通过任何类型的 Beacon 经由 SOCKS 隧道传输(甚至是一个 SMB Beacon)。

Beacon 的 HTTP 数据通道是响应速度最快的 pivoting 方法。如果你想通过 DNS 中继流量,使用DNS TXT 记录的通信模式。

要查看当前已经配置的 SOCKS 服务器,通过 View → Proxy Pivots 。 使用 socks stop 命令来停用 SOCKS 代理服务器。

proxychains 工具将强制外部程序使用你指定的 SOCKS 代理服务器。你可以使用 proxychains 强制第 三方工具经过 Cobalt Strike 的 SOCKS 服务器。要了解有关 proxychains 的更多信息,请访问:

安装proxychains,配置文件修改如下

pre class="19d5-d383-c299-a3d2 cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"--- snippet --- [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" socks4 127.0.0.1 8973/pre

过执行代理工具 proxychains,对内网主机 ip 地址为192.168.237.127进行端口探测。执行指令如下所示内网渗透使用的工具

pre class="d383-c299-a3d2-ac3c cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);" proxychains nmap -sT -Pn 192.168.237.129/pre

然后可以通过代理使用其他的安全工具进行下一步的渗透,如果说有些工具是不支持代理ip的,那么还有方法

Proxifier:

当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:

打开Proxifier软件,单击Profile-Proxy Server-add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。

这样的配置会让当前所有软件走全局的代理。可以让一些不支持代理功能的软件走代理。

首先,用cs新建一个外部的监听:内网渗透使用的工具我这里选用外部http链接。

开启msf,使用exploit/multi/handler模块,设置payload为windows/meterpreter/reverse_http,然后show options 查看需要设置的参数。

注意:payload必须是和cs上设置的监听模块一致。

然后在cs的beacon控制台中直接输入

pre class="c299-a3d2-ac3c-6e63 cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);"spawn msf/pre

过了几秒,msf中就会得到会话

这部分是在msf获取到会话之后,把会话上传到CS上。

首先在CS上新建一个内部监听。

然后在msf中进行配置

首先在msf上面查看要上传·会话的id:(我这里是2)

使用这个exp:exploit/windows/local/payload_inject

设置好参数之后,检查参数时候设置完全和正确。

exploit执行

cs上就会上线了

这两天出文章的速度慢了,是因为我一直在持续的开发和优化知识库,现在知识库上线新的功能GitHub索引,地址是: ,不过现在只能是pc端访问,移动端访问样式会乱掉,因为我前端技术实在是渣渣

首页整理了github上最新流行的趋势。下图是中文趋势

下图是全网趋势

猜你还喜欢

已有4位网友发表了看法:

  • 访客

    访客  评论于 [2022-10-27 13:35:53]  回复

    socks代理对内网进行渗透。详细的使用过程如下所示: 打开Proxifier软件,单击Profile-Proxy Server-add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。 这样的配置会让当前所有软件走全局的代理。可以让一些不支

  • 访客

    访客  评论于 [2022-10-27 13:31:53]  回复

    配置会让当前所有软件走全局的代理。可以让一些不支持代理功能的软件走代理。 首先,用cs新建一个外部的监听:内网渗透使用的工具我这里选用外部http链接。 开启msf,使用exploit/multi/handle

  • 访客

    访客  评论于 [2022-10-27 06:44:11]  回复

    t" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb

  • 访客

    访客  评论于 [2022-10-27 06:02:55]  回复

    ypt.bin 复制到文 件夹里。右键选择编译文件即可。 此时文件正常 重新编译,成功生成后门程序 成功过360 成功上线cobalt strike使用跳板进行内网渗透 Pivoting ,在本手册中,指内网渗透使用的工具的是「将一个受害

欢迎 发表评论:

{/if}