原文:http://bobao.360.cn/learning/detail/3204.html
前言
对于一个内网来说,当我们拿到了一个机器(例如webshell)之后,首要的就是内网信息的探测,而网络环境的判断则是其中一个重点。 这里的判断我分为三种。一种是机器所处位置区域的判断,一种是机器角色的判断,还有一种是进出口流量是否连通的判断,是否出的去,进的来。
位置的判断
位置判断是指机器处于网络拓扑中的某个区域,是在DMZ区,办公网,还是核心区,核心DB等多个位置,当然这里的区域并不是绝对的,只是大概的一个环境,不同的地方网络环境不一样,区域的界限也不一定明显。
多数情况下在外围Web中我们拿到权限多数是在DMZ区,不属于正式的内网,如果是布置好的话,DMZ区会处于一种内网能访问DMZ,而DMZ访问不了内网的一种状态。例如DMZ区的服务器访问不了管理员机器所处的内网机器。 办公网,顾名思义是办公人员所处的网络,例如一般办公人员,服务器管理员等等,能够渗透进办公网将对后续的渗透起到很大的帮助。一般情况刚开始是很少会直接到达办公网段的,除非是进行钓鱼种马啥的。 核心区,例如域控,核心生产机器等等,这些都在后续的渗透才会慢慢接触到。 [/url]
角色的判断
了解自己的机器会是什么角色,会对我们后续的进程起到一个很好的推进作用。
假如是服务器,看看自己是否是普通Web服务器,是开发测试服务器,公共服务器,文件服务器,还是代理服务器,DNS服务器、存储服务器等等。 具体的判断要通过对机器内的主机名、文件、网络连接等多种情况进行综合判断。 例如通过主机名是最好判断的,开发服务器就是dev , Web服务器可能是web或者app,存储服务器可能是NAS,文件服务器可能是fileserver等等。 例如通过网络连接进行判断,代理服务器可能就会有很多机器来连代理端口,更新服务器(例如WSUS)可能开放了更新端口8530,DNS服务器开放了53端口等等,当然不能一概而论,必须进行综合判断。
连通性的判断
这里是指机器能否外面进的来,能否出的去。这与我们后续的上马或者做代理息息相关。这里的判断主要有两种,一种是端口,一种是协议。我们着重于是否出的去。
1. 协议的判断 主要是看能够通过什么协议出去,主要有tcp\http\dns\icmp等协议。常见判断手法如下: [+]tcp协议 - 外网vps : nc –lvp port
- 内网机器:nc ip port
复制代码[+]dns协议 - 外网vps: nc –u –lvp 53
- 内网机器:
- windows: nslookup www.baidu.com vps-ip
- linux:dig @vps-ip www.baidu.com
复制代码[+]http协议 - 外网vps : nc –lvp 80 (or 8080等)
- 内网机器 : curl vps-ip:8080
复制代码[+]icmp协议 - 外网vps:抓包、tcpdump icmp
- 内网机器:直接ping
复制代码2. 端口的判断 外网vps做监听,内网机器测试常见端口,或直接使用端口扫描器进行扫描。 常见能出去的端口有80,8080,443,53,110,123等。 3. 额外情况--代理服务器 还有一种是机器不能直接出来的,需要进行代理设置,这种多数是为了办公网段得办公人员进行上网用的。 常用的判断手法与情况如下: [+]查看网络连接看是否有连接其他机器的8080(不绝对)等端口,尝试ping –n 1 –a ip [+]是否有hostname类似于proxy的机器 [+]IE直接代理情况 [url=http://p5.qhimg.com/t01bfb46708161f5174.png] 可以通过查询注册表得到: - 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"
复制代码[/url] [+]通过pac文件自动代理情况 [url=http://p3.qhimg.com/t01632de0aed98b346a.png] - reg query "HKEY_USERS\S-1-5-21-1563011143-1171140764-1273336227-500\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL
复制代码[url=http://p5.qhimg.com/t01a46231b65868b728.png][/url] 我们可以通过pac文件的路径(可能是本地路径或远程路径)将pac文件下载回来查看,例如某pac文件如下:从中我们能看到其带来服务器为172.16.10.168:8080 - 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进行确定: - curl www.baidu.com //不通
- curl –x proxy-ip:8080 www.baidu.com //通
复制代码
|