源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

PowerShell脚本开发之尝试登录ftp

  • 时间:2021-04-19 19:15 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:PowerShell脚本开发之尝试登录ftp
上一篇文章介绍了通过PowerShell批量扫描IP段和端口,在PSNet程序集中添加了Invoke-ScanIPPort函数,这里尽管扫描到了指定IP端中监听的端口,但是未对端口和相应的程序进行对应,正如我们所知一些常用的应用程序使用的默认端口是固定的,通过收集对应关系会便于实现批量对IP范围中存在的业务进行确认,这个功能我们将会在后续的文章中进行介绍。 在扫描到某些特定端口之后,我们接下来就需要寻找到这个端口对应业务的弱密码和常见密码,通过对默认密码的扫描,如果尝试出了正确的密码,很多时候我们能找到渗透测试时的重要突破口。对可以作为渗透测试时的弱密码攻击的方向通常有ftp、mysql、sqlserver、oracle、telnet、ssh、Tomcat、Weblogic等等,如果能在扫描到此类服务后,快速通过统一的方法扫描到弱密码将会大大加快对敏感信息和权限提升的进度。本文和后续的文章将会试图通过PowerShell实现对上述潜在攻击点的弱密码尝试,本文首先针对ftp的密码 尝试。 在PSNet程序集中继续进行扩展,在$env:PSSpace/PSNet/TCPOp/下创建名为Invoke-FtpLogin.ps1的脚本用于在传入指定ftp地址、用户名和密码后返回是否登录成功。 同时在$env:PSSpace/PSNet/PSNet.psm1中添加对Invoke-FtpLogin.ps1程序文件的应用,便于在PowerShell初始化时同时初始化此函数 :
hello@world  ,可选(注:ftp协议中匿名用户的密码可以使用任何带有@符号的字符串来代替) -Port用于要验证的ftp服务器的端口号,默认值为21,可选(暂时未使用,后续文章将用于扩展) -TimeOut用于指定验证密码时ftp服务器的超时时间,默认值为3000ms,可选(暂时未使用,后续文章将用于扩展) -ReadWriteTimeOut用于指定ftp服务器的默认读写超时时间,默认值为10000ms,可选(暂时未使用,后续文章将用于扩展)
此脚本的调用方式:
hello@world",       [int]$Port=21,       [int]$TimeOut=3000,       [int]$ReadWriteTimeout=10000 ) Write-Host "Get FTP site dir listing..." # Do directory listing $FTPreq = [System.Net.FtpWebRequest]::Create($Site) $FTPreq.Timeout = $TimeOut                          # msec (default is infinite) $FTPreq.ReadWriteTimeout = $ReadWriteTimeout        # msec (default is 300,000 - 5 mins) $FTPreq.KeepAlive = $false                          # (default is enabled) $FTPreq.Credentials = New-Object System.Net.NetworkCredential($User,$Pass) $FTPreq.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory try {     $FTPres = $FTPreq.GetResponse()     Write-Host "$User _ $Pass OK"     $success = $true #Write-Host $FTPres.StatusCode -nonewline #Write-Host $FTPres.StatusDescription $FTPres.Close() } catch {    Write-Host "FAILED: $_"    $success = $false } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部