基础环境
- bulldog靶机,(只知道网段,不知道登录用户名和密码)
- kali 2020 (工具齐全,干就完了!!!)
- 目标:获取靶机控制权限!!!
-
主机发现
netdiscover -i eth0
搜索到目标主机ip地址192.168.1.104
-
端口扫描
直接 Nmap
Nmap -sV - T4 -O -p 1-10000 192.168.1.104
-sV 服务版本
-T4 扫描速度 (最高为5)
-O 系统
-p 指定端口,直接扫描前10000,常见服务,缩短扫描时间
-
msfconsole工具使用
ssh_login模块
(1)先用search进行搜索
(2)用use选择要使用的模块
(3)show options 列出可设置的选项
(4)设置目标主机IP和爆破要使用的用户名和密码字典
(5)爆破完成,未发现可使用的用户名和密码
-
whatweb http://IP(判断网站指纹信息)
发现目标可能有HTTP服务开启。
-
dirb http://IP(扫描网站目录,默认使用普通字典)
dirb http://IP 字典路径(指定字典扫描),由于默认字典已经发现网站目录,所以不需要再指定。
-
查找到一些网页地址后再url中打开,查找有用信息去为提权做准备等。
对查找到的可能存在漏洞的网页进行访问。
-
检查网站源码,发现类似邮箱以及加密过后的密码,进行逐个解密。
-
对解密到的口令进行保存,由于数量少,可直接手动尝试。
-
登录成功
-
刷新shell页面,发现可以进行命令执行。
用python脚本去远程连接弹出shell进行提权(前面已经注意到网页是用到python的,所以此处用py脚本试试)
-
在kali编写python脚本如下
-
将写好的shell脚本拷贝到www目录下
-
开启简单的HTTP服务
(1)python2语法:python -m SimpleHTTPServer
(2)python3语法:python -m http.server
(3)注意IP地址后面的端口号,也可以自己指定。
-
在浏览器访问搭建的HTTP服务,访问成功
-
回到目标站点进行命令执行下载写好的python脚本(注意端口)
发现成功执行,输入ls 进行查看,确认脚本成功下载到目标站点。
-
用nc实现远程控制
nc是netcat的缩写,主要有两种功能:
(1)文本传输 服务端命令:nc -l -p 端口 客户端命令: nc -vn ip port
(2)远程控制 nc -vnlp 脚本中设置的监听
-
在目标站点执行脚本,发起socket连接
-
kali成功监听到连接,实现远程登录
接下来进行 提权
在/home 目录下进行查找,试试能不能发现重要隐藏文件
文件名看起来可能有重要信息(.hiddenadmindirectory)
-
用strings命令查看文件,得到类似密码的一串字符串(进行整理备用)
-
python -c ‘import pty; pty.spawn("/bin/bash")’
拒绝再输入下面
sudo python -c ‘import pty; pty.spawn("/bin/bash")’
-
得到root权限,提权成功!!!
-
查看/etc/shadow 文件,发现加密的root密码,复制到本地
-
创建sh文件,利用kali的john工具进行密码破解,得到密码123