DC4靶场

下载地址https://download.vulnhub.com/dc/DC-4.zip

信息收集

靶机ip  192.168.146.142

sudo arp-scan -l

看一下端口开放情况、操作系统版本

nmap -A -sV(服务版本扫描) 192.168.146.142

开放了22(ssh)和80端口

 host key是主机(server)密钥,其中有一对公私钥

nginx 1.15.10 是web服务器(cms安装在web服务器上)

-O操作系统探测、为linux 3.2-4.9

访问一下网站

安装Wappalyzer插件,查看cms信息,但是没有cms信息

一个网站可以只使用Web服务器而不使用传统的CMS。例如,网站可能是由静态文件组成,不需要后端数据库或复杂的CMS来管理内容。在这种情况下,Web服务器直接提供静态HTML、CSS和JavaScript文件给用户。

看一下网站有无sql注入漏洞

sqlmap -u 'http://192.168.146.142/?id=1'

没有注入点

暴力破解出用户名和密码

用burpsuite

Intruder:此模块常用于漏洞利用、暴力破解等

burpsuite  启动软件

1)抓包

设置火狐浏览器的代理

Proxy模块主要提供抓包及拦截功能,默认代理为127.0.0.1:8080

去dc4网站随便输入用户名和密码、但不要提交

点击Intercept is off 

然后在dc4网站提交

右键 Send to Intruder

然后到 Intruder模块 选择攻击类型 Sniper狙击者模式

Cluster bomb模式 (集束炸弹模式) 会把用户名和密码的所有可能都遍历

bp默认将所有变量视为爆破对象 只爆破密码 用户名是admin(网页显示是admin information login system)

在123前后都点击add $

Payloads(设置攻击载荷)

Payload Sets:可以定义一个或多个有效负载集。每个有效负载集都可以使用各种有效负载类型,并可以以不同的方式自定义每种负载类型

Payload Set(负载集):个数取决于position中设置的爆破对象个数及攻击类型

Payload type(负载类型):较为常用的有Simple list(简单列表)、Runtime file(运行文件)等

然后load 一个字典 (一般是自己猜测的数据)

下面一行add可以加载字典

我是load 一个字典  /usr/share/john/password.lst

然后点start attck

看一下长度最特殊的 密码是happy

先点击Intercept is on 再试着登录 能登录

有三个命令,都能执行,试试抓包修改命令

开启抓包、然后点run

看到命令行 ls+-l  ( +是设置的命令格式)

试着修改命令 cat+/etc/shadow

右键点击 send to Repeater(重放攻击)

然后点send

没有结果

换一条命令cat+/etc/passwd

有3个用户名

charles   jim  sam

系统账号的shell使用/sbin/nologin,此时无法登录系统,即时给了密码也不行。
所谓“无法登录”,指的是仅是这个用户无法使用bash或者其他shell来登录系统而已,并不是说这个账号就无法使用系统资源

/bin/false:/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示

/nonexistent:/bin/false

得到三个用户名

查看下这些用户的文件

ls+-al+/home/charles

没啥有用的

看一下 jim目录的文件

有2个目录buckups mbox

查看目录buckups、可以看到一个旧密码文件

查看cat+/home/jim/backups/old-passwords.bak

把这些密码复制到一个字典里passwdlist.txt

用户jim写到users.txt

暴力破解

把burp点击 is on 关掉抓包

hydra -L users.txt -P passwdlist.txt ssh://192.168.146.142:22

-o输出文件
-f破解成功(一次)后就退出

 拿到jim账号的密码  jibril04

远程登录ssh jim@192.168.146.142

看一下剩下没查看的两个文件

mbox说有一封来自root的信 内容是this is a test

test.sh会输出一些语句

进入/var/spool/mail

charles告诉了自己的密码

^xHhA&hvim0y

登录用户su - charles

查看系统版本信息

#1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19)

#1说明这是内核版本的一个修订版

SMP 表示这是一个对称多处理系统的内核,每个CPU共享全部资源,无主次或从属关系

Debian 4.9.30-2+deb9u5 指出内核是来自Debian操作系统的一个版本,deb9u5 表示这是Debian 9(Stretch)的第5个更新,(2017-09-19) 是内核编译日期
i686:系统的硬件架构是32位的Intel x86架构
GNU/Linux:系统是使用GNU工具和Linux内核构建的

先试试suid提权

suid提权,已知的具有SUID权限的二进制可执行文件大体有:nmap vim find bash more less nano cp awk  这些能提供一个suid权限的shell

find / -perm -4000 2>/dev/null寻找 4000权限的文件,不显示其他的错误信息相当于过滤

有test.sh

试着修改test.sh

#!/bin/bash
exec /bin/bash

让它能提供一个suid权限的shell

charles不能修改test.sh这个文件

退出charles登录  exit

jim也不能删除修改

结尾成功提权了、我就回来把test.sh修改了、执行 但是不行哈

试试git提权

执行命令sudo -l列出可以通过sudo执行的所有命令,有git

原理是git配置不当存在溢出,溢出的部分如果输入一个交互式窗口就会有交互,类似于suid那样,暂时拥有root,又写了一个交互,就真的有了root的交互

切回了用户charles

有一个teehee命令(文本编辑器)

查看一下用法

不覆盖原有文件,能向里面加入新的数据

/etc/passwd是存放用户的文件,可以通过修改文件来添加用户,文件格式为

[注册名]:[口令]:[用户标识号]:[组标识号]:[用户名]:[用户主目录]:[命令解析程序]

口令为x即代表存放有密码,为空即代表没有密码,识标号为0代表root权限

先openssl passwd -1 生成加密的密码:-1表示使用MD5算法对密码进行加密

oooo加密后为

$1$mnY4NIao$r.DbgAFtQ5kkY4cscczTa.

root:x:0:0:root:/root:/bin/bash
参照格式写

oooo:$1$mnY4NIao$r.DbgAFtQ5kkY4cscczTa.:0:0:root:/root:/bin/bash

参考/etc/passwd里面新增root用户

登录用户oooo密码为oooo

拿到flag

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值