List

  1. 网络配置信息
  2. 查询操作系统和版本信息
  3. 查看安装软件以及版本/路径等
  4. 查看本机服务信息
  5. 查询进程信息
  6. 查看启动程序信息
  7. 查看计划任务信息
  8. 查看主机开机时间
  9. 查询用户列表
  10. 列出或断开本地计算机与所连接的客户端之间的会话
  11. 查看端口列表
  12. 查看补丁列表
  13. 查询本机共享列表
  14. 查询路由表及所有可用接口的路由表
  15. 查看防火墙相关配置
  16. 查看并开启远程连接服务
  17. 查看当前权限
  18. 查看域SID
  19. 判断是否存在域
  20. 查看域或工作组中的计算机列表
  21. 内网信息收集-工具编写

0x1 内网信息收集

本机信息收集包括操作系统、权限、内网IP地址段、杀毒软件、端口、服务、补丁更新率、共享、会话等。如果是域内主机,操作系统、应用软件、补丁、服务、杀毒软件一般为批量安装的。

1. 网络配置信息

ipconfig /all

1.png

2. 查询操作系统和版本信息

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

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

2.png

3. 查看安装软件以及版本/路径等

wmic product get name,version

powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name, version"

3.png

4.png

4. 查看本机服务信息

wmic service list brief

5.png

5. 查询进程信息

tasklist /v
wmic process list brief

6.png

7.png

6. 查看启动程序信息

wmic startup get command,caption

8.png

7. 查看计划任务信息

schtasks /query /fo LIST /v

9.png

Tips: 可能会遇到 “错误: 无法加载列资源。” 原因是cmd 编码导致执行 chcp 437 即可,但是无法打印出非ascii字符。(非ascii字符都变问号"?")

8. 查看主机开机时间

net statistics workstation

10.png

9. 查询用户列表

net user
net localgroup administrators
query user||qwinsta  

11.png

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

net session

11. 查看端口列表

netstat -anp
netstat -ano

-a  显示所有
-n  不用别名显示,只用数字显示
-p  显示进程号和进程名
-o  显示拥有的与每个连接关联的进程 ID。

Tips: 根据开放的端口,来判断本机器在内网中充当的角色。

12. 查看补丁列表

systeminfo
wmic qfe get Caption,Description,HotFixID,InstalledOn 

Tips: 注意系统版本,补丁信息及更新频率,域内主机通常为批量打补丁。

13. 查询本机共享列表

net share
wmic share get name,path,status

12.png

14. 查询路由表及所有可用接口的路由表

arp -a
route print

13.png

15. 查看防火墙相关配置

关闭防火墙:

netsh firewall show config
  1. Windows Server 2003 之前系统。
netsh firewall set opmode disable
  1. Windows Server 2003 之后系统。
netsh advfirewall set allprofiles state off

修改防火墙配置:

Windows Server 2003系统及以前的版本,允许指定应用程序全部连接。

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

Windows Server 2003 以后的系统版本。

// 允许指定应用程序连入

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

// 允许指定应用程序连出

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

允许3389端口放行。

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

16. 查看并开启远程连接服务

reg query "hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\RDP-Tcp" /v portnumber

Tips: 输出为16进制解码即可。

Windows Server 2003开启3389方法。

wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

Windows Server 2008 和Windows Server 2012开启3389方法运行下面三条命令。

wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1

wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1

reg add "HKLM\SYSTEM\CURRENT\CONTROLSET\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f

16.png

15.png

Tips: 需要在管理员权限下运行。

17. 查看当前权限

whoami
hostname

17.png

Tips: 可以看到当前的机器名为 ppbibo-PC ,查询当前为 hacker 域内的 administrator 用户。

如果当前内网中存在域,那么本地普通用户只能查询本机相关的信息,不能查询域内信息,而本地管理员用户和域内用户可以查询域内信息。其原理是:域内的所有的查询都是通过域控制器来实现的(LDAP协议),而这个查询需要经过权限认证,所以只有域内的用户才拥有这个权限,当域内用户执行查询命令时,会自动使用 Kerberos 协议进行认证,无需额外输入账号和密码。

本地管理员 Administrator 权限可以直接提升为 system 权限,因此,在域中除普通用户外,所有的机器都有一个机器用户(用户名是机器名后加上 “$”)。 机器的 system 用户对应的就是域里面的机器用户。所以使用 system 权限可以运行域内的查询命令。

当前权限为 system 可以运行域内查询命令。

18.png

当前用户为本地管理员 Administrators 组权限(不是域内用户)。

19.png

Windows 7下获取System权限。

sc create syscmd binPath= "cmd /K start" type= own type=interact // 创建任务
net start syscmd   // 运行 syscmd 任务
sc delete syscmd   // 删除 syscmd 任务

18. 查看域SID

whoami /all

20.png

当前域 hacker 的SID 为 S-1-5-21-2144123051-2929416546-191223172 ,域用户 testuser 的用户SID 为 S-1-5-21-2144123051-2929416546-191223172-1107

19. 判断是否存在域

1. 通过网络配置信息来查询是否存在域。

ipconfig /all

21.png

通过 nslookup 查询域名解析的IP地址,判断域控制器和DNS服务器是否在同一个机器上。

22.png

2. 通过查询系统详细信息来判断是否存在域

systeminfo|findstr "Domain"
systeminfo|findstr "域"

3. 查看域当前的时间

net time /domain

当前为域内用户,存在域。

23.png

当前用户为本地用户,存在域。

24.png

当前主机不存在域。

25.png

4. 查看当前登陆域

net config workstation

当前用户为本地用户所以登陆域显示计算机名称。

26.png

20. 查看域或工作组中的计算机列表

net view /domain
net view /domain:HACKER

27.png

21. 内网信息收集-工具编写

依赖上文,编写脚本。

脚本语言:Python3。

运行系统(已测试):Windows Server 2012,Windows 7。

下载地址gayhub 已编译成EXE。

WX20200429-111057@2x.png

Tips: python脚本在打包时代码中尽量不要使用中文,否则打包后会出现乱码的问题,解决方法就是编码为GBK然后在打包。

标签: 内网渗透

添加新评论

marisa.png