域渗透笔记-信息收集(一)
写在最前面:
该系列文章间断性更新,主要内容为域渗透中的技术点梳理。
所有提到的技术点都保证是实践过,能够实现的,实践过程中踩到的坑都会提出来并给出解决方法。
在渗透时,进入内网环境后第一件事情就是搞清楚两个问题:
-
A.我是谁?
-
B.我在哪?
A.我是谁?
whoami 查看当前用户和权限
net user 查看有哪些用户
whoami /all 获取域SID、组信息、特权等信
net user XXX /domain 查看指定账户的详细信息
net localgroup administrators 查看本机管理员(通常会包含有域用户)
query user || qwinsta 查看当前在线的用户
当想用3389登陆某个用户时,执行该命令是很必要的,否则可能将已登录的用户踢下线,从而惊动对方。
B.我在哪?
ipconfig /all 查询网络信息
tasklist /v 查看进程列表
wmic process list brief 查看进程列表 (与上一条命令略有不同)
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 查看是什么操作系统&系统版本
如果系统是英文的则匹配的关键字为"OS Name"和"OS Version",当为中文系统时要换成“OS 名称”和“OS 版本”。
当然,直接执行systeminfo再进行查看也可以,只是这个直接输出指定内容比较方便而已。
另外两种较慢的查询系统信息的方法:
wmic product get name,version
powershell "Get-WmiObject -class Win32_Product | Select-Object -Property name,version"
netstat -ano 端口及网络连接情况查看
如果这台主机是台代理服务器,则会有很多IP来连接他的代理端口
如果是台用来更新的服务器,例如WSUS,则他可能会开放一个8530端口(WSUS是Windows Server Update Services的简称)
如果是DNS服务器则可能开着53端口
PS:如果这台主机可以访问外网,同时发现这里存在大量powershell进程在向外进行连接,则多半可以判断该主机为沦陷的肉鸡(对外进行扫描)。
systeminfo 查看补丁情况
net share 查看本机共享
wmic share get name,path,status
net view hostname 查看指定主机的共享
查看远程连接端口
reg query "hkey_local_machine\system\currentcontrolset\control\terminal server\winstations\RDP-Tcp" /v portnumber
查询并开启远程连接端口
Windows Server 2008 & 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
Windows Server 2003 开启3389
wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1
判断是否有域
ipconfig /all
systeminfo
如果systeminfo后,最下面的“登录服务器”字段值为"WORDGROUP"则说明此电脑不在域内
net config workstation
net time /domain
----------------------------------------------------------------------------
查询防火墙配置
查看防火墙配置:
netsh firewall show config
设置防火墙日志存储位置:
netsh advfirewall set currentprofile logging filename "C:\Windows\temp\FirewallLOG.log
修改防火墙配置
关闭防火墙
Windows 2003之前:
netsh firewall get opmode disable
Windows 2003之后:
netsh advfirewall set allprofiles state off
修改防火墙配置
Windows 2003之前:
允许某个程序的全连接
netsh firewall add allowdprogram C:\nc.exe "allow nc" enable
Windows 2003之后:
允许某个程序连入
允许某个程序外连
netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"
开放3389端口:
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
上面命令中的nc只是举例,实际情况中可以根据实际情况换别的程序。
上面命令的组成规律大概是这样的:
netsh advfirewall firewall add rule(添加规则) name(规则名字)="XXX" protocol(协议名字) 、in/out(进出站) action(操作)=allow/deny(放行或阻止) program='C:\...'(程序的绝对路径)、localport(端口)
在内网渗透过程中,命令较多,这些命令需要平时多敲才能熟练掌握,当然如果只是做普通的渗透可能不需全都记得很牢,只要要用的时候能够找到对应命令即可,但是在一些特殊的情况下可能就会要求你进行信息收集的速度够快,例如可能惊动对方安全人员的情况,就需要你的速度够快了。
免责声明:本文中提到的漏洞利用Poc和脚本仅供研究学习使用,请遵守《网络安全法》等相关法律法规。