欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

powershell渗透利用(入门)

来源:本站整理 作者:佚名 时间:2019-02-26 TAG: 我要投稿

Powershell简介
PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,并且powershell存在于诸多系统中。
Powershell编写脚本
很多人不太了解powershell,包括它内置了很多的命令,假如你想写一个powershell脚本,那么可以通过定义函数,然后调用这些命令(因为本人有点小菜,所以就想到一个小小的方法,那就是用后面介绍的ise)。
我们可以通过Get-Command命令 。
Get-Command使您可以一次显示所有可用的PowerShell命令。                   

当然了我们还可以通过poweshell ise。


可以看到在右面是命令并且还可以筛选你想要的命令!

那么如何熟悉这些命令呢?
我们看一下powershell的命名规则,可以看出来命令都包含一个动词和一个名词,由连字符分隔。比如关机命令Stop-Computer 在ise中还可看相应的参数!



科普就到这里了 我们要进入重点了!
利用powershell做渗透用
那么我们今天就从第一步入手powershll做信息收集
端口扫描器大家都知道nmap,但是有没有想过用powershell做一个简单的端口扫描器呢?
首先我们了解一下,
TCP(Transmission Control Protocol传输控制协议)三次握手:
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码:
位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)。
三次握手建立一个连接
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 · 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; · 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
· 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。
当计算机将SYN发送到另一台计算机时,远程计算机通常会回答SYN + ACK或RST。通过这个事实,我们可以测试端口是否打开。

(不太会画图,可能不太好看)
要测试端口是否打开,可以使用不同的端口扫描程序。当然我们要用Test-NetConnection和自制脚本。
Test-NetConnection:

Baidu.com的端口80是开放的(SYN + ACK)。
测试代码
到PowerShell或PowerShell ISE运行,然后命令Test-Port变为可用。



这时如果无误就可以看到有自动补齐!
我们来解释一下这个代码。
Function Test-Prot是定义了一个powershell函数这是我们自己命名的!
然后分别调用了powershell内置的模块(使用Get-Module -ListAvailable命令可查看所有模块)。

我们一步一步来解释。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载