佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PowerShell腳本開發(fā)之嘗試登錄ftp

PowerShell腳本開發(fā)之嘗試登錄ftp

熱門標(biāo)簽:Linux服務(wù)器 鐵路電話系統(tǒng) 地方門戶網(wǎng)站 服務(wù)外包 AI電銷 呼叫中心市場需求 百度競價排名 網(wǎng)站排名優(yōu)化

上一篇文章介紹了通過PowerShell批量掃描IP段和端口,在PSNet程序集中添加了Invoke-ScanIPPort函數(shù),這里盡管掃描到了指定IP端中監(jiān)聽的端口,但是未對端口和相應(yīng)的程序進(jìn)行對應(yīng),正如我們所知一些常用的應(yīng)用程序使用的默認(rèn)端口是固定的,通過收集對應(yīng)關(guān)系會便于實(shí)現(xiàn)批量對IP范圍中存在的業(yè)務(wù)進(jìn)行確認(rèn),這個功能我們將會在后續(xù)的文章中進(jìn)行介紹。

在掃描到某些特定端口之后,我們接下來就需要尋找到這個端口對應(yīng)業(yè)務(wù)的弱密碼和常見密碼,通過對默認(rèn)密碼的掃描,如果嘗試出了正確的密碼,很多時候我們能找到滲透測試時的重要突破口。對可以作為滲透測試時的弱密碼攻擊的方向通常有ftp、mysql、sqlserver、oracle、telnet、ssh、Tomcat、Weblogic等等,如果能在掃描到此類服務(wù)后,快速通過統(tǒng)一的方法掃描到弱密碼將會大大加快對敏感信息和權(quán)限提升的進(jìn)度。本文和后續(xù)的文章將會試圖通過PowerShell實(shí)現(xiàn)對上述潛在攻擊點(diǎn)的弱密碼嘗試,本文首先針對ftp的密碼 嘗試。

在PSNet程序集中繼續(xù)進(jìn)行擴(kuò)展,在$env:PSSpace/PSNet/TCPOp/下創(chuàng)建名為Invoke-FtpLogin.ps1的腳本用于在傳入指定ftp地址、用戶名和密碼后返回是否登錄成功。

同時在$env:PSSpace/PSNet/PSNet.psm1中添加對Invoke-FtpLogin.ps1程序文件的應(yīng)用,便于在PowerShell初始化時同時初始化此函數(shù) :

復(fù)制代碼 代碼如下:

. $env:PSSpace/PSNet/TCPOp/Invoke-FtpLogin.ps1

下面說明此函數(shù)中相關(guān)參數(shù)的作用:

復(fù)制代碼 代碼如下:

-Site用于傳入ftp服務(wù)器的地址,格式如ftp://localhost ,可以使用域名或IP地址,此參數(shù)必選
-User用于傳入要驗(yàn)證的ftp服務(wù)器的用戶名,默認(rèn)值為Anonymous,可選
-Pass用于傳入要驗(yàn)證的ftp服務(wù)器的密碼,默認(rèn)值為hello@world  ,可選(注:ftp協(xié)議中匿名用戶的密碼可以使用任何帶有@符號的字符串來代替)
-Port用于要驗(yàn)證的ftp服務(wù)器的端口號,默認(rèn)值為21,可選(暫時未使用,后續(xù)文章將用于擴(kuò)展)
-TimeOut用于指定驗(yàn)證密碼時ftp服務(wù)器的超時時間,默認(rèn)值為3000ms,可選(暫時未使用,后續(xù)文章將用于擴(kuò)展)
-ReadWriteTimeOut用于指定ftp服務(wù)器的默認(rèn)讀寫超時時間,默認(rèn)值為10000ms,可選(暫時未使用,后續(xù)文章將用于擴(kuò)展)

此腳本的調(diào)用方式:

復(fù)制代碼 代碼如下:

Invoke-FtpLogin -Site  ftp://localhost -User test -Pass abcd1234

執(zhí)行效果如下:

能看到存在匿名用戶的情況下輸入ftp主機(jī)地址即可登錄,而輸入ftp對應(yīng)的密碼則只有輸入正確值才會顯示正常。

代碼如下:

復(fù)制代碼 代碼如下:

        =====文件名:Invoke-FtpLogin.ps1=====
Function Invoke-FtpLogin{
Param(
[parameter(Mandatory = $true)]
      [string]$Site = "ftp://localhost",
      [string]$User = "Anonymous",
      [string]$Pass = "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
}
}


您可能感興趣的文章:
  • PowerShell函數(shù)參數(shù)設(shè)置成自動識別數(shù)據(jù)類型的例子
  • PowerShell腳本實(shí)現(xiàn)網(wǎng)卡DHCP自動獲取IP地址、設(shè)置靜態(tài)IP地址的方法
  • PowerShell小技巧實(shí)現(xiàn)IE Web自動化
  • PowerShell 自動備份oracle并上傳到ftp

標(biāo)簽:崇左 湖南 衡水 黃山 仙桃 銅川 蘭州 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell腳本開發(fā)之嘗試登錄ftp》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黄梅县| 甘孜| 定结县| 淮滨县| 什邡市| 安陆市| 合山市| 屯昌县| 临沂市| 泗水县| 岢岚县| 邵阳县| 林西县| 大渡口区| 永嘉县| 昌黎县| 海宁市| 绥阳县| 临沧市| 龙江县| 嵩明县| 大姚县| 竹北市| 正定县| 台州市| 海安县| 南京市| 临城县| 靖边县| 郎溪县| 同仁县| 志丹县| 锡林浩特市| 兴国县| 牙克石市| 大关县| 滨州市| 定结县| 包头市| 蒲江县| 乌拉特后旗|