t0119ca80dbe41eb844.jpg


前言


对于一个内网来说,当我们拿到了一个机器(例如webshell)之后,首要的就是内网信息的探测,而网络环境的判断则是其中一个重点。

这里的判断我分为三种。一种是机器所处位置区域的判断,一种是机器角色的判断,还有一种是进出口流量是否连通的判断,是否出的去,进的来。


位置的判断


位置判断是指机器处于网络拓扑中的某个区域,是在DMZ区,办公网,还是核心区,核心DB等多个位置,当然这里的区域并不是绝对的,只是大概的一个环境,不同的地方网络环境不一样,区域的界限也不一定明显。

多数情况下在外围Web中我们拿到权限多数是在DMZ区,不属于正式的内网,如果是布置好的话,DMZ区会处于一种内网能访问DMZ,而DMZ访问不了内网的一种状态。例如DMZ区的服务器访问不了管理员机器所处的内网机器。

 办公网,顾名思义是办公人员所处的网络,例如一般办公人员,服务器管理员等等,能够渗透进办公网将对后续的渗透起到很大的帮助。一般情况刚开始是很少会直接到达办公网段的,除非是进行钓鱼种马啥的。

核心区,例如域控,核心生产机器等等,这些都在后续的渗透才会慢慢接触到。

http://p4.qhimg.com/t0135fb39be6012263b.png


角色的判断


了解自己的机器会是什么角色,会对我们后续的进程起到一个很好的推进作用。

假如是服务器,看看自己是否是普通Web服务器,是开发测试服务器,公共服务器,文件服务器,还是代理服务器,DNS服务器、存储服务器等等。

具体的判断要通过对机器内的主机名、文件、网络连接等多种情况进行综合判断。

例如通过主机名是最好判断的,开发服务器就是dev , Web服务器可能是web或者app,存储服务器可能是NAS,文件服务器可能是fileserver等等。

例如通过网络连接进行判断,代理服务器可能就会有很多机器来连代理端口,更新服务器(例如WSUS)可能开放了更新端口8530,DNS服务器开放了53端口等等,当然不能一概而论,必须进行综合判断。


连通性的判断


这里是指机器能否外面进的来,能否出的去。这与我们后续的上马或者做代理息息相关。这里的判断主要有两种,一种是端口,一种是协议。我们着重于是否出的去。

1. 协议的判断

主要是看能够通过什么协议出去,主要有tcp\http\dns\icmp等协议。常见判断手法如下:

[+]tcp协议

1
2
外网vps : nc –lvp port
内网机器:nc ip port

[+]dns协议

1
2
3
4
外网vps: nc –u –lvp 53
内网机器:
windows: nslookup www.baidu.com vps-ip
linux:dig @vps-ip www.baidu.com

[+]http协议

1
2
外网vps : nc –lvp 80 (or 8080等)
内网机器 : curl vps-ip:8080

[+]icmp协议

1
2
外网vps:抓包、tcpdump icmp
内网机器:直接ping

2. 端口的判断

外网vps做监听,内网机器测试常见端口,或直接使用端口扫描器进行扫描。

常见能出去的端口有80,8080,443,53,110,123等。

3. 额外情况--代理服务器

还有一种是机器不能直接出来的,需要进行代理设置,这种多数是为了办公网段得办公人员进行上网用的。

常用的判断手法与情况如下:     

[+]查看网络连接看是否有连接其他机器的8080(不绝对)等端口,尝试ping –n 1 –a ip

[+]是否有hostname类似于proxy的机器

[+]IE直接代理情况

        

http://p0.qhimg.com/t01c5babe8675901676.png

可以通过查询注册表得到:

1
2
reg query "HKEY_USERS\S-1-5-21-1563011143-1171140764-1273336227-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

http://p2.qhimg.com/t01362f72eb3dadd161.png

[+]通过pac文件自动代理情况

        

http://p8.qhimg.com/t0137874f9113d53db1.png

1
reg query "HKEY_USERS\S-1-5-21-1563011143-1171140764-1273336227-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL

http://p8.qhimg.com/t01ac768a1c915e1e83.png

我们可以通过pac文件的路径(可能是本地路径或远程路径)将pac文件下载回来查看,例如某pac文件如下:从中我们能看到其带来服务器为172.16.10.168:8080

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function islocalip(ip) {
       return isInNet(ip, "127.0.0.0", "255.0.0.0") ||
                 isInNet(ip, "169.254.0.0", "255.255.0.0") ||
                 isInNet(ip, "10.0.0.0", "255.0.0.0") ||
                 isInNet(ip, "192.168.0.0", "255.255.0.0") ||}
  
  
function FindProxyForURL(url, host) {
  
       var DefaultScanner = "PROXY 172.16.10.168:8080; DIRECT";
       var target_ip = dnsResolve(host);
  
       if (islocalip(target_ip)) {
                     return 'DIRECT';
       } else {
              return DefaultScanner;
       }
}

最终我们可以利用curl进行确定:

1
2
curl www.baidu.com      //不通 
curl –x proxy-ip:8080 www.baidu.com   //通

本文由 安全客 原创发布,作者:t0stmail