freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

渗透测试之地基内网篇:域森林域内信息收集(上)
大余 2021-03-09 11:50:51 366264

HW期间,为防范钓鱼,即日起FreeBuf将取消投稿文章的一切外部链接。给您带来的不便,敬请谅解~

系列文章

专辑:渗透测试之地基篇

简介

渗透测试-地基篇

该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。

请注意

本文仅用于技术讨论与研究,对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,本站及作者概不负责。

名言:

你对这行的兴趣,决定你在这行的成就!

一、前言

渗透测试人员需谨记《网络安全法》,根据《网络安全法》所示,未经授权的渗透测试都是不合法的,不管是出于何种目的。红队渗透人员在进行渗透期间,渗透测试的行为和项目必须在被渗透方授予权限可渗透后,才可进行渗透测试操作。

如今有一家dayu公司,需要对自己的业务以及整体的内网框架体系进行隐患挖掘,授予权限我进行对dayu公司的渗透测试操作,在签署了双方的《渗透测试授权书》后,我开始了对dayu公司的渗透之旅。

跳开思维讲,我此篇内容是内网渗透篇章,通过我的专栏:

社工钓鱼 -> 免杀过全杀软 -> 内网渗透

那么我通过了社工钓鱼的各种方式,将钓鱼文件进行免杀后,成功钓鱼到了该公司外围人员计算机,并控制了该计算机权限获得shell,并成功登录对方电脑。

但登陆对方电脑对于渗透测试人员最开始的感觉,面对的是一片“黑森林”,所以渗透测试人员首先需要对当前所处的环境进行判断。接下来将开始第一步内网渗透内网中的信息收集。

信息收集的深度,直接关系到内网渗透测试的成败!!

二、环境介绍

拓扑图简介
1615261902_6046f0ce2c999219b0aeb.png!small?1615261902383

为了更好的演示接下来的渗透,我继续贴出了dayu公司的环境拓扑图,公司搭建环境:

单篇:渗透测试之地基内网篇:域森林大型环境搭建

三、内网信息收集(一)

1、概述

面对“黑森林”我需要判断三个方面:

1. 对当前服务器角色进行判断 2. 对当前服务器所处网络环境的拓扑结构进行分析和判断 3. 对当前服务器所处区域进行判断

对当前服务器角色进行判断:

判断当前机器是否为普通web服务器,开发测试服务器,DNS服务器等等...

对当前服务器所处网络环境的拓扑结构进行分析和判断:

对所处内网进行全面的数据收集和分析并整理,根据收集到的信息画出大致的内网整体拓扑架构图。

对当前服务器所处区域进行判断:

有大致拓扑图后,判断机器处于图中哪个区域,在DMZ、办公区、核心区等等。

2、本机信息收集

内外网环境中,都需要对服务器进行信息收集也是最重要的第一步:

1. 服务器内网结构是什么样的? 2. 角色是什么? 3. 谁在使用这台服务器? 4. 服务器上安装了什么杀软? 5. 服务器通过什么方式上网的? 6. 机器是笔记本还是台式机还是? 7. .....

需要简单了解本机信息包括操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁更新频率、网络连接、共享、会话等等。

如果是域内主机,操作系统、应用软件、补丁、服务、杀毒软件一般都是批量统一安装的。

3、手动收集信息

这里将介绍十六种手动收集内网信息的方法:

1)查询网络配置信息

ipconfig /all

1615261916_6046f0dcc2e7842f166d2.png!small?1615261917569

1615261921_6046f0e1df701826c5a8f.png!small?1615261924964
这里发现了这台被控制主机存在双网卡:

1. 存在192.168.253.35外网网卡和10.10.3.100内网网卡 2. 该主机名称:user1 3. 主DNS:xiyou.dayu.com(判断出存在子域,该计算机是域用户) 4. DNS服务器:10.10.3.6(判断出子域控制器为该IP地址)

2)查询操作系统及软件的信息

(1) 查询操作系统和版本信息

systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

1615261928_6046f0e897d89f8d598ca.png!small?1615261929105
通过命令查看到:

OS 名称: Microsoft Windows 7 专业版 OS 版本: 6.1.7601 Service Pack 1 Build 7601

(2)查看系统体系结构

echo %PROCESSOR_ARCHITECTURE%

1615261936_6046f0f04bde123686d64.png!small?1615261936577
结构为:AMD64

(3)查看安装的软件及版本、路径等
两种方法:

wmic product get name,version

powershell "get-wmiobject -class win32_product |select-object -property name,version"

1615261942_6046f0f6219d4036c6997.png!small?1615261943197

3)查询本机服务信息

wmic service list brief

1615261958_6046f1066fa2bc9b04856.png!small?1615261959172

4)查询进程列表

tasklist

1615261965_6046f10dd8b9ec42ef894.png!small?1615261967261
这为了检测安装是否存在杀软,复制内容放入杀软检测即可!

查询杀软地址:

https://www.ddosi.com/av/1.php

5)查看启动程序信息

wmic startup get command,caption

1615261972_6046f114891129db82aef.png!small?1615261972806
该计算机是台VM的虚拟环境!

6)查看计划任务

chcp 437
schtasks /query /fo LIST /v > 1.txt

1615261978_6046f11a571f1e7313a5b.png!small?1615261980251
这里查看到很多计划启动的任务类型和时间等;

7)查看主机开机时间

net statistics workstation

1615261984_6046f1201178e02c37f3e.png!small?1615261985638查看到主机开启时间:

统计数据开始于 2021/3/5 16:22:11

8)查询用户列表

net user
net localgroup administrators
# 查看本地管理员底下用户和组信息,枚举域信息
query user || qwinsta
# 查看在线用户

1615261991_6046f127b774b4e26c0b8.png!small?1615261992539存在用户dayu和da.yu,并都在administrators管理组中,目前运行的是dayu用户。

9)列出或断开本地计算机与所连接的客户端之间的会话

net session

1615261997_6046f12d1d2426276d85a.png!small?1615261998034无会话信息!

10)查询端口列表

netstat -ano 

1615262002_6046f13298b30a9619aee.png!small?1615262004099开启了135、445、3389端口!

11)查看补丁列表

systeminfo

1615262008_6046f13892f666be57423.png!small?1615262011071收集信息:

该计算机为windows7专业版,xiyou.dayu.com的子域用户,安装了四个简单的补丁。

或者执行:

wmic qfe get Caption,Description,HotFixID,InstalledOn

1615262016_6046f1400c97f498b6c5b.png!small?1615262016586

12)查询本机共享列表

net share

wmic share get name,path,status

1615262021_6046f145e107523bb84b1.png!small?1615262022441

开启:

C$           C:\                             默认共享
IPC$                                         远程 IPC
ADMIN$       C:\Windows                      远程管理

该主机开启了三类,那么可以进行IPC等内网操作!

13)查询路由表及所有可用接口的ARP缓存表

route print
arp -a

1615262029_6046f14dd23e5061275e3.png!small?16152620310721615262037_6046f1551c6940ffca989.png!small?1615262037578从arp表中读取到,存在10.10.3.5,目前知道10.10.3.6是该设备配置连接的DNS服务器,那么10.10.3.5可初步判断为主域的DNS服务器。

14、查询防火墙相关配置
(1)关闭防火墙

netsh firewall set opmode disable
# windows 2003 及之前版本

netsh advfirewall set allprofiles state off
# windows 2003之后的版本

1615262043_6046f15bd8ff5a404e7f4.png!small?1615262045029已进行关闭!

(2)查看防火墙配置

netsh firewall show config

1615262050_6046f16206061cc4cc7b0.png!small?1615262051235防火墙未做任何配置!

(3)修改防火墙配置
如果防火墙开启状态,可以执行如下操作进行过滤!!

1.windows 2003及之前允许指定(nc.exe)程序全部链接:

netsh firewall add allowedprogram c:\nc.exe "allow nc" enable 

1615262056_6046f168e5b7acf41c472.png!small?1615262066263在入站规则加入了nc到防火墙中!

2.允许指定程序退出:

netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow program="C: \nc.exe"

1615262061_6046f16dddc131eeb53db.png!small?1615262066263

3.允许3389端口放行:

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

1615262067_6046f173359d1145e0fa9.png!small?16152620679851615262071_6046f1778abb683216cdf.png!small?1615262072067开启3389在防火墙中放行!

(4)自定义防火墙日志的储存位置

netsh advfirewall set currentprofile logging filename "C:\windows\temp\fw.log"

1615262076_6046f17cd4b006b9989f3.png!small?1615262079638

15)查看代理配置情况

reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

1615262082_6046f18299f6711e26091.png!small?1615262085371无代理现象,否则会出现IP+端口!

16)查询并开启远程连接服务
(1)查看远程连接端口

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

1615262088_6046f1884f80c4be03b06.png!small?1615262090009PortNumber REG_DWORD 0xd3d

1615262093_6046f18d772f02156c9c7.png!small?1615262093990这里0xd3d是16进制字符!

进制转换:https://coding.tools/cn/hex-to-decimal

可看到远程链接端口是3389!

(2)在windows 7中开启3389端口

目前该机子前面信息收集发现是windows 7系统,那么来开启3389:
1615262114_6046f1a2ae226cc72a85e.png!small?1615262118369通过防火墙放行3389和开启3389远程,导致我们前期就可以远程登录该计算机了。

关闭远程端口:

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0

1615262120_6046f1a8c11d74cba147a.png!small?1615262122170操作完成退出需要还原先前配置!

通过以上16种信息收集,定位到该计算机系统、网卡路由、防火墙、补丁、存在域、已开启防火墙、设置开启3389、ARP发现主域、存在两个管理员权限用户等等!这些信息非常重要并记录。

4、自动收集信息

为了简化操作,可以创建一个脚本, 在目标机器上完成流程、服务、用户账号、用户组、网时区等信息的查询工作。

利用WMIC进行信息收集:

for /f "delims=" %%A in ('dir /s /b %WINDIR%\system32\*htable.xsl') do set "var=%%A"

wmic process get CSName,Description,ExecutablePath,ProcessId /format:"%var%" >> dayu.html
wmic service get Caption,Name,PathName,ServiceType,Started,StartMode,StartName /format:"%var%" >> dayu.html
wmic USERACCOUNT list full /format:"%var%" >> dayu.html
wmic group list full /format:"%var%" >> dayu.html
wmic nicconfig where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:"%var%" >> dayu.html
wmic volume get Label,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace /format:"%var%" >> dayu.html
wmic netuse list full /format:"%var%" >> dayu.html
wmic qfe get Caption,Description,HotFixID,InstalledOn /format:"%var%" >> dayu.html
wmic startup get Caption,Command,Location,User /format:"%var%" >> dayu.html
wmic PRODUCT get Description,InstallDate,InstallLocation,PackageCache,Vendor,Version /format:"%var%" >> dayu.html
wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,SystemDirectory /format:"%var%" >> dayu.html
wmic Timezone get DaylightName,Description,StandardName /format:"%var%" >> dayu.html

1615262135_6046f1b7f34594d23a260.png!small?16152621376571615262140_6046f1bceeb323f567cec.png!small?1615262144937
1615262155_6046f1cbbae1d24cd96a6.png!small?1615262161042可看到,枚举到了很多信息都体现在html页面上,我们还可以对应脚本添加需要搜索的内容!!

5、查询当前权限

需要查看权限判断目前用户是什么样的一个用户类型,存在三种情况:普通用户、管理员用户、域用户。

1)查看当前权限

whoami

1615262180_6046f1e40b39148e4ff2e.png!small?1615262180352user1\dayu类型属于域用户!

2)获取域SID
1615262185_6046f1e968b915a8fd30d.png!small?1615262185966

whoami /all
user1\dayu S-1-5-21-170666598-1397264716-2177935098-1000

域用户我需要获取SID,后期可能会进行域渗透!

还有别很多方法能判断是否是域环境!继续介绍!

6、判断是否存在域

以下方法是获取域信息的,但是在获取本机相关信息以及判断出存在域了,并且该计算机就是子域中的普通用户:

ipconfig /all发现:

xiyou.dayu.com  (发现子域)
dayu.com       (发现主域)

systeminfo也发现:
xiyou.dayu.com  (发现子域)

定位到域控制器后:

1)查询当前登录域及登录用户信息

net config workstation

1615262201_6046f1f91f77b4bb7145f.png!small?1615262201852

可看到详细的列举了域工作站和目前域情况!

2、判断主域
通常域服务器会同时作为时间服务器使用:

net time /domain

1615262210_6046f202b650d81024961.png!small?1615262211177
出现发生系统错误5,拒绝访问是表明存在域,但当前用户不是域用户!

通过这两个方法更证明了该计算机不是域控制器,但是是xiyou.dayu.com子域的普通用户!!

四、内网信息收集(二)

在内网信息收集(一)收集到了以下信息:

1. 存在双网卡,内网网卡IP:10.10.3.100

2. 该计算机为windows 7系统

3. 该计算机为子域用户,获得子域和父域的域名

4. 通过arp发现子域IP为:10.10.3.6,父域IP为:10.10.3.5

5. 本计算机存在da.yu和dayu两个管理员权限用户

6. 获得本机的SID值

7. 以及开启了3389,允许防火墙通过,补丁未打的情况 ......

通过以上的定位,需要进一步的深入内网信息收集,首先从发现10.10.3.100内网网卡开始,探测是否存在别的用户等情况!

1、探测域内存活主机

内网存活主机探测是内网渗透测试中不可或缺的一个环节!!

1)利用NetBIOS快速探测内网

NetBIOS是局域网程序使用的一种应用程序编程接口(API),所有的局域网都是NetBIOS协议的基础上工作的。优先推荐使用!

这里需要利用nbtscan.exe工具,nbtscan.exe是一个命令行工具,主要扫描本地或者远程TCP/IP网络上的开放NetBIOS,支持windows和linux:

将工具上传!
1615262223_6046f20f543f5b0642cc5.png!small?1615262224072可看到扫描发现10.10.3.6,并且列举出DC(域控制器)!!

2、利用ICMP协议和ARP快速探测内网

1)NetBIOS快速探测内网

除了可以利用NetBIOS快速探测内网,万一无法上传工具等限制,可以利用ICMP协议快速探测内网:

for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.3.%I | findstr "TTL="

1615262233_6046f21945baa61867a03.png!small?1615262233702可看到结果是一样的!

2)通过ARP扫描探测内网

这里利用arp-scan.exe工具进行arp扫描,我将工具上传,-t 定义扫描范围即可:

arp-scan.exe -t 10.10.3.0/24

1615262239_6046f21ff1c52495e0625.png!small?1615262240638这里速度比ICMP是快的!结果一样!

3)通过Nishang中的Invoke-ARPScan.ps1脚本
远程加载脚本进行扫描:

项目地址:

https://github.com/samratashok/nishang

使用方法:

1615262249_6046f229c87f459a63834.png!small?1615262250057

powershell -exec bypass -Command "& {Import-Module C:\Users\Administrator\Desktop\Invoke-ARPScan.ps1; Invoke-ARPScan -CIDR 192.168.253.0/24}"

速度还是挺快的!!

五、内网信息收集(三)

收集到内网的存活主机后,我需要进一步的搜索主机开了哪些端口对应哪些服务,更好的进一步渗透!

后期会讲解代理,可以用代理出流量后利用市面上渗透工具进行端口扫描是更方便的,这里介绍不代理流量的信息收集!

1、telnet 端口收集

1615262256_6046f230a83268ad8a337.png!small?1615262256793直接对应端口扫描即可,常见的渗透端口:

22,80-89,110,389,1099,1433,2059,6379,7001,8080,1521,3306,3389,5432,53,161,137,139

这里发现了对方域控制器开放了139和445端口!

2、端口 Banner 信息

通过各种方式了端口,可以使用客户端连接工具或者NC,获取服务端的Banner信息,获取Banner信息后,可以在漏洞库中查找对应的CVE编号的POC、EXP,在ExploitDB、Seebug等平台上查看相关的漏洞利用工具,然后到目标系统中验证漏洞是否存在,正对性的进行安全加固!

https://www.securityfocus.com/bid
https://www.exploit-db.com/

1615262264_6046f2387d68677d8b5b4.png!small?1615262267517这里借鉴了大佬的图,感谢大佬的总结,也为内网旅行上添加一点色彩!

可看到对应的端口利用信息,在后期会拓展该方面的思路和内容!

六、总结

通过以上的内网信息收集,我对这家公司信息整理了出来,发现域普通用户、存在子域和主域、域名和DNS、子域和主域IP、域用户的计算机详细信息、补丁信息、SID值、子域开启的端口信息等等

从开始拿到shell,在通过内网的信息收集,有了一定的渗透目标和方向后,我们还需要进一步的拓展信息收集内网知识,俗话说的好:信息收集的深度,直接关系到内网渗透测试的成败!!

继续内网渗透的旅程!!

希望大家提高安全意识,没有网络安全就没有国家安全!

今天基础牢固就到这里,虽然基础,但是必须牢记于心。

作者:大余

# 信息收集 # 域森林
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 大余 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
红队攻防演练
渗透测试之地基篇
渗透测试
大余 LV.5
没有网络安全就没有国家安全,VXID:dayuST
  • 91 文章数
  • 1074 关注者
大余每日一攻防EvilBox
2023-12-27
大余每日一攻防SNAKEOIL(十七)
2023-12-26
大余每日一攻防DEATHNOTE-1(十六)
2023-12-25
文章目录